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 skills/apurvbazari/claude-plugins/pickupnpx skills add ApurvBazari/claude-plugins --skill pickupgit clone --depth 1 https://github.com/ApurvBazari/claude-pluginsWrote 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/apurvbazari/claude-plugins/pickup)<a href="https://agentmods.dev/skills/apurvbazari/claude-plugins/pickup"><img src="https://agentmods.dev/badge/skills/apurvbazari/claude-plugins/pickup.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.00042 | $0.01759 |
| Opus 5 | $0.00021 | $0.00879 |
| Sonnet 5 | $0.00008 | $0.00352 |
| Haiku 4.5 | $0.00004 | $0.00176 |
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 4d 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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pickup Skill — Surface and Dispatch a Saved Handoff
You are invoked when a saved handoff exists at .claude/handoff/active.md — either because the SessionStart hook surfaced it in additionalContext and the routing instruction sent you here, or because the user typed /handoff:pickup explicitly. Present the four-option flow, then dispatch.
Guard
Read .claude/handoff/active.md from the project root. If it does not exist:
No saved handoff in this project. Run
/handoff:saveto capture one, or just continue with what you're doing.
Stop and do not proceed.
Step 1: Re-read from disk (do not trust the surfaced content)
Even though the SessionStart hook may have emitted the handoff content in additionalContext, re-read .claude/handoff/active.md from disk now. The on-disk file is authoritative; the surfaced content is a stale snapshot if the file changed mid-session (rare but possible with concurrent Claude sessions).
Parse the frontmatter (saved-at, saved-at-sha, saved-at-branch, saved-from-cwd, optional deferred-at) and capture the body separately.
Step 2: Present metadata + directive to the user
Show the user a brief preamble in this shape (use a fenced quote block):
Saved handoff found —
saved-at <iso8601>on<branch>(sha<short-sha>)Progress since save:
<commits-past> commits, branch<changed|unchanged>, age<days> daysDirective:
<directive body, verbatim>
Compute the progress fields yourself via Bash:
commits_past="$(git rev-list --count "${saved_at_sha}..HEAD" 2>/dev/null || echo unknown)"
current_branch="$(git branch --show-current 2>/dev/null || echo unknown)"
If saved-at-sha is unknown or no longer in history, surface commits past: unknown. If saved-at-branch != current_branch, flag branch as changed (<saved>→<current>).
Step 3: Cwd guard
Compare pwd to the frontmatter saved-from-cwd. If they differ:
Cwd mismatch — handoff was saved from
<saved-from-cwd>. Current cwd is<pwd>. Are you sure you want to resume here?
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.
- 4d ago First seen · 130 lines · 42 tokens per session scan A 831b027d2639
pickup is a skill published in the GitHub repository ApurvBazari/claude-plugins (0 stars, last pushed 28d ago), licensed MIT. It adds 42 tokens to every session and 1,759 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
c-notify
Send native macOS notification center alerts from the command line using terminal-notifier.
onlyswitch-deeplink
Invoke OnlySwitch built-in switches or buttons via deeplink. Use when the user asks to toggle or trigger an OnlySwitch action (e.g. empty trash, keep awake, dark mode, mute, hide desktop, clear clipboard, eject discs, Xcode derived data, and any other built-in switch or button). Resolve the request to the correct…
gmail
Manage Gmail email — drafting, sending, organizing, filters, vacation replies, and inbox analysis.
outlook
Manage Outlook email — drafting, sending, organizing, rules, vacation replies, and inbox analysis.
gmail-trigger
Beta. Act on new Gmail as it arrives: get pinged only for urgent mail, digest newsletters, forward invoices — any standing instruction, across one or several accounts.
watcher
Create and manage polling watchers that monitor external services (Gmail, Google Calendar, GitHub, Linear, Outlook) for events and process them with custom action prompts.