SPEC-0006: Tasks.md Fallback for Trackerless Projects
Overviewโ
When no external issue tracker (Beads, GitHub, Gitea, GitLab, Jira, Linear) is available during sprint planning, the /design:plan skill SHALL generate a tasks.md file as an openspec artifact co-located with spec.md and design.md. This provides durable, machine-parseable task tracking without requiring external tooling. See ๐ ADR-0007 and ๐ ADR-0008.
Requirementsโ
Requirement: Tracker Detection Fallbackโ
The /design:plan skill MUST detect available issue trackers (see references/shared-patterns.md ยง "Tracker Detection"). When no tracker is detected, the skill SHALL generate a tasks.md file instead of printing an ephemeral markdown table to the conversation.
Scenario: No tracker availableโ
- WHEN sprint planning runs and no issue tracker (Beads, GitHub, Gitea) is detected
- THEN the skill SHALL generate
docs/openspec/specs/{capability-name}/tasks.mdwith implementation tasks derived from the spec requirements
Scenario: Tracker is availableโ
- WHEN sprint planning runs and at least one issue tracker is detected
- THEN the skill SHALL use the detected tracker as before and MUST NOT generate a
tasks.mdfile
Requirement: Tasks.md File Locationโ
The generated tasks.md MUST be placed in the same directory as the spec's spec.md and design.md files, at docs/openspec/specs/{capability-name}/tasks.md.
Scenario: Co-location with spec artifactsโ
- WHEN
tasks.mdis generated for a spec indocs/openspec/specs/web-dashboard/ - THEN the file SHALL be written to
docs/openspec/specs/web-dashboard/tasks.md
Requirement: Checkbox Task Formatโ
Every task in tasks.md MUST use the markdown checkbox format - [ ] X.Y Task description where X is the section number and Y is the task number within that section. Tasks not using - [ ] format MUST NOT be considered trackable.
Scenario: Parseable checkbox formatโ
- WHEN
tasks.mdis generated - THEN every implementation task SHALL be a checkbox item matching the pattern
- [ ] X.Y Task description
Scenario: Completed task markingโ
- WHEN a task is completed by an agent or user
- THEN the checkbox SHALL be updated from
- [ ]to- [x]
Requirement: Section-Grouped Task Structureโ
Tasks in tasks.md MUST be grouped under numbered ## headings (e.g., ## 1. Setup, ## 2. Core Implementation). Tasks within each section MUST be numbered sequentially using the section prefix (e.g., 1.1, 1.2, 2.1).
Scenario: Numbered section headingsโ
- WHEN
tasks.mdis generated - THEN tasks SHALL be organized under
## N. Section Titleheadings with sequentially numbered tasks
Scenario: Dependency orderingโ
- WHEN tasks have dependencies on each other
- THEN sections SHOULD be ordered so that prerequisite tasks appear in earlier sections
Requirement: Spec-Derived Task Contentโ
Tasks MUST be derived from the spec's ### Requirement: sections and their scenarios. Each requirement SHOULD produce at least one task. Complex requirements with multiple scenarios MAY produce multiple tasks or a dedicated section.
Scenario: Requirement traceabilityโ
- WHEN tasks are generated from a spec
- THEN each task SHOULD reference the governing requirement or scenario it implements
Scenario: Task granularityโ
- WHEN tasks are generated
- THEN each task SHALL be small enough to complete in one coding session and SHALL have a verifiable completion criterion
Requirement: Progress Tracking Parseabilityโ
An apply phase or downstream tooling MUST be able to parse tasks.md to determine completion status. The parsing rules SHALL be: count lines matching - [x] as completed, count lines matching - [ ] as pending, and compute completion percentage as completed / total * 100.
Scenario: Progress calculationโ
- WHEN a
tasks.mdcontains 8 total checkbox items and 3 are marked- [x] - THEN a parser SHALL report 3 completed, 5 pending, and 37.5% completion
Scenario: Non-checkbox lines ignoredโ
- WHEN a
tasks.mdcontains section headings, blank lines, or descriptive text - THEN a parser SHALL ignore those lines and only count
- [ ]and- [x]patterns