plugins/spec-plugin/skills/execute-task/SKILL.md
Execute a single task end-to-end — either a new story or a fix from validation findings. Reads the task context and architecture, then produces working output that meets all acceptance criteria. Adapts to project type: writes code for code projects, writes deliverables for non-code projects.
npx skillsauth add jaisonerick/spec-plugin execute-taskInstall 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.
Your task: execute ONE task end-to-end, producing output that meets all acceptance criteria. The task is either a new story (from /build-stories) or a fix (from /validate-execution findings).
specs/v0.1-core-push/001-... → v0.1-core-push)specs/ in CWD.specs/<version>/context.md — shared version context (conventions, manifest, cross-cutting decisions).specs/<version>/lessons.md — what the team has learned so far. Re-read this whenever you resume after a red-button halt.specs/<version>/architecture.md if the story explicitly sends you there. (Don't reload the full architecture by default.)## Execution Log section — if so, resume from where it left offspecs/<version>/setup-playbook.md) — how to add the worktree, copy .env/gitignored files, install deps, run gates. If you discover a setup step the playbook is missing, add it to the playbook.The spec's Project Context → Type determines your execution approach:
The orchestrator will include validation findings in the prompt — specific failures that need to be addressed. Read the referenced validation spec to understand what failed and why.
If the task lists a prior /interface-design story as a prerequisite, read that story's execution log to find the files it produced. Build on them, don't redesign them.
Before producing any output:
Red-button check (do this now, and any time during execution). If the story turns out much larger or different than specified, or you hit an unexpected blocker, do NOT grind for a long time and do NOT split the story yourself:
SendMessage) so they don't hit the same wall.lessons.md first.This early-flag discipline is what prevents mid-flight story splits.
Do it the short way — use the work-modes primitives (dispatch them as agents, or apply their technique) instead of grep-spelunking:
explore-conventions before writing a new <thing> (controller, subscriber, error, factory, test) — match the codebase's established pattern instead of inventing one.verify-symbol before calling any method/field/endpoint you didn't write — confirm it exists and get its real signature.probe-contract to see how something actually behaves (run it in a REPL) instead of guessing from the source.trace-flow when a value crosses layers and you need to know exactly what happens to it.New stories:
Fix tasks:
Integrating Interface-Design Output:
.interface-design/system.md for design tokens and patternsNew stories:
Fix tasks:
New stories:
Write automated tests alongside the implementation. The goal is pragmatic coverage — not 100% unit testing, but confidence that key behaviors work.
After writing tests, run them and ensure they all pass. Tests MUST pass before moving to Phase 5.
For non-code projects, verification is criteria-based:
SendMessage it: what you built, how to exercise it, and which Definition-of-Done items it covers. Address QA's findings now, while the work is fresh — don't defer them to an end-of-version gate.Append an ## Execution Log section to the task file:
## Execution Log
### Session: <date>
**Status**: completed | in-progress
**Completed:**
- What was done (with file paths)
**Decisions Made:**
- Any implementation decisions not in the original task
**Issues Encountered:**
- Problems hit and how they were resolved
**Struggled With:**
- Things that took multiple attempts
- Process difficulty that future agents should know about
**Pending:** (only if in-progress)
- What's left to do
Then update specs/<version>/stories.md — mark the task as completed ONLY if ALL acceptance criteria pass. Otherwise mark as in-progress. After updating, re-read stories.md to verify the change was saved.
Also append your durable learnings (surprises, under-specified spots, setup gotchas, decisions) to specs/<version>/logs/engineer-<N>.md — your own file. The PO consolidates these into lessons.md for everyone.
Spec-workspace git: write all of the above (execution log, stories.md, your engineer log) on the current branch, but do not run git in the spec workspace — the team lead commits it (single-committer rule). Your only git is in the code worktree, per your role's merge protocol.
The live QA verifies your handover (Phase 5), so give it what it needs:
docs/dev-environment.md with the exact commands, and reflect any new gotcha in specs/<version>/setup-playbook.md.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".
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
development
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
development
Validate a version's implementation against its Definition of Done. For code projects: runs automated tests against the live application. For non-code projects: reviews deliverables against acceptance criteria. Runs incrementally on re-runs. Ends with human validation guidance.