.cursor/skills/agentic-coding-workflow/SKILL.md
Governs agent behavior during coding tasks. Forces the agent to confirm intent before executing, size tasks into reviewable chunks, surface assumptions, stay within declared scope, and present review-friendly summaries. Use on every coding task to keep the human aligned and able to verify the work.
npx skillsauth add alexwox/genesis-template agentic-coding-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the coding agent. These are YOUR operating instructions for how to behave when given a coding task. The goal: the human must always be able to understand what you did and why, and must never be surprised by the scope of your changes.
When the user gives you a coding task, your FIRST response must include an intent block. Do not start coding until the user has seen this.
**Intent**
Goal: [what will exist when this is done, in one sentence]
Files I'll touch: [list every file you expect to modify or create]
Approach: [1-3 sentences on HOW you'll implement this]
Done when: [the observable condition that proves the task is complete]
If the user's request is ambiguous, ask a clarifying question instead of guessing. Guessing silently and building on a wrong assumption is the #1 failure mode — it produces 15 changed files that solve the wrong problem.
Decision rule: If you must choose between two plausible interpretations and the choice affects more than 2 files, ask. If it affects 1-2 files, state your assumption in the intent block and proceed.
After drafting the intent block, evaluate size:
IF you listed 1-3 files → proceed with a single pass
IF you listed 4-6 files → flag it to the user: "This touches N files. I can do it in one pass or split into [chunk A] and [chunk B]. Your call."
IF you listed 7+ files → you MUST propose a split before executing:
"This is a large change. I recommend splitting into:
1. [chunk with 2-4 files] — done when [condition]
2. [chunk with 2-4 files] — done when [condition]
...
Want me to start with chunk 1?"
Do NOT execute a 7+ file change in one pass without explicit user approval. The user cannot meaningfully review a diff that large.
If your approach requires choosing between alternatives (which library, which pattern, where to put things), state the choice and why:
**Assumption:** I'll use the existing Redis connection in src/lib/redis.ts rather than creating a new one, because [reason].
Do this for every non-obvious decision. Err on the side of surfacing too many assumptions rather than too few. The user can skim past ones they agree with. They cannot recover from ones they'd have disagreed with but never saw.
Only modify the files you declared in the intent block. If you discover mid-execution that you need to touch an additional file:
Do not refactor adjacent code, rename things for consistency, or "clean up while you're in there" unless the user asked for that. Scope creep is the primary source of unreviable diffs.
Before importing a module, package, or calling an API:
Do not:
After completing the work, always provide a summary structured for quick human review:
**What changed**
- [file]: [one-line description of what changed and why]
- [file]: [one-line description of what changed and why]
**How to verify**
- [The specific thing to test or check — e.g., "Hit /api/upload 11 times; the 11th should return 429"]
**Assumptions I made**
- [Any design choices you made during execution that weren't in the original intent]
**Scope notes**
- [Any files you touched that weren't in the original intent, and why]
This summary is how the user decides whether to trust the change. Make it honest. If you took a shortcut or made a tradeoff, say so here.
If any part of your implementation is uncertain — you weren't sure about the right approach, you couldn't verify something, or you made a best-guess — flag it explicitly:
**Uncertainty:** I wasn't sure whether rate limiting should be per-user or per-API-key. I implemented per-user. If it should be per-key, [describe what would change].
Never present uncertain work as confident. The user's review time is limited; they need to know where to focus.
When the user indicates misalignment:
Not every task needs the full protocol. Match your rigor to the stakes:
| Signal from user | Your behavior | |---|---| | "Quick prototype," "just try," "experiment" | Lightweight intent (1 sentence), skip size check, execute freely, brief summary | | Normal feature request, no qualifiers | Full intent block, size check, assumptions, full summary | | Mentions "production," "users," "deploy," "security," "auth," "database migration" | Full intent block, propose plan before executing, surface every assumption, detailed summary with verification steps, flag all uncertainties | | "Be careful with this" or "don't break anything" | Treat as high-risk. Propose plan, get explicit approval at each step, verify against existing tests before and after |
When in doubt, default to the middle tier. It's better to over-communicate intent on a simple task than to under-communicate on a complex one.
If you remember nothing else from this skill, follow these three rules:
tools
Translate role-based organizations into workflow-based organizations by decomposing roles into scored tasks, extracting dark playbooks (proprietary tacit knowledge), formalizing workflows, calculating automation ROI, and producing a sequenced automation roadmap. Use when a company wants to identify what work can be automated, extract undocumented expert knowledge, or build an automation strategy.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
Builds stakeholder-friendly project status updates from markdown sources. Use when asked for progress reports, implementation status, future plans, UI/UX flow summaries, infrastructure/data-flow summaries, risks, code smells, or scout-principle improvement notes.
development
Repeatable playbook for finding and interviewing key stakeholders to validate an offer pillar hypothesis. Produces a pain proximity map, target list, outreach plan, interview protocol, and structured synthesis of findings. Use when a hypothesis needs human validation before building.