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 cabaynes/charles-claude-skills --skill pickupgit clone --depth 1 https://github.com/cabaynes/charles-claude-skillsWrote 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/cabaynes/charles-claude-skills/pickup)<a href="https://agentmods.dev/skills/cabaynes/charles-claude-skills/pickup"><img src="https://agentmods.dev/badge/skills/cabaynes/charles-claude-skills/pickup/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/cabaynes/charles-claude-skills/pickup"><img src="https://agentmods.dev/badge/skills/cabaynes/charles-claude-skills/pickup.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.00094 | $0.01905 |
| Opus 5 | $0.00047 | $0.00953 |
| Sonnet 5 | $0.00019 | $0.00381 |
| Haiku 4.5 | $0.00009 | $0.00191 |
Grade A, and why
pickup 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 3d 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 — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/pickup — Pick up from a prior putdown
The user just started a fresh session and wants to continue from where the previous session ended. There is a putdown file (a handoff note) waiting for you.
Renamed from
/resumeon 2026-06-12 (paired with/checkpoint→/putdown) because those names shadow Claude Code built-ins. On 2026-06-13 the handoff files also moved from.checkpoints/→.putdowns/. A stray.checkpoints/folder, if you see one, predates the move — read it the same way.
Step 0 — Sync check (CLI↔web handoff)
If the CWD is a git repo with a remote, run git fetch origin then git rev-list --count HEAD..@{u} before anything else. If origin is ahead, work happened on another surface (most likely Claude Code on the web): tell the user and offer to git pull before resuming — the newest putdown may be inside the pulled .putdowns/ folder. If fetch fails (offline, no remote), say so in one line and continue with local putdowns only.
Step 1 — Find the candidate putdown(s)
The current project's slug is the basename of the CWD. Putdowns live in two places: the local ~/.claude/putdowns/<project-slug>/ dir and the repo's own .putdowns/ folder (synced via git so web sessions can read and write them).
List all putdowns for this project from both locations, newest first, and grab the current time so you can label them accurately later:
ls -t ~/.claude/putdowns/$(basename "$PWD")/*.md "$PWD"/.putdowns/*.md 2>/dev/null; date
If the same <YYYY-MM-DD-HHMM>.md filename appears in both locations, treat it as ONE putdown and prefer the in-repo copy — it may carry edits pushed from the other surface.
Hold onto the date output — you'll subtract from it in Step 1a to produce relative-time labels. The system reminder gives you today's date but not the current clock time, so without date you'll guess and get it wrong (e.g. labeling a 5-minute-old putdown as "2h ago").
Branch on the count:
- 0 files — no putdown matched. Check
~/.claude/putdowns/to list all available project subfolders, in case the user is in a different CWD than when they made the putdown (e.g. they ran/putdownfrom<workspace-root>/my-appbut ran/pickupfrom<workspace-root>/my-app/src). Tell the user no putdown was found for this project, list what is available, and ask which to load (or to start fresh). - 1 file — load it directly. Skip Step 1a and proceed to Step 2 with that file.
- 2+ files — go to Step 1a to let the user pick. (The user sometimes runs parallel VS Code conversations rooted in the same project folder, so the most recent file is not always the one they want.)
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.
- 3d ago Changed b9f61a06a9c9
- 12d ago First seen · 107 lines · 94 tokens per session scan A 9eaa2febe4d1
pickup is a skill published in the GitHub repository cabaynes/charles-claude-skills (1 stars, last pushed 2d ago), licensed MIT. It adds 94 tokens to every session and 1,905 once invoked, about $0.0005 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
distill-habits
Review recent Claude Code conversations, distill the user's stable habits and preferences, persist them into a long-term habit ledger, and maintain a "My Habits" block in the global CLAUDE.md within a character budget. The more you use Claude Code, the more it knows you. Trigger manually with /distill-habits, or on a…
dream
A read-only review of project memories, notes, instructions, documents, and selected session records that produces a detailed report and a browser-viewable HTML report. It suggests ideas and insights but does not apply changes.
shipkit-work-memory
Log session progress and save resume state. Infers from conversation and git. Triggers: 'log progress', 'session summary', 'checkpoint', 'save progress', 'end session'.
shipkit-claude-md
Update CLAUDE.md with learnings, preferences, or project context. Use when user says "update claude.md", "add to claude.md", or wants to persist something.
init-project-memory
Use when the user says "init memory", "set up memory", "scaffold memory", "init project memory", or invokes /init-project-memory — creates the .claude/ session memory system in a new project.
session-update
Use when the user says "update session", "log progress", "checkpoint session", or invokes /session-update — especially before /clear or handoff.