@houseofwolvesllc/claude-scrum-skill 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,57 +1,73 @@
1
1
  # Claude Scrum Skill
2
2
 
3
- An open-source npm package of Claude Code skills that give you a complete scrum pipeline — from PRD to production release — with Claude as your scrum master. Includes project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, autonomous orchestration, and project cleanup. One PR per sprint, or let Claude drive the entire lifecycle hands-free.
3
+ An open-source npm package of Claude Code skills that give you a complete scrum pipeline — from PRD to production release — with Claude as your scrum master. Works with **local file-based backlogs**, **GitHub Projects**, **Jira**, or **Trello**.
4
+
5
+ Includes project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, autonomous orchestration, and project cleanup.
4
6
 
5
7
  ```
6
8
  Manual mode — you invoke each skill:
7
9
 
8
- PRD/project-scaffold GitHub Project with sprints, stories, branches
9
-
10
- /sprint-plan populate the next sprint
11
-
12
- Claude works stories auto-merge to release branch
13
-
14
- /sprint-status check progress anytime
15
-
16
- /sprint-release wrap up sprint, open release PR
17
-
18
- You review one PR merge to development
19
-
20
- /sprint-plan next cycle
10
+ PRD --> /project-scaffold --> backlog (local, GitHub, Jira, or Trello)
11
+ |
12
+ /sprint-plan --> populate the next sprint
13
+ |
14
+ Claude works stories --> commits to release branch
15
+ |
16
+ /sprint-status --> check progress anytime
17
+ |
18
+ /sprint-release --> wrap up sprint, merge to development
19
+ |
20
+ You review --> merge to main when ready
21
+ |
22
+ /sprint-plan --> next cycle
21
23
 
22
24
  Autonomous mode — one command drives the full lifecycle:
23
25
 
24
- PRD (optional)/project-orchestrate (scaffolds PRD if given, else uses existing board)
25
-
26
- ┌──────── Epic Completion Loop ────────┐
27
- /sprint-plan execute stories
28
- /sprint-release merge to dev
29
- branch cleanup next sprint │
30
- │ (repeat until all epics done) │
31
- └──────────────┬───────────────────────┘
32
-
33
- ┌──── Emulation Hardening Loop ────────┐
34
- /project-emulate parse findings
35
- generate PRD /project-scaffold
36
- │ → fix sprints → re-emulate │
37
- │ (repeat until clean) │
38
- └──────────────┬───────────────────────┘
39
-
40
- Production-ready codebase
26
+ PRD (optional) --> /project-orchestrate
27
+ |
28
+ +----- Epic Completion Loop ------+
29
+ | /sprint-plan --> execute stories |
30
+ | --> /sprint-release --> merge |
31
+ | --> branch cleanup --> repeat |
32
+ +----------------+-----------------+
33
+ |
34
+ +--- Emulation Hardening Loop ----+
35
+ | /project-emulate --> findings |
36
+ | --> generate PRD --> scaffold |
37
+ | --> fix sprints --> re-emulate |
38
+ +----------------+-----------------+
39
+ |
40
+ Production-ready codebase
41
41
  ```
42
42
 
