plan — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited plan (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.
You are helping plan and implement a task in this repo. Follow these phases in order — do NOT skip Phase 3 (clarifying questions).
Output file: the approved plan is written to plan.md at the repo root. Phase 6 reads it back as the source-of-truth checklist and updates checkboxes as work proceeds, so a fresh session can resume mid-task by re-reading plan.md. The file is gitignored.
Use TodoWrite throughout: create one task per phase up front, mark each in_progress when starting and completed when done. The flow is long-running, and the todo list keeps the user oriented.
Hard cap on sub-agents: This skill spawns up to 2-3 explore agents (Phase 2), 2-3 architects (Phase 4), and 3 reviewers (Phase 7) — at most 9 Agent invocations total across the whole flow. Do NOT exceed that cap. If you find yourself wanting a 10th invocation (retrying a failed agent, spawning a "just one more" specialist), stop and summarize what you have for the user instead. Retries hide failures; extra specialists are scope creep.
Restate the user's request in your own words: what is being built, what problem it solves, what success looks like. Identify constraints, non-goals, and any ticket reference in the task description.
Surface-level ambiguity check — before launching parallel exploration in Phase 2 (which costs 2-3 agent invocations), make sure you can answer all of these:
If any answer is "no", ask the user before exploring. Phase 3 covers the deeper "what should error handling do" / "what about edge case X" questions; Phase 1 catches the "do I even know what they want" case so the parallel agents don't waste effort on the wrong target.
Confirm with the user before continuing.
Launch 2–3 explore subagents IN PARALLEL via the Agent tool with subagent_type: general-purpose. Pass each agent BOTH the analysis approach AND the angle below in its prompt — they need that context inline because they don't see this master prompt. Mark this phase's todo in_progress when the agents are dispatched.
When the agents return, READ the key files they identified before designing. Agent summaries describe intent, not implementation — you will miss subtleties otherwise.
List the ambiguities, edge cases, scope boundaries, error-handling preferences, and integration points the task description and Phase 1 confirmation did not specify. Present a clear, numbered list to the user and wait for answers before designing.
If the user replies "your call" or "no preference," commit to a recommendation and explicitly confirm it.
Enter plan mode now — design and approval must happen before any edits. Stay in plan mode through Phase 5.
Launch 2–3 architect subagents IN PARALLEL via the Agent tool with subagent_type: general-purpose. Pass each agent the architect process below + their priority + the user's task + the answers from Phase 3 + the file list and findings from Phase 2 — they need all of that inline.
.claude/rules/*.md whose paths: glob matches the area you'll touch.After agents return, present the user a brief summary of each blueprint, the trade-offs, and your recommendation with reasoning. Ask which they want.
Still in plan mode. Write the chosen plan to plan.md at the repo root using the structure below, and output the complete plan in your chat response so the user can see it immediately. To prevent blocking or proceeding without review, you MUST end your turn here by calling no other tools (do NOT run the terminal command ExitPlanMode or make any edits yet). Ask the user to confirm the plan in the chat. Once the user replies to approve, run the terminal command ExitPlanMode in your next turn to register the plan with the desktop app, and then proceed to Phase 6.
plan.md structure:
# <task title>
<one-paragraph summary of what's being built and why>
## Decisions (from Phase 3)
- <ambiguity>: <chosen resolution>
## Build sequence
- [ ] <step 1 — file:line scope, concrete change>
- [ ] <step 2 ...>
## Out of scope
- <thing we explicitly aren't doing>
## Verification
- <how we'll know it works — tests, manual checks>Resume rule: if plan.md already exists when this skill starts, ask the user whether to resume from it (pick up at the first unchecked box) or discard and start a new plan. Do not silently overwrite an in-progress plan.
plan.md is the source-of-truth checklist. Work the unchecked boxes top-to-bottom in small, independently-shippable batches. After each batch:
plan.md (- [ ] → - [x]) so a fresh session can resume.node -c, tsc --noEmit, cargo check, etc., as the language requires).For UI work, do not report a feature as complete without manually exercising it — or, if you cannot (no fixture data, no running services, etc.), flag the verification gap explicitly.
After implementation, launch 3 reviewer subagents IN PARALLEL via the Agent tool with subagent_type: general-purpose. Pass each agent the reviewer process below + their focus + the diff (git diff {{BASE_BRANCH}}...HEAD or equivalent) + any context files they'll need.
catch blocks (e.g. catch (_) {}) are forbidden on user-initiated actions — the user clicked a button, they need feedback if it failed. They are also suspect on background work; even a 30s background poll should at least console.error the first failure of each tick.catch (Exception), catch (e: any)) hide unrelated errors. List every error type that could be silently swallowed.[], null, or "no data" on a parse error is indistinguishable from "no data was there" — surface a real error instead.?.) and null coalescing (??) on critical operations can mask failures the same way an empty catch can — flag where they hide errors.Consolidate findings, present high-severity issues to the user, and ask whether to fix now, defer to a follow-up, or proceed as-is.
Write a 3–5 line summary: what was built, key decisions, files modified, suggested next steps. Mark all TodoWrite tasks complete.
These apply regardless of the project. ALSO read this codebase's CLAUDE.md / .claude/rules/*.md / README / CONTRIBUTING early in Phase 2 to pick up project-specific rules and add them to your working list — local conventions usually beat generic advice when they conflict.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.