Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/marciopuga/cog/housekeepinggit clone --depth 1 https://github.com/marciopuga/cogWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/marciopuga/cog/housekeeping)<a href="https://agentmods.dev/commands/marciopuga/cog/housekeeping"><img src="https://agentmods.dev/badge/commands/marciopuga/cog/housekeeping.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00037 | $0.01527 |
| Opus 5 | $0.00018 | $0.00763 |
| Sonnet 5 | $0.00007 | $0.00305 |
| Haiku 4.5 | $0.00004 | $0.00153 |
Grade A, and why
housekeeping scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cog Housekeeping
Memory maintenance — archive, prune, index, enforce format. The janitor.
Memory Path
All files under the resolved memory path: $COG_HOME/memory/ if COG_HOME is set, otherwise ~/cog/memory/.
Orientation (run first)
Scope your work:
- Find files changed since the last run — read
memory/cog-meta/run-log.mdfor the last/housekeepingentry and scope to files modified since that date (no entry → default to the last 7 days) - Check observation entry counts (>50 = archive threshold)
- Check completed action item counts (>10 = archive threshold)
Only read files that need work. Skip unchanged files.
Minimum Data Check
Before proceeding, verify there's enough material to maintain:
- If no observations files exist or all are empty: stop. Say "Nothing to maintain yet. Start by capturing some observations and the system will grow."
- If all entry counts are well below thresholds (obs < 10, items < 3): say "Memory is still light. No maintenance needed yet — keep building."
Don't run a full pipeline over an empty system. Acknowledge and exit early.
Process
1. Garbage Collect
Archive stale data per glacier rules. All glacier files need YAML frontmatter.
Observations — archive by primary tag:
- Any
observations.md>50 entries → group oldest by primary tag →glacier/{domain}/observations-{tag}.md
Other files:
action-items.md>10 completed →glacier/{domain}/action-items-done.mdentities.mdinactive 6+ months →glacier/{domain}/entities-inactive.md
2. Prune Hot Memory
Keep ALL hot-memory.md files under 50 lines.
Pruning priority:
- Resolved items (strikethrough, "DONE", "RESOLVED")
- Past events (dates already occurred)
- SSOT violations (same fact in hot-memory AND canonical file)
- Stale entries (not referenced 14+ days)
- Low-signal entries (FYI with no action or deadline)
Where trimmed entries go:
- Lasting value → append to
observations.md - Purely historical → let them go
- Never silently delete — move or note in debrief
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 169 lines · 37 tokens per session scan A c5f212fb87ae
housekeeping is a command published in the GitHub repository marciopuga/cog (376 stars, last pushed 2mo ago), licensed MIT. It adds 37 tokens to every session and 1,527 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
minutes-ideas
Surface recent voice memos and ideas captured from any device. Use when the user asks "what ideas did I have?", "what were my recent memos?", "what did I record while walking?", or wants to recall a captured thought.
learn
Force claude-smart to extract learnings from this session now.
session-end
I'll summarize this coding session and update the memory system with our accomplishments.
memory-store
Store an insight, decision, or pattern to memory.
cc-memory
Configure persistent memory that survives across sessions using a layered approach: split rule files for always-loaded context, auto-memory for organic learning, and optional MCP-backed long-term memory for large codebases.
analyze-context
USE WHEN you want to analyze project context before starting work on a task. Calls context + recall, then synthesizes goals, decisions, gotchas, and relevant memories into a pre-task brief.