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 jovesun-lab/whetstone --skill startgit clone --depth 1 https://github.com/jovesun-lab/whetstoneWrote 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/jovesun-lab/whetstone/start)<a href="https://agentmods.dev/skills/jovesun-lab/whetstone/start"><img src="https://agentmods.dev/badge/skills/jovesun-lab/whetstone/start/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/jovesun-lab/whetstone/start"><img src="https://agentmods.dev/badge/skills/jovesun-lab/whetstone/start.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.00133 | $0.01281 |
| Opus 5.5 | $0.00053 | $0.00512 |
| Sonnet 5.5 | $0.00027 | $0.00256 |
| Haiku 4.5 | $0.00013 | $0.00128 |
Grade A, and why
start 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Strain — start and wrap
Strain counts how loaded a session has become, but only a signed session joins the chain: the next session of the same agent can then report how this one went. Signing is one command. These steps make sure it happens at the start, and that the user is asked properly when the host needs their approval.
Every command below is printed, filled in, in strain's start line (it begins "STRAIN START") and in every strain tick. Copy it from there — it carries this session's key, the state folder and the plugin's path.
At the start
- Check. If strain's start line says "this session is not signed in yet", go on.
Without a start line, run
strain-sign.sh --receipt: it says "not signed" or "signed as ". Signed → you are done; go to step 6. - Sign. Run the sign command from the start line. Keep the default name it shows
(
<host> · <project folder>, the same every session, so sessions link up); add--agent '<name>'only if the user gave you a name. - Describe it for the user. When you run it, describe the command in the user's language, in plain words, saying what it does for them — for example "Turn on strain: track how full this conversation is". Your host shows that sentence when it asks the user to approve the command; it is all they see.
- If your host asks the user to approve it, keep the prompt open until they answer — do not end your turn. If your host has no prompt, ask in chat, then end your turn and wait for the reply.
- Allowed: tell the user the one sentence the sign prints (and, with a ledger, the line about the previous session). Refused: do not sign. Tell the user strain will only count this session, and carry on with the work. Do not ask again before the wrap. If the sign fails with "could not write state", follow the numbered steps it prints.
- Offer the instruction file — once. If the start line has a step about the
instruction file:
- Ask the user whether to add strain's start step to their instruction file, so every new session signs in by itself. Offer the global file first (every project, this computer only); this project's own file is the alternative.
- Run
strain-sign.sh --instructions: it prints the block and says where the files are and whether the block is already there. - Show the user the block. Add it to the file they chose only if they agree.
- If they say no, record it:
strain-sign.sh --decline-instructions. Strain will not ask again on this host.
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 Changed · +2 lines 7f45e73b0658
- 7d ago Changed · +10 lines · +16 tokens per session d56ea0f183c7
- 15d ago First seen · 74 lines · 117 tokens per session scan A a338d854f71a
start is a skill published in the GitHub repository jovesun-lab/whetstone (8 stars, last pushed yesterday), licensed MIT. It adds 133 tokens to every session and 1,281 once invoked, about $0.0005 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-10-02.
Other skills, from other repositories
cast-pass
Hand this session to a teammate so it lands in their inbox with everything they need. Pins where the work stands and what is next, adds them as an owner, and sends them the brief. Use when work should continue under someone else, when a decision is theirs, or when asked to pass, hand over, or assign a session.
cast-eod
Close the working day so nothing is lost and tomorrow starts cold without cost. Checks every live session for an honest pinned state, writes handoffs for work that will pause, arms follow ups that should run overnight, tidies the inbox, and leaves a short digest. Use at the end of a working day or before a long pause.
cast-morning
Start the day with the state of everything that waits on the human or is ready to pick up: sessions that need input, pull requests with reviews or red checks, tasks ready to start, what teammates and overnight triggers did, unread team chat and mail. Use at the start of a working day, after time away, or when asked…
peon-ping-toggle
Toggle peon-ping sound notifications on/off. Use when user wants to mute, unmute, pause, or resume peon sounds during a Claude Code session. Also handles config changes like volume, pack rotation, categories — any peon-ping setting.
peon-ping-log
Log exercise reps for the Peon Trainer. Use when user says they did pushups, squats, or wants to log reps. Examples - "/peon-ping-log 25 pushups", "/peon-ping-log 30 squats", "log 50 pushups".
getting-started
Interactive post-onboarding tour that adapts to whatever data exists (calendar, Granola, or none). Use right after onboarding, or when the user says 'show me around', 'how do I start'. Also use proactively when the vault is < 7 days old. Not for the initial setup itself; use setup.