@houseofwolvesllc/claude-scrum-skill 1.5.0 → 1.6.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,336 @@ 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.
75
-
76
- **Note:** After installing, restart Claude Code for the skills to become available.
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.
77
91
 
78
- ## Quick Start
92
+ > **Note:** After installing, restart Claude Code for the skills to become available.
79
93
 
80
- ### 1. Create a Fine-Grained GitHub Personal Access Token
94
+ ---
81
95
 
82
- These skills use `gh` for all GitHub operations. You need a fine-grained PAT scoped to the repos you want to manage.
96
+ ## Configuration
83
97
 
84
- **Step 1:** Go to [github.com/settings/personal-access-tokens](https://github.com/settings/personal-access-tokens) and click **Generate new token**.
98
+ All configuration lives in `skills/shared/config.json`:
85
99
 
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
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
+ },
108
+ "jira": {
109
+ "project_key": ""
110
+ },
111
+ "trello": {
112
+ "board_id": ""
113
+ }
114
+ }
115
+ ```
91
116
 
92
- **Step 3:** Under **Permissions → Repository permissions**, grant:
117
+ ### Scaffolding Modes
93
118
 
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 |
119
+ | Mode | Description | Auth Required |
120
+ |------|-------------|---------------|
121
+ | `local` | File-based backlog in your project directory (default) | None |
122
+ | `github` | GitHub Issues, Milestones, and Projects | `gh` CLI |
123
+ | `jira` | Jira Cloud issues, epics, and sprints | Env vars |
124
+ | `trello` | Trello boards, lists, and cards | Env vars |
100
125
 
101
- **Step 4:** Under **Permissions → Account permissions**, grant:
126
+ ### Configurable Paths
102
127
 
103
- | Permission | Access | Why |
104
- |---|---|---|
105
- | Projects | Read & Write | Create project boards, custom fields, and views |
128
+ | Path | Default | Purpose |
129
+ |------|---------|---------|
130
+ | `paths.specs` | `.claude-scrum-skill/specs` | Spec documents from `/spec` |
131
+ | `paths.adr` | `.claude-scrum-skill/adr` | Architecture Decision Records |
132
+ | `paths.backlog` | `.claude-scrum-skill/backlog` | Local backlog files (local mode only) |
106
133
 
107
- **Step 5:** Click **Generate token** and copy it immediately you won't see it again.
134
+ 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`.
108
135
 
109
- **Step 6:** Authenticate the GitHub CLI with your new token:
136
+ ---
110
137
 
111
- ```bash
112
- echo "YOUR_TOKEN" | gh auth login --with-token
113
- ```
138
+ ## Quick Start
114
139
 
115
- Verify it worked:
140
+ ### Local Mode (default — no setup required)
116
141
 
117
- ```bash
118
- gh auth status
119
- ```
142
+ 1. **Write a PRD** — Create a markdown file describing your project, epics, and stories.
120
143
 
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.
144
+ 2. **Scaffold the project:**
145
+ ```
146
+ /project-scaffold path/to/prd.md
147
+ ```
148
+ This creates a local backlog with epic directories and story files in `.claude-scrum-skill/backlog/`.
122
149
 
123
- ### 2. Write a PRD
150
+ 3. **Plan a sprint:**
151
+ ```
152
+ /sprint-plan
153
+ ```
124
154
 
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
155
+ 4. **Work stories** Tell Claude to pick up `executor:claude` stories from the sprint.
130
156
 
131
- ### 3. Scaffold the Project
157
+ 5. **Check progress:**
158
+ ```
159
+ /sprint-status
160
+ ```
132
161
 
133
- Open Claude Code in your repo and run:
162
+ 6. **Release the sprint:**
163
+ ```
164
+ /sprint-release
165
+ ```
134
166
 
