AugmentClaude

Knowledge Compiler

Compile agent artifacts into a structured, interlinked markdown wiki.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/compile-boshu2/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

Compile .agents knowledge wiki.

What this skill does

Compile — Knowledge Compiler

Reads raw .agents/ artifacts and compiles them into a structured, interlinked markdown wiki. Inspired by Karpathy's LLM Knowledge Bases.

What This Skill Does

The knowledge flywheel captures signal reactively (via /retro, /post-mortem, /forge). /compile closes the loop by:

  1. Mining unextracted signal from git and .agents/ (existing)
  2. Growing learnings via validation, synthesis, and gap detection (existing)
  3. Compiling raw artifacts into interlinked wiki articles (NEW — the core value)
  4. Linting the compiled wiki for contradictions, orphans, and gaps (NEW)
  5. Defragging stale and duplicate artifacts (existing)

No vector DB. At personal scale (~100-400 articles), the compiled wiki fits in context windows. The wiki IS the retrieval layer.

Output: .agents/compiled/ — encyclopedia-style markdown with [[backlinks]], index.md catalog, and log.md chronological record.

Pluggable Compute Backend

Set AGENTOPS_COMPILE_RUNTIME to choose the LLM backend:

ValueBackendNotes
claude-cliLocal claude binaryZero-config. Inherits your Claude Code auth — no API key needed. Auto-selected if claude is on PATH and nothing else is set.
ollamaOllama APIDefault model: gemma3:27b. Set OLLAMA_HOST for remote (e.g., ssh -L 11435:localhost:11435 bushido-windows).
claudeClaude API (HTTP)Uses ANTHROPIC_API_KEY. Model: claude-sonnet-4-20250514.
openaiOpenAI-compatibleUses OPENAI_API_KEY + OPENAI_BASE_URL.
(unset)Claude Code sessionCompilation happens inline via the current session's LLM.

When AGENTOPS_COMPILE_RUNTIME is unset, ao compile first tries to auto-detect a local claude binary (claude-cli runtime). If that is also absent, headless compile fails fast with an explicit error naming the env var to set. Interactive /compile invocations still run compilation prompts inline — the agent reading this SKILL.md IS the compiler.

Runtime preference (override auto-detect)

To force a non-auto-detected runtime permanently (e.g. you have claude installed but prefer Ollama for privacy), set it in ~/.agentops/config.yaml:

compile:
  preferred_runtime: ollama

Precedence (high → low): --runtime flag, AGENTOPS_COMPILE_RUNTIME env, compile.preferred_runtime config, claude-binary auto-detect, empty (error).

Large-corpus batching

ao compile passes --batch-size to the headless compiler (default 25 changed files per LLM prompt). A fresh run against a 2000+ file corpus will split into batches automatically instead of sending one giant prompt.

Flags:

  • --batch-size N — files per batch (default 25)
  • --max-batches N — cap batches per invocation; remaining files are picked up on the next run (default 0 = unlimited)

Execution Steps

Phase-by-phase detail lives in references/phases.md. Summary of modes:

  • /compile — Full cycle: Mine → Grow → Compile → Lint → Defrag
  • /compile --compile-only — Skip mine/grow, just compile + lint
  • /compile --lint-only — Only lint the existing compiled wiki
  • /compile --defrag-only — Only run defrag/cleanup
  • /compile --mine-only — Only run mine + grow (legacy behavior)

The steps are:

  1. Mine — extract signal from git + .agents/research/ + complexity hotspots
  2. Grow — LLM-driven validation, synthesis, gap detection; adjust learning confidence
  3. Compile — inventory → topic extraction → wiki articles with [[backlinks]]
  4. Lint — contradictions, orphans, missing cross-refs, stale claims
  5. Defrag — prune stale, dedup near-duplicates, sweep oscillating goals, normalization scan
  6. Report — write .agents/compile/YYYY-MM-DD-report.md

See references/phases.md for the full per-phase procedure, confidence-scoring table, auto-promotion rules, template shapes for article / index / log / lint-report / compile-report, and the normalization defect scan.

Scheduling / Auto-Trigger

Lightweight defrag (prune + dedup, no mining or compilation) runs automatically at session end via the compile-session-defrag.sh hook. This keeps the knowledge store clean without requiring manual /compile invocations. The hook:

  • Fires on every SessionEnd event after session-end-maintenance.sh
  • Skips silently if the ao CLI is not available
  • Runs only ao defrag --prune --dedup (no compilation or mining)
  • Has a 20-second timeout to avoid blocking session teardown

For full compilation, invoke /compile manually or schedule the headless compiler script with your host OS:

# Example: external cron entry for nightly compilation on bushido
0 3 * * * cd /path/to/repo && AGENTOPS_COMPILE_RUNTIME=ollama bash skills/compile/scripts/compile.sh --force

AgentOps exposes this flow through ao compile. If you want unattended compilation, use your host scheduler (launchd, cron, systemd, CI, etc.) to invoke ao compile --force --runtime ollama or call the lower-level bash skills/compile/scripts/compile.sh directly. If you want the broader private overnight loop, use ao overnight start instead of inventing a parallel Dream wrapper inside /compile.

Interactive Modes

These modes describe the interactive /compile skill behavior:

ModeDescription
--compile-onlySkip mine/grow, just compile + lint
--lint-onlyOnly lint the existing compiled wiki
--defrag-onlyOnly run defrag/cleanup
--mine-onlyOnly run mine + grow (legacy behavior)
--fullFull cycle: mine → grow → compile → lint → defrag
--since 26hTime window for the mine phase
--incrementalSkip unchanged source files (hash-based)
--forceRecompile all articles regardless of hashes

Headless Script Flags

For unattended runs, bash skills/compile/scripts/compile.sh supports:

FlagDefaultDescription
--sources <dir>.agentsSource root for learnings, patterns, research, retros, forge, and knowledge
--output <dir>.agents/compiledTarget directory for compiled wiki output
--incrementalonSkip unchanged source files (hash-based)
--forceoffRecompile all articles regardless of hashes
--lint-onlyoffOnly run the lint pass on the existing compiled wiki
--fullonAccepted for parity; default behavior already runs the full headless compile path

Examples

User says: /compile — Full Mine → Grow → Compile → Lint → Defrag cycle.

User says: /compile --compile-only — Just compile raw artifacts into wiki.

User says: /compile --lint-only — Scan existing wiki for health issues.

User says: /compile --since 7d — Mines with a wider window (7 days).

Scheduled externally: Nightly compilation on bushido GPU via Ollama.

Pre-evolve warmup: Run /compile before /evolve for a fresh, validated knowledge base.

Troubleshooting

ProblemCauseSolution
ao mine not foundao CLI not in PATHUse manual fallback in Step 1
No orphaned researchAll research already referencedSkip 2b, proceed to synthesis
Empty mine outputNo recent activityWiden --since window
Oscillation sweep emptyNo oscillating goalsHealthy state — no action needed
Ollama connection refusedTunnel not running or wrong hostRun ssh -L 11435:localhost:11435 bushido-windows or check OLLAMA_HOST
Compilation too slowLarge corpus on small modelUse --incremental or switch to larger model
Hash file missingFirst compilationNormal — full compile runs, hashes saved after

Reference Documents

Related skills