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 veerps57/memento --skill memento-devgit clone --depth 1 https://github.com/veerps57/mementoWrote 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/veerps57/memento/memento-dev)<a href="https://agentmods.dev/skills/veerps57/memento/memento-dev"><img src="https://agentmods.dev/badge/skills/veerps57/memento/memento-dev.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.1 | $0.00234 | $0.03558 |
| Opus 5 | $0.00117 | $0.01779 |
| Sonnet 5 | $0.00047 | $0.00712 |
| Haiku 4.5 | $0.00023 | $0.00356 |
Grade A, and why
memento-dev 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 6d 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 — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Memento Dev
You are working on the Memento codebase. This skill encodes the rules every change must follow, the verification steps that must pass, and the cadence (ADRs, changesets, docs:generate) that keeps the project coherent across human and AI contributors.
The canonical reference is AGENTS.md at the repo root. This skill is a load-friendly summary. When they conflict, treat AGENTS.md as final and update this skill in the same PR.
The four guiding principles
Every change is judged against these. They are non-negotiable.
- First principles. Every construct exists because we proved we need it — not "because that is how things are usually done."
- Modular. Any component must be replaceable without rewriting the rest.
- Extensible. New variants must not require breaking changes.
- Config-driven by the user. Behavior is shaped by configuration, not by code.
The PR template asks you to address each one explicitly. Default-empty answers are a smell.
The 14 architectural rules
Encoded as tests and CI gates where possible. Do not bypass them.
- Single command registry → MCP and CLI as adapters. Every command lives in the registry once and is projected to both surfaces. Parity is structural, not aspirational.
- No hardcoded behavioral constants. Anything affecting retrieval, decay, conflict detection, scrubbing, or storage MUST be a
ConfigKey. Adding a magic number in code is a code-review rejection. - Every state-changing operation writes an audit event.
MemoryEventfor memory changes,ConfigEventfor config changes. OwnerRefis always populated — even when always{ type: 'local', id: 'self' }. The model is multi-user-ready from day one.- Immutable fields stay immutable —
id,createdAt,schemaVersion,scope. To "move" a memory between scopes, supersede it with a new memory in the new scope. - Status transitions are explicit. A
forgottenmemory does not silently becomeactive. Every transition has its own command (forget,restore,archive,supersede). - Exhaustive switches on discriminated unions use the
assertNeverpattern. A structural test asserts that decay, retrieval, and conflict-detection rules exist for everyMemoryKind. - Conflict detection runs via a post-write hook, never inline. The write path does not block on conflict checks beyond
conflict.timeoutMs. - Decay is computed at query time, not stored. Effective confidence is
stored × decayFactor(now − lastConfirmedAt, halfLife). Thecompactjob materializes archives for memories that have decayed below threshold. ScopeResolvercomposes small, mockable resolvers (GitRemoteResolver,WorkspacePathResolver,SessionResolver). Adding a new scope dimension means adding a resolver, not mutating the composite.MemoryEventis the audit source of truth.lastConfirmedAtonMemoryis a denormalized cache, validated at write-time and bynpx @psraghuveer/memento doctor.- No configurable invariants. Integrity rules (immutability, status transitions, supersession atomicity) are hardcoded. Configurable invariants are no invariants.
memory.updateonly mutates non-content fields (tags, kind, pinned, sensitive). Content changes route throughsupersedeto preserve history. The error message points the caller to the right command.- Embedding model migration is explicit.
memento embedding rebuildis the only way to re-embed memories. Never silent.
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.
- 6d ago First seen · 189 lines · 234 tokens per session scan A 52f0397b43f8
memento-dev is a skill published in the GitHub repository veerps57/memento (22 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 234 tokens to every session and 3,558 once invoked, about $0.0012 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 skills, from other repositories
crit-cli
Use when an agent needs to author or reply to crit inline comments programmatically (including multi-agent workflows commenting on shared code/plans/docs/proposals), publish or unpublish a crit review with crit share, sync a crit review to or from a GitHub PR or GitLab MR, or read/interpret a crit review JSON file.…
crit
Review code changes, a plan, a live page (running dev server), or a local HTML file with Crit inline comments and structured human feedback. Use only when the user explicitly invokes /crit or directly asks to use Crit; a generic review request does not count.
crit-story
Author a crit story only when the user explicitly invokes crit-story or directly asks you to generate a crit story. Do not infer this skill from generic review, PR, or diff-review requests.
json-to-toon
Transforms JSON input into Token-Oriented Object Notation (TOON) to reduce token consumption in LLM prompts and context windows. Applies the full TOON spec: inline primitive arrays, tabular format for uniform object arrays, and list format for heterogeneous or nested structures. Invoked when the user asks to compress…
clinicaltrials-database
Query ClinicalTrials.gov via API v2. Search trials by condition, drug, location, status, or phase. Retrieve trial details by NCT ID, export data, for clinical research and patient matching.
openalex-database
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly…