{"id":"bcb8dfe5-c647-47d9-a5a4-9a81acce4ddf","shortId":"RE3bSE","kind":"skill","title":"speckit-tasks","tagline":"Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.","description":"# Spec Kit Tasks Skill\n\n## When to Use\n\n- The implementation plan is ready and you need a dependency-ordered task list.\n\n## Inputs\n\n- `specs/<feature>/plan.md` and `specs/<feature>/spec.md`\n- Optional artifacts: `data-model.md`, `contracts/`, `research.md`, `quickstart.md`\n- Any user constraints or priorities from the request\n\nIf the plan is missing, ask the user to run speckit-plan first.\n\n## Workflow\n\n1. **Setup**: Run `.specify/scripts/bash/check-prerequisites.sh --json` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like \"I'm Groot\", use escape syntax: e.g 'I'\\''m Groot' (or double-quote if possible: \"I'm Groot\").\n\n2. **Load design documents**: Read from FEATURE_DIR:\n   - **Required**: plan.md (tech stack, libraries, structure), spec.md (user stories with priorities)\n   - **Optional**: data-model.md (entities), contracts/ (API endpoints), research.md (decisions), quickstart.md (test scenarios)\n   - Note: Not all projects have all documents. Generate tasks based on what's available.\n\n3. **Execute task generation workflow**:\n   - Load plan.md and extract tech stack, libraries, project structure\n   - Load spec.md and extract user stories with their priorities (P1, P2, P3, etc.)\n   - If data-model.md exists: Extract entities and map to user stories\n   - If contracts/ exists: Map endpoints to user stories\n   - If research.md exists: Extract decisions for setup tasks\n   - Generate tasks organized by user story (see Task Generation Rules below)\n   - Generate dependency graph showing user story completion order\n   - Create parallel execution examples per user story\n   - Validate task completeness (each user story has all needed tasks, independently testable)\n\n4. **Generate tasks.md**: Use `.specify/templates/tasks-template.md` as structure, fill with:\n   - Correct feature name from plan.md\n   - Phase 1: Setup tasks (project initialization)\n   - Phase 2: Foundational tasks (blocking prerequisites for all user stories)\n   - Phase 3+: One phase per user story (in priority order from spec.md)\n   - Each phase includes: story goal, independent test criteria, tests (if requested), implementation tasks\n   - Final Phase: Polish & cross-cutting concerns\n   - All tasks must follow the strict checklist format (see Task Generation Rules below)\n   - Clear file paths for each task\n   - Dependencies section showing story completion order\n   - Parallel execution examples per story\n   - Implementation strategy section (MVP first, incremental delivery)\n\n5. **Report**: Output path to generated tasks.md and summary:\n   - Total task count\n   - Task count per user story\n   - Parallel opportunities identified\n   - Independent test criteria for each story\n   - Suggested MVP scope (typically just User Story 1)\n   - Format validation: Confirm ALL tasks follow the checklist format (checkbox, ID, labels, file paths)\n\nContext for task generation: the user's request and any stated priorities\n\nThe tasks.md should be immediately executable - each task must be specific enough that an LLM can complete it without additional context.\n\n## Task Generation Rules\n\n**CRITICAL**: Tasks MUST be organized by user story to enable independent implementation and testing.\n\n**Tests are OPTIONAL**: Only generate test tasks if explicitly requested in the feature specification or if user requests TDD approach.\n\n### Checklist Format (REQUIRED)\n\nEvery task MUST strictly follow this format:\n\n```text\n- [ ] [TaskID] [P?] [Story?] Description with file path\n```\n\n**Format Components**:\n\n1. **Checkbox**: ALWAYS start with `- [ ]` (markdown checkbox)\n2. **Task ID**: Sequential number (T001, T002, T003...) in execution order\n3. **[P] marker**: Include ONLY if task is parallelizable (different files, no dependencies on incomplete tasks)\n4. **[Story] label**: REQUIRED for user story phase tasks only\n   - Format: [US1], [US2], [US3], etc. (maps to user stories from spec.md)\n   - Setup phase: NO story label\n   - Foundational phase: NO story label\n   - User Story phases: MUST have story label\n   - Polish phase: NO story label\n5. **Description**: Clear action with exact file path\n\n**Examples**:\n\n- ✅ CORRECT: `- [ ] T001 Create project structure per implementation plan`\n- ✅ CORRECT: `- [ ] T005 [P] Implement authentication middleware in src/middleware/auth.py`\n- ✅ CORRECT: `- [ ] T012 [P] [US1] Create User model in src/models/user.py`\n- ✅ CORRECT: `- [ ] T014 [US1] Implement UserService in src/services/user_service.py`\n- ❌ WRONG: `- [ ] Create User model` (missing ID and Story label)\n- ❌ WRONG: `T001 [US1] Create model` (missing checkbox)\n- ❌ WRONG: `- [ ] [US1] Create User model` (missing Task ID)\n- ❌ WRONG: `- [ ] T001 [US1] Create model` (missing file path)\n\n### Task Organization\n\n1. **From User Stories (spec.md)** - PRIMARY ORGANIZATION:\n   - Each user story (P1, P2, P3...) gets its own phase\n   - Map all related components to their story:\n     - Models needed for that story\n     - Services needed for that story\n     - Endpoints/UI needed for that story\n     - If tests requested: Tests specific to that story\n   - Mark story dependencies (most stories should be independent)\n\n2. **From Contracts**:\n   - Map each contract/endpoint → to the user story it serves\n   - If tests requested: Each contract → contract test task [P] before implementation in that story's phase\n\n3. **From Data Model**:\n   - Map each entity to the user story(ies) that need it\n   - If entity serves multiple stories: Put in earliest story or Setup phase\n   - Relationships → service layer tasks in appropriate story phase\n\n4. **From Setup/Infrastructure**:\n   - Shared infrastructure → Setup phase (Phase 1)\n   - Foundational/blocking tasks → Foundational phase (Phase 2)\n   - Story-specific setup → within that story's phase\n\n### Phase Structure\n\n- **Phase 1**: Setup (project initialization)\n- **Phase 2**: Foundational (blocking prerequisites - MUST complete before user stories)\n- **Phase 3+**: User Stories in priority order (P1, P2, P3...)\n  - Within each story: Tests (if requested) → Models → Services → Endpoints → Integration\n  - Each phase should be a complete, independently testable increment\n- **Final Phase**: Polish & Cross-Cutting Concerns\n\n## Outputs\n\n- `specs/<feature>/tasks.md`\n\n## Next Steps\n\nAfter tasks are generated:\n\n- **Analyze** cross-artifact consistency with speckit-analyze.\n- **Implement** the plan with speckit-implement.","tags":["speckit","tasks","agent","skills","dceoy","agent-skills","ai-agents","ai-coding","claude-code","codex-cli","developer-tools","gemini-cli"],"capabilities":["skill","source-dceoy","skill-speckit-tasks","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-claude-code","topic-codex-cli","topic-developer-tools","topic-gemini-cli","topic-github-copilot","topic-spec-kit","topic-specifications","topic-workflow-automation"],"categories":["speckit-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/dceoy/speckit-agent-skills/speckit-tasks","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add dceoy/speckit-agent-skills","source_repo":"https://github.com/dceoy/speckit-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.488","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 76 github stars · SKILL.md body (6,422 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T06:55:43.623Z","embedding":null,"createdAt":"2026-04-18T22:13:46.455Z","updatedAt":"2026-05-02T06:55:43.623Z","lastSeenAt":"2026-05-02T06:55:43.623Z","tsv":"'/plan.md':42 '/spec.md':45 '/tasks.md':842 '1':75,271,388,493,645,771,790 '2':121,277,500,700,777,795 '3':165,287,511,728,805 '4':256,527,763 '5':355,570 'absolut':95 'action':6,573 'addit':434 'alway':495 'analyz':849,857 'api':144 'approach':472 'appropri':760 'arg':100 'artifact':18,47,852 'ask':65 'authent':591 'avail':16,88,164 'base':14,160 'block':280,797 'checkbox':398,494,499,626 'checklist':324,396,473 'clear':331,572 'complet':235,246,341,431,800,829 'compon':492,665 'concern':317,839 'confirm':391 'consist':853 'constraint':54 'context':403,435 'contract':49,143,203,702,716,717 'contract/endpoint':705 'correct':265,579,587,595,604 'count':366,368 'creat':237,581,599,612,623,629,638 'criteria':305,377 'critic':439 'cross':315,837,851 'cross-artifact':850 'cross-cut':314,836 'cut':316,838 'data':730 'data-model.md':48,141,193 'decis':147,214 'deliveri':354 'depend':8,36,230,337,523,694 'dependency-ord':7,35 'descript':487,571 'design':17,123 'differ':520 'dir':86,128 'doc':89 'document':124,157 'doubl':114 'double-quot':113 'e.g':108 'earliest':750 'enabl':448 'endpoint':145,206,822 'endpoints/ui':679 'enough':426 'entiti':142,196,734,744 'escap':106 'etc':191,541 'everi':476 'exact':575 'exampl':240,345,578 'execut':166,239,344,420,509 'exist':194,204,212 'explicit':461 'extract':173,182,195,213 'featur':13,85,127,266,465 'file':332,401,489,521,576,641 'fill':263 'final':311,833 'first':73,352 'follow':321,394,480 'format':325,389,397,474,482,491,537 'foundat':278,553,774,796 'foundational/blocking':772 'generat':4,158,168,218,226,229,257,328,360,406,437,457,848 'get':658 'goal':302 'graph':231 'groot':104,111,120 'id':399,502,616,634 'identifi':374 'ie':739 'immedi':419 'implement':27,309,348,450,585,590,607,722,858,864 'includ':300,514 'incomplet':525 'increment':353,832 'independ':254,303,375,449,699,830 'infrastructur':767 'initi':275,793 'input':40 'integr':823 'json':79 'kit':20 'label':400,529,552,557,564,569,619 'layer':757 'librari':133,176 'like':101 'list':39,90 'llm':429 'load':122,170,179 'm':103,110,119 'map':198,205,542,662,703,732 'mark':692 'markdown':498 'marker':513 'middlewar':592 'miss':64,615,625,632,640 'model':601,614,624,631,639,669,731,820 'multipl':746 'must':93,320,423,441,478,561,799 'mvp':351,382 'name':267 'need':33,252,670,675,680,741 'next':843 'note':151 'number':504 'one':288 'opportun':373 'option':46,140,455 'order':9,37,236,295,342,510,810 'organ':220,443,644,651 'output':357,840 'p':485,512,589,597,720 'p1':188,655,811 'p2':189,656,812 'p3':190,657,813 'parallel':238,343,372 'paralleliz':519 'pars':84 'path':92,333,358,402,490,577,642 'per':241,290,346,369,584 'phase':270,276,286,289,299,312,534,549,554,560,566,661,727,754,762,769,770,775,776,786,787,789,794,804,825,834 'plan':28,62,72,586,860 'plan.md':130,171,269 'polish':313,565,835 'possibl':117 'prerequisit':281,798 'primari':650 'prioriti':56,139,187,294,414,809 'project':154,177,274,582,792 'put':748 'quickstart.md':51,148 'quot':98,115 'read':125 'readi':30 'relat':664 'relationship':755 'repo':81 'report':356 'request':59,308,410,462,470,686,714,819 'requir':129,475,530 'research.md':50,146,211 'root':82 'rule':227,329,438 'run':69,77 'scenario':150 'scope':383 'section':338,350 'see':224,326 'sequenti':503 'serv':711,745 'servic':674,756,821 'setup':76,216,272,548,753,768,781,791 'setup/infrastructure':765 'share':766 'show':232,339 'singl':97 'skill':22 'skill-speckit-tasks' 'source-dceoy' 'spec':19,41,44,841 'spec.md':135,180,297,547,649 'specif':425,466,688,780 'specify/scripts/bash/check-prerequisites.sh':78 'specify/templates/tasks-template.md':260 'speckit':2,71,856,863 'speckit-analyz':855 'speckit-impl':862 'speckit-plan':70 'speckit-task':1 'src/middleware/auth.py':594 'src/models/user.py':603 'src/services/user_service.py':610 'stack':132,175 'start':496 'state':413 'step':844 'stori':137,184,201,209,223,234,243,249,285,292,301,340,347,371,380,387,446,486,528,533,545,551,556,559,563,568,618,648,654,668,673,678,683,691,693,696,709,725,738,747,751,761,779,784,803,807,816 'story-specif':778 'strategi':349 'strict':323,479 'structur':134,178,262,583,788 'suggest':381 'summari':363 'syntax':107 't001':505,580,621,636 't002':506 't003':507 't005':588 't012':596 't014':605 'task':3,21,38,159,167,217,219,225,245,253,273,279,310,319,327,336,365,367,393,405,422,436,440,459,477,501,517,526,535,633,643,719,758,773,846 'taskid':484 'tasks.md':10,258,361,416 'tdd':471 'tech':131,174 'test':149,304,306,376,452,453,458,685,687,713,718,817 'testabl':255,831 'text':483 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-claude-code' 'topic-codex-cli' 'topic-developer-tools' 'topic-gemini-cli' 'topic-github-copilot' 'topic-spec-kit' 'topic-specifications' 'topic-workflow-automation' 'total':364 'typic':384 'us1':538,598,606,622,628,637 'us2':539 'us3':540 'use':25,105,259 'user':53,67,136,183,200,208,222,233,242,248,284,291,370,386,408,445,469,532,544,558,600,613,630,647,653,708,737,802,806 'userservic':608 'valid':244,390 'within':782,814 'without':433 'workflow':74,169 'wrong':611,620,627,635","prices":[{"id":"c93e7c81-bb5c-4f99-8235-0f57fba9b066","listingId":"bcb8dfe5-c647-47d9-a5a4-9a81acce4ddf","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"dceoy","category":"speckit-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:13:46.455Z"}],"sources":[{"listingId":"bcb8dfe5-c647-47d9-a5a4-9a81acce4ddf","source":"github","sourceId":"dceoy/speckit-agent-skills/speckit-tasks","sourceUrl":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/speckit-tasks","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:46.455Z","lastSeenAt":"2026-05-02T06:55:43.623Z"}],"details":{"listingId":"bcb8dfe5-c647-47d9-a5a4-9a81acce4ddf","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dceoy","slug":"speckit-tasks","github":{"repo":"dceoy/speckit-agent-skills","stars":76,"topics":["agent-skills","ai-agents","ai-coding","claude-code","codex-cli","developer-tools","gemini-cli","github-copilot","spec-kit","specifications","workflow-automation"],"license":"agpl-3.0","html_url":"https://github.com/dceoy/speckit-agent-skills","pushed_at":"2026-03-14T17:14:42Z","description":"Agent skills for Spec Kit","skill_md_sha":"f459cda55ec9fb1a33598ed86018ec9f85dc82e3","skill_md_path":"skills/speckit-tasks/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dceoy/speckit-agent-skills/tree/main/skills/speckit-tasks"},"layout":"multi","source":"github","category":"speckit-agent-skills","frontmatter":{"name":"speckit-tasks","description":"Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts."},"skills_sh_url":"https://skills.sh/dceoy/speckit-agent-skills/speckit-tasks"},"updatedAt":"2026-05-02T06:55:43.623Z"}}