Install
$ agentstack add skill-cunhaax-ai-workflow-plan-draft ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/plan-draft — Implementation Planning
Use this skill to produce a structured implementation plan before writing any code. Can be invoked standalone (/plan-draft) or applied by the planner sub-agent during the /feature workflow.
Context Gathering
Before planning, collect all relevant context:
- External specs: If the prompt references an external link or doc, fetch
it before planning — the Requirements section must quote the source verbatim.
- Codebase: Read any module-specific
AGENTS.mdfiles in directories likely to
be affected, ADRs in docs/adr/, and relevant product docs in docs/.
Planning Rules
- The Approval Summary is what the developer approves. It is read on a
phone, so constrain the units, not the total: goal in 1–2 sentences, one line per acceptance criterion, one line per key decision, one line per NEEDS_DECISION. There is no hard line cap — the per-item limits keep it short. If the acceptance criteria grow past ~10, treat that as a signal the task should be split into smaller slices, not that the summary should be longer. Each acceptance criterion must be user-visible behaviour, not implementation ("a visitor submitting an invalid form sees the error next to the field", not "add a guard clause in the controller"). Every AC-n MUST map to at least one Test Strategy entry tagged [AC-n]; a criterion with no test is an incomplete plan. Everything below the summary is the detailed contract the summary stands on — the two must never disagree.
- The Contract section is written before Approach and is what the
end-to-end tests are coded against. For full-stack slices it pins routes, fields/params, response shapes, error rendering, and schema changes. Deviating from an approved Contract during implementation is a material change requiring re-approval. Mark it "None" for pure backend/infra work.
- Lead with intent. The Context & Decisions section states, in a few
sentences, what problem this solves and the shape of the solution — then lists every decision taken during planning and every alternative considered and rejected, each with its reason. The plan is self-contained: a reader with no access to the planning conversation must understand what to build and why. Nothing load-bearing may live only in the chat.
- The Requirements section MUST capture the complete feature requirements
exactly as specified by the user or the linked spec. Do not summarize or omit details — the code-critic cross-checks every requirement and edge case in this section against the committed tests. If they come from a document, quote them; if from the user's prompt, reproduce them in full.
- The Files section MUST list every file the change touches, each tagged
NEW / EDIT / DELETE / MOVE, with a phrase on what changes and why. It is the implementer's checklist and the reviewer's blast-radius map — a file in the diff but not here is an undiscussed change.
- The Out of Scope section MUST state the boundary explicitly: what a reader
might reasonably expect this change to include but it deliberately does not. This is where scope disagreements surface cheaply and what stops the implementer gold-plating. Write "None" only if you mean it.
- List ALL edge cases explicitly in Edge Cases — do not assume any can be
skipped.
- Flag any potential single-responsibility concerns in the proposed approach.
- Propose a test strategy that covers the happy path AND every identified edge
case. Tests are the plan's deterministic oracle — every claim the plan makes about user-visible behaviour (error placement, section open/closed state, button enable/disable, post-failure page coherence, persistence-vs-UI consistency) MUST map to a committed end-to-end test that exercises the behaviour and observes the rendered result (per project convention; e.g., Playwright for a web UI). If a UI claim is worth writing down in the plan, it is worth committing as a test.
- Do NOT write a manual "Verification" or "QA checklist" of behavioural steps.
If you catch yourself writing "Try X and confirm Y", convert it into a committed test assertion in the Test Strategy. The one exception is environmental preconditions that are not themselves behaviour under test (e.g. "a migration was edited in place, so the local DB must be reset first") — record those under Environment & Preconditions, not as verification.
- Prefer concrete, quotable statements over prose blobs: name the files, show
the key data class or signature, number the edge cases. The plan is reviewed line by line — a reviewer can only annotate what is stated specifically. Where an existing pattern should be followed, point at it by name (e.g. "mirror ExistingValidator") so the implementer copies the canonical shape.
- If any part of the spec is ambiguous, flag it as
NEEDS_DECISIONwith options.
Do NOT ask the user directly from within a sub-agent — surface ambiguities in the plan so the main agent can relay them.
- Respect existing ADRs. If your plan contradicts a past decision, flag it
explicitly and explain why the decision should be reconsidered.
- Sections that genuinely do not apply may be marked "None" (Out of Scope,
Environment & Preconditions, NEEDS_DECISION) — but do not drop them; "None" tells the reader you considered them.
Plan Template
# Implementation Plan: [Feature Name]
## Approval Summary
**Goal:** [1–2 sentences — what the user gains]
**Acceptance Criteria** — each user-visible and testable:
- AC-1: [one line: given/when/then]
- AC-2: [...]
**Key decisions:** [2–3 bullets, one line each]
**Risk flags:** security surface: [yes/no] · new persisted field: [yes/no] ·
sensitive-category data: [yes/no] · schema migration: [yes/no] ·
new dependency: [yes/no] · new/changed route: [yes/no]
**NEEDS_DECISION:** [one line each, or "None"]
*(The summary above is what the developer approves; everything below is the
detailed contract it stands on.)*
## Source
[User prompt summary / external doc title + URL]
## Context & Decisions
[Why this change exists and the shape of the solution, in a few sentences. Then:
decisions taken during planning, and alternatives considered and rejected — each
with its reason.]
## Requirements
[Complete feature requirements — quoted from the source or reproduced verbatim
from the prompt. Do not summarize.]
## Contract _(full-stack slices; "None" for pure backend/infra work)_
- Routes: [METHOD /path — purpose, required authority]
- Form fields / params: [name, type, validation rule]
- Response shape: [full page / fragment + target / redirect (per the
project's redirect convention, if any)]
- Error rendering: [where errors surface, message keys]
- Schema: [tables/columns added or changed]
## Approach
[Step-by-step implementation strategy. Point at existing patterns to follow by
name where one applies.]
## Files
- NEW [path]: [what it holds / why]
- EDIT [path]: [what changes / why]
- DELETE [path]: [why]
- MOVE [old] → [new]: [why]
## Out of Scope
- [What a reader might expect but this change deliberately excludes]
## Edge Cases
1. [Edge case]: [handling strategy]
## Test Strategy
- [AC-1] [test name]: [what it verifies]
- [AC-2] [...]
- [edge-N] [test name]: [what it verifies]
## Environment & Preconditions
[Non-behavioural setup the implementer needs — e.g. "migration edited in place,
reset the local DB first". Behavioural claims belong in Test Strategy. "None" if
nothing applies.]
## NEEDS_DECISION
- [Ambiguity]: [options available]
## Risks
- [Anything that could go wrong or needs extra attention]
Output
Return the plan as markdown text. Do NOT write any files — the main agent will submit the plan for review.
Do NOT write implementation code. Output only the plan.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cunhaax
- Source: cunhaax/ai-workflow
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.