Borrowing it
Nothing to install: this file belongs to hraness/wrench. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hraness/wrench/main/.agents/skills/write-phase-plan/SKILL.mdgit clone --depth 1 https://github.com/hraness/wrenchWrote 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/hraness/wrench/write-phase-plan)<a href="https://agentmods.dev/skills/hraness/wrench/write-phase-plan"><img src="https://agentmods.dev/badge/skills/hraness/wrench/write-phase-plan/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/hraness/wrench/write-phase-plan"><img src="https://agentmods.dev/badge/skills/hraness/wrench/write-phase-plan.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.00082 | $0.01215 |
| Opus 5.5 | $0.00033 | $0.00486 |
| Sonnet 5.5 | $0.00016 | $0.00243 |
| Haiku 4.5 | $0.00008 | $0.00121 |
Grade A, and why
write-phase-plan 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 1mo 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.
This is a copy
92% identical to write-phase-plan — 27 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write Phase Plan
Goal
Produce a plan document that a phase-orchestrator run can execute without re-deriving structure. Each phase must be implementable by a worker that has no chat history: the phase section is the worker's entire brief, plus repo rules and the code itself.
The plan is the source of truth during the run. The orchestrator updates phase status and appends log entries as it goes, so the document must be written to absorb that.
When restructuring an existing plan, preserve completed work, current phase statuses, and implementation-log evidence unless the user explicitly asks to reset them. Normalize the remaining work around that history instead of rewriting the plan as a fresh run.
Where The Plan Lives
Follow the repo's convention for design docs (for example plans/<author>/ in
repos that define one). One markdown file per plan. Link out to the PRD/spec
rather than duplicating it.
Document Structure
# <Feature name>
## Overview
One or two paragraphs: what is being built and why. Link the PRD/spec.
## Constraints
Repo-wide facts every phase needs: commit/PR policy, validation commands,
branch or worktree requirements, anything the orchestrator must not infer.
## Phases
A short table or list: phase ID, name, depends-on, parallelizable-with.
## Phase 1: <name>
- **Status:** Not started
- **Depends on:** none | Phase N
- **Topology:** default | a named non-default topology with disjoint parallel
worker scopes and/or a loop stop condition, as applicable.
- **Objective:** one sentence, the outcome not the activity.
- **Scope:** the files/modules this phase owns (its write scope).
- **Out of scope:** adjacent work this phase must not touch.
- **Approach:** implementation notes — key decisions already made, pointers
to the code the worker should read first, known landmines.
- **Acceptance criteria:** checkable statements (see below).
- **Validation:** exact commands to run, plus any manual checks.
## Phase 2: <name>
...
## Implementation log
(Empty when authoring a new plan. Preserve existing entries when restructuring
a plan. The orchestrator appends one entry per phase: date, phase, summary,
validation results, review outcome, commit SHAs, deviations, remaining risks.)
What ships with it
2 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.
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.
- 1mo ago First seen · 133 lines · 82 tokens per session scan A 878599ec966a
write-phase-plan is a skill published in the GitHub repository hraness/wrench (4 stars, last pushed 1mo ago), licensed MIT. It adds 82 tokens to every session and 1,215 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to write-phase-plan, differing in 27 lines, and is treated as a copy.
Other skills, from other repositories
gno
Search local documents, files, notes, and knowledge bases. Index directories, search with BM25/vector/hybrid, get AI answers with citations. Use when user wants to search files, find documents, query notes, look up information in local folders, index a directory, set up document search, build a knowledge base, needs…
atet
Use Atet to create, generate, record, edit, and render visual media with a local CLI and coding agent. Trigger for AI image or video generation, screen, camera, microphone, or system-audio recording, non-destructive video editing, silence and filler-word removal, captions or subtitles, speaker framing, screen zooms…
query-kb
Load scoped repository context, then search and navigate a hraness/kb Markdown vault with hybrid text retrieval, exact metadata, bounded links and typed relationships, backlinks, whole-vault graph reports, and optional Git provenance. Use when an agent needs the applicable repository instructions, rationale, prior…
save-url-kb
Capture public or signed-in web content into a local Markdown knowledge base as an auditable source bundle with local assets. Use when the user asks to clip, save, scrape, or archive an article, social post or thread, GitHub or Discourse discussion, feed, inbox, private document, WhatsApp conversation, YouTube page…
plan-kb
Create or evolve a durable Markdown plan inside a hraness/kb vault. Use when a user asks for an implementation plan, proposal, RFC, migration plan, execution audit, phased checklist, or an update to an existing plan's decisions, progress, review findings, verification evidence, or final result.
refresh-kb
Refresh and validate a hraness/kb Markdown knowledge graph after notes, concepts, typed relationships, attachments, repository scopes, or context mappings change. Use when an agent needs to maintain a managed or authored catalog, inspect graph and lifecycle findings, validate local artifacts and scope hubs, or…