135
- ```
136
- /project-scaffold path/to/your-prd.md
137
- ```
167
+ 7. **Or go fully autonomous:**
168
+ ```
169
+ /project-orchestrate path/to/prd.md
170
+ ```
138
171
 
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
172
+ ### Remote Mode (GitHub, Jira, or Trello)
146
173
 
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.
174
+ 1. Set `"scaffolding"` in `config.json` to `"github"`, `"jira"`, or `"trello"`.
175
+ 2. Complete the [provider setup](#provider-setup) for your chosen provider.
176
+ 3. Follow the same workflow above — the skills automatically use the configured provider's API.
148
177
 
149
- ### 4. Plan a Sprint
178
+ ---
150
179
 
151
- ```
152
- /sprint-plan owner/repo
153
- ```
180
+ ## Provider Setup
154
181
 
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.
182
+ ### GitHub
156
183
 
157
- ### 5. Assign an Executor
184
+ Create a fine-grained Personal Access Token:
158
185
 
159
- Three executor labels control who works each story:
186
+ 1. Go to [github.com/settings/personal-access-tokens](https://github.com/settings/personal-access-tokens) and generate a new token.
160
187
 
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 |
188
+ 2. Grant these **repository permissions**:
166
189
 
167
- ### 6. Hand Off to Claude Code
190
+ | Permission | Access | Why |
191
+ |---|---|---|
192
+ | Contents | Read & Write | Create branches, push commits |
193
+ | Issues | Read & Write | Create and update stories |
194
+ | Metadata | Read | Required by GitHub for all PATs |
195
+ | Pull requests | Read & Write | Open PRs for releases |
168
196
 
169
- In Claude Code, tell it to work the sprint:
197
+ 3. Grant this **account permission**:
170
198
 
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."
199
+ | Permission | Access | Why |
200
+ |---|---|---|
201
+ | Projects | Read & Write | Create project boards and fields |
172
202
 
173
- Claude works autonomously — branching, committing, opening PRs with auto-merge to the release branch.
203
+ 4. Authenticate the CLI:
204
+ ```bash
205
+ echo "YOUR_TOKEN" | gh auth login --with-token
206
+ gh auth status
207
+ ```
174
208
 
175
- ### 7. Check Progress
209
+ > **Security tip:** Do not grant write access to `main`. Set up branch protection so merges to `main` always require your review.
176
210
 
177
- ```
178
- /sprint-status owner/repo
179
- ```
211
+ ### Jira
180
212
 
181
- Get a progress report: stories completed vs. remaining, burndown, blockers, and what Claude is working on.
213
+ 1. Generate an API token at [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens).
182
214
 
183
- ### 8. Release the Sprint
215
+ 2. Set environment variables:
216
+ ```bash
217
+ export JIRA_SITE="https://yourcompany.atlassian.net"
218
+ export JIRA_EMAIL="you@example.com"
219
+ export JIRA_API_TOKEN="your-api-token"
220
+ ```
184
221
 
185
- ```
186
- /sprint-release owner/repo
187
- ```
222
+ 3. Optionally set the project key in `config.json`:
223
+ ```json
224
+ {
225
+ "scaffolding": "jira",
226
+ "jira": {
227
+ "project_key": "MYPROJ"
228
+ }
229
+ }
230
+ ```
188
231
 
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`.
232
+ 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.
190
233
 
191
- ### 9. Emulate the Project
234
+ ### Trello
192
235
 
193
- ```
194
- /project-emulate
195
- ```
236
+ 1. Get your API key from [trello.com/power-ups/admin](https://trello.com/power-ups/admin).
196
237
 
197
- Claude reads the entire codebase and runs a multi-phase validation:
238
+ 2. Generate a token by visiting:
239
+ ```
240
+ https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=YOUR_API_KEY
241
+ ```
198
242
 
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
243
+ 3. Set environment variables:
244
+ ```bash
245
+ export TRELLO_API_KEY="your-api-key"
246
+ export TRELLO_TOKEN="your-token"
247
+ ```
205
248
 
206
- ### 10. Orchestrate (Optional Full Autonomy)
249
+ 4. Optionally set the board ID in `config.json`:
250
+ ```json
251
+ {
252
+ "scaffolding": "trello",
253
+ "trello": {
254
+ "board_id": "your-board-id"
255
+ }
256
+ }
257
+ ```
258
+ Find your board ID by opening the board in Trello, adding `.json` to the URL, and looking for the `"id"` field.
207
259
 
208
- ```
209
- # Scaffold a PRD and orchestrate only its epics/stories
210
- /project-orchestrate path/to/prd.md
260
+ 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.
211
261
 
212
- # Orchestrate all open epics/stories on an existing project
213
- /project-orchestrate owner/repo
262
+ > **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.
214
263
 
215
- # Both — scaffold PRD into a specific repo, then orchestrate
216
- /project-orchestrate path/to/prd.md owner/repo
217
- ```
264
+ ---
218
265
 
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.
266
+ ## Skills Reference
220
267
 
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.
268
+ | Skill | Command | What It Does |
269
+ |---|---|---|
270
+ | **project-scaffold** | `/project-scaffold <prd-path>` | Full project setup from PRD |
271
+ | **spec** | `/spec <prompt>` | Transform a rough idea into a structured spec document |
272
+ | **sprint-plan** | `/sprint-plan [owner/repo]` | Plan and populate the next sprint |
273
+ | **sprint-status** | `/sprint-status [owner/repo]` | Progress report and burndown |
274
+ | **sprint-release** | `/sprint-release [owner/repo]` | Close sprint, merge to development |
275
+ | **project-emulate** | `/project-emulate` | Integration seams, layer contracts, cross-service payloads, full lifecycle walkthrough |
276
+ | **project-orchestrate** | `/project-orchestrate [prd] [repo]` | Autonomous lifecycle driver |
277
+ | **project-cleanup** | `/project-cleanup [path] [--fix]` | Build, lint, dead code, and test coverage |
222
278
 
223
- ### 11. Clean Up the Codebase
279
+ The `[owner/repo]` argument is only needed in GitHub mode. Jira, Trello, and local modes read from config.
224
280
 
225
- ```
226
- # Report issues without fixing
227
- /project-cleanup
281
+ ---
228
282
 
229
- # Scope to a specific directory
230
- /project-cleanup src/
283
+ ## Branch Strategy
231
284
 
232
- # Auto-fix everything
233
- /project-cleanup --fix
285
+ All modes share the same git branch strategy:
234
286
 
235
- # Report only, no fixes even if --fix is present
236
- /project-cleanup --report-only
287
+ ```
288
+ main (human-only — requires your review)
289
+ +-- development (sprint approval gate)
290
+ +-- release/core-api
291
+ +-- story/1-init-project --> auto-merge
292
+ +-- story/2-database-schema --> auto-merge
293
+ +-- story/3-auth-endpoints --> auto-merge
237
294
  ```
238
295
 
239
- Verify codebase hygiene across five dimensions: zero build errors/warnings, zero lint errors/warnings, HATEOAS and architecture compliance, 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.
240
-
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.
242
-
243
- Reads your project's `CLAUDE.md` for overrides — project rules always win over default best practices.
296
+ - **Story --> Release branch:** Auto-merge when CI passes (or direct merge in local mode)
297
+ - **Release --> development:** PR review in GitHub mode, direct merge in local/Jira/Trello mode
298
+ - **development --> main:** Always human-initiated
244
299
 
245
- ### 12. Repeat (Manual Mode)
300
+ ---
246
301
 
247
- ```
248
- /sprint-plan owner/repo
249
- ```
302
+ ## Personas
250
303
 
251
- If you prefer manual control, start the next sprint. The cycle continues until the project is complete.
304
+ 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`.
252
305
 
253
- ## How It Works
306
+ | Persona | Assigned via | Behavior |
307
+ |---|---|---|
308
+ | `impl` (default) | No label needed | Standard implementation — write code, tests, open PR |
309
+ | `ops` | `persona:ops` label or frontmatter | Ops/infra posture — idempotency, rollback, least privilege |
310
+ | `research` | `persona:research` label or frontmatter | Research posture — output is a document (ADR/RFC), not code |
311
+ | `review` | Automatic (release gate) | Reviews the release diff, reports findings by severity |
254
312
 
255
- ### Branch Strategy
313
+ 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.
256
314
 
257
- ```
258
- 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 ✓
264
- ```
315
+ ---
265
316
 
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.
317
+ ## Autonomous Orchestration
267
318
 
268
- ### GitHub Project Board
319
+ `/project-orchestrate` chains all skills into a fully autonomous pipeline.
269
320
 
270
- The scaffold creates a GitHub Project (the newer Projects experience, not classic project boards) with these custom fields:
321
+ ### Phase 1 Epic Completion Loop
271
322
 
272
- | Field | Type | Purpose |
273
- |---|---|---|
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) |
323
+ 1. Scaffolds the PRD (if provided) or reads existing backlog
324
+ 2. Plans sprints via `/sprint-plan`
325
+ 3. Executes `executor:claude` stories in parallel via subagents with persona routing
326
+ 4. Releases via `/sprint-release`
327
+ 5. Runs automated review gate (using the `review` persona)
328
+ 6. Merges to `development` and cleans up branches
329
+ 7. Repeats until all epics are complete
279
330
 
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.
331
+ ### Phase 2 Emulation Hardening Loop
281
332
 
282
- **Board views** use GitHub's view system:
333
+ 1. Runs `/project-emulate` to discover issues
334
+ 2. Generates a hardening PRD from critical/warning findings
335
+ 3. Scaffolds and executes a hardening epic
336
+ 4. Re-emulates until clean (safety valve at 3 runs)
283
337
 
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
338
+ ### Phase 3Project Cleanup
289
339
 
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.
340
+ 1. Runs `/project-cleanup --fix` across the entire codebase
341
+ 2. Reviews and updates ADRs based on decisions made during orchestration
342
+ 3. Cleans up the orchestration state file
291
343
 
292
- ### Shared Conventions
344
+ ### State Persistence
293
345
 
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.
346
+ 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.
295
347
 
296
- Located at: `project-scaffold/references/CONVENTIONS.md`
348
+ ### Safety Boundaries
297
349
 
298
- ## Skills Reference
350
+ - Merges to `development` are pre-authorized
351
+ - Merges to `main` are **never** automatic
352
+ - Failed stories are retried once, then marked blocked
353
+ - Merge conflicts pause orchestration and escalate to you
354
+ - After 3 hardening runs, Claude pauses and asks for guidance
355
+ - Review gate can be skipped with `ORCHESTRATE_SKIP_REVIEW=1`
299
356
 
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, HATEOAS, dead code, and test coverage verification/enforcement |
357
+ ---
309
358
 
310
359
  ## Customization
311
360
 
312
361
  ### Sprint Length
313
- Edit `CONVENTIONS.md` "Sprint Cadence" section. Default is 2 weeks.
362
+ Edit `shared/references/CONVENTIONS.md` > "Sprint Cadence". Default: 2 weeks.
314
363
 
315
364
  ### Velocity Target
316
- The `sprint-plan` skill asks for velocity or defaults to 20 story points. Adjust as you calibrate.
365
+ `/sprint-plan` asks for velocity or defaults to 20 story points.
317
366
 
318
367
  ### Label Colors
319
- All label hex colors are defined in the `project-scaffold` skill. Modify to match your preferences.
368
+ Defined in `project-scaffold/SKILL.md`. Modify to match your preferences.
320
369
 
321
370
  ### Executor Criteria
322
- Edit `CONVENTIONS.md` "Executor Assignment Guidelines" to tune what gets assigned to Claude vs. you vs. Cowork.
371
+ Edit `shared/references/CONVENTIONS.md` > "Executor Assignment Guidelines".
323
372
 
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.
326
-
327
- ## Autonomous Orchestration
373
+ ### Personas
374
+ Edit `shared/references/PERSONAS.md` to add or modify persona preambles.
328
375
 
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.
376
+ ### Output Paths
377
+ 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.
330
378
 
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
379
+ ### Adding Epics
380
+ 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
381
 
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
382
+ ---
348
383
 
349
- ### State Persistence
384
+ ## Shared References
350
385
 
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.
386
+ All skills reference shared configuration and standards from `skills/shared/`:
352
387
 
353
- ### Safety Boundaries
388
+ ```
389
+ skills/shared/
390
+ +-- config.json # mode, paths, provider settings
391
+ +-- references/
392
+ +-- CONVENTIONS.md # labels, branches, fields, estimation
393
+ +-- PERSONAS.md # subagent role preambles
394
+ +-- PROVIDERS.md # GitHub/Jira/Trello API reference
395
+ ```
354
396
 
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
397
+ ---
360
398
 
361
399
  ## Tips
362
400
 
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%.
401
+ - **Start with local mode.** No setup required scaffold a PRD and start working immediately.
402
+ - **Branch protection is your safety net.** The PAT should not have write access to `main`.
403
+ - **Run `/project-emulate` before releases** to catch integration seam failures, layer contract mismatches, and permission gaps.
404
+ - **Run `/project-cleanup --fix` after major changes** to enforce build/lint cleanliness and test coverage.
405
+ - **Chunk large epics** into multiple sprints for natural review gates.
406
+ - **Jira/Trello users:** If no project key or board ID is configured, `/project-scaffold` creates one automatically (Scrum template for Jira).
407
+
408
+ ---
368
409
 
369
410
  ## License
370
411