skills/auto-memory/SKILL.md
Extract durable learnings and preferences from conversations for automatic memory capture.
npx skillsauth add mikeyobrien/rho auto-memoryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extract durable learnings and user preferences from a conversation that will remain useful across future sessions. This runs automatically after each agent turn, using a small/cheap model. Quality over quantity: one precise memory is worth more than five vague ones.
Scan the conversation and classify each substantive exchange into one of these categories:
Extractable:
Not extractable:
Constraints:
Compare each candidate extraction against the existing memories list.
Constraints:
For each valid candidate, draft a concise memory entry.
Constraints:
Assign each extraction a type and category.
Learning types:
Preference types with categories:
Constraints:
Output strict JSON only:
{
"learnings": [
{"text": "concise, actionable learning statement"}
],
"preferences": [
{"category": "Communication|Code|Tools|Workflow|General", "text": "concise, actionable preference statement"}
]
}
If there are no genuinely new, durable items to extract, return:
{"learnings": [], "preferences": []}
Returning empty is better than returning noise.
Conversation excerpt:
User: "Should we source the rho tmux config or swap it in?" Agent: "Here are the differences... Want me to source it or swap it?" User: "swap it in" Agent: swaps the config
Good extraction:
{"learnings": [{"text": "Rho tmux config at ~/.rho/tmux.conf is now the active ~/.tmux.conf, replacing the nix-configs-based one. Old config backed up at ~/.tmux.conf.bak."}]}
Bad extraction (captures discussion, not decision):
{"learnings": [{"text": "The rho-specific tmux configuration is not being used by the current ~/.tmux.conf"}]}
Conversation excerpt:
Agent: drafts a formal, structured X post User: "do something more clever" Agent: drafts dry, self-aware version User: "I like that personality, do that more"
Good extraction:
{"preferences": [{"category": "Communication", "text": "X post voice: understated, self-aware, dry. State the problem, state what was done, land it flat. Let the reader connect the dots."}]}
Bad extraction (too vague):
{"preferences": [{"category": "Communication", "text": "User prefers clever X posts over formal ones"}]}
Conversation excerpt:
User: "find recent X posts about rho and post something" Agent: searches, drafts, posts
Correct output:
{"learnings": [], "preferences": []}
The task was executed but no durable knowledge was produced.
These look like learnings but fail the 30-day test:
| Candidate | Why it fails | |-----------|-------------| | "pi-coding-agent updated to 0.55.4 on 2026-03-04" | Version snapshot — stale tomorrow | | "Heartbeat Feb 19 08:02 UTC: rho-web healthy" | Status report — not a decision or pattern | | "ChefBench scored 42/89 = 47.2% on Terminal-Bench 2.0" | Benchmark result — won't change future behavior | | "Fresh-eyes bug sweep: reviewed X, no bugs found" | Sweep status — no generalizable root cause | | "The sessions hamburger button should use an icon-only button" | UI detail — too specific to one feature | | "All 224 unit tests pass with no failures" | Test status — transient fact | | "Task X is complete and verified" | Completion status — belongs in task tracking, not memory |
Correct output for all of the above:
{"learnings": [], "preferences": []}
data-ai
Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands.
documentation
Detect and resolve orphaned notes in the vault. Use during heartbeat maintenance or when vault status shows orphans. Finds notes with no inbound wikilinks and either connects them to the graph or flags them for cleanup.
testing
Update the pi-coding-agent npm package to the latest version. Use when the user wants to update pi, upgrade pi, or get the latest version of the coding agent.
development
Run a curiosity-driven explore-and-build loop to ship one useful improvement.