一键导入
ruminate
// Mine past Claude Code conversations for uncaptured patterns, corrections, and knowledge. Cross-references with existing brain content. Triggers: "ruminate", "mine my history".
// Mine past Claude Code conversations for uncaptured patterns, corrections, and knowledge. Cross-references with existing brain content. Triggers: "ruminate", "mine my history".
Break down medium-to-large tasks into phased plans in brain/plans/. Planning only — does not implement. Use for new features, multi-file refactors, or architectural changes — not small fixes. Triggers: "plan this", "break this down".
Principle-grounded review of code changes, PRs, or plans. Use when asked to review, critique, or assess quality of work — "review", "review this", "code review", "check this".
Read/write brain files (Obsidian vault at brain/). Use for any task that persists knowledge — reflection, planning, or direct edits. Triggers: brain/ modifications, "add to brain".
Audit and evolve the brain vault — prune outdated content, discover cross-cutting principles, review skills for structural encoding opportunities. Triggers: "meditate", "audit the brain".
Reflect on the conversation and update the brain. Use when wrapping up, after mistakes or corrections, or when significant codebase knowledge was gained. Triggers: "reflect", "remember this".
| name | ruminate |
| description | Mine past Claude Code conversations for uncaptured patterns, corrections, and knowledge. Cross-references with existing brain content. Triggers: "ruminate", "mine my history". |
Mine conversation history for brain-worthy knowledge that was never captured. Complements reflect (current session) and meditate (brain vault audit) by looking at the full archive of past conversations.
Build a brain snapshot: sh .agents/skills/meditate/scripts/snapshot.sh brain/ /tmp/brain-snapshot-ruminate.md. Pass the snapshot path to each analysis agent. This avoids loading the full brain into the ruminate orchestrator's context.
Find the project conversation directory:
~/.claude/projects/-<cwd-with-dashes-replacing-slashes>/
Run the extraction script to parse JSONL conversation files into readable text and split into batches:
python3 .agents/skills/ruminate/scripts/extract-conversations.py "$CONV_DIR" "$OUT_DIR" --batches N
Choose N based on the number of conversations found: ~1 batch per 20 conversations, minimum 2, maximum 10.
Create an agent team (TeamCreate) with N agents (one per batch), each with subagent_type: general-purpose and model: opus. Run all N in parallel.
Each agent's prompt should include:
$OUT_DIR/batches/batch_N.txt)$OUT_DIR/findings_N.md)Agents write structured findings to their output files.
After all agents complete, read all findings files. Cross-reference with existing brain content. Deduplicate across batches.
Filter by frequency and impact. Most findings won't be worth adding. Apply these filters before presenting:
Discard aggressively. It's better to present 3 high-signal findings than 9 that include noise.
Present findings to the user in a table with columns: finding, frequency/evidence, and proposed action. Be honest about which findings are one-offs vs. recurring patterns — let the user decide what's worth adding.
Route skill-specific learnings. Check if any findings are about how a specific skill should work — its process, prompts, edge cases, or troubleshooting. Update the skill's SKILL.md directly. Read the skill first to avoid duplicating or contradicting existing content.
Apply only the changes the user approves. Follow brain writing conventions:
[[wikilinks]] to connect related notesbrain/index.md after all changesRemove the temporary extraction directory:
rm -rf "$OUT_DIR"