SPEC-0011: Project Workspace Enrichment
Overview
Enriches tracker-native projects created by /sdd:plan and /sdd:organize with navigational context, structured views, iteration fields, and sane defaults so that both LLM agents and human developers can effectively navigate and manage planned work. Formalizes 📝 ADR-0012 (Project Workspace Enrichment), which extends the project grouping capabilities of 📝 ADR-0009 and the story-sized issue granularity of 📝 ADR-0011.
Requirements
Requirement: GitHub Project Description and README
Projects created or managed by /sdd:plan and /sdd:organize SHALL have a short description and a README. The description SHALL be a one-liner summarizing the project scope (e.g., "Implementation of SPEC-0003: JWT Authentication"). The README SHALL be a structured navigational document written as a GitHub Project README field (not a repository file) containing spec references, governing ADRs, key files with line-number references, a story index, and dependency ordering. The README serves as project-scoped agent context, analogous to /sdd:prime output but limited to the project's scope.
Scenario: Plan creates project with README
- WHEN
/sdd:plancreates a new GitHub Project for an epic - THEN the project SHALL have a description set to "Implementation of {SPEC-XXXX}: {Capability Title}"
- AND the project SHALL have a README containing:
- Paths to
spec.mdanddesign.mdwith brief summaries - A list of governing ADRs with titles and file paths
- Key source files, modules, and directories relevant to the project scope
- A story index listing all story issue numbers, titles, and branch names
- Dependency ordering showing logical story sequencing
- Paths to
Scenario: Organize adds README to existing project
- WHEN
/sdd:organizerestructures an existing GitHub Project (tier b or c) - THEN the skill SHALL add or replace the project README with the same structure as above, derived from the spec and its current stories
Scenario: README content structure
- WHEN the README is generated for any project
- THEN the README SHALL follow this template:
# {Project Title}
## Spec
- **spec.md**: `docs/openspec/specs/{name}/spec.md` -- {one-line summary}
- **design.md**: `docs/openspec/specs/{name}/design.md` -- {one-line summary}
## Governing ADRs
- ADR-XXXX: {title} (`docs/adrs/ADR-XXXX-{slug}.md`)
## Key Files
- `src/{path}:{line}` -- {symbol or description}
## Stories
| # | Title | Branch | Status |
|---|-------|--------|--------|
| {number} | {title} | `feature/{number}-{slug}` | Open |
## Dependencies
{number} -> {number} -> {number}
Requirement: GitHub Project Iteration Fields
Projects created by /sdd:plan SHALL have an iteration field named "Sprint" with a default cycle length of 2 weeks. The cycle length SHALL be configurable via .claude-plugin-design.json key projects.iteration_weeks. Stories SHALL be assigned to iterations based on their dependency ordering: foundation stories go into Sprint 1, dependent stories into Sprint 2, and so on. The iteration field MUST be created via the GitHub Projects V2 GraphQL API (gh api graphql).
Scenario: Iteration field creation
- WHEN
/sdd:plancreates a GitHub Project - THEN the skill SHALL add an iteration field named "Sprint" to the project with a cycle length equal to
projects.iteration_weeks(default: 2 weeks) - AND the iteration field SHALL be created using
gh api graphql -f query='...'with thecreateProjectV2Fieldmutation