From agentops
Mines transcripts, .agents, bd, and git for skill diffs, bd updates, or rare wiki entries. Never mutates code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentops:curateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Role:** miner. Input = trinity slice (transcripts, `.agents/`, `bd`, `git`). Output = skill diffs (proposed), bd updates, rare wiki entries. **Never mutates code.**
Role: miner. Input = trinity slice (transcripts,
.agents/,bd,git). Output = skill diffs (proposed), bd updates, rare wiki entries. Never mutates code.
Status (2026-05-08): introduced ADDITIVE in Phase 1 (m6v5.D.1 / soc-78s2v). Existing miners (dream, harvest, forge, compile, retro, post-mortem-mining, flywheel, trace, provenance, defrag) stay until Phase 3 shim conversion (m6v5.D.3). Fix-C smoke (
soc-wb2aa) gates Phase 3.
| Mode | Purpose | Replaces (post-Phase 3) |
|---|---|---|
--mode=dream | Overnight bounded INGEST→REDUCE→MEASURE on .agents/ | retired dream lane |
--mode=harvest | Cross-rig promotion + post-mortem mining + flywheel rollup | retired harvest lane, /post-mortem mining half, /flywheel |
--mode=forge | Per-session transcript mining (SessionEnd cadence) | /forge |
--mode=compile | Mine→Grow→Defrag→Lint corpus pipeline | /compile |
--mode=retro | Single-session learning capture | retired retro lane |
--mode=defrag | Knowledge defragmentation (overnight) | compile-session-defrag.sh hook |
--mode=watch | In-session drift / loop detection (15-min cadence) | research-loop-detector.sh hook |
--mode=provenance | Decision-trace + artifact-provenance walk | artifact lineage plus /recover |
Mode-budget assertion: 8 modes. Adding a 9th requires demoting an existing one OR refusing the addition (per Fix-F § continuous CI gate).
Anti-goals (hard constraints from architecture):
/rpi or any code-mutating flow./curate --mode=harvest # cross-rig promotion sweep
/curate --mode=forge # mine the most recent session's transcript
/curate --mode=dream --duration=8h # overnight bounded run
/curate --mode=compile # rebuild .agents/ corpus
/curate --mode=retro # capture this session's learning
/curate --mode=defrag # knowledge defragmentation
/curate --mode=watch # in-session drift check
/curate --mode=provenance --bead=soc-X # walk decision trace for a bead
Parse --mode. Each mode has its own scope semantics:
| Mode | Reads | Writes | Cadence (typical loop binding) |
|---|---|---|---|
| dream | .agents/ corpus | .agents/overnight/<run-id>/ summary + per-iteration JSON | overnight (1×/24h) |
| harvest | .agents/ across rigs (~/.agents/learnings/) | ~/.agents/learnings/ (promotion), .agents/harvest/latest.json | daily (1×/24h) |
| forge | session transcripts (~/.claude/projects/<session>/*.jsonl) | .agents/learnings/, .agents/patterns/ | per-session (SessionEnd) or 30m loop |
| compile | .agents/ corpus | wiki/INDEX.generated.md, .agents/compile/<date>.md | weekly |
| retro | this session's transcript + recent diffs | .agents/retro/index.jsonl (append) | per-session (manual) |
| defrag | .agents/ corpus | .agents/defrag/<date>.md (cleanup report) | overnight (1×/24h) |
| watch | last 100 lines of current session transcript | .agents/watch/<date>.md (advisory) | in-session 15m loop |
| provenance | bd graph + git log + .agents/ for given anchor | .agents/provenance/<anchor>.md | on-demand |
For --mode=dream: acquire .agents/overnight/run.lock exclusively. If held, exit with "another curator holds the lock" message; do NOT block.
For --mode=harvest: check the dream lock. If held, defer harvest to next loop fire.
For --mode=forge: per-session lock at .agents/forge/session-<id>.lock. Auto-released at end of run.
Other modes: no lock; concurrent invocation is safe.
Each mode delegates to a body section in this skill (see § per-mode bodies below for outline; full content moves to references/<mode>.md at Phase 2 startup).
Output is one of (priority order, per architecture knowledge-flywheel rule):
.agents/skill-diffs/<date>-<skill>.diff. Operator approves before applying. NEVER writes to skills/ directly.bd note or new bd create for surfaced issues. Direct, no approval queue..agents/research/, .agents/learnings/, ~/.agents/learnings/ (rare; only when knowledge is generally reusable).Every mode appends one line to .agents/LOG.md:
2026-MM-DDTHH:MM:SSZ [curate --mode=<mode>] <run-id> — <short-summary> — outputs: <artifact-paths>
Overnight INGEST → REDUCE → MEASURE iterations until halt:
.agents/ for new artifacts since last run.agents/overnight/<run-id>/summary.{json,md} + per-iteration archiveDetailed body remains inline until Phase 2 extraction.
Cross-rig promotion sweep (folds the retired harvest skill, cp-dxa):
.agents/ across all rigs (paths from ~/.agents/rigs.yaml or fleet config; default roots ~/gt/)~/.agents/learnings/ global hub.agents/harvest/latest.json + promoted files in global hubNaming gotcha: harvest promotes into ~/.agents/learnings/, NOT ~/.agents/.
When a user says "harvest all to ~/.agents" they mean the promotion hub. If they
really want every raw artifact mirrored verbatim (not just the promotion set), that's
rsync, not harvest.
Reference CLI (dry-run gate → execute → post-dedup):
ao harvest --dry-run --quiet # preview scope → .agents/harvest/latest.json
ao harvest --roots ~/gt/ --promote-to ~/.agents/learnings --min-confidence 0.5
ao dedup --merge ~/.agents/learnings/ 2>/dev/null || true # post-harvest cleanup
Governance (sweep frequency, size budgets, staleness thresholds, cross-rig synthesis triggers, dedup policy): references/harvest-governance.md.
Detailed body remains inline until Phase 2 extraction.
Per-session transcript mining:
~/.claude/projects/<project>/<session>/*.jsonl).agents/knowledge/pending/ for curator reviewDetailed body remains inline until Phase 2 extraction.
Corpus pipeline:
.agents/wiki/INDEX.generated.md (rebuilt), .agents/compile/<date>.md (lint report)Detailed body remains inline until Phase 2 extraction.
Single-session learning capture:
.agents/retro/index.jsonlDetailed body remains inline until Phase 2 extraction.
Knowledge defragmentation:
.agents/ (content-hash + semantic-similarity).agents/defrag/<date>.md with proposed retirements (NEVER auto-deletes; operator approves)Detailed body remains inline until Phase 2 extraction.
In-session drift detection:
.agents/watch/<date>.md; surface high-severity to bd noteDetailed body remains inline until Phase 2 extraction.
Decision-trace walk:
.agents/ mentions.agents/provenance/<anchor>.md with chronological traceDetailed body remains inline until Phase 2 extraction.
skills/rpi/SKILL.md — orchestratorskills/validate/SKILL.md — validator role (paired canonical skill).agents/research/2026-05-08-fix-F-mode-flag-budget.md — mode-cull rationale--mode=harvest: sweep frequency, size budgets, staleness thresholds, cross-rig synthesis triggers, dedup policy (folded from retired harvest, cp-dxa)npx claudepluginhub boshu2/agentops --plugin agentopsDistills patterns from Claude Code work history, git logs, lessons, and memory to suggest new agents/skills, review roster quality, prune redundancies, or consolidate feedback into rules.
Distils repeating patterns from session logs and lessons into draft skill files. Run after 10+ sessions to extract durable knowledge.
Mines SpecStory coding histories from any AI agent into skill candidates, then interactively forges selected ones into installed skills. Use when you want to turn past sessions into reusable skills.