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 peerjakobsen/smartspender --skill user-memorygit clone --depth 1 https://github.com/peerjakobsen/smartspenderWrote 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/peerjakobsen/smartspender/user-memory)<a href="https://agentmods.dev/skills/peerjakobsen/smartspender/user-memory"><img src="https://agentmods.dev/badge/skills/peerjakobsen/smartspender/user-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/peerjakobsen/smartspender/user-memory"><img src="https://agentmods.dev/badge/skills/peerjakobsen/smartspender/user-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.00031 | $0.02469 |
| Opus 5.5 | $0.00012 | $0.00988 |
| Sonnet 5.5 | $0.00006 | $0.00494 |
| Haiku 4.5 | $0.00003 | $0.00247 |
Grade A, and why
user-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 1mo 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 — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.
User Memory
Purpose
Automatically detect when users provide information about their financial situation, preferences, or corrections, and persist this to the appropriate learnings file so future sessions can use it.
When to Activate
This skill activates automatically when:
- User answers a question about their financial situation
- User volunteers personal context information
- User corrects a categorization, subscription status, or merchant name
- User states an output preference
Trigger Patterns
Financial Situation (Danish)
| Pattern | Category | Extraction |
|---|---|---|
Jeg har [X] kr i nødopsparing/opsparing |
emergency_fund | amount |
Min nødopsparing er [X] kr |
emergency_fund | amount |
Jeg har [X] måneder i opsparing |
emergency_fund | months_coverage |
Jeg har gæld i/til [X] |
debt | creditor |
Min gæld er [X] kr |
debt | amount |
Jeg skylder [X] kr til [Y] |
debt | amount, creditor |
Min pension er [X]% |
pension | percentage |
Jeg indbetaler [X]% til pension |
pension | percentage |
Jeg har pension hos [X] |
pension | provider |
Min løn er [X] kr |
income | amount |
Jeg tjener [X] kr om måneden |
income | amount |
Min bruttoløn er [X] kr |
income | gross_amount |
Financial Situation (English)
| Pattern | Category | Extraction |
|---|---|---|
I have [X] in emergency fund/savings |
emergency_fund | amount |
My emergency fund is [X] |
emergency_fund | amount |
I have [X] months of expenses saved |
emergency_fund | months_coverage |
I have debt with/to [X] |
debt | creditor |
I owe [X] to [Y] |
debt | amount, creditor |
My pension is [X]% |
pension | percentage |
I contribute [X]% to pension |
pension | percentage |
My salary is [X] |
income | amount |
I earn [X] per month |
income | amount |
Personal Context (Danish)
| Pattern | Category | Extraction |
|---|---|---|
Jeg arbejder hos [X] |
employer | company_name |
Min arbejdsgiver er [X] |
employer | company_name |
Jeg er ansat hos [X] |
employer | company_name |
Jeg vil gerne [X] |
goal | goal_description |
Mit mål er at [X] |
goal | goal_description |
Jeg sparer op til [X] |
goal | savings_goal |
Jeg planlægger at [X] |
goal | plan_description |
Jeg er [X] (single/married/etc.) |
life_situation | status |
Jeg har [X] børn |
life_situation | children_count |
Jeg bor i [X] |
life_situation | location |
Jeg er [X] år |
life_situation | age |
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.
- 1mo ago First seen · 270 lines · 31 tokens per session scan A a0de4eb5ee28
user-memory is a skill published in the GitHub repository peerjakobsen/smartspender (5 stars, last pushed 8mo ago), licensed MIT. It adds 31 tokens to every session and 2,469 once invoked, about $0.0001 per session on Opus 5.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
cdb-scan
Map this codebase into project memory — a code graph of every symbol and how they connect, plus a written profile of stack, layout, conventions and workflows. Re-run any time to refresh both in place. Use when memory is newly installed on an existing project, or when the project has changed enough that the stored map…
handoff
Write a short handoff note for the next chat or a teammate, with what is done, what is open, what comes next and what was rejected and why. Saves it to project memory so the next chat sees it at the start, and prints it so it can be pasted into a message or a pull request. Use when the user ends a piece of work…
catchup
Answer "where did I stop?" for this project. Gives three short groups, done, open and next, taken from the last chat, the recorded to-dos, the last handoff note and git. Use when the user comes back to a project, starts a new chat, or asks where they left off. It writes nothing.
autolearn
Use when a verified non-trivial fix lands or existing solution docs need refresh. Not for unverified fixes.
history-forget
Use when the user asks to remove a session or note from recall, or to unforget or list exclusions. Not for remote, credential, publish, deploy, or irreversible changes.
session-recap
Document Claude Code sessions by extracting knowledge into cross-referenced documentation. Triggers on "recap the session", "summarize the work", or after significant code changes.