toolshedlisted
Install: claude install-skill CassioRoos/godfly-skills
# 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.
1. **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 **ze