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 CassioRoos/godfly-skills --skill toolshedgit clone --depth 1 https://github.com/CassioRoos/godfly-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/cassioroos/godfly-skills/toolshed)<a href="https://agentmods.dev/skills/cassioroos/godfly-skills/toolshed"><img src="https://agentmods.dev/badge/skills/cassioroos/godfly-skills/toolshed/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/cassioroos/godfly-skills/toolshed"><img src="https://agentmods.dev/badge/skills/cassioroos/godfly-skills/toolshed.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.00154 | $0.03620 |
| Opus 5 | $0.00077 | $0.01810 |
| Sonnet 5 | $0.00031 | $0.00724 |
| Haiku 4.5 | $0.00015 | $0.00362 |
Grade A, and why
toolshed 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 today.
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 — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Toolshed
Working state that survives sessions and models — but not the task.
Everything in docs/work/<slug>/ dies at close. Survivors are formal genres
(ADR, spec, RFC) authored from deliverable-shaped records.
"BS if we keep it; under the same feature it is gold."
Path stays under docs/: docs/work/<slug>/. The skill name is toolshed.
Name collision (read this)
| Name | What it is | Path / surface |
|---|---|---|
| Toolshed (this skill) | Mortal task state | docs/work/<slug>/, skill toolshed, /toolshed |
| Workbench (product) | Ops app: Slack/highlights/memory + MCP | altpay/workbench, mcp_servers.workbench |
If the user says "update the workbench" without a slug or docs/work path,
ask which one (product vs toolshed) before writing.
The law (non-negotiable)
The laws bind the agent, not the owner. An owner may waive a law: the
waiver is recorded in docs/work/TOOLSHED.md (the survivor file — never the
mortal folder) as law N waived for <slug>: <reason, date>, and the agent
states the consequence once, then complies. Silent erosion and standoffs
are both failures.
- Mortality. Folder deleted in the closing PR. No archive directory.
Archive of record = the closing PR (final packet/summary in its
description) plus ≥1 commit containing the folder that reached the
default branch. Bare "git history" is not enough: under squash-merge
a folder added and deleted inside one PR leaves zero trace on main.
assert-close.shenforces the merged-commit precondition; deliverables still stamp the final SHA. Why keeping it loses: kept folders drift against the ADRs they duplicate; STATE becomes a resume surface for a task nobody resumes; and superseded-but-decided records — correct in a ledger — read as current guidance once they are permanent docs. Deliverables win by being the only copy. - Slug identity, ticket optional. Never require a ticket to start.
- Boundary rule. Contract-changing decisions promote to permanent home the moment decided — not at close, and in the same PR as the change they govern (after-the-fact ADRs are ratification theater — the named, documented way this practice dies). A decision made ahead of its implementation promotes with the PR that implements it: an ADR for a contract the code does not have is the mirror image of ratification theater. Toolshed links to them. Once promoted/accepted, an ADR is immutable — supersede, never edit. Partial supersession: the amending ADR adds one pointer line to the amended ADR's header; the amended body stays immutable.
- Evidence self-sufficiency of survivors. ADRs/specs inline dated, graded evidence + reproduction command when the evidence lives in toolshed. Evidence may also live in PRs, CI, other skill artifacts — toolshed does not own all proof; point at it.
- Evidence hygiene. Aggregates, shapes, masked patterns: yes. Payloads, customer IDs, PII: never.
- Deliverable-shaped records. Decisions are proto-ADRs (options + flip condition). Close is a transform, not a rewrite.
- Records are upsert-only. Corrections are loud (History lines) — never silent edits, never deletions; supersede instead.
- One slug = one branch/worktree = one active agent. No published
convention safely handles two agents writing the same
STATE.mdconcurrently — don't be the experiment. Parallel agents get parallel worktrees (and usually parallel slugs); merge via git, not via hope. - Branch-carried preferred; local-only allowed while testing. Default
long-term: track
docs/work/on the feature branch and commit as you go — an uncommitted toolshed protects nothing; it dies with the working tree. While the flow is under active change, repos may gitignoredocs/work/— then resume is machine-local; survivors must land in PR/permanent docs before the machine is disposable.seed.shwarns when ignored;stale-check.shflags never-committed and abandoned toolsheds. - STATE is a resume surface, not a novel. Soft cap ~120 lines for
new toolsheds. No full packet, no E-appendix, no W-registry dump inside
STATE. Ledgers in D/Q/E; optional ship matrix in
packet.md. Legacy bloated STATE (pre-toolshed / mid-flight): do not force a full rewrite — useassert-state.sh --soft(warn) until that task closes. - Understanding before proposal. Template Understanding = not started.
assert-started.shmust pass before design/implementation. - Freshness. A toolshed untouched for 21+ days is presumed stale —
resume it or close it.
stale-check.sh [--strict]reports (CI-friendly). Staleness is a smell, not a crime; the response is triage, not archive.
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- README.md 6.8 KB
- references/closeout-packet.md 317 B
- references/full-packet.md 2.2 KB
- references/session-end.md 1.9 KB
- scripts/acceptance.sh 16 KB runs code
- scripts/assert-close.sh 9.4 KB runs code
- scripts/assert-started.sh 1.3 KB runs code
- scripts/assert-state.sh 1.6 KB runs code
- scripts/close-regressions.py 6.6 KB runs code
- scripts/seed.sh 6.8 KB runs code
- scripts/stale-check.sh 2.5 KB runs code
- scripts/validate-homes.py 3.4 KB runs code
- templates/decisions.md 1.4 KB
- templates/evidence.md 2.2 KB
- templates/questions.md 1.5 KB
- templates/STATE.md 1.7 KB
- templates/TOOLSHED.md 5.4 KB
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.
- today Changed · +93 lines · -11 tokens per session e5b08b74362b
- 8d ago First seen · 168 lines · 165 tokens per session scan A 47d2707f9c4d
toolshed is a skill published in the GitHub repository CassioRoos/godfly-skills (1 stars, last pushed today), licensed MIT. It adds 154 tokens to every session and 3,620 once invoked, about $0.0008 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
auto-test-code
A structured process for critically reviewing and testing software code. It records review findings, test plans, commands, results, and supporting files in a project workspace.
better-prompt
A prompt editor that turns rough instructions for AI systems into clearer, more complete prompts. It follows published OpenAI and Anthropic guidance.
git-pr-review
A read-only reviewer for GitHub pull requests, which are proposed code changes submitted for review. It produces an evidence-based report about whether a pull request should be merged.
code-remediate
Apply selected review fixes; bare PR targets use current online items, while PR +review adds the latest matching artifact.
code-review
Close PRs at an evidence gate or review local diffs/PRs with specialists and JSON artifacts.
code-reviewer
A code-review workflow that checks completed work against its requirements or plan before merging. It groups findings by severity and gives each issue a fix and a way to verify it.