
ruminate
Mine past Claude Code and Codex conversations for uncaptured patterns, corrections, and knowledge. Cross-references with existing brain content. Triggers: "ruminate", "mine my history", "what have I been working on", "review past sessions", "extract learnings".
- Installs
- 213
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/poteto/noodle --skill ruminate- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads ruminate automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Ruminate
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 across both providers.
Process
Use Tasks to track progress. Create a task for each step below (TaskCreate), mark each in_progress when starting and completed when done (TaskUpdate). Check TaskList after each step.
1. Read the brain
Build a brain snapshot: sh .claude/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.
2. Locate conversations
Find both provider roots:
- Claude project directory:
~/.claude/projects/-<cwd-with-dashes-replacing-slashes>/ - Codex sessions root:
~/.codex/sessions/
For example, /Users/lauren/code/noodle maps to
~/.claude/projects/-Users-lauren-code-noodle/ for Claude and uses ~/.codex/sessions/ for Codex.
3. Extract conversations
Run the extraction script to parse both JSONL formats into readable text and split into batches:
SKILL_DIR="$(dirname "$(realpath "$0")")/.." # adjust path as needed
CLAUDE_DIR="$HOME/.claude/projects/-<project-slug>"
CODEX_DIR="$HOME/.codex/sessions"
OUT_DIR="/tmp/ruminate-$(date +%s)"
python3 "$SKILL_DIR/scripts/extract-conversations.py" "$OUT_DIR" \
--claude-dir "$CLAUDE_DIR" \
--codex-dir "$CODEX_DIR" \
--cwd "$PWD" \
--batches N
Choose N based on total extracted conversations (Claude + Codex): ~1 batch per 20 conversations, minimum 2, maximum 10.
4. Spawn analysis team
Create an agent team (TeamCreate) with N agents (one per batch, matching the batch count from step 3), each with subagent_type: general-purpose and model: opus. Run all N in parallel.
Each agent's prompt should include:
- The batch manifest path (
$OUT_DIR/batches/batch_N.txt) - The output path (
$OUT_DIR/findings_N.md) - The list of topics already captured in the brain (compiled from step 1) — so agents skip known knowledge
- A reminder that each extracted file includes provider/source metadata headers (
[PROVIDER],[CWD],[SOURCE_FILE]) and should be used as evidence context - Instructions to extract from each conversation:
- User corrections: times the user corrected the assistant's approach, code, or understanding
- Recurring preferences: things the user explicitly asked for or pushed back on repeatedly
- Technical learnings: codebase-specific knowledge, gotchas, patterns discovered
- Workflow patterns: how the user prefers to work
- Frustrations: friction points, wasted effort, things that went wrong
- Skills wished for: capabilities the user expressed wanting
Agents write structured findings to their output files.
5. Synthesize
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:
- Frequency: Did this come up in multiple conversations, or was the user correcting the same mistake repeatedly? One-off corrections are usually not worth a brain entry — the brain should capture patterns, not incidents.
- Factual accuracy: Is something in the brain now wrong? (e.g. a rule was disabled but the brain still documents it as active). These are always worth fixing regardless of frequency.
- Impact: Would failing to capture this cause repeated wasted effort in future sessions? A gotcha that cost 5 minutes once is low-impact. A pattern that caused 3 rounds of corrections is high-impact.
Discard aggressively. It's better to present 3 high-signal findings than 9 that include noise. If a finding only happened once and isn't a factual correction, skip it.
6. Present and apply
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 or references/ directly. Read the skill first to avoid duplicating or contradicting existing content.
Apply only the changes the user approves. Follow brain writing conventions:
- One topic per file, organized in directories
- Use
[[wikilinks]]to connect related notes - Update
brain/index.mdafter all changes - Default to updating existing notes over creating new ones
7. Clean up
Remove the temporary extraction directory:
rm -rf "$OUT_DIR"
Guidelines
- Filter aggressively. Most conversations will have low signal — automated tasks, trivial exchanges, already-captured knowledge. Only surface what's genuinely new and impactful.
- Prefer reduction. If a finding is a special case of an existing brain principle, update the existing note rather than creating a new one.
- Quote the user. When a finding stems from a direct user correction, include the user's words and source file path — they carry the most signal about what matters.
- Shut down agents when analysis is complete. Don't leave them idle.
FAQ
What does the ruminate skill do?
Mine past Claude Code and Codex conversations for uncaptured patterns, corrections, and knowledge. Cross-references with existing brain content. Triggers: "ruminate", "mine my history", "what have I been working on", "review past sessions", "extract learnings".
How do I install ruminate?
Run npx skills add https://github.com/poteto/noodle --skill ruminate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ruminate/ (personal) or .claude/skills/ruminate/ (project).
Which AI agents can use ruminate?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is ruminate safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains ruminate?
It is published by poteto in poteto/noodle. It has 213 recorded installs.
More from poteto/noodle
adversarial-review
poteto/noodle
Adversarial code review using cross-model approach. Spawns reviewers on the opposing model (Claude uses Codex, Codex uses Claude) to challenge work from distinct critical lenses. Produces a synthesized verdict with findings and lead judgment. Triggers: "adversarial review".
unslop
poteto/noodle
Remove AI writing patterns from prose. Use for docs, READMEs, blog posts, any non-code text that should sound human. Triggers: "unslop", "humanize", "make this sound human", "clean up this writing", "edit for voice", "de-AI this text".
ts-best-practices
poteto/noodle
Open the skill to read its SKILL.md instructions.
debugging
poteto/noodle
Systematic root-cause debugging methodology. Use for any technical problem — errors, failures, unexpected behavior, or when stuck. Triggers: "debug", "fix this", "what's wrong", "investigate".
quality
poteto/noodle
Post-cook quality gate. Reviews completed cook work for correctness, scope discipline, and principle compliance. Emits stagemessage events with findings. Triggers after execute stages, on '/quality', 'review this', 'check the work', 'assess quality'.
commit
poteto/noodle
Create conventional commit messages. Use when the user says "commit this", "save changes", "git commit", asks to commit code, write a commit message, or format git history. Follows conventional commits specification.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.