create-tasks
Skill45 starsChanged 4 days agoMITView on GitHub
Generate implementation tasks from architecture document. Usage /groundwork:create-tasks
7 other projects use a version of this.
Adopted by
Most recently taken up by
- alamops/skillstheir own version, first seen Oct 19, 2026
- itsyasirkhandev/skillstheir own version, first seen Oct 17, 2026
- igornfaustino/skillstheir own version, first seen Oct 11, 2026
- FooJiaYin/dev-skillstheir own version, first seen Sep 24, 2026
- samsantosb/ship-ittheir own version, first seen Jul 13, 2026
- araujoleonardo/skillstheir own version, first seen Apr 17, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- NTCoding/claude-skillz★ 342same name
- alamops/skills★ 53same name
- samsantosb/ship-it★ 37same name
- itsyasirkhandev/skills★ 4same name
- FooJiaYin/dev-skills★ 2same name
- araujoleonardo/skills★ 1same name
- igornfaustino/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- build-unplannedSkill
- check-specs-alignmentSkill
- debugSkill
- design-architectureSkill
- design-it-twiceSkill
- design-productSkill
- domain-modelingSkill
- doubt-driven-developmentSkill
- finalize-taskSkill
- groundwork-checkSkill
- groundwork-helpSkill
- handoffSkill
- implement-taskSkill
- instrument-observabilitySkill
- just-do-itSkill
- just-do-it-swarmingSkill
- plan-taskSkill
- review-prSkill
- select-projectSkill
- setup-repoSkill
- shipSkill
- skillsSkill
- source-architecture-from-codeSkill
- source-product-specs-from-codeSkill
- source-ux-design-from-codeSkill
- split-architectureSkill
- split-specsSkill
- staged-rolloutSkill
- statuslineSkill
- swarm-debugSkill
- swarm-design-architectureSkill
- task-validation-loopSkill
- test-driven-developmentSkill
- understanding-feature-requestsSkill
- use-git-worktreeSkill
- using-groundworkSkill
- ux-designSkill
- validateSkill
- vertical-sliceSkill
- work-on-next-taskSkill
- work-onSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
49 rules. 0 are common, 32 are distinctive, and 17 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
32
Distinctive
This author's own choices. Worth a look.
17
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
If effort is low or medium (i.e.
- Distinctive: line 18
If you are not Opus (1M context), you MUST show the recommendation prompt - regardless of effort level.
- Distinctive: line 36
If the user selects "Cancel — I'll switch first": output the switching commands above and stop.
- Very specific: line 43
If yes → Is {{project_name}} non-empty?
- Very specific: line 44
If empty → Invoke Skill(skill="groundwork:select-project") to select a project, then restart this skill.
- Very specific: line 45
If set → Project is {{project_name}}, specs at {{specs_dir}}/.
- Distinctive: line 46
If no → Continue (single-project repo).
- Distinctive: line 49
If CWD is the repo root → fine, proceed.
- Very specific: line 50
Check which project's path CWD falls inside (compare against all projects in .groundwork.yml).
- Distinctive: line 51
If CWD is inside the selected project's path → fine, proceed.
- Very specific: line 52
If CWD is inside a different project's path → warn via AskUserQuestion:
- Very specific: line 56
If the user switches, invoke Skill(skill="groundwork:select-project").
- Distinctive: line 57
If CWD doesn't match any project → proceed without warning (shared directory).
- Distinctive: line 82
Load Context: - Read PRD and architecture
- Very specific: line 88
Important: When asking questions to the user (milestone validation, task review, scope clarification), always use the AskUserQuestion tool …
- Distinctive: line 92
Read the input specs (each may be a single file or directory) and extract:
- Distinctive: line 107
Use for: Design-related tasks, component styling tasks, accessibility requirements
- Very specific: line 109
Detection: Check for file first (takes precedence), then directory.
- Distinctive: line 111
If PRD or architecture is missing, prompt user:
- Distinctive: line 116
If design system exists, incorporate design context into UI/frontend tasks.
- Distinctive: line 120
Before defining milestones, check if tasks already exist:
- Very specific: line 122
Check for {{specs_dir}}/tasks/_index.md or {{specs_dir}}/tasks.md
- Distinctive: line 123
If found, read to understand existing milestones, task numbering, and status
- Distinctive: line 130
Ask: "Should this new work be added to an existing milestone, or should I create a new milestone M6?"
- Distinctive: line 168
Use multiple-choice questions to validate milestone scope (e.g., "Should M1 include: A) just signup, B) signup + login, C) full auth flow?")
- Distinctive: line 192
Use research findings to:
- Distinctive: line 194
Add specific action items based on best practices
- Distinctive: line 196
Add "setup correctly" tasks for technologies with gotchas
- Distinctive: line 199
When generating tasks in Step 4, incorporate research findings:
- Distinctive: line 202
Add explicit setup/configuration tasks when research reveals gotchas
- Distinctive: line 203
Use recommended project structure to inform task boundaries
- Very specific: line 211
Every task MUST follow this exact format to ensure compatibility with /groundwork:work-on-next-task and other workflows:
- Very specific: line 277
Prefer tasks that deliver working functionality over horizontal layers (the thin vertical slice principle — …
- Distinctive: line 297
Only create tasks for committed scope, not speculative features
- Distinctive: line 299
If unsure whether a task is needed, defer it to a future milestone
- Distinctive: line 300
Ask: "Is this task essential for the milestone, or is it gold-plating?"
- Distinctive: line 320
Always end with: "Typecheck passes"
- Distinctive: line 325
Create a dependency graph showing:
- Very specific: line 360
Create or update {{specs_dir}}/tasks/_index.md with overview, milestone summary table, dependency graph, task status table, and critical …
- Very specific: line 362
Write one file per task: {{specs_dir}}/tasks/M{N}-{slug}/TASK-{NNN}.md
- Very specific: line 364
Write or update {{specs_dir}}/tasks/parking-lot.md for deferred tasks (if any)
- Very specific: line 377
Update _index.md — add new rows to the status table, add the new milestone to the summary table, extend the dependency graph
- Distinctive: line 379
Do NOT regenerate or modify existing milestone directories or task files
- Distinctive: line 383
Wait for approval on each milestone before presenting the next
- Distinctive: line 388
After user approves the task list and before writing final version:
- Distinctive: line 392
Do NOT skip validation or declare the task list complete without running this.
- Distinctive: line 396
If validation finds issues:
- Distinctive: line 403
After writing the tasks document, suggest the next workflow step:
- Very specific: line 429
When {{specs_dir}}/design_system.md exists, include design-specific tasks:
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Task Generation Skill
Translates product specs and architecture into actionable implementation tasks.
Pre-flight: Model Recommendation
Your current effort level is {{effort_level}}.
Skip this step silently if effort is high, xhigh, or max (the scale is low < medium < high < xhigh < max, so xhigh and max are already above high) AND you are Opus (1M context).
If effort is low or medium (i.e. below high), you MUST show the recommendation prompt — regardless of model.
If you are not Opus (1M context), you MUST show the recommendation prompt - regardless of effort level.
Otherwise → use AskUserQuestion:
{
"questions": [{
"question": "Do you want to switch? Task granularity judgment and vertical slicing decisions determine execution success.\n\nTo switch: cancel, run `/model opus[1m]` and `/effort high`, then re-invoke this skill.",
"header": "Recommended: Opus (1M context) at high effort",
"options": [
{ "label": "Continue" },
{ "label": "Cancel — I'll switch first" }
],
"multiSelect": false
}]
}If the user selects "Cancel — I'll switch first": output the switching commands above and stop. Do not proceed with the skill.
Step 0: Resolve Project Context
Before loading specs, ensure project context is resolved:
- Monorepo check: Does
.groundwork.ymlexist at the repo root?- If yes → Is
{{project_name}}non-empty?- If empty → Invoke
Skill(skill="groundwork:select-project")to select a project, then restart this skill. - If set → Project is
{{project_name}}, specs at{{specs_dir}}/.
- If empty → Invoke
- If no → Continue (single-project repo).
- If yes → Is
- CWD mismatch check (monorepo only):
- Skip if not in monorepo mode or if the project was just selected in item 1 above.
- If CWD is the repo root → fine, proceed.
- Check which project's path CWD falls inside (compare against all projects in
.groundwork.yml). - If CWD is inside the selected project's path → fine, proceed.
- If CWD is inside a different project's path → warn via
AskUserQuestion:"You're working from
<cwd>(inside [cwd-project]), but the selected Groundwork project is [selected-project] ([selected-project-path]/). What would you like to do?"- "Switch to [cwd-project]"
- "Stay with [selected-project]"
If the user switches, invoke
Skill(skill="groundwork:select-project").
- If CWD doesn't match any project → proceed without warning (shared directory).
- Proceed with the resolved project context. All
{{specs_dir}}/paths will resolve to the correct location.
File Locations
- Input:
{{specs_dir}}/product_specs.md(PRD with EARS requirements){{specs_dir}}/architecture.md(architecture with decision records){{specs_dir}}/design_system.md(design system with DP/BRD/UXD decisions) - optional
- Output:
{{specs_dir}}/tasks/directory with per-milestone subdirectories:specs/tasks/ ├── _index.md # Overview, milestone summary, dependency graph ├── M1-core-auth/ │ ├── TASK-001.md │ ├── TASK-002.md │ └── TASK-003.md ├── M2-upload/ │ ├── TASK-004.md │ └── TASK-005.md └── parking-lot.md # Deferred tasks
Workflow Overview
- Load Context - Read PRD and architecture
- Identify Milestones - Define testable product milestones
- Generate Tasks - Break down into implementable tasks
- Map Dependencies - Establish task ordering
- Review & Refine - Iterate with user on task breakdown
Important: When asking questions to the user (milestone validation, task review, scope clarification), always use the AskUserQuestion tool with appropriate options.
Step 1: Load Context
Read the input specs (each may be a single file or directory) and extract:
From PRD:
- Single file:
{{specs_dir}}/product_specs.md - Directory:
{{specs_dir}}/product_specs/(aggregate all.mdfiles) - Extract: Feature list with EARS requirements, Non-functional requirements, Release strategy (Alpha → Beta → GA)
From Architecture:
- Single file:
{{specs_dir}}/architecture.md - Directory:
{{specs_dir}}/architecture/(aggregate all.mdfiles) - Extract: Component list and responsibilities, Technology choices, Decision records (understand constraints)
From Design System (if exists):
- Single file:
{{specs_dir}}/design_system.md - Extract: Design principles (DP-NNN), Brand decisions (BRD-NNN), UX patterns (UXD-NNN)
- Use for: Design-related tasks, component styling tasks, accessibility requirements
Detection: Check for file first (takes precedence), then directory. When reading a directory, aggregate all .md files recursively with _index.md first, then numerically-prefixed files, then alphabetically.
If PRD or architecture is missing, prompt user:
"I need both the PRD and architecture to generate tasks.
- PRD missing? Run
/groundwork:design-product- Architecture missing? Run
/groundwork:design-architecture"
If design system exists, incorporate design context into UI/frontend tasks.
Step 2: Check Existing Tasks and Milestones
Before defining milestones, check if tasks already exist:
- Check for
{{specs_dir}}/tasks/_index.mdor{{specs_dir}}/tasks.md - If found, read to understand existing milestones, task numbering, and status
If existing tasks found:
- List existing milestones and their status (complete, in progress, not started)
- Determine the highest task number (e.g., TASK-047) so new tasks continue the sequence
- Determine the highest milestone number (e.g., M5) so new milestones continue the sequence
- Present to user: "Found existing milestones M1-M5 with 47 tasks. New tasks will be added as TASK-048+."
- Ask: "Should this new work be added to an existing milestone, or should I create a new milestone M6?"
If no existing tasks: Proceed to define milestones from scratch.
Step 2b: Define Milestones
If adding to existing project: Either add tasks to a user-selected existing milestone directory, or create a new milestone directory continuing the sequence (e.g., M6-feature-name/).
If starting fresh: Establish product milestones - points where the application can be assessed by a user.
Milestone principles:
- Vertically sliced - Each milestone delivers user-visible value
- Testable - Clear criteria for "done"
- Incremental - Build on previous milestones
- Aligned with release strategy - Map to Alpha/Beta/GA phases
Example milestone progression:
M1: Core Authentication
→ User can sign up, log in, see empty dashboard
M2: Upload & Verification
→ User can upload images, complete identity verification
M3: Model Training
→ User can initiate training, see progress, view completion
M4: Basic Generation
→ User can generate images with their model
M5: Billing Integration
→ User can subscribe, see quota, pay for overagesPresent proposed milestones to user for feedback before generating tasks.
Presentation style:
- Present milestones one at a time, confirm understanding before continuing
- Use multiple-choice questions to validate milestone scope (e.g., "Should M1 include: A) just signup, B) signup + login, C) full auth flow?")
Step 3: Research Implementation Patterns
For major technologies in the architecture, gather implementation guidance before generating tasks.
For each significant technology in the architecture:
- Invoke the researcher agent:
Agent( subagent_type="groundwork:researcher:researcher", prompt="Research Topic: [technology from architecture] Research Questions: - What is the standard project structure? - What are idiomatic patterns for [component type]? - What are common implementation mistakes? - What setup/configuration pitfalls exist? Project Context: [from PRD] Architecture Decisions: [relevant DRs]" ) - Use research findings to:
- Inform task granularity (patterns suggest natural boundaries)
- Add specific action items based on best practices
- Include pitfall-avoiding acceptance criteria
- Add "setup correctly" tasks for technologies with gotchas
Research Integration: When generating tasks in Step 4, incorporate research findings:
- Reference idiomatic patterns in action items
- Include pitfall-prevention in acceptance criteria
- Add explicit setup/configuration tasks when research reveals gotchas
- Use recommended project structure to inform task boundaries
Step 4: Generate Tasks
For each milestone, generate tasks using the format specified in the "Required Task Format" section below.
Required Task Format
Every task MUST follow this exact format to ensure compatibility with /groundwork:work-on-next-task and other workflows:
### TASK-NNN: [Task Title]
**Milestone:** M[X] - [Milestone Name]
**Component:** [Component from architecture]
**Estimate:** S | M | L | XL
**Goal:**
[One sentence describing the outcome]
**Action Items:**
- [ ] [Action 1]
- [ ] [Action 2]
- [ ] [Action 3]
**Dependencies:**
- Blocked by: [TASK-XXX, TASK-YYY or None]
- Blocks: [TASK-ZZZ or None]
**Acceptance Criteria:**
- [Testable criterion 1]
- [Testable criterion 2]
**Related Requirements:** PRD-XXX-REQ-NNN
**Related Decisions:** DR-NNN, DP-NNN, BRD-NNN, UXD-NNN
**Status:** Not Started | In Progress | Complete | BlockedFormat Requirements
| Field | Required | Valid Values |
| Task ID | Yes | TASK-NNN (3+ digit number) |
| Milestone | Yes | M[N] - [Name] |
| Component | Yes | From architecture document |
| Estimate | Yes | S, M, L, or XL |
| Goal | Yes | Single sentence |
| Action Items | Yes | Checkbox list |
| Dependencies | Yes | Task IDs or "None" |
| Acceptance Criteria | Yes | Testable statements |
| Related Requirements | Recommended | PRD IDs |
| Related Decisions | Recommended | DR/DP/BRD/UXD IDs |
| Status | Yes | Exactly one of the four values |
Status Values
**Status:** Not Started- Task hasn't begun**Status:** In Progress- Currently being worked on**Status:** Complete- Task finished and verified**Status:** Blocked- Cannot proceed due to dependencies
Important: /groundwork:work-on-next-task parses these status values exactly. Any variation will cause parse errors.
Task Generation Principles
Granularity
- Too big: "Implement authentication" (weeks of work, unclear scope)
- Too small: "Create login button component" (not meaningful alone)
- Right size: "Implement Cognito integration with magic link flow" (days, clear scope)
Target: 1-3 days of work per task for an experienced developer.
Vertical Slicing
Prefer tasks that deliver working functionality over horizontal layers (the thin vertical slice principle — ${CLAUDE_PLUGIN_ROOT}/references/engineering-principles.md):
❌ Horizontal (avoid):
- TASK-001: Create all database schemas
- TASK-002: Create all API endpoints
- TASK-003: Create all UI components
✅ Vertical (prefer):
- TASK-001: User signup flow (DB + API + UI)
- TASK-002: User login flow (DB + API + UI)
- TASK-003: Profile management (DB + API + UI)
Decomposition is the planning side of slicing. Each sliced task is then built the same way — flag-first, end-to-end, test-committed per slice; see [[vertical-slice]].
Dependency Minimization
- Identify true dependencies vs. nice-to-haves
- Parallelize where possible
- Flag critical path tasks
YAGNI for Tasks
- Only create tasks for committed scope, not speculative features
- Challenge tasks that exist "just in case" or "for later"
- If unsure whether a task is needed, defer it to a future milestone
- Ask: "Is this task essential for the milestone, or is it gold-plating?"
Acceptance Criteria
Each criterion must be something that can be verified - checked or tested, not vague.
Good criteria (verifiable):
- "Add status column to tasks table with default 'pending'"
- "Filter dropdown has options: All, Active, Completed"
- "Clicking delete shows confirmation dialog"
- "Typecheck passes"
- "Tests pass"
Bad criteria (vague):
- "Works correctly"
- "User can do X easily"
- "Good UX"
- "Handles edge cases"
Standard criteria to include:
- Always end with: "Typecheck passes"
- For stories with testable logic, also include: "Tests pass"
Step 5: Map Dependencies
Create a dependency graph showing:
- Which tasks can run in parallel
- Critical path (longest chain of dependencies)
- Milestone boundaries
Format as both:
- List view - Dependencies noted on each task
- Graph view - ASCII diagram showing parallel tracks
M1: Auth
├── TASK-001: Cognito setup ─────────────────────┐
├── TASK-002: Auth API (depends: 001) ───────────┼──┐
├── TASK-003: Login UI (depends: 002) ───────────┘ │
└── TASK-004: Session management (depends: 002) ────┘
M2: Upload
├── TASK-005: S3 bucket setup (parallel with M1)
├── TASK-006: Upload API (depends: 002, 005) ────┐
└── TASK-007: Upload UI (depends: 006) ──────────┘Step 6: Review & Refine
Present the complete task list organized by milestone. Ask:
"Here's the task breakdown for [Milestone X].
- Are the task sizes appropriate for your team?
- Any missing tasks or unnecessary ones?
- Do the dependencies look right?
- Should any tasks be split or combined?"
Iterate until user approves, then write task files to {{specs_dir}}/tasks/.
Output structure:
- Create or update
{{specs_dir}}/tasks/_index.mdwith overview, milestone summary table, dependency graph, task status table, and critical path - For each new milestone, create a directory:
{{specs_dir}}/tasks/M{N}-{slug}/(e.g.,M1-core-auth/) - Write one file per task:
{{specs_dir}}/tasks/M{N}-{slug}/TASK-{NNN}.md - Each task file is self-contained — includes all fields from the Required Task Format
- Write or update
{{specs_dir}}/tasks/parking-lot.mdfor deferred tasks (if any)
Task status table in _index.md (required — used by /groundwork:work-on-next-task to find work without reading every task file):
### Task Status
| # | Task | Milestone | Status | Blocked by |
|---|------|-----------|--------|------------|
| TASK-001 | Auth setup | M1 | Not Started | None |
| TASK-002 | Login UI | M1 | Not Started | TASK-001 |If adding to existing tasks:
- Update
_index.md— add new rows to the status table, add the new milestone to the summary table, extend the dependency graph - Continue task numbering from the highest existing task number
- Do NOT regenerate or modify existing milestone directories or task files
Progressive presentation:
- Present tasks one milestone at a time
- Wait for approval on each milestone before presenting the next
- This catches scope creep early and keeps stakeholders engaged
Step 7: Validate Task List
After user approves the task list and before writing final version:
You MUST call the Skill tool now: Skill(skill="groundwork:task-validation-loop")
Do NOT skip validation or declare the task list complete without running this. It ensures PRD coverage, architecture alignment, and design system compliance.
Wait for validation loop to pass before proceeding.
If validation finds issues:
- The loop will automatically fix task list problems
- You may be asked for input on scope decisions
- Once all agents approve, continue to Step 8
Step 8: Suggest Next Step
After writing the tasks document, suggest the next workflow step:
"Task list created and validated with [N] tasks across [M] milestones. PRD coverage: [X]%
Next step: Run
/groundwork:work-on-next-taskto begin implementation, or/groundwork:work-on Nto work on a specific task."
Task Categories
Common task types to ensure coverage:
| Category | Examples |
| Infrastructure | IaC setup, CI/CD pipeline, environments |
| Data | Schema design, migrations, seed data |
| Backend | API endpoints, business logic, integrations |
| Frontend | Components, pages, state management |
| Design System | Token setup, component styling, theme implementation |
| Auth | Identity setup, authorization rules |
| Testing | Unit tests, integration tests, E2E |
| Observability | Logging, metrics, alerts |
| Documentation | API docs, runbooks, README |
| Security | Pen testing, security review, hardening |
Design System Tasks
When {{specs_dir}}/design_system.md exists, include design-specific tasks:
| Task Type | Related Decisions | Example |
| Token setup | DP-NNN | Configure CSS variables/Tailwind theme |
| Color system | BRD-001-005 | Implement brand palette, semantic colors |
| Typography | BRD-006-008 | Font loading, type scale utilities |
| Component styling | BRD-NNN, UXD-NNN | Button variants, form controls |
| Loading states | UXD-003-004 | Skeleton screens, spinners |
| Error handling | UXD-005-006 | Toast system, error boundaries |
| Empty states | UXD-007 | First-run, no-data components |
| Responsive layout | UXD-010-011 | Breakpoint utilities, layout adaptation |
| Motion system | UXD-012 | Animation utilities, reduced motion |
Reference design decisions in task Related Decisions field to ensure traceability.
Reference Files
${CLAUDE_PLUGIN_ROOT}/references/tasks/tasks-template.md- Template for tasks document
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