43
+ ---
44
+
45
+ ## Table of Contents
46
+
47
+ - [Installation](#installation)
48
+ - [Configuration](#configuration)
49
+ - [Quick Start](#quick-start)
50
+ - [Provider Setup](#provider-setup)
51
+ - [Skills Reference](#skills-reference)
52
+ - [Branch Strategy](#branch-strategy)
53
+ - [Personas](#personas)
54
+ - [Autonomous Orchestration](#autonomous-orchestration)
55
+ - [Customization](#customization)
56
+ - [Tips](#tips)
57
+ - [License](#license)
58
+
59
+ ---
60
+
43
61
  ## Installation
44
62
 
45
63
  ### Claude Code Plugin (recommended)
46
64
 
47
- Add the marketplace and install the plugin directly from GitHub:
48
-
49
65
  ```
50
66
  /plugin marketplace add houseofwolvesllc/claudescrumskill
51
67
  /plugin install claude-scrum-skill@houseofwolvesllc
52
68
  ```
53
69
 
54
- This installs all seven skills as a native Claude Code plugin with automatic updates. To update later:
70
+ This installs all skills as a native Claude Code plugin with automatic updates. To update later:
55
71
 
56
72
  ```
57
73
  /plugin marketplace update
@@ -60,311 +76,396 @@ This installs all seven skills as a native Claude Code plugin with automatic upd
60
76
  ### npm
61
77
 
62
78
  ```bash
63
- # Global — installs to ~/.claude/skills/ (all projects)
79
+ # Global install available in all projects
64
80
  npm install -g @houseofwolvesllc/claude-scrum-skill
65
81
 
66
- # Local — installs to <project>/.claude/skills/ (this project only)
82
+ # Local install — this project only
67
83
  npm install @houseofwolvesllc/claude-scrum-skill
68
84
  ```
69
85
 
70
- Global install copies skills to `~/.claude/skills/` so they're available everywhere. Local install copies them to your project's `.claude/skills/` directory — useful for dev containers and CI where the home directory is ephemeral.
86
+ Global install copies skills to `~/.claude/skills/`. Local install copies them to `<project>/.claude/skills/` and adds `.claude-scrum-skill` to your `.gitignore`.
71
87
 
72
88
  ### Manual
73
89
 
74
- Clone the repo and copy the `skills/` contents into `~/.claude/skills/` (global) or `your-repo/.claude/skills/` (per-project). All skill directories must be siblings `sprint-plan`, `sprint-status`, and `sprint-release` reference `../project-scaffold/references/CONVENTIONS.md` via relative path.
90
+ Clone the repo and copy the `skills/` contents into `~/.claude/skills/` (global) or `<project>/.claude/skills/` (per-project). All skill directories must be siblings under the same parent, with `shared/` alongside them — skills reference `../shared/references/` via relative paths.
91
+
92
+ > **Note:** After installing, restart Claude Code for the skills to become available.
93
+
94
+ ---
95
+
96
+ ## Configuration
97
+
98
+ All configuration lives in `skills/shared/config.json`:
99
+
100
+ ```json
101
+ {
102
+ "scaffolding": "local",
103
+ "paths": {
104
+ "specs": ".claude-scrum-skill/specs",
105
+ "adr": ".claude-scrum-skill/adr",
106
+ "backlog": ".claude-scrum-skill/backlog",
107
+ "context": ".claude-scrum-skill/context"
108
+ },
109
+ "scaffold": {
110
+ "two_pass_threshold_words": 5000,
111
+ "design_spike_enabled": true
112
+ },
113
+ "jira": {
114
+ "project_key": ""
115
+ },
116
+ "trello": {
117
+ "board_id": ""
118
+ }
119
+ }
120
+ ```
75
121
 
76
- **Note:** After installing, restart Claude Code for the skills to become available.
122
+ ### Scaffolding Modes
77
123
 
78
- ## Quick Start
124
+ | Mode | Description | Auth Required |
125
+ |------|-------------|---------------|
126
+ | `local` | File-based backlog in your project directory (default) | None |
127
+ | `github` | GitHub Issues, Milestones, and Projects | `gh` CLI |
128
+ | `jira` | Jira Cloud issues, epics, and sprints | Env vars |
129
+ | `trello` | Trello boards, lists, and cards | Env vars |
79
130
 
80
- ### 1. Create a Fine-Grained GitHub Personal Access Token
131
+ ### Two-Pass Mode
81
132
 
82
- These skills use `gh` for all GitHub operations. You need a fine-grained PAT scoped to the repos you want to manage.
133
+ For large PRDs, `/project-scaffold` automatically switches from single-pass to **two-pass** scaffolding. Pass 1 extracts only the epic skeleton (one agent reads the whole PRD); Pass 2 spawns one focused subagent per epic to elaborate that epic's stories. Per-epic context stays tight regardless of PRD size, so the last epic's stories are as well-specified as the first.
83
134
 
84
- **Step 1:** Go to [github.com/settings/personal-access-tokens](https://github.com/settings/personal-access-tokens) and click **Generate new token**.
135
+ **Triggers** (first match wins):
85
136
 
86
- **Step 2:** Fill in the token details:
87
- - **Token name** Something descriptive like `claude-code-pm`
88
- - **Expiration** Set a reasonable window (90 days is a good default)
89
- - **Resource owner** — Your account (or your org if the repos live there)
90
- - **Repository access** — Select **Only select repositories**, then pick the repos these skills will manage
137
+ 1. PRD frontmatter `scaffold_mode: single-pass | two-pass` (explicit override)
138
+ 2. CLI flag `--mode single-pass | two-pass`
139
+ 3. PRD word count exceeds `scaffold.two_pass_threshold_words` (default `5000`)
91
140
 
92
- **Step 3:** Under **Permissions Repository permissions**, grant:
141
+ If Pass 1 finds 2 epics, scaffolding auto-downgrades to single-pass elaboration since the two-pass overhead isn't justified at that scale. Failures retry once and degrade gracefully — Pass 1 falls back to single-pass; Pass 2 marks the affected epic's stories `needs-context` and lets sibling subagents continue.
93
142
 
94
- | Permission | Access | Why |
95
- |---|---|---|
96
- | Contents | Read & Write | Create branches, push commits |
97
- | Issues | Read & Write | Create and update stories on the project board |
98
- | Metadata | Read | Required by GitHub for all fine-grained PATs |
99
- | Pull requests | Read & Write | Open PRs for story branches and releases |
143
+ The chosen mode and reasoning are announced before scaffolding begins, so you always know why a given path was taken.
100
144
 
101
- **Step 4:** Under **Permissions → Account permissions**, grant:
145
+ ### Design-Spike Epic
102
146
 
103
- | Permission | Access | Why |
104
- |---|---|---|
105
- | Projects | Read & Write | Create project boards, custom fields, and views |
147
+ When `/project-scaffold` runs two-pass on a multi-epic PRD, it auto-injects a research-driven **design-spike epic** at the head of the project. This epic's stories (all `persona: research`) produce:
106
148
 
107
- **Step 5:** Click **Generate token** and copy it immediately — you won't see it again.
149
+ - One foundational **ADR** at `<paths.adr>/NNNN-<slug>.md`
150
+ - One per-implementation-epic **CONTEXT.md** at `<paths.context>/<epic-slug>/CONTEXT.md`
108
151
 
109
- **Step 6:** Authenticate the GitHub CLI with your new token:
152
+ Implementation epics are gated on the design-spike epic via the existing `blocked_by` mechanism, so no implementation story enters a sprint until its CONTEXT.md exists. During execution, `/project-orchestrate` subagents read `CONTEXT.md` in addition to `CLAUDE.md` before writing code — its naming, file layout, types, and patterns sections override generic CLAUDE.md conventions for that epic. This gives every parallel subagent a shared anchor, eliminating the cross-story drift that otherwise compounds before the sprint review gate.
110
153
 
111
- ```bash
112
- echo "YOUR_TOKEN" | gh auth login --with-token
113
- ```
154
+ **Triggers** (first match wins):
114
155
 
115
- Verify it worked:
156
+ 1. PRD frontmatter `design_spike: true | false`
157
+ 2. CLI flag `--design-spike | --no-design-spike`
158
+ 3. `scaffold.design_spike_enabled` config (default `true`)
159
+ 4. Auto-trigger: two-pass mode + > 1 implementation epic
116
160
 
117
- ```bash
118
- gh auth status
119
- ```
161
+ Artifacts are committed to the `development` branch via the filesystem in **all** backends — git is the universal substrate. Remote backends may surface links via milestone/epic descriptions but the committed files are the single source of truth.
120
162
 
121
- **Security tip:** Do not grant write access to your `main` branch via the token. Set up branch protection rules so merges to `main` always require your manual review. This is the gate that keeps you in control.
163
+ Detection signal is the `type:design-spike` label (GitHub/Trello/Jira) or `epic_type: design-spike` frontmatter field (local). The default epic title is "Architecture & Design" but the title is not load-bearing.
122
164
 
123
- ### 2. Write a PRD
165
+ ### Configurable Paths
124
166
 
125
- Create a markdown file with your project requirements. The more structured, the better the scaffold. At minimum, include:
126
- - Project name and description
127
- - Epics or major bodies of work with clear boundaries
128
- - User stories or features per epic
129
- - Acceptance criteria for each story
167
+ | Path | Default | Purpose |
168
+ |------|---------|---------|
169
+ | `paths.specs` | `.claude-scrum-skill/specs` | Spec documents from `/spec` |
170
+ | `paths.adr` | `.claude-scrum-skill/adr` | Architecture Decision Records |
171
+ | `paths.backlog` | `.claude-scrum-skill/backlog` | Local backlog files (local mode only) |
172
+ | `paths.context` | `.claude-scrum-skill/context` | Per-epic CONTEXT.md files produced by the design-spike epic |
130
173
 
131
- ### 3. Scaffold the Project
174
+ To check these files into version control (e.g., `docs/adr`), change the path and it won't be covered by the `.gitignore` entry for `.claude-scrum-skill`.
132
175
 
133
- Open Claude Code in your repo and run:
176
+ ### Scaffolding Behavior
134
177
 
135
- ```
136
- /project-scaffold path/to/your-prd.md
137
- ```
178
+ | Key | Default | Purpose |
179
+ |-----|---------|---------|
180
+ | `scaffold.two_pass_threshold_words` | `5000` | PRD word count above which two-pass scaffolding auto-triggers |
181
+ | `scaffold.design_spike_enabled` | `true` | Global enable switch for the design-spike pre-epic |
138
182
 
139
- This creates:
140
- - A GitHub Project board with custom fields (Status, Sprint, Priority, Executor, Story Points)
141
- - Board views: Current Sprint, Claude Queue, My Tasks, Backlog, Epic Overview
142
- - Issues for every story, labeled with type, priority, executor, and `epic:<slug>`
143
- - Epics tracked two ways: `epic:*` labels for visibility + milestones for progress tracking
144
- - Release branches for each epic
145
- - Branch protection on main
183
+ ---
146
184
 
147
- Already have an existing project? The skill detects it and offers to add stories to existing epics or create new ones — no need to scaffold from scratch every time.
185
+ ## Quick Start
148
186
 
149
- ### 4. Plan a Sprint
187
+ ### Local Mode (default — no setup required)
150
188
 
151
- ```
152
- /sprint-plan owner/repo
153
- ```
189
+ 1. **Write a PRD** — Create a markdown file describing your project, epics, and stories.
154
190
 
155
- The skill pulls stories from the backlog, assigns them to the next sprint iteration, and sets up the release branch. It respects your velocity target (default: 20 story points) and prioritizes by the Priority field.
191
+ Optionally include YAML frontmatter to override the auto-detected scaffolding behavior:
156
192
 
157
- ### 5. Assign an Executor
193
+ ```yaml
194
+ ---
195
+ title: My Project
196
+ scaffold_mode: two-pass # force two-pass even for a small PRD
197
+ design_spike: false # suppress the design-spike epic even when triggered
198
+ ---
199
+ ```
158
200
 
159
- Three executor labels control who works each story:
201
+ Both fields are optional omit them to use the word-count heuristic and the auto-injection rules described in [Two-Pass Mode](#two-pass-mode) and [Design-Spike Epic](#design-spike-epic).
160
202
 
161
- | Label | Who | When |
162
- |---|---|---|
163
- | `executor:claude` | Claude Code | Clear implementation path, no human judgment needed |
164
- | `executor:human` | You | Business decisions, credentials, external approvals |
165
- | `executor:cowork` | Cowork agent | Research, drafting, web-based tasks |
203
+ 2. **Scaffold the project:**
204
+ ```
205
+ /project-scaffold path/to/prd.md
206
+ ```
207
+ This creates a local backlog with epic directories and story files in `.claude-scrum-skill/backlog/`.
166
208
 
167
- ### 6. Hand Off to Claude Code
209
+ 3. **Plan a sprint:**
210
+ ```
211
+ /sprint-plan
212
+ ```
168
213
 
169
- In Claude Code, tell it to work the sprint:
214
+ 4. **Work stories** Tell Claude to pick up `executor:claude` stories from the sprint.
170
215
 
171
- > "Pick up the current sprint. Work through all stories labeled executor:claude in priority order. For each story, create a feature branch off the release branch, implement, open a PR back to the release branch, and move the issue to Done."
216
+ 5. **Check progress:**
217
+ ```
218
+ /sprint-status
219
+ ```
172
220
 
173
- Claude works autonomously — branching, committing, opening PRs with auto-merge to the release branch.
221
+ 6. **Release the sprint:**
222
+ ```
223
+ /sprint-release
224
+ ```
174
225
 
175
- ### 7. Check Progress
226
+ 7. **Or go fully autonomous:**
227
+ ```
228
+ /project-orchestrate path/to/prd.md
229
+ ```
176
230
 
177
- ```
178
- /sprint-status owner/repo
179
- ```
231
+ ### Remote Mode (GitHub, Jira, or Trello)
180
232
 
181
- Get a progress report: stories completed vs. remaining, burndown, blockers, and what Claude is working on.
233
+ 1. Set `"scaffolding"` in `config.json` to `"github"`, `"jira"`, or `"trello"`.
234
+ 2. Complete the [provider setup](#provider-setup) for your chosen provider.
235
+ 3. Follow the same workflow above — the skills automatically use the configured provider's API.
182
236
 
183
- ### 8. Release the Sprint
237
+ ---
184
238
 
185
- ```
186
- /sprint-release owner/repo
187
- ```
239
+ ## Provider Setup
188
240
 
189
- This closes the sprint, opens a release PR from the release branch into `development`, and summarizes everything that shipped. You review one PR, merge it, and the sprint is done. When you're ready for production, promote `development` into `main`.
241
+ ### GitHub
190
242
 
191
- ### 9. Emulate the Project
243
+ Create a fine-grained Personal Access Token:
192
244
 
193
- ```
194
- /project-emulate
195
- ```
245
+ 1. Go to [github.com/settings/personal-access-tokens](https://github.com/settings/personal-access-tokens) and generate a new token.
196
246
 
197
- Claude reads the entire codebase and runs a multi-phase validation:
247
+ 2. Grant these **repository permissions**:
198
248
 
199
- 1. **Discovery** finds every role, action, and permission boundary
200
- 2. **Integration seam validation** — checks that Docker, build tools, transpilers, IoC containers, config files, and service contracts are mutually consistent
201
- 3. **Layer contract validation** traces data through response helpers, middleware chains, IoC resolution, config stores, and error handlers to verify every layer agrees on data shapes
202
- 4. **Cross-service payload validation** verifies that request/response bodies, query parameters, headers, shared types, pagination contracts, and error shapes match across service boundaries
203
- 5. **Full lifecycle walkthrough** emulates each role executing each action from deployment through teardown
204
- 6. **Coverage report** permission matrix, categorized issues, and missing coverage
249
+ | Permission | Access | Why |
250
+ |---|---|---|
251
+ | Contents | Read & Write | Create branches, push commits |
252
+ | Issues | Read & Write | Create and update stories |
253
+ | Metadata | Read | Required by GitHub for all PATs |
254
+ | Pull requests | Read & Write | Open PRs for releases |
205
255
 
206
- ### 10. Orchestrate (Optional Full Autonomy)
256
+ 3. Grant this **account permission**:
207
257
 
208
- ```
209
- # Scaffold a PRD and orchestrate only its epics/stories
210
- /project-orchestrate path/to/prd.md
258
+ | Permission | Access | Why |
259
+ |---|---|---|
260
+ | Projects | Read & Write | Create project boards and fields |
211
261
 
212
- # Orchestrate all open epics/stories on an existing project
213
- /project-orchestrate owner/repo
262
+ 4. Authenticate the CLI:
263
+ ```bash
264
+ echo "YOUR_TOKEN" | gh auth login --with-token
265
+ gh auth status
266
+ ```
214
267
 
215
- # Both scaffold PRD into a specific repo, then orchestrate
216
- /project-orchestrate path/to/prd.md owner/repo
217
- ```
268
+ > **Security tip:** Do not grant write access to `main`. Set up branch protection so merges to `main` always require your review.
218
269
 
219
- Instead of manually invoking each skill at every step, let Claude drive the entire lifecycle autonomously. Pass a PRD to scaffold and execute just that work, or pass a repo to execute everything on the board. The orchestrator loops through sprint planning, story execution (parallel subagents for `executor:claude` stories), sprint release, merge to development, and branch cleanup — repeating until all in-scope epics are complete. Then it runs emulation hardening loops against the **entire codebase** (not just the new work): emulate, generate a findings PRD, scaffold a hardening epic, fix everything, and re-emulate until the codebase is clean.
270
+ ### Jira
220
271
 
221
- Human/cowork stories are skipped (they roll over). Merges to `development` happen automatically. Merges to `main` still require your review. State is persisted to `.claude/orchestration-state.md` so progress survives session restarts.
272
+ 1. Generate an API token at [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens).
222
273
 
223
- ### 11. Clean Up the Codebase
274
+ 2. Set environment variables:
275
+ ```bash
276
+ export JIRA_SITE="https://yourcompany.atlassian.net"
277
+ export JIRA_EMAIL="you@example.com"
278
+ export JIRA_API_TOKEN="your-api-token"
279
+ ```
224
280
 
225
- ```
226
- # Report issues without fixing
227
- /project-cleanup
281
+ 3. Optionally set the project key in `config.json`:
282
+ ```json
283
+ {
284
+ "scaffolding": "jira",
285
+ "jira": {
286
+ "project_key": "MYPROJ"
287
+ }
288
+ }
289
+ ```
228
290
 
229
- # Scope to a specific directory
230
- /project-cleanup src/
291
+ 4. If `project_key` is empty, `/project-scaffold` creates a new Scrum project automatically and saves the key back to config.json. If set, it uses the existing project.
231
292
 
232
- # Auto-fix everything
233
- /project-cleanup --fix
293
+ ### Trello
234
294
 
235
- # Report only, no fixes even if --fix is present
236
- /project-cleanup --report-only
237
- ```
295
+ 1. Get your API key from [trello.com/power-ups/admin](https://trello.com/power-ups/admin).
238
296
 
239
- Verify codebase hygiene across five dimensions: zero build errors/warnings, zero lint errors/warnings, project principles compliance (driven by your `CLAUDE.md`), no dead or duplicated code, and all tests passing with at least 50% coverage. The skill detects your toolchain (TypeScript, Go, Rust, Python, etc.) automatically.
297
+ 2. Generate a token by visiting:
298
+ ```
299
+ https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=YOUR_API_KEY
300
+ ```
240
301
 
241
- In `--fix` mode, it resolves issues in dependency order — dead code removal first, then build errors, lint violations, architecture fixes, and finally test fixes and coverage improvement. All changes are documented in a `FIXES.md` report. Without `--fix`, it produces a full report to `.claude/reports/cleanup-report/` without modifying code.
302
+ 3. Set environment variables:
303
+ ```bash
304
+ export TRELLO_API_KEY="your-api-key"
305
+ export TRELLO_TOKEN="your-token"
306
+ ```
242
307
 
243
- Reads your project's `CLAUDE.md` for overrides project rules always win over default best practices.
308
+ 4. Optionally set the board ID in `config.json`:
309
+ ```json
310
+ {
311
+ "scaffolding": "trello",
312
+ "trello": {
313
+ "board_id": "your-board-id"
314
+ }
315
+ }
316
+ ```
317
+ Find your board ID by opening the board in Trello, adding `.json` to the URL, and looking for the `"id"` field.
244
318
 
245
- ### 12. Repeat (Manual Mode)
319
+ 5. If `board_id` is empty, `/project-scaffold` creates a new board automatically and saves the ID back to config.json. If set, it uses the existing board.
246
320
 
247
- ```
248
- /sprint-plan owner/repo
249
- ```
321
+ > **Note:** Trello has no native sprint, dependency, or story point support. Sprints are modeled as lists, points are stored in custom fields (or card title prefixes), and dependencies are tracked in card descriptions.
322
+
323
+ ---
324
+
325
+ ## Skills Reference
326
+
327
+ | Skill | Command | What It Does |
328
+ |---|---|---|
329
+ | **project-scaffold** | `/project-scaffold <prd-path>` | Full project setup from PRD |
330
+ | **spec** | `/spec <prompt>` | Transform a rough idea into a structured spec document |
331
+ | **sprint-plan** | `/sprint-plan [owner/repo]` | Plan and populate the next sprint |
332
+ | **sprint-status** | `/sprint-status [owner/repo]` | Progress report and burndown |
333
+ | **sprint-release** | `/sprint-release [owner/repo]` | Close sprint, merge to development |
334
+ | **project-emulate** | `/project-emulate` | Integration seams, layer contracts, cross-service payloads, full lifecycle walkthrough |
335
+ | **project-orchestrate** | `/project-orchestrate [prd] [repo]` | Autonomous lifecycle driver |
336
+ | **project-cleanup** | `/project-cleanup [path] [--fix]` | Build, lint, dead code, and test coverage |
337
+
338
+ The `[owner/repo]` argument is only needed in GitHub mode. Jira, Trello, and local modes read from config.
250
339
 
251
- If you prefer manual control, start the next sprint. The cycle continues until the project is complete.
340
+ ---
252
341
 
253
- ## How It Works
342
+ ## Branch Strategy
254
343
 
255
- ### Branch Strategy
344
+ All modes share the same git branch strategy:
256
345
 
257
346
  ```
258
347
  main (human-only — requires your review)
259
- └── development (sprint approval gate)
260
- └── release/core-api
261
- ├── story/1-init-project auto-merge
262
- ├── story/2-database-schema auto-merge
263
- └── story/3-auth-endpoints auto-merge
348
+ +-- development (sprint approval gate)
349
+ +-- release/core-api
350
+ +-- story/1-init-project --> auto-merge
351
+ +-- story/2-database-schema --> auto-merge
352
+ +-- story/3-auth-endpoints --> auto-merge
264
353
  ```
265
354
 
266
- Story branches auto-merge into the release branch when CI passes. At sprint end, the release branch merges into `development` after your review. When you're ready to ship, `development` merges into `main`. Two approval gates: one per sprint, one for production.
355
+ - **Story --> Release branch:** Auto-merge when CI passes (or direct merge in local mode)
356
+ - **Release --> development:** PR review in GitHub mode, direct merge in local/Jira/Trello mode
357
+ - **development --> main:** Always human-initiated
267
358
 
268
- ### GitHub Project Board
359
+ ---
269
360
 
270
- The scaffold creates a GitHub Project (the newer Projects experience, not classic project boards) with these custom fields:
361
+ ## Personas
271
362
 
272
- | Field | Type | Purpose |
363
+ Stories can be assigned a **persona** that controls the posture of the subagent executing them during orchestration. Personas are defined in `skills/shared/references/PERSONAS.md`.
364
+
365
+ | Persona | Assigned via | Behavior |
273
366
  |---|---|---|
274
- | Status | Single select | Workflow state: Backlog Ready In Progress In Review Done |
275
- | Sprint | Iteration (2-week) | Time-boxed sprint assignment |
276
- | Priority | Single select | P0-Critical through P3-Low |
277
- | Executor | Single select | Who works this: `claude`, `human`, or `cowork` |
278
- | Story Points | Number | Fibonacci estimation (1, 2, 3, 5, 8, 13) |
367
+ | `impl` (default) | No label needed | Standard implementation write code, tests, open PR |
368
+ | `ops` | `persona:ops` label or frontmatter | Ops/infra posture idempotency, rollback, least privilege |
369
+ | `research` | `persona:research` label or frontmatter | Research posture output is a document (ADR/RFC), not code |
370
+ | `review` | Automatic (release gate) | Reviews the release diff, reports findings by severity |
279
371
 
280
- Epics are tracked two ways: `epic:*` labels give scrum teams the vocabulary they expect right on every issue, while native GitHub Milestones power the progress tracking (open/closed counts, % complete) behind the scenes. Both are set at issue creation time. You can filter by either on any project view.
372
+ During sprint planning, personas are assigned automatically based on story labels (e.g., `scope:infra` gets `persona:ops`). Override by manually setting the label or frontmatter before orchestration.
281
373
 
282
- **Board views** use GitHub's view system:
374
+ ---
283
375
 
284
- - **Current Sprint** — Board layout, filtered to the active sprint, columns by Status
285
- - **Claude Queue** — Table layout, filtered to `Executor = claude` and `Status = Ready`, sorted by Priority
286
- - **My Tasks** — Table layout, filtered to `Executor = human`, grouped by Sprint
287
- - **Backlog** — Table layout, filtered to `Status = Backlog`, sorted by Priority
288
- - **Epic Overview** — Table layout, grouped by Milestone, with field sums on Story Points
376
+ ## Autonomous Orchestration
289
377
 
290
- You can also use **Slice by** on any field to quickly filter the current view from a side panel — useful for slicing a sprint view by Executor or Priority.
378
+ `/project-orchestrate` chains all skills into a fully autonomous pipeline.
291
379
 
292
- ### Shared Conventions
380
+ ### Phase 1 — Epic Completion Loop
293
381
 
294
- All skills reference a single `CONVENTIONS.md` file that defines labels, branch naming, custom fields, executor guidelines, and story point standards. Edit it once and every skill inherits the changes.
382
+ 1. Scaffolds the PRD (if provided) or reads existing backlog. On large or multi-epic PRDs, scaffolding runs in [two-pass mode](#two-pass-mode) and auto-injects a [design-spike epic](#design-spike-epic) at position 0
383
+ 2. Plans sprints via `/sprint-plan` — the design-spike epic (when present) executes first, producing the ADR and per-epic `CONTEXT.md` files that seed the implementation epics
384
+ 3. Executes `executor:claude` stories in parallel via subagents with persona routing — implementation subagents read their epic's `CONTEXT.md` in addition to `CLAUDE.md` before writing code
385
+ 4. Releases via `/sprint-release`
386
+ 5. Runs automated review gate (using the `review` persona)
387
+ 6. Merges to `development` and cleans up branches
388
+ 7. Repeats until all epics are complete
295
389
 
296
- Located at: `project-scaffold/references/CONVENTIONS.md`
390
+ ### Phase 2 — Emulation Hardening Loop
297
391
 
298
- ## Skills Reference
392
+ 1. Runs `/project-emulate` to discover issues
393
+ 2. Generates a hardening PRD from critical/warning findings
394
+ 3. Scaffolds and executes a hardening epic
395
+ 4. Re-emulates until clean (safety valve at 3 runs)
299
396
 
300
- | Skill | Command | What It Does |
301
- |---|---|---|
302
- | `project-scaffold` | `/project-scaffold <prd-path>` | Full project setup from PRD, or add stories to an existing project |
303
- | `sprint-plan` | `/sprint-plan [owner/repo]` | Plan and populate the next sprint |
304
- | `sprint-status` | `/sprint-status [owner/repo]` | Progress report and burndown |
305
- | `sprint-release` | `/sprint-release [owner/repo]` | Close sprint, open release PR to development |
306
- | `project-emulate` | `/project-emulate` | Integration seams, layer contracts, cross-service payloads, and full lifecycle walkthrough |
307
- | `project-orchestrate` | `/project-orchestrate [prd-path] [owner/repo]` | Autonomous lifecycle driver — sprint loop + emulation hardening until done |
308
- | `project-cleanup` | `/project-cleanup [path] [--fix] [--report-only]` | Build, lint, project principles, dead code, and test coverage verification/enforcement |
397
+ ### Phase 3 Project Cleanup
398
+
399
+ 1. Runs `/project-cleanup --fix` across the entire codebase
400
+ 2. Reviews and updates ADRs based on decisions made during orchestration
401
+ 3. Cleans up the orchestration state file
402
+
403
+ ### State Persistence
404
+
405
+ Orchestration state is saved to `.claude-scrum-skill/orchestration-state.md`. If Claude hits a usage cap or the session restarts, it picks up exactly where it left off.
406
+
407
+ ### Safety Boundaries
408
+
409
+ - Merges to `development` are pre-authorized
410
+ - Merges to `main` are **never** automatic
411
+ - Failed stories are retried once, then marked blocked
412
+ - Merge conflicts pause orchestration and escalate to you
413
+ - After 3 hardening runs, Claude pauses and asks for guidance
414
+ - Review gate can be skipped with `ORCHESTRATE_SKIP_REVIEW=1`
415
+
416
+ ---
309
417
 
310
418
  ## Customization
311
419
 
312
420
  ### Sprint Length
313
- Edit `CONVENTIONS.md` "Sprint Cadence" section. Default is 2 weeks.
421
+ Edit `shared/references/CONVENTIONS.md` > "Sprint Cadence". Default: 2 weeks.
314
422
 
315
423
  ### Velocity Target
316
- The `sprint-plan` skill asks for velocity or defaults to 20 story points. Adjust as you calibrate.
424
+ `/sprint-plan` asks for velocity or defaults to 20 story points.
317
425
 
318
426
  ### Label Colors
319
- All label hex colors are defined in the `project-scaffold` skill. Modify to match your preferences.
427
+ Defined in `project-scaffold/SKILL.md`. Modify to match your preferences.
320
428
 
321
429
  ### Executor Criteria
322
- Edit `CONVENTIONS.md` "Executor Assignment Guidelines" to tune what gets assigned to Claude vs. you vs. Cowork.
430
+ Edit `shared/references/CONVENTIONS.md` > "Executor Assignment Guidelines".
323
431
 
324
- ### Adding Epics
325
- Epics map to your PRD structure. To add new epics later, run `/project-scaffold` with the new PRD — it detects the existing project and lets you add stories to existing epics or create new ones.
432
+ ### Personas
433
+ Edit `shared/references/PERSONAS.md` to add or modify persona preambles.
326
434
 
327
- ## Autonomous Orchestration
435
+ ### Output Paths
436
+ Edit `shared/config.json` to change where specs, ADRs, and backlog files are written. Point them to a non-dotfile path (e.g., `docs/adr`) to include them in version control.
328
437
 
329
- The `/project-orchestrate` skill is a meta-orchestrator that chains all other skills into a fully autonomous pipeline. After scaffolding your project, run it once and Claude handles everything else.
330
-
331
- ### What It Does
332
-
333
- **Phase 1 — Epic Completion Loop:**
334
- 1. Detects open epics and presents an overview
335
- 2. Plans sprints via `/sprint-plan`
336
- 3. Executes `executor:claude` stories in parallel via subagents (skips human/cowork — they roll over)
337
- 4. Releases via `/sprint-release`
338
- 5. Merges the release PR to `development` (pre-authorized, no confirmation needed)
339
- 6. Cleans up merged branches
340
- 7. Repeats until all epics are complete
438
+ ### Adding Epics
439
+ Run `/project-scaffold` with a new PRD — it detects the existing project and offers to add stories to existing epics or create new ones.
341
440
 
342
- **Phase 2 — Emulation Hardening Loop:**
343
- 1. Runs `/project-emulate` to discover issues
344
- 2. Generates a hardening PRD from critical/warning findings
345
- 3. Scaffolds a "Hardening (Run N)" epic via `/project-scaffold`
346
- 4. Executes the hardening sprint (same loop as Phase 1)
347
- 5. Re-emulates — if new issues found, repeats; if clean, done
441
+ ---
348
442
 
349
- ### State Persistence
443
+ ## Shared References
350
444
 
351
- Orchestration state is saved to `.claude/orchestration-state.md` (human-readable markdown). If Claude hits a usage cap or the session restarts, it picks up exactly where it left off. The state file tracks the current phase, epic, sprint, story status, and a running log.
445
+ All skills reference shared configuration and standards from `skills/shared/`:
352
446
 
353
- ### Safety Boundaries
447
+ ```
448
+ skills/shared/
449
+ +-- config.json # mode, paths, provider settings
450
+ +-- references/
451
+ +-- CONVENTIONS.md # labels, branches, fields, estimation
452
+ +-- PERSONAS.md # subagent role preambles
453
+ +-- PROVIDERS.md # GitHub/Jira/Trello API reference
454
+ ```
354
455
 
355
- - Merges to `development` are pre-authorized (standing auth)
356
- - Merges to `main` are **never** automatic — always requires your review
357
- - Failed stories are retried once, then marked blocked — they don't halt the pipeline
358
- - Merge conflicts pause orchestration and escalate to you
359
- - After 3 hardening runs without a clean emulation, Claude pauses and asks for guidance
456
+ ---
360
457
 
361
458
  ## Tips
362
459
 
363
- - **Chunk large epics** into multiple sprints for natural review gates. If an epic has 30 stories, split it into 2-3 sprints rather than one massive batch.
364
- - **Start small.** Scaffold a real but small project first to calibrate your conventions before relying on it for bigger work.
365
- - **Branch protection is your safety net.** The PAT should not have write access to main. Merges to main always go through your review.
366
- - **Run `/project-emulate` before releases** to catch integration seam failures, layer contract mismatches, cross-service payload drift, permission gaps, and dead code before shipping.
367
- - **Run `/project-cleanup --fix` after major changes** to enforce build/lint cleanliness, remove dead code, and ensure test coverage stays above 50%.
460
+ - **Start with local mode.** No setup required scaffold a PRD and start working immediately.
461
+ - **Branch protection is your safety net.** The PAT should not have write access to `main`.
462
+ - **Run `/project-emulate` before releases** to catch integration seam failures, layer contract mismatches, and permission gaps.
463
+ - **Run `/project-cleanup --fix` after major changes** to enforce build/lint cleanliness and test coverage.
464
+ - **Chunk large epics** into multiple sprints for natural review gates.
465
+ - **Jira/Trello users:** If no project key or board ID is configured, `/project-scaffold` creates one automatically (Scrum template for Jira).
466
+ - **Author large PRDs with explicit architectural intent.** Sections describing shared types, naming conventions, file layout boundaries, and cross-cutting patterns give the [design-spike epic](#design-spike-epic) concrete material to lift into the project's foundational ADR and per-epic `CONTEXT.md` files — the better your PRD spells these out, the more consistent your parallel implementation subagents will be.
467
+
468
+ ---
368
469
 
369
470
  ## License
370
471