6.0 KiB
description, handoffs
| description | handoffs | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Generate an actionable, dependency-ordered tasks.md for the active Python/Svelte feature. |
|
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Outline
-
Setup: Run
.specify/scripts/bash/check-prerequisites.sh --jsonfrom repo root and parseFEATURE_DIRandAVAILABLE_DOCS.FEATURE_DIRunderspecs/<feature>/is the only valid output location fortasks.md.
-
Load design documents from
FEATURE_DIR:- Required:
plan.md,spec.md,ux_reference.md - Optional:
data-model.md,contracts/,research.md,quickstart.md - Required when referenced by plan: ADR artifacts under
docs/adr/or feature-local planning docs
- Required:
-
Build the task model:
- Extract user stories and priorities from
spec.md - Extract repository structure, backend/frontend scope, verification stack, and semantic constraints from
plan.md - Extract accepted-path and rejected-path memory from ADRs and
contracts/modules.md - Map entities, API payloads, UI components, and verification scenarios to stories
- Generate tasks grouped by story and ordered by dependency
- Validate that no task schedules an ADR-rejected path
- Extract user stories and priorities from
-
Generate
tasks.mdusing.specify/templates/tasks-template.mdas the structure:- Phase 1: Setup
- Phase 2: Foundational work
- Phase 3+: one phase per user story in priority order
- Final phase: polish and cross-cutting verification
- Every task must use the strict checklist format and include exact file paths
- Write the final document to
FEATURE_DIR/tasks.md, never to.kilo/plans/or other side folders
-
Report the generated path and summarize:
- total task count
- task count per user story
- parallel opportunities
- story-level independent verification criteria
- inherited ADR/guardrail coverage
Task Generation Rules
Story Organization
Tasks MUST be grouped by user story so each story can be implemented and verified independently.
Required Format
Every task MUST follow:
- [ ] T001 [P] [US1] Description with exact file path
Rules:
- [ ]checkbox is mandatory- sequential task IDs (
T001,T002, ...) [P]only for truly parallelizable tasks[USx]required only for user-story phases- exact file paths required in the description
Python / Svelte Pathing
Prefer real repository paths such as:
Backend (Python):
backend/src/api/*.py(FastAPI routes)backend/src/core/**/*.py(core services, task manager, auth, migration, plugins)backend/src/models/*.py(SQLAlchemy models)backend/src/services/*.py(business logic)backend/src/schemas/*.py(Pydantic schemas)backend/tests/*.py(pytest tests)
Frontend (Svelte):
frontend/src/routes/**/*.svelte(SvelteKit pages)frontend/src/lib/components/**/*.svelte(reusable Svelte 5 components)frontend/src/lib/stores/*.svelte.js(Svelte rune stores)frontend/src/lib/api/*.js(API client modules)frontend/tests/**/*.test.js(vitest tests)
Shared/Infrastructure:
docs/adr/*.mddocker/*specs/<feature>/contracts/*.md
Do not generate default tasks for:
src/**/*.rsortests/*.rsCargo.tomlcargocommands- MCP server/tool/resource syntax unless the feature actually introduces them
Verification Discipline
Each story phase must end with:
- a verification task against
ux_reference.mdinterpreted as the API caller, CLI operator, or Svelte UX interaction contract - a semantic audit / verification task tied to repository validators and touched contracts
Typical verification tasks may include:
- focused
pytest backend/tests/test_<module>.pycommands cd backend && pytest(full backend suite)cd frontend && npm run test(vitest suite)ruff check backend/(Python lint)cd frontend && npm run build(Svelte build validation)python3 scripts/static_verify.py(semantic static verification)
Only include the commands that are truly required by the feature scope.
Contract and ADR Propagation
If a task implements or depends on a guarded contract, append a concise guardrail summary derived from @RATIONALE and @REJECTED.
Examples:
- [ ] T021 [US1] Implement report generation endpoint in backend/src/api/reports.py (RATIONALE: unified report envelope preserves task-shaped parity; REJECTED: ad-hoc per-endpoint response shapes)- [ ] T033 [US2] Add WebSocket logging handler in backend/src/core/task_manager/ws_handler.py (RATIONALE: C4/C5 flows must expose real-time log streaming; REJECTED: polling-based log retrieval)- [ ] T040 [US3] Create DashboardCard component in frontend/src/lib/components/DashboardCard.svelte (RATIONALE: @UX_STATE must cover Idle/Loading/Error/Empty; REJECTED: single-state inline rendering without recovery)
If no safe executable task wording exists because the accepted path is still unclear, stop and emit [NEED_CONTEXT: target].
Test Tasks
Tests are optional only when the feature truly has no new verification surface. In this repository, test tasks are usually expected for:
- new FastAPI endpoints / WebSocket handlers
- new plugin or service modules
- new Svelte components with
@UX_STATEcontracts - C4/C5 semantic contracts
- runtime evidence / belief-state behavior
- rejected-path regression coverage
Decision-Memory Validation Gate
Before finalizing tasks.md, verify that:
- blocking ADRs are inherited into setup/foundational or downstream story tasks
- no task text schedules a rejected path
- story tasks remain executable within the actual Python/Svelte repository structure
- at least one explicit verification task protects against rejected-path regression