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 skills add Karthick-Ramachandran/persist-os --skill update-module-memorygit clone --depth 1 https://github.com/Karthick-Ramachandran/persist-osWrote 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/skills/karthick-ramachandran/persist-os/update-module-memory)<a href="https://agentmods.dev/skills/karthick-ramachandran/persist-os/update-module-memory"><img src="https://agentmods.dev/badge/skills/karthick-ramachandran/persist-os/update-module-memory/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/karthick-ramachandran/persist-os/update-module-memory"><img src="https://agentmods.dev/badge/skills/karthick-ramachandran/persist-os/update-module-memory.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00043 | $0.00448 |
| Opus 5 | $0.00022 | $0.00224 |
| Sonnet 5 | $0.00009 | $0.00090 |
| Haiku 4.5 | $0.00004 | $0.00045 |
Grade A, and why
update-module-memory 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 9d 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.
What it actually says
Skill: Update Module Memory
Purpose
Keep module docs accurate so agents do not rediscover ownership, boundaries, tests, and decisions.
Inputs
- Changed module or feature.
- Implementation summary.
- Test results.
- Architecture or ADR changes.
Required Reading
docs/60-engineering/ENGINEERING_STANDARDS.mddocs/ai/MODULE_DELIVERY_WORKFLOW.md- Relevant
docs/30-modules/<module>/MODULE.md - Relevant
docs/30-modules/<module>/DECISIONS.md - Relevant feature docs and ADRs.
Output Files
docs/30-modules/<module>/MODULE.mddocs/30-modules/<module>/TASKS.mddocs/30-modules/<module>/TEST_PLAN.mddocs/30-modules/<module>/DECISIONS.md
Process
- Identify affected modules.
- Confirm module memory is linked to feature delivery docs when the module is new or materially changed.
- Update module purpose, responsibilities, non-responsibilities, public interfaces, and boundaries when behavior changes.
- Update task status only when supported by completion evidence.
- Update test expectations when risks or behavior change.
- Record decisions or link ADRs when architecture changes.
- Avoid copying full feature docs into module docs.
Stop Conditions
Stop and request human decision if:
- Module ownership is unclear.
- A change crosses module boundaries without architecture review.
- Module memory updates would conflict with engineering standards.
- A decision belongs in an ADR instead of a module note.
- Feature delivery docs are missing for new module work.
Quality Bar
- Module docs are concise and current.
- Boundaries are clear.
- Test expectations are actionable.
- Decisions link to ADRs where appropriate.
- Future agents can tell what the module owns and what it must not own.
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.
- 9d ago First seen · 66 lines · 43 tokens per session scan A 1281b3e49ab6
update-module-memory is a skill published in the GitHub repository Karthick-Ramachandran/persist-os (8 stars, last pushed 2mo ago), licensed MIT. It adds 43 tokens to every session and 448 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-31.
Other skills, from other repositories
learn
Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.
egregore
Egregore mechanics as kernel functions — search shared memory, read team activity, create handoffs, save work, branch, and prepare notification plans without re-deriving bin/ CLI usage. Import and call directly; every function wraps the same runtime-neutral bin/ scripts the other harnesses use.
levelup-specify
Extract Context Directive Records (CDRs) from the current session after completing work. Identifies reusable patterns (rules, personas, examples, evals) and captures directive compliance cases for team-ai-directives.
change-publish
Promote accepted Change Decision Records (ChDRs) from drafts to project memory at .adlc/memory/chdr/, write OKF-style frontmatter, and regenerate the boot-facing .adlc/memory/chdr.md index that team-boot injects at session start. Use after /change-clarify has accepted ChDRs.
memorywhale
Query and write durable debugging memory recorded by MemoryWhale. Use when debugging a failure that may have happened before, when you need the exact error/flags/output from an earlier attempt, when the user asks "how did we fix this last time?", or once you've figured out why something failed / how a fix worked and…
init
Turn on Rekal memory in the current repository by running rekal init. Use when the user asks to initialize or set up Rekal here, or when a rekal command reported the repository is not initialized. Once per repository. Do not offer this merely because a repo lacks a .rekal/ store — most repos do not want one.