agentic-stack
Memory framework
First committed by codejunkie99
Published in codejunkie99/agentic-stack. Publisher page
2,314 GitHub stars
What it is
One brain, many harnesses. Portable .agent/ folder (memory + skills + protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch.
Summary from the brain’s metadata
One brain, many harnesses. Portable .agent/ folder (memory + skills + protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch. Keep one portable memory-and-skills layer across coding-agent harnesses, so switching tools doesn't reset how your agent works.
How it works
Memory model: SQL database
AutoGineer overview, from the brain’s own files
Memory model: SQL database. Folders: .cursor (agent config, 9 files); docs (docs, 49 files); examples (examples, 7 files); scripts (scripts, 2 files); tests (tests, 26 files). The agent reads .cursor/skills/caveman/SKILL.md. The agent writes .agent/memory/personal/PREFERENCES.md, .agent/skills/tldraw/.
| Folder | Role | Files |
|---|---|---|
| .cursor | agent-config | 9 |
| docs | docs | 49 |
| examples | examples | 7 |
| scripts | scripts | 2 |
| tests | tests | 26 |
| .agent | folder | 102 |
| Formula | folder | 1 |
| adapters | folder | 47 |
| harness_manager | folder | 31 |
| schemas | folder | 13 |
The agent reads
- .cursor/skills/caveman/SKILL.md evidence: .cursor/rules/caveman.mdc
The agent writes
- .agent/memory/personal/PREFERENCES.md evidence: README.md
- .agent/skills/tldraw/ evidence: README.md
Requirements
Runtimes: Python
Databases: PostgreSQL
API keys (by name): ANTHROPIC_API_KEY, MINIMAX_API_KEY, OPENAI_API_KEY
Works with: Claude Code, Cursor
Set it up
This brain runs code automatically: 3 scripts. Review harness_manager/install.py, install.ps1, install.sh before opening the folder in Claude Code. No step below turns a hook on for you.
harness_manager/install.py:python harness_manager/install.pyinstall.ps1:pwsh install.ps1install.sh:sh install.sh
- Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/codejunkie99/agentic-stack/blob/11a75e16b6cb08a436b3124474273fdb9f08b4de/README.md#already-installed
- Not scanned by AutoGineerThe author’s README also describes installing it with Homebrew (the author’s own tap). Read its install section: AutoGineer did not scan that path. https://github.com/codejunkie99/agentic-stack/blob/11a75e16b6cb08a436b3124474273fdb9f08b4de/README.md#once-installed-manage-whats-wired
- Not scanned by AutoGineerThe author’s README also describes installing it with Homebrew (the author’s own tap). Read its install section: AutoGineer did not scan that path. https://github.com/codejunkie99/agentic-stack/blob/11a75e16b6cb08a436b3124474273fdb9f08b4de/README.md#quickstart
- Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/codejunkie99/agentic-stack/blob/11a75e16b6cb08a436b3124474273fdb9f08b4de/README.md#quickstart
First committed by codejunkie99. Published in codejunkie99/agentic-stack. Licence: Apache License 2.0.
Usage
From the brain’s own files
- After the first ./install.sh ‹adapter›, manage your project with verb-style subcommands (works with both install.sh and install.ps1):
- PowerShell uses the same verbs, for example .\install.ps1 dashboard.
- Bare ./install.sh (no arguments) opens a multi-select wizard on a fresh project — check every harness you actually use, hit enter, each one gets installed.
- The wizard auto-detects harnesses already on disk and pre-checks them.
- On a project that already has an install.json, bare interactive ./install.sh opens the dashboard.
- In non-TTY shells (CI), it stays script-safe and prints the available subcommands instead of opening a TUI.
- Upgrading from pre-v0.9?
- Run ./install.sh doctor first — it synthesizes install.json from on-disk adapter signals so the new backend can track them.
Documentation by codejunkie99
agentic-stack
Keep one portable memory-and-skills layer across coding-agent harnesses, so switching tools doesn't reset how your agent works.
A portable .agent/ folder (memory + skills + protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, GitHub Copilot CLI, Google Gemini CLI, Hermes, Pi Coding Agent, Codex, Autohand Code CLI, Antigravity, or a DIY Python loop — and keeps its knowledge when you switch.
It also includes a local data layer so you can monitor the whole suite of agents from one place: harness activity, cron runs, active agents, token/cost estimates, KPI summaries, user-defined resource categories, and screenshot-ready daily dashboards.
<p align="center"> <img src="docs/data-layer.svg" alt="agentic-stack data layer dashboard flow" width="880"/> </p>
And it can turn approved, redacted runs into local flywheel artifacts: trace records, context cards, eval cases, training-ready JSONL, and readiness metrics without training a model or sending telemetry.
<p align="center"> <img src="docs/demo.gif" alt="agentic-stack demo" width="880"/> </p>
<p align="center"> <img src="docs/diagram.svg" alt="agentic-stack architecture" width="880"/> </p>
New in v0.20.0 — orchestration, gated evolution, Markdown memory tracks
The brain now covers orchestration, self-evolution, and portable memory in the same file-backed, stdlib-only, host-agent-reviewed style:
DAG orchestration —
plan.pyvalidates a goal as a dependency graph, matches nodes to agents fromprotocols/agents.json(Claude Code, Codex, OpenCode, Gemini, Copilot, Pi, Hermes, OpenClaw, shell, custom), dispatches with bounded subprocesses, judges completion by evidence (exit status, truncation,NEED_INPUT:markers, per-nodeverify), writes exception reports with three resolutions (continue / abandon / replan), keeps every prompt, output, transcript and verdict on disk, and lets later runs consume earlier nodes viaref:. Playbooks save a run as a template; personas assemble a lead role plus specialist roster; campaigns run unattended with a model-free monitor and a report gate. → docs/orchestration.mdGated evolution — four strategy seats (memory / planning / capability / action) around the conductor, and
evolve.py: diagnose failures from episodic memory, scaffold a candidate, paired screen on a fixed task sample (validity + activation gates, t ≥ 1.96), gene bank per (where, pathology) cell, install with backup. Nothing unscreened touches the live harness. → docs/evolution.mdMarkdown memory tracks — episodes (user), agent cases, foresight with a validity window, weekly model-free reflection that consolidates and deprecates (never deletes), source-backed knowledge pages, a stdio MCP server (
mem_context,mem_search,mem_save_turn,mem_save_fact,mem://profile,mem://search) for any host, and Claude Code SessionStart / UserPromptSubmit / Stop / SessionEnd hooks. → docs/memory-tracks.mdSkill forge — task-aware retrieval fused across local, memory-derived and hub catalogs; quality facets with issue flags and admission rules; explicit, validated update operations with lineage; task-intent clustering of agent cases into candidate skills.
One CLI contract — every new tool emits
{"ok", "data", "meta"}/{"ok": false, "error": {...}}when piped, uses stable exit codes, and redacts credentials on the way out.sync.pymoves the brain between devices over git. → docs/contracts.mdAn agent can install the stack by reading docs/agent-install/SKILL.md.
python3 .agent/tools/plan.py validate --file plan.json && python3 .agent/tools/plan.py new --file plan.json
python3 .agent/tools/plan.py run <run_id> --yes && python3 .agent/tools/plan.py report <run_id>
python3 .agent/tools/evolve.py diagnose && python3 .agent/tools/evolve.py screen <cid> --n 4
python3 .agent/tools/track.py search episode "supabase migration"
claude mcp add agentic-memory -- python3 "$PWD/.agent/tools/memory_mcp.py"New in v0.19.1 — memory and upgrade fixes
Patch release. Four correctness fixes:
Recall skips superseded lessons. Retrieval and rendering now share one
superseded_by_map, so recall no longer returns stale guidance next to its replacement.upgradecopies loop skills to the right path. Newloop-*skills landed at.agent/skills/skills/loop-x/; they now land at.agent/skills/loop-x/.UTF-8 everywhere in
learn.py. Non-ASCII claims print and persist correctly regardless of host locale.No leaked file handle when checking whether a lesson was already appended.
Bounded agentic loops (v0.19.0)
Portable loop contracts live under .agent/loops and use a maker →
deterministic verifier → independent checker lifecycle:
agentic-stack loop init /path/to/your-project
agentic-stack loop validate /path/to/your-project
agentic-stack loop run ci-sweeper "make the failing test green" /path/to/your-project --yes
agentic-stack loop status /path/to/your-projectL2/L3 action loops use owned Git worktrees, finite attempts/runtime/output/token
budgets, deny-path gates, resumable checkpoints, and privacy-safe local events.
The supervisor bounds and audits child processes; it is not an operating-system sandbox. Use harness-native sandboxes and approvals for stronger isolation.
Schedulers should invoke one bounded loop run command at a time and inspect
its exit status before starting another run.
Earlier releases — Brain memory bridge (v0.18.0), Mission Control and lesson retraction (v0.17.0), safe project upgrades (v0.16.0), data layer and flywheel (v0.11.0), harness manager (v0.9.0) — are in CHANGELOG.md.
Image: GitHub release Image: License: Apache 2.0 Made by https://x.com/Av1dlive
Quickstart
macOS / Linux
# tap + install (one-time — both lines required)
brew tap codejunkie99/agentic-stack https://github.com/codejunkie99/agentic-stack
brew install agentic-stack
# drop the brain into any project — the onboarding wizard runs automatically
cd your-project
agentic-stack claude-code
# or: cursor | windsurf | opencode | openclaw | copilot-cli | gemini | hermes | pi | codex | autohand-code | standalone-python | antigravityWindows (PowerShell)
# clone + run the native installer
git clone https://github.com/codejunkie99/agentic-stack.git
cd agentic-stack
.\install.ps1 claude-code C:\path\to\your-projectAlready installed?
brew update && brew upgrade agentic-stack
agentic-stack dashboardClone instead?
git clone https://github.com/codejunkie99/agentic-stack.git
cd agentic-stack && ./install.sh claude-code # mac / linux / git-bash
# or on Windows PowerShell: .\install.ps1 claude-code
# adapters: claude-code | cursor | windsurf | opencode | openclaw | copilot-cli | gemini | hermes | pi | codex | autohand-code | standalone-python | antigravityOnce installed: manage what's wired
After the first ./install.sh <adapter>, manage your project with
verb-style subcommands (works with both install.sh and install.ps1):
./install.sh dashboard # TUI dashboard: health, verify, memory, team, skills, instances
./install.sh mission-control # beta local web dashboard; Ctrl-C turns it off
./install.sh brain status # optional external Brain CLI integration
./install.sh add cursor # add a second adapter (Claude Code + Cursor in same repo)
./install.sh status # one-screen view: which adapters, brain stats
./install.sh doctor # read-only audit; green / yellow / red per adapter
./install.sh manage # interactive TUI: header pane + menu loop for add/remove/audit
./install.sh transfer # onboarding-style wizard: export/import memory as a curl bridge
./install.sh upgrade --dry-run # preview safe .agent infrastructure refresh
./install.sh upgrade --yes # copy latest harness/memory/tools + new skills
./install.sh sync-manifest # rebuild .agent/skills/_manifest.jsonl from SKILL.md frontmatter
./install.sh remove cursor # confirm prompt + delete; no quarantine, no undoPowerShell uses the same verbs, for example .\install.ps1 dashboard.
Bare ./install.sh (no arguments) opens a multi-select wizard on
a fresh project — check every harness you actually use, hit enter,
each one gets installed. The wizard auto-detects harnesses already on
disk and pre-checks them. On a project that already has an
install.json, bare interactive ./install.sh opens the dashboard.
In non-TTY shells (CI), it stays script-safe and prints the available
subcommands instead of opening a TUI.
Upgrading from pre-v0.9? Run ./install.sh doctor first — it
synthesizes install.json from on-disk adapter signals so the new
backend can track them. Installing on top without migration would
orphan the prior installs.
Upgrading an already-installed project after brew upgrade? Run
agentic-stack upgrade --dry-run in the project first, then
agentic-stack upgrade --yes to refresh only skeleton-owned .agent
infrastructure (harness/**/*.py, top-level memory/*.py, tools/*.py,
the generated skill index, and new skill directories). It does not rewrite
CLAUDE.md, .claude/settings.json, personal/semantic/episodic/working
memory, candidates, or existing skill directories. agentic-stack sync-manifest is available as a repair command if _manifest.jsonl drifts
from installed SKILL.md files.
Optional: external Brain integration
codejunkie99/brain is the
git-backed long-term memory binary and MCP server. agentic-stack now treats it
as an optional external memory layer instead of vendoring its Rust workspace.
Install Brain first:
brew install codejunkie99/tap/brainThen check or wire it from a project:
agentic-stack brain status
agentic-stack brain onboard --agents codex,cursor --yes
agentic-stack brain ask "auth decisions"
agentic-stack brain note "Use PKCE for local OAuth flows."
agentic-stack brain mcp-commandInstalled .agent/ projects also get python3 .agent/tools/brain_bridge.py
and a brain seed skill so host agents can query or write Brain memory when a
task needs cross-harness long-term recall.
Onboarding wizard
If you ran bare ./install.sh (no adapter name), the wizard starts
with a multi-select harness step: it lists all 13 adapters, pre-
checks any it detects on disk, and installs each one you confirm with
space + enter. After the install(s), the preferences flow runs.
If you ran ./install.sh <adapter> directly, only the preferences
flow runs.
Either way, the preferences step populates
.agent/memory/personal/PREFERENCES.md — the first file your AI reads
at the start of every session — and writes a feature-toggle file at
.agent/memory/.features.json.
Six preference questions (each skippable with Enter):
| Question | Default |
|---|---|
| What should I call you? | (skip) |
| Primary language(s)? | unspecified |
| Explanation style? | concise |
| Test strategy? | test-after |
| Commit message style? | conventional commits |
| Code review depth? | critical issues only |
Plus one Optional features step (opt-in, off by default):
| Feature | Default |
|---|---|
Enable FTS memory search [BETA] | no |
Enable tldraw visual canvas [BETA] | no |
Flags:
agentic-stack claude-code --yes # accept all defaults, beta off (CI/scripted)
agentic-stack claude-code --reconfigure # re-run the wizard on an existing projectEdit .agent/memory/personal/PREFERENCES.md any time to refine your
conventions, or .agent/memory/.features.json to flip feature toggles.
Transfer wizard
Move the portable parts of one project brain into Codex, Cursor, Windsurf, or a terminal-only project with the onboarding-style TUI:
./install.sh transferThe wizard turns a plain-language intent into a transfer plan, lets you
review target harnesses and memory scopes, blocks secret-like content before
export, and emits a one-line curl command the next environment can run.
For move my memory, it includes preferences, accepted lessons, skills,
working memory, episodic/history logs, and candidate lessons. The importer
unpacks the bundle, verifies its SHA-256 digest, merges preferences and
accepted lessons, copies selected skills, restores selected memory files,
and installs the matching adapter files.
For scripted handoff:
./install.sh transfer export --intent "move my preferences and lessons into Codex" --print-curl
./install.sh transfer import --payload-file transfer.txt --sha256 <digest> --target codexReview protocol (host-agent CLI)
The nightly auto_dream.py cycle only stages candidate lessons. It
does not mark anything accepted or modify semantic memory. Your host
agent does the review in-session:
# list pending candidates, sorted by priority
python3 .agent/tools/list_candidates.py
# accept with rationale (required)
python3 .agent/tools/graduate.py <id> --rationale "evidence holds, matches PREFERENCES"
# reject with reason (required); preserves decision history
python3 .agent/tools/reject.py <id> --reason "too specific to generalize"
# requeue a previously-rejected candidate
python3 .agent/tools/reopen.py <id>
# retract an accepted lesson from future recall/context (append-only audit)
python3 .agent/tools/retract_lesson.py <lesson_id> --rationale "obsolete after migration"Graduated lessons land in semantic/lessons.jsonl (source of truth) and
are rendered to semantic/LESSONS.md. Rejected candidates retain full
decision history so recurring churn is visible, not fresh. Retracted lessons
stay in history with status=retracted but are excluded from proactive recall.
See docs/architecture.md for the full lifecycle.
What this is
Every guide shows the folder structure. This repo gives you the folder structure plus the files that actually go inside: a working portable brain with fourteen seed skills, four memory layers, enforced permissions, a nightly staging cycle, host-agent review tools, and adapters for multiple harnesses.
Memory —
working/,episodic/,semantic/,personal/. Each layer has its own retention policy. Query-aware retrieval (salience × relevance); nightly compression into reviewable candidates.Review protocol —
auto_dream.pystages candidate lessons mechanically. Your host agent reviews them via CLI tools (graduate.py,reject.py,reopen.py) and commits decisions with a required rationale. No unattended reasoning, no provider coupling.Skills — progressive disclosure. A lightweight manifest always loads; full
SKILL.mdfiles only load when triggers match the task. Every skill ships with a self-rewrite hook. The bundleddesign-mdskill teaches agents to use a rootDESIGN.mdas the visual source of truth for UI and Google Stitch workflows.Protocols — typed tool schemas, a
permissions.mdthat the pre-tool-call hook enforces, and a delegation contract for sub-agents.Data layer — local-only dashboard exports across every harness sharing
.agent/: agent events, cron timelines, KPI summaries, tokens/cost estimates, task categories, harness mix,dashboard.html, and daily report handoff.Data flywheel — approved, redacted runs can become trace records, context cards, eval cases, training-ready JSONL, and readiness metrics without training a model or sending telemetry.
Memory search [BETA]
Opt-in FTS5 keyword search over all memory documents:
# enable during onboarding (or set manually in .agent/memory/.features.json)
python3 .agent/memory/memory_search.py "deploy failure"
python3 .agent/memory/memory_search.py --status
python3 .agent/memory/memory_search.py --rebuildFalls back to ripgrep (rg) if installed, then to grep — both
restricted to .md / .jsonl so source files never pollute results.
The index is stored at .agent/memory/.index/ and gitignored.
Repo layout
.agent/ # the portable brain (same across harnesses)
├── AGENTS.md # the map
├── harness/ # conductor + hooks (standalone path)
│ ├── dag.py # orchestration library (v0.20)
│ ├── seats.py # memory / planning / capability / action seats (v0.20)
│ └── hooks/
│ ├── claude_code_session.py # SessionStart / UserPromptSubmit / Stop / SessionEnd (v0.20)
│ ├── claude_code_post_tool.py # rich PostToolUse logging (v0.8+)
│ ├── copilot_cli_post_tool.py # Copilot CLI postToolUse logging
│ ├── pi_post_tool.py # Pi tool_result logging
│ ├── pre_tool_call.py # permissions enforcement
│ ├── post_execution.py # log_execution() entry point
│ └── on_failure.py # failure write + repeated-failure rewrite flag
├── memory/ # working / episodic / semantic / personal
│ ├── auto_dream.py # staging-only dream cycle
│ ├── cluster.py # content clustering + pattern extraction
│ ├── promote.py # stage candidates
│ ├── validate.py # heuristic prefilter (length + exact duplicate)
│ ├── review_state.py # candidate lifecycle + decision log
│ ├── render_lessons.py # lessons.jsonl → LESSONS.md
│ ├── memory_search.py # [BETA] FTS5 search (opt-in)
│ ├── tracks.py # Markdown daily-log tracks: episodes / cases / foresight (v0.20)
│ ├── reflect_episodes.py # weekly model-free consolidation (v0.20)
│ └── knowledge/ # source-backed topic pages (v0.20)
├── loops/ # bounded loop contracts (budget, constraints, loops)
├── evolve/ # eval task cards, runner, candidates, gene bank (v0.20)
├── playbooks/ personas/ # saved plans and assembled personas (v0.20)
├── skills/ # _index.md + _manifest.jsonl + SKILL.md files (+ orchestrator, evolver)
├── protocols/ # permissions + tool schemas + delegation
│ ├── agents.json # agent registry: capability cards + execution adapters (v0.20)
│ └── hook_patterns.json # user-owned high/medium-stakes regex (v0.8+)
└── tools/ # host-agent CLI + memory_reflect + skill_loader
├── learn.py # one-shot lesson teaching (stage + graduate)
├── recall.py # surface lessons relevant to an intent
├── show.py # colorful brain-state dashboard
├── data_layer_export.py # local cross-harness dashboard/data export
├── data_flywheel_export.py # approved runs -> traces/cards/evals/JSONL
├── brain_bridge.py # bridge to external Brain CLI/MCP memory
├── list_candidates.py
├── graduate.py
├── reject.py
├── reopen.py
└── retract_lesson.py # append-only semantic lesson retraction
adapters/ # one small shim per harness, each with adapter.json manifest
├── claude-code/ (CLAUDE.md + settings.json hooks — $CLAUDE_PROJECT_DIR wired, closes #18)
├── copilot-cli/ (AGENTS.md + .github/instructions/ + .github/hooks/ + .github/skills/ mirror)
├── cursor/ (.cursor/rules/*.mdc)
├── gemini/ (gemini.md + .gemini/skills mirror)
├── windsurf/ (.windsurf/rules/*.md + legacy .windsurfrules)
├── opencode/ (AGENTS.md + opencode.json)
├── openclaw/ (AGENTS.md + system-prompt include; auto-registers per-project agent)
├── hermes/ (AGENTS.md)
├── pi/ (AGENTS.md + .pi/skills symlink)
├── codex/ (AGENTS.md + .agents/skills symlink)
├── autohand-code/ (AGENTS.md + .autohand/skills symlink)
├── standalone-python/ (DIY conductor entrypoint)
└── antigravity/ (ANTIGRAVITY.md)
harness_manager/ # v0.9.0 manifest-driven Python backend
├── schema.py # adapter.json validator (path-safe on POSIX + Windows)
├── install.py # applies file entries per merge_policy
├── state.py # install.json read/write with fcntl/msvcrt locking
├── doctor.py # read-only audit + pre-v0.9 migration synthesis
├── remove.py # safe uninstall with shared-file detection + ownership handoff
├── dashboard_tui.py # project dashboard for health/verify/memory/team/skills/instances
├── mission_control.py # beta local web dashboard entrypoint
├── brain.py # optional external Brain CLI integration
├── mission_control_collectors.py
├── mission_control_render.py
├── mission_control_server.py
├── mission_control_static.py
├── post_install.py # named built-ins (openclaw_register_workspace)
├── manage_tui.py # interactive menu loop for add/remove/audit
├── transfer_tui.py # onboarding-style memory transfer wizard
├── transfer_plan.py # natural-language target/scope planning
├── transfer_bundle.py # export/import bundle codec + merge logic
├── skill_manifest.py # rebuilds skills/_manifest.jsonl from SKILL.md
├── upgrade.py # safe .agent infrastructure refresh
├── status.py # one-screen installed-adapter view
├── loops/ # loop supervisor: runner, process, worktrees, storage
└── cli.py # argparse dispatcher for install.sh / install.ps1
docs/ # architecture, getting-started, per-harness
tests/ # pytest suite, incl. test_claude_code_hook.py (62 checks)
schemas/data-layer/ # local dashboard/event schemas
examples/data-layer/ # sanitized data-layer shapes
schemas/flywheel/ # data-flywheel artifact schemas
examples/flywheel/ # sanitized approved-run examples
install.sh # mac / linux / git-bash installer (thin Python dispatcher)
install.ps1 # Windows PowerShell installer (thin Python dispatcher)
Formula/agentic-stack.rb # Homebrew formula
CHANGELOG.md # per-version release notes (v0.1.0 onward)
onboard.py # onboarding wizard entry point
onboard_features.py # .features.json read/write
onboard_ui.py # ANSI palette, banner, clack-style layout
onboard_widgets.py # arrow-key prompts (text, select, confirm)
onboard_render.py # answers → PREFERENCES.md content
onboard_write.py # atomic file write with backup
verify_codex_fixes.py # v0.8.0 regression checksSupported harnesses
| Harness | Config file it reads | Hook support |
|---|---|---|
| Claude Code | CLAUDE.md + .claude/settings.json | yes (PostToolUse, Stop) |
| GitHub Copilot CLI | AGENTS.md + .github/instructions/*.instructions.md | yes (postToolUse, sessionEnd) |
| Cursor | .cursor/rules/*.mdc | no (manual reflect calls) |
| Google Gemini CLI | gemini.md + .gemini/skills/ | no (manual reflect calls) |
| Windsurf | .windsurf/rules/*.md + legacy .windsurfrules | no (manual reflect calls) |
| OpenCode | AGENTS.md + opencode.json | partial (permission rules) |
| OpenClaw | AGENTS.md (auto-injected) + per-project openclaw agents add --workspace | varies by fork |
| Hermes Agent | AGENTS.md (agentskills.io compatible) | partial (own memory) |
| Pi Coding Agent | AGENTS.md + .pi/skills/ + .pi/extensions/ | yes (tool_result event) |
| Codex | AGENTS.md + .agents/skills/ | no (manual reflect calls) |
| Autohand Code CLI | AGENTS.md + .autohand/skills/ | no (manual reflect calls) |
| Standalone Python | run.py (any LLM) | yes (full control) |
| Antigravity | ANTIGRAVITY.md | yes (system context) |
Seed skills
skillforge — creates new skills from recurring patterns
memory-manager — runs reflection cycles, surfaces candidate lessons
git-proxy — all git ops, with safety constraints
debug-investigator — reproduce → isolate → hypothesize → verify
deploy-checklist — the fence between staging and production
design-md — uses Google Stitch-style
DESIGN.mdfiles as portable design-system context for UI, frontend, and component workdata-layer — exports local dashboard data, cron timelines, KPIs, and daily reports across harnesses
data-flywheel — approved runs into context cards, evals, redacted traces, training-ready JSONL, and flywheel metrics
tldraw — opt-in beta skill for live canvas diagrams with a local snapshot store under
.agent/skills/tldraw/brain — queries and writes the optional external Brain memory through
brain_bridge.pyloop-triage / loop-verifier / loop-constraints / loop-guard — read
.agent/loopscontracts: read-only triage, deterministic verification, path and approval gates, and pause/budget/stagnation decisions
How it compounds
Skills log every action to episodic memory.
auto_dream.pyclusters recurring patterns into candidate lessons.The host agent reviews candidates with
graduate.py/reject.py.Graduated lessons append to
lessons.jsonl;LESSONS.mdre-renders.Future sessions load query-relevant accepted lessons automatically.
on_failureflags skills that fail 3+ times in 14 days for rewrite.git log .agent/memory/becomes the agent's autobiography.Data-layer exports turn local activity into dashboard-ready monitoring.
Approved, redacted runs can be exported into
.agent/flywheel/artifacts for retrieval, evals, prompt shrinking, and optional future adapters.
Export approved runs into a data flywheel
Put sanitized human-approved runs in:
.agent/flywheel/approved-runs.jsonlThen run:
python3 .agent/tools/data_flywheel_export.pyOutputs land in .agent/flywheel/exports/<date>/:
trace-records.jsonltraining-examples.jsonleval-cases.jsonlcontext-cards/<domain>/<workflow>.mdflywheel-metrics.json
This is local-only and model-agnostic. It creates training-ready artifacts; it does not train a model.
Run the staging cycle nightly
crontab -e
0 3 * * * python3 /path/to/project/.agent/memory/auto_dream.py >> /path/to/project/.agent/memory/dream.log 2>&1auto_dream.py resolves its paths absolutely and performs only mechanical
file operations (cluster, stage, prefilter, decay). No git commits, no
network, no reasoning — safe to run unattended.
Monitor your agent suite
Generate a local dashboard for all harnesses writing to the same .agent/
brain:
python3 .agent/tools/data_layer_export.py --window 30d --bucket dayOr let the injected data-layer skill pass the user's words through:
python3 .agent/tools/data_layer_export.py show me last 7 days by hourOutputs land in .agent/data-layer/exports/<date>/, including
dashboard.html, dashboard.tui.txt, and daily-report.md. The command also
prints the onboarding-style terminal dashboard directly inside your coding tool.
Optional local inputs let you add scheduled runs and categories:
.agent/data-layer/cron-runs.jsonl
.agent/data-layer/category-rules.json
.agent/data-layer/harness-events.jsonlUse this to track crons by day, active agents, token/cost estimates by hour/day/week/month, harness mix across Claude/Hermes/OpenClaw/Codex/etc., success/error rates, run cadence, workflow breadth, and user-defined categories like personal, admin, work, financial, and coding. The data layer is local-only; screenshot delivery requires explicit user approval and a user-configured channel.
See docs/data-layer.md.
License
Original Agentic Stack code and documentation authored by Avidlive are licensed under the Apache License 2.0. Third-party components remain under their own licenses and are not relicensed by this repository. See the licensing guide and NOTICE.
Credits
Based on the article "The Agentic Stack" by @AV1DLIVE — follow for updates and collabs. Coded using Minimax-M2.7 in the Claude Code harness; PR review by Macroscope and Codex. Patterns from Gstack, Claude Code's memory system, and conversations in the agent-engineering community. Built with the hypothesis that harness-agnosticism is the point.
Star History
LICENSE
Shown as plain text.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may accept and charge a
fee for acceptance of support, warranty, indemnity, or other liability
obligations and/or rights consistent with this License. However, in
accepting such obligations, You may act only on Your own behalf
and on Your sole responsibility, not on behalf of any other
Contributor, and only if You agree to indemnify, defend, and hold
each Contributor harmless for any liability incurred by, or claims
asserted against, such Contributor by reason of your accepting any
such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2026 Avidlive
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
307 files · 287 not served here
- .agent/AGENTS.md (not served here)
- .agent/evolve/README.md (not served here)
- .agent/evolve/evals/smoke-list.json (not served here)
- .agent/evolve/evals/smoke-pong.json (not served here)
- .agent/evolve/runner.json (not served here)
- .agent/harness/conductor.py (not served here)
- .agent/harness/context_budget.py (not served here)
- .agent/harness/dag.py (not served here)
- .agent/harness/hooks/__init__.py (not served here)
- .agent/harness/hooks/_episodic_io.py (not served here)
- .agent/harness/hooks/_provenance.py (not served here)
- .agent/harness/hooks/claude_code_post_tool.py (not served here)
- .agent/harness/hooks/claude_code_session.py (not served here)
- .agent/harness/hooks/copilot_cli_post_tool.py (not served here)
- .agent/harness/hooks/on_failure.py (not served here)
- .agent/harness/hooks/pi_post_tool.py (not served here)
- .agent/harness/hooks/post_execution.py (not served here)
- .agent/harness/hooks/pre_tool_call.py (not served here)
- .agent/harness/llm.py (not served here)
- .agent/harness/salience.py (not served here)
- .agent/harness/seats.py (not served here)
- .agent/harness/text.py (not served here)
- .agent/loops/budget.json (not served here)
- .agent/loops/ci-sweeper.json (not served here)
- .agent/loops/constraints.json (not served here)
- .agent/loops/daily-triage.json (not served here)
- .agent/loops/harnesses.json (not served here)
- .agent/loops/pr-babysitter.json (not served here)
- .agent/memory/archive.py (not served here)
- .agent/memory/auto_dream.py (not served here)
- .agent/memory/candidates/graduated/422695ae5b2d.json (not served here)
- .agent/memory/cluster.py (not served here)
- .agent/memory/decay.py (not served here)
- .agent/memory/episodic/AGENT_LEARNINGS.jsonl (not served here)
- .agent/memory/episodic/snapshots/archive_2026-10-11.jsonl (not served here)
- .agent/memory/memory_search.py (not served here)
- .agent/memory/personal/PREFERENCES.md (not served here)
- .agent/memory/promote.py (not served here)
- .agent/memory/reflect_episodes.py (not served here)
- .agent/memory/render_lessons.py (not served here)
- .agent/memory/review_state.py (not served here)
- .agent/memory/semantic/DECISIONS.md (not served here)
- .agent/memory/semantic/DOMAIN_KNOWLEDGE.md (not served here)
- .agent/memory/semantic/LESSONS.md (not served here)
- .agent/memory/semantic/lessons.jsonl (not served here)
- .agent/memory/tracks.py (not served here)
- .agent/memory/validate.py (not served here)
- .agent/memory/working/REVIEW_QUEUE.md (not served here)
- .agent/memory/working/WORKSPACE.md (not served here)
- .agent/protocols/agents.json (not served here)
- .agent/protocols/delegation.md (not served here)
- .agent/protocols/hook_patterns.json (not served here)
- .agent/protocols/permissions.md (not served here)
- .agent/protocols/tool_schemas/api.schema.json (not served here)
- .agent/protocols/tool_schemas/github.schema.json (not served here)
- .agent/protocols/tool_schemas/shell.schema.json (not served here)
- .agent/runtime/.gitignore (not served here)
- .agent/skills/_index.md (not served here)
- .agent/skills/_manifest.jsonl (not served here)
- .agent/skills/brain/SKILL.md (not served here)
- .agent/skills/data-flywheel/SKILL.md (not served here)
- .agent/skills/data-layer/SKILL.md (not served here)
- .agent/skills/debug-investigator/SKILL.md (not served here)
- .agent/skills/deploy-checklist/SKILL.md (not served here)
- .agent/skills/design-md/SKILL.md (not served here)
- .agent/skills/evolver/SKILL.md (not served here)
- .agent/skills/git-proxy/KNOWLEDGE.md (not served here)
- .agent/skills/git-proxy/SKILL.md (not served here)
- .agent/skills/loop-constraints/SKILL.md (not served here)
- .agent/skills/loop-guard/SKILL.md (not served here)
- .agent/skills/loop-triage/SKILL.md (not served here)
- .agent/skills/loop-verifier/SKILL.md (not served here)
- .agent/skills/memory-manager/SKILL.md (not served here)
- .agent/skills/orchestrator/SKILL.md (not served here)
- .agent/skills/skillforge/SKILL.md (not served here)
- .agent/skills/tldraw/SKILL.md (not served here)
- .agent/skills/tldraw/store.py (not served here)
- .agent/tools/_cli.py (not served here)
- .agent/tools/brain_bridge.py (not served here)
- .agent/tools/budget_tracker.py (not served here)
- .agent/tools/data_flywheel_export.py (not served here)
- .agent/tools/data_layer_export.py (not served here)
- .agent/tools/evolve.py (not served here)
- .agent/tools/graduate.py (not served here)
- .agent/tools/knowledge.py (not served here)
- .agent/tools/learn.py (not served here)
- .agent/tools/list_candidates.py (not served here)
- .agent/tools/memory_mcp.py (not served here)
- .agent/tools/memory_reflect.py (not served here)
- .agent/tools/persona.py (not served here)
- .agent/tools/plan.py (not served here)
- .agent/tools/proactive.py (not served here)
- .agent/tools/recall.py (not served here)
- .agent/tools/reject.py (not served here)
- .agent/tools/reopen.py (not served here)
- .agent/tools/retract_lesson.py (not served here)
- .agent/tools/show.py (not served here)
- .agent/tools/skill_forge.py (not served here)
- .agent/tools/skill_loader.py (not served here)
- .agent/tools/sync.py (not served here)
- .agent/tools/test_learn_episodic_mirror.py (not served here)
- .agent/tools/track.py (not served here)
- .cursor/agents/cavecrew-builder.md (not served here)
- .cursor/agents/cavecrew-investigator.md (not served here)
- .cursor/agents/cavecrew-reviewer.md (not served here)
- .cursor/rules/caveman.mdc
- .cursor/rules/fable-grok-subagents.mdc
- .cursor/skills/cavecrew/LICENSE
- .cursor/skills/cavecrew/SKILL.md (not served here)
- .cursor/skills/caveman/LICENSE
- .cursor/skills/caveman/SKILL.md (not served here)
- .env.example (not served here)
- .gitattributes (not served here)
- .gitignore (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- Formula/agentic-stack.rb (not served here)
- LICENSE
- NOTICE
- README.md
- adapters/_shared/tldraw-mcp.json (not served here)
- adapters/antigravity/ANTIGRAVITY.md (not served here)
- adapters/antigravity/README.md (not served here)
- adapters/antigravity/adapter.json (not served here)
- adapters/autohand-code/AGENTS.md (not served here)
- adapters/autohand-code/README.md (not served here)
- adapters/autohand-code/adapter.json (not served here)
- adapters/claude-code/CLAUDE.md (not served here)
- adapters/claude-code/README.md (not served here)
- adapters/claude-code/adapter.json (not served here)
- adapters/claude-code/settings.json (not served here)
- adapters/codex/AGENTS.md (not served here)
- adapters/codex/README.md (not served here)
- adapters/codex/adapter.json (not served here)
- adapters/copilot-cli/AGENTS.md (not served here)
- adapters/copilot-cli/README.md (not served here)
- adapters/copilot-cli/adapter.json (not served here)
- adapters/copilot-cli/agentic-stack.instructions.md (not served here)
- adapters/copilot-cli/hooks.json (not served here)
- adapters/cursor/.cursor/rules/agentic-stack.mdc (not served here)
- adapters/cursor/README.md (not served here)
- adapters/cursor/adapter.json (not served here)
- adapters/gemini/README.md (not served here)
- adapters/gemini/adapter.json (not served here)
- adapters/gemini/gemini.md (not served here)
- adapters/hermes/AGENTS.md (not served here)
- adapters/hermes/README.md (not served here)
- adapters/hermes/adapter.json (not served here)
- adapters/openclaw/AGENTS.md (not served here)
- adapters/openclaw/README.md (not served here)
- adapters/openclaw/adapter.json (not served here)
- adapters/openclaw/config.md (not served here)
- adapters/opencode/AGENTS.md (not served here)
- adapters/opencode/README.md (not served here)
- adapters/opencode/adapter.json (not served here)
- adapters/opencode/opencode.json (not served here)
- adapters/pi/AGENTS.md (not served here)
- adapters/pi/README.md (not served here)
- adapters/pi/adapter.json (not served here)
- adapters/pi/memory-hook.ts (not served here)
- adapters/standalone-python/README.md (not served here)
- adapters/standalone-python/adapter.json (not served here)
- adapters/standalone-python/run.py (not served here)
- adapters/windsurf/.windsurf/rules/agentic-stack.md (not served here)
- adapters/windsurf/.windsurfrules (not served here)
- adapters/windsurf/README.md (not served here)
- adapters/windsurf/adapter.json (not served here)
- docs/agent-install/SKILL.md (not served here)
- docs/architecture.md
- docs/contracts.md
- docs/data-flywheel.md
- docs/data-layer.md
- docs/data-layer.svg (not served here)
- docs/demo.gif (not served here)
- docs/demo/.gitignore (not served here)
- docs/demo/package-lock.json (not served here)
- docs/demo/package.json (not served here)
- docs/demo/remotion.config.ts (not served here)
- docs/demo/src/Root.tsx (not served here)
- docs/demo/src/index.ts (not served here)
- docs/demo/src/scenes/Architecture.tsx (not served here)
- docs/demo/src/scenes/DreamCycle.tsx (not served here)
- docs/demo/src/scenes/Memory.tsx (not served here)
- docs/demo/src/scenes/Outro.tsx (not served here)
- docs/demo/src/scenes/Quickstart.tsx (not served here)
- docs/demo/src/scenes/Skills.tsx (not served here)
- docs/demo/src/scenes/Title.tsx (not served here)
- docs/demo/src/tokens.ts (not served here)
- docs/demo/tsconfig.json (not served here)
- docs/diagram.svg (not served here)
- docs/evolution.md
- docs/getting-started.md
- docs/harness-manager.svg (not served here)
- docs/licensing.md
- docs/memory-tracks.md
- docs/orchestration.md
- docs/per-harness/antigravity.md (not served here)
- docs/per-harness/autohand-code.md (not served here)
- docs/per-harness/claude-code.md (not served here)
- docs/per-harness/codex.md (not served here)
- docs/per-harness/copilot-cli.md (not served here)
- docs/per-harness/cursor.md (not served here)
- docs/per-harness/hermes.md (not served here)
- docs/per-harness/openclaw.md (not served here)
- docs/per-harness/opencode.md (not served here)
- docs/per-harness/pi.md (not served here)
- docs/per-harness/standalone-python.md (not served here)
- docs/per-harness/windsurf.md (not served here)
- docs/releases/v0.19.0.md (not served here)
- docs/releases/v0.19.1.md (not served here)
- docs/specs/v0.20-agentic-turn.md (not served here)
- docs/superpowers/plans/2026-05-02-transfer-tui-wizard.md (not served here)
- docs/superpowers/plans/2026-07-18-agentic-loops-meta-harness.md (not served here)
- docs/superpowers/specs/2026-05-02-transfer-tui-wizard-design.md (not served here)
- docs/superpowers/specs/2026-07-18-agentic-loops-meta-harness-design.md (not served here)
- docs/writing-skills.md
- examples/data-layer/README.md (not served here)
- examples/data-layer/category-rules.json (not served here)
- examples/data-layer/cron-runs.redacted.jsonl (not served here)
- examples/data-layer/harness-events.redacted.jsonl (not served here)
- examples/first_run.py (not served here)
- examples/flywheel/README.md (not served here)
- examples/flywheel/approved-runs.redacted.jsonl (not served here)
- harness_manager/__init__.py (not served here)
- harness_manager/brain.py (not served here)
- harness_manager/cli.py (not served here)
- harness_manager/dashboard_tui.py (not served here)
- harness_manager/doctor.py (not served here)
- harness_manager/install.py (not served here)
- harness_manager/loops/__init__.py (not served here)
- harness_manager/loops/commands.py (not served here)
- harness_manager/loops/policy.py (not served here)
- harness_manager/loops/process.py (not served here)
- harness_manager/loops/runner.py (not served here)
- harness_manager/loops/schema.py (not served here)
- harness_manager/loops/storage.py (not served here)
- harness_manager/loops/worktrees.py (not served here)
- harness_manager/manage_tui.py (not served here)
- harness_manager/mission_control.py (not served here)
- harness_manager/mission_control_collectors.py (not served here)
- harness_manager/mission_control_orchestration.py (not served here)
- harness_manager/mission_control_render.py (not served here)
- harness_manager/mission_control_server.py (not served here)
- harness_manager/mission_control_static.py (not served here)
- harness_manager/post_install.py (not served here)
- harness_manager/remove.py (not served here)
- harness_manager/schema.py (not served here)
- harness_manager/skill_manifest.py (not served here)
- harness_manager/state.py (not served here)
- harness_manager/status.py (not served here)
- harness_manager/transfer_bundle.py (not served here)
- harness_manager/transfer_plan.py (not served here)
- harness_manager/transfer_tui.py (not served here)
- harness_manager/upgrade.py (not served here)
- install.ps1 (not served here)
- install.sh (not served here)
- onboard.py (not served here)
- onboard_features.py (not served here)
- onboard_render.py (not served here)
- onboard_ui.py (not served here)
- onboard_widgets.py (not served here)
- onboard_write.py (not served here)
- pytest.ini (not served here)
- requirements.txt (not served here)
- schemas/data-layer/activity-series.schema.json (not served here)
- schemas/data-layer/agent-event.schema.json (not served here)
- schemas/data-layer/category-rules.schema.json (not served here)
- schemas/data-layer/cron-run.schema.json (not served here)
- schemas/data-layer/cron-timeline.schema.json (not served here)
- schemas/data-layer/dashboard-report.schema.json (not served here)
- schemas/data-layer/kpi-summary.schema.json (not served here)
- schemas/flywheel/approved-run.schema.json (not served here)
- schemas/flywheel/context-card.schema.json (not served here)
- schemas/flywheel/eval-case.schema.json (not served here)
- schemas/flywheel/flywheel-metrics.schema.json (not served here)
- schemas/flywheel/trace-record.schema.json (not served here)
- schemas/flywheel/training-example.schema.json (not served here)
- scripts/import-transfer.ps1 (not served here)
- scripts/import-transfer.sh (not served here)
- tests/test_brain_integration.py (not served here)
- tests/test_claude_code_hook.py (not served here)
- tests/test_copilot_cli_adapter.py (not served here)
- tests/test_dashboard_tui.py (not served here)
- tests/test_data_flywheel_export.py (not served here)
- tests/test_data_layer_export.py (not served here)
- tests/test_llm_provider.py (not served here)
- tests/test_loop_cli.py (not served here)
- tests/test_loop_integrations.py (not served here)
- tests/test_loop_process.py (not served here)
- tests/test_loop_runner.py (not served here)
- tests/test_loop_schema.py (not served here)
- tests/test_loop_storage_policy.py (not served here)
- tests/test_loop_worktrees.py (not served here)
- tests/test_memory_search.py (not served here)
- tests/test_mission_control.py (not served here)
- tests/test_onboard_ui.py (not served here)
- tests/test_orchestration_evolution_memory.py (not served here)
- tests/test_recall_supersession.py (not served here)
- tests/test_retract_lesson.py (not served here)
- tests/test_tldraw_visual_memory.py (not served here)
- tests/test_transfer_bundle.py (not served here)
- tests/test_transfer_cli.py (not served here)
- tests/test_transfer_plan.py (not served here)
- tests/test_transfer_scripts.py (not served here)
- tests/test_upgrade_manifest_doctor.py (not served here)
- verify_codex_fixes.py (not served here)
Advantages
- Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
- Open licence (Apache-2.0) (a rule-derived fact from the brain’s files)
Limitations
- Needs an API key (ANTHROPIC_API_KEY, MINIMAX_API_KEY, OPENAI_API_KEY) (a rule-derived fact from the brain’s files, evidence: README.md)
- Needs a database (PostgreSQL) (a rule-derived fact from the brain’s files, evidence: README.md)
- Runs code automatically: review what it runs before you open it (a rule-derived fact from the brain’s files)
- No ZIP download: install it from its source (a rule-derived fact from the brain’s files)
Security
Risk level: Medium risk
This brain runs
Agent instructions that run or fetch something (102)
.agent/AGENTS.md:`python .agent/tools/list_candidates.py` — pending candidates, sorted by priority.agent/AGENTS.md:`python .agent/tools/graduate.py <id> --rationale "..."` to accept.agent/AGENTS.md:`python .agent/tools/reject.py <id> --reason "..."` to reject.agent/AGENTS.md:`python .agent/tools/reopen.py <id>` to requeue a previously-rejected item.agent/AGENTS.md:`tools/plan.py` — validate / new / run / resolve / report;.agent/AGENTS.md:`tools/evolve.py` — diagnose → scaffold → screen (paired, gated) → round → install;.agent/AGENTS.md:**Run before deploy / migration / timestamp / debug / refactor work.** This is how lessons cross harnesses..agent/skills/brain/SKILL.md:python3 .agent/tools/brain_bridge.py status.agent/skills/brain/SKILL.md:If Brain is missing, tell the user to install it:.agent/skills/brain/SKILL.md:brew install codejunkie99/tap/brain.agent/skills/brain/SKILL.md:python3 .agent/tools/brain_bridge.py ask "<intent or topic>".agent/skills/brain/SKILL.md:python3 .agent/tools/brain_bridge.py note "<one durable observation>".agent/skills/brain/SKILL.md:python3 .agent/tools/brain_bridge.py mcp-command.agent/skills/data-flywheel/SKILL.md:approved run.agent/skills/data-flywheel/SKILL.md:Each line should be a sanitized run record with:.agent/skills/data-flywheel/SKILL.md:Run:.agent/skills/data-flywheel/SKILL.md:python3 .agent/tools/data_flywheel_export.py.agent/skills/data-layer/SKILL.md:KPI summary rows for cron cadence, run volume, reliability, active agents, workflow breadth, token usage, and estimated cost.agent/skills/data-layer/SKILL.md:python3 .agent/tools/data_layer_export.py show me last 7 days by hour.agent/skills/data-layer/SKILL.md:If the user gives no range or bucket, run the default export..agent/skills/data-layer/SKILL.md:Run:.agent/skills/data-layer/SKILL.md:python3 .agent/tools/data_layer_export.py --window 30d --bucket day.agent/skills/data-layer/SKILL.md:Run the exporter from a user-approved cron or scheduled agent..agent/skills/debug-investigator/SKILL.md:**Verify.** After the fix, re-run the repro..agent/skills/deploy-checklist/SKILL.md:Run this checklist before any deploy..agent/skills/deploy-checklist/SKILL.md:If anything went wrong, run the debug-investigator loop and update this checklist with the new step that would have caught it..agent/skills/design-md/SKILL.md:npx @google/design.md lint DESIGN.md.agent/skills/design-md/SKILL.md:npx @google/design.md diff DESIGN.before.md DESIGN.md.agent/skills/design-md/SKILL.md:the manual fallback does not, so re-run the CLI when you regain network access..agent/skills/evolver/SKILL.md:No pass, no install;.agent/skills/evolver/SKILL.md:`evolve.py install <cid>` — applies files to the live `.agent/` with a backup under `evolve/backups/`..agent/skills/evolver/SKILL.md:Pathology "rejected-tests-failing-before-push" in git-proxy → candidate edits `skills/git-proxy/SKILL.md` to run the test command before `git push` and prints `[evolved:pretest]`.· uses the network.agent/skills/evolver/SKILL.md:Screen on 4 push-flavoured cards: gain 0.75, t=3.0 → pass → round → install..agent/skills/evolver/SKILL.md:A candidate "passed" with zero variance because the eval cards were all trivially solved by both harnesses after the first run (cached state in the overlay)..agent/skills/git-proxy/SKILL.md:Stage specific files, not `git add -A` (avoids capturing secrets)..agent/skills/git-proxy/SKILL.md:Run tests first..agent/skills/loop-constraints/SKILL.md:Read constraints and the run checkpoint before assessing a change..agent/skills/memory-manager/SKILL.md:Commit via git so history is preserved: `git log memory/` is the agent's autobiography..agent/skills/memory-manager/SKILL.md:python3 .agent/memory/memory_search.py <query>.agent/skills/orchestrator/SKILL.md:node ids are unique across runs (reuse old output via `"inputs": {"x": "ref:<node_id>"}` instead of re-running)..agent/skills/orchestrator/SKILL.md:`plan.py new --file plan.json` → run id..agent/skills/orchestrator/SKILL.md:`plan.py run <id>` stops at `awaiting_approval` when a node mutates the workspace;.agent/skills/orchestrator/SKILL.md:When attempts run out, read `exceptions/<node>.json` (category, missing, evidence, blocked dependents, deadline)..agent/skills/orchestrator/SKILL.md:replan --file` (a successor run;.agent/skills/orchestrator/SKILL.md:`plan.py playbook save <run_id> --name <slug>` after a run that worked;.agent/skills/orchestrator/SKILL.md:`validate`, `new`, `run` (approve), `report`..agent/skills/orchestrator/SKILL.md:After 5 runs or any run that ended `failed`: read the exception reports, check whether a missing `verify`, a wrong `needs`, or a bad prompt caused it, and propose a conservative edit to this file..agent/skills/tldraw/SKILL.md:This beta does not install MCP wiring during default adapter setup..agent/skills/tldraw/SKILL.md:python3 .agent/skills/tldraw/store.py snapshot \.cursor/rules/fable-grok-subagents.mdc:Subagents run on Grok 4.6, pinned by `model: grok-4.6` in `.cursor/agents/*.md`..cursor/rules/fable-grok-subagents.mdc:| Job | Subagent | |---|---| | Locate, bulk grep, file discovery | `cavecrew-investigator` | | 1–2 file surgical edit | `cavecrew-builder` | | Diff review before commit or PR | `cavecrew-reviewer` | | Test loops and verbose shell runs | `cavecrew-builder` (edit, then run tests, report s …[+91 chars]adapters/claude-code/CLAUDE.md:For any task involving **deploy**, **ship**, **release**, **migration**, **schema change**, **supabase**, **edge function**, **timestamp** / **timezone** / **date**, **failing test**, **debug**, **investigate**, or **refactor**, run recall FIRST and present the results before acting:adapters/claude-code/CLAUDE.md:python3 .agent/tools/recall.py "<one-line description of what you're about to do>"adapters/claude-code/CLAUDE.md:python3 .agent/tools/show.pyadapters/claude-code/CLAUDE.md:python3 .agent/tools/learn.py "<the rule, phrased as a principle>" \adapters/claude-code/CLAUDE.md:python3 .agent/tools/memory_reflect.py \adapters/claude-code/CLAUDE.md:python3 .agent/tools/memory_reflect.py \adapters/claude-code/CLAUDE.md:python3 .agent/tools/memory_reflect.py \adapters/claude-code/CLAUDE.md:| Value | When | |---|---| | 9–10 | Production incident, data migration, rollback, security issue | | 7–8 | Deploy, schema change, architectural decision, non-obvious constraint | | 5–6 | Refactor, significant bug fix, API contract change | | 3–4 | Routine edit, file creation, test run |adapters/codex/AGENTS.md:The install script symlinks or syncs `.agents/skills` from `.agent/skills` so the portable brain remains the one source of truth.adapters/codex/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/codex/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/codex/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/codex/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/codex/AGENTS.md:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/copilot-cli/AGENTS.md:re-running `./install.sh copilot-cli` will sync it back.adapters/copilot-cli/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/copilot-cli/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/copilot-cli/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/copilot-cli/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/copilot-cli/AGENTS.md:Teach a rule: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/hermes/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/hermes/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/hermes/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/hermes/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/hermes/AGENTS.md:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/openclaw/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/openclaw/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/openclaw/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/openclaw/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/openclaw/AGENTS.md:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/opencode/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/opencode/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/opencode/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/opencode/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/opencode/AGENTS.md:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/pi/AGENTS.md:The install script symlinks `.pi/skills` → `.agent/skills` so every skill under the portable brain is visible to pi without duplication.adapters/pi/AGENTS.md:For deploy / ship / migration / schema / timestamp / date / failing test / debug / refactor, FIRST run:adapters/pi/AGENTS.md:python3 .agent/tools/recall.py "<description>"adapters/pi/AGENTS.md:After significant actions, run `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/pi/AGENTS.md:Quick state: `python3 .agent/tools/show.py`.adapters/pi/AGENTS.md:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.adapters/windsurf/.windsurfrules:For deploy / ship / release / migration / schema / timestamp / timezone / date / failing test / debug / investigate / refactor, run recall FIRST:adapters/windsurf/.windsurfrules:python3 .agent/tools/recall.py "<short description>"adapters/windsurf/.windsurfrules:After significant actions, call `python3 .agent/tools/memory_reflect.py <skill> <action> <outcome>`.adapters/windsurf/.windsurfrules:Quick state: `python3 .agent/tools/show.py`.adapters/windsurf/.windsurfrules:Teach a rule in one shot: `python3 .agent/tools/learn.py "<rule>" --rationale "<why>"`.docs/agent-install/SKILL.md:Install the CLI (macOS/Linux):docs/agent-install/SKILL.md:Windows PowerShell: `git clone https://github.com/codejunkie99/agentic-stack && .\agentic-stack\install.ps1 <harness>`.· uses the networkdocs/agent-install/SKILL.md:From the project root, run `agentic-stack <harness>` (for example `agentic-stack claude-code`).docs/agent-install/SKILL.md:Verify: `agentic-stack doctor .` must report no errors, and `python3 .agent/tools/show.py --plain` must print the brain dashboard.docs/agent-install/SKILL.md:Run `agentic-stack upgrade .` to refresh infrastructure without touching memory or skills.
Install scripts (3)
harness_manager/install.py:python harness_manager/install.pyinstall.ps1:pwsh install.ps1install.sh:sh install.sh
- Medium risk: runs-instruction-instruction-network (.agent/skills/evolver/SKILL.md:48)
- Medium risk: runs-instruction-instruction-network (docs/agent-install/SKILL.md:18)
- Low risk: scripts-present (.agent/memory/memory_search.py)
- Low risk: scripts-present (.agent/skills/tldraw/store.py)
- Low risk: scripts-present (.agent/tools/brain_bridge.py)
- Low risk: scripts-present (.agent/tools/data_flywheel_export.py)
- Low risk: scripts-present (.agent/tools/data_layer_export.py)
- Low risk: scripts-present (.agent/tools/learn.py)
- Low risk: scripts-present (.agent/tools/memory_reflect.py)
- Low risk: scripts-present (.agent/tools/recall.py)
- Low risk: scripts-present (.agent/tools/show.py)
- Low risk: scripts-present (harness_manager/__init__.py)
- Low risk: scripts-present (harness_manager/install.py)
- Low risk: scripts-present (install.ps1)
- Low risk: scripts-present (install.sh)
Attribution and licence
- First committed by
codejunkie99
- Publisher
- Avidlive (Community)
- Source
- codejunkie99/agentic-stack · commit 11a75e1
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- ftrtyfytfjh, codejunkie99, diazMelgarejo, mv-fs, danielfoch
AutoGineer is not affiliated with or endorsed by codejunkie99.
Install from source
287 of its files are not served here, so there is no ZIP. codejunkie99/agentic-stack at 11a75e1