writing-plans — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited writing-plans (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Write implementation plans that a fresh agent can execute task by task without guessing.
Use this after workbench:writing-spec or after the user provides approved requirements. The output is a concrete plan with exact file paths, bite-sized checkbox steps, test commands, expected results, and commit points.
Assume the implementer is a capable engineer with little project context. Give them enough detail to work correctly, but keep the plan focused on the requested change. DRY, YAGNI, TDD, and frequent commits are the default.
Resolve the plan path in this order:
.workbench/autopilot.md Plans: heading.CLAUDE.md or AGENTS.md plan-path convention..workbench/plans/YYYY-MM-DD-<feature-name>.md.If the resolved value is don't commit, write the plan to /tmp/<project-name>-autopilot/YYYY-MM-DD-<feature-name>.md and skip committing it.
Before writing tasks, check whether the spec covers multiple independent subsystems. If it does, stop and split it into separate plans, one per independently testable change.
Each plan should produce working, testable software on its own.
Before defining tasks, map which files will be created or modified and what each file is responsible for.
This file map governs the task decomposition.
Each checkbox step should be one small action:
Avoid broad steps that require the implementer to invent missing details.
Every plan MUST start with this header:
# [Feature Name] Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use `workbench:test-driven-development` for implementation chunks. Use `workbench:dispatching-parallel-agents` when independent tasks can safely fan out. Use `workbench:subagent-driven-development` for delegated plan execution, or execute sequentially in the main session when subagents are unavailable. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about the approach]
**Tech Stack:** [Key technologies, libraries, and commands]
---Use this shape for each task:
### Task N: [Component Name]
**Files:**
- Create: `exact/path/to/new-file.ext`
- Modify: `exact/path/to/existing-file.ext`
- Test: `tests/exact/path/to/test-file.ext`
- [ ] **Step 1: Write the failing test**
complete test code
- [ ] **Step 2: Run the test to verify it fails**
Run: `exact test command`
Expected: FAIL with the missing behavior or assertion named explicitly.
- [ ] **Step 3: Write the minimal implementation**
complete implementation code or precise patch-sized instructions
- [ ] **Step 4: Run the test to verify it passes**
Run: `exact test command`
Expected: PASS.
- [ ] **Step 5: Commit**
git add exact/path/to/test-file.ext exact/path/to/existing-file.ext git commit -m "type(scope): describe the change"
Never write plan steps that leave work to interpretation:
TBD, TODO, implement later, or fill in details.After writing the plan, dispatch a fresh-eyes reviewer subagent before presenting it. The reviewer should not receive the conversation history. Give it only the plan path, the source spec or requirements path when available, and the prompt template in plan-reviewer-prompt.md.
Claude Code: Agent tool, general-purpose subagent_type, no model override. Codex: equivalent general-purpose subagent.
The reviewer checks:
Apply the reviewer's blocking findings inline. No re-review is required. Advisory recommendations do not block handoff unless they expose a real implementation risk.
After saving the plan, report the path and offer the execution route that fits the runtime:
Plan complete and saved to `<path>`.
Recommended execution: use `workbench:test-driven-development` for each implementation chunk. If subagents are available, use `workbench:subagent-driven-development`; otherwise execute the checkbox steps sequentially in this session. Use `workbench:dispatching-parallel-agents` only for independent tasks with disjoint write scopes.Do not start implementation until the plan is saved, the reviewer pass is complete, and the required implementation discipline is clear.
Default for this artifact: md.
Override resolution order, highest precedence first:
"an HTML plan", "in markdown", "as a markdown plan", "give me HTML", and equivalents..workbench/config.md ## Output formats entry for Plans:. Schema documented in plugins/workbench/skills/autopilot/references/config-schema.md.Path resolution order: .workbench/autopilot.md ## Documentation paths Plans: first; then .workbench/config.md ## Output paths Plans:; then .workbench/plans/ default. Path and format resolve independently.
When emitting HTML, follow the structural skeleton in references/plan-template.html in this skill's directory. Read the template lazily, only when actually producing the artifact. Do not introduce U+2014 or U+2013 codepoints in body copy; HTML entity forms (—, —, –, –) are permitted.
For other HTML artifact types not covered by a workbench or research skill, see workbench:crafting-html.
Before emitting HTML, check for an active design system and inline its overrides into the artifact's <style> block:
brand-2026 design system"), then .workbench/config.md ## Design system Name:, then no override..workbench/design-systems/<name>/ (project scope), then ~/.claude/workbench/design-systems/<name>/ (user scope). If a name resolves but no directory is found at either scope, report the missing path to the user and emit with template defaults; do not fabricate a substitute.colors.css (and typography.css if present) after the template's own :root declarations, so the design system's values win the cascade.components/<n>.html markup and scoped style into the artifact body.base64 -w 0 <file>) and inline as data:image/<type>;base64,<payload>. SVG is text and can be inlined directly. Use relative paths only when the artifact and the design system co-exist in the same git tree and the artifact will not travel.To create or edit a design system, see workbench:crafting-design-systems.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.