@houseofwolvesllc/claude-scrum-skill 1.5.1 → 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 +277 -236
- package/bin/install.js +31 -0
- package/package.json +1 -1
- package/skills/project-cleanup/SKILL.md +2 -2
- package/skills/project-emulate/SKILL.md +1 -1
- package/skills/project-orchestrate/SKILL.md +255 -56
- package/skills/project-scaffold/SKILL.md +364 -4
- package/skills/project-spec/SKILL.md +60 -0
- package/skills/project-spec/templates/spec-template.md +63 -0
- package/skills/shared/config.json +14 -0
- package/skills/{project-scaffold → shared}/references/CONVENTIONS.md +16 -0
- package/skills/shared/references/PERSONAS.md +270 -0
- package/skills/shared/references/PROVIDERS.md +471 -0
- package/skills/sprint-plan/SKILL.md +124 -6
- package/skills/sprint-release/SKILL.md +118 -6
- package/skills/sprint-status/SKILL.md +60 -6
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.
|
|
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
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
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 —
|
|
79
|
+
# Global install — available in all projects
|
|
64
80
|
npm install -g @houseofwolvesllc/claude-scrum-skill
|
|
65
81
|
|
|
66
|
-
# Local —
|
|
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
|
|
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
|
|
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
|
-
|
|
92
|
+
> **Note:** After installing, restart Claude Code for the skills to become available.
|
|
79
93
|
|
|
80
|
-
|
|
94
|
+
---
|
|
81
95
|
|
|
82
|
-
|
|
96
|
+
## Configuration
|
|
83
97
|
|
|
84
|
-
|
|
98
|
+
All configuration lives in `skills/shared/config.json`:
|
|
85
99
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
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
|
-
|
|
117
|
+
### Scaffolding Modes
|
|
93
118
|
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
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
|
-
|
|
126
|
+
### Configurable Paths
|
|
102
127
|
|
|
103
|
-
|
|
|
104
|
-
|
|
105
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
136
|
+
---
|
|
110
137
|
|
|
111
|
-
|
|
112
|
-
echo "YOUR_TOKEN" | gh auth login --with-token
|
|
113
|
-
```
|
|
138
|
+
## Quick Start
|
|
114
139
|
|
|
115
|
-
|
|
140
|
+
### Local Mode (default — no setup required)
|
|
116
141
|
|
|
117
|
-
|
|
118
|
-
gh auth status
|
|
119
|
-
```
|
|
142
|
+
1. **Write a PRD** — Create a markdown file describing your project, epics, and stories.
|
|
120
143
|
|
|
121
|
-
|
|
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
|
-
|
|
150
|
+
3. **Plan a sprint:**
|
|
151
|
+
```
|
|
152
|
+
/sprint-plan
|
|
153
|
+
```
|
|
124
154
|
|
|
125
|
-
|
|
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
|
-
|
|
157
|
+
5. **Check progress:**
|
|
158
|
+
```
|
|
159
|
+
/sprint-status
|
|
160
|
+
```
|
|
132
161
|
|
|
133
|
-
|
|
162
|
+
6. **Release the sprint:**
|
|
163
|
+
```
|
|
164
|
+
/sprint-release
|
|
165
|
+
```
|
|
134
166
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
167
|
+
7. **Or go fully autonomous:**
|
|
168
|
+
```
|
|
169
|
+
/project-orchestrate path/to/prd.md
|
|
170
|
+
```
|
|
138
171
|
|
|
139
|
-
|
|
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
|
-
|
|
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
|
-
|
|
178
|
+
---
|
|
150
179
|
|
|
151
|
-
|
|
152
|
-
/sprint-plan owner/repo
|
|
153
|
-
```
|
|
180
|
+
## Provider Setup
|
|
154
181
|
|
|
155
|
-
|
|
182
|
+
### GitHub
|
|
156
183
|
|
|
157
|
-
|
|
184
|
+
Create a fine-grained Personal Access Token:
|
|
158
185
|
|
|
159
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
197
|
+
3. Grant this **account permission**:
|
|
170
198
|
|
|
171
|
-
|
|
199
|
+
| Permission | Access | Why |
|
|
200
|
+
|---|---|---|
|
|
201
|
+
| Projects | Read & Write | Create project boards and fields |
|
|
172
202
|
|
|
173
|
-
|
|
203
|
+
4. Authenticate the CLI:
|
|
204
|
+
```bash
|
|
205
|
+
echo "YOUR_TOKEN" | gh auth login --with-token
|
|
206
|
+
gh auth status
|
|
207
|
+
```
|
|
174
208
|
|
|
175
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
216
|
-
/project-orchestrate path/to/prd.md owner/repo
|
|
217
|
-
```
|
|
264
|
+
---
|
|
218
265
|
|
|
219
|
-
|
|
266
|
+
## Skills Reference
|
|
220
267
|
|
|
221
|
-
|
|
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
|
-
|
|
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
|
-
|
|
230
|
-
/project-cleanup src/
|
|
283
|
+
## Branch Strategy
|
|
231
284
|
|
|
232
|
-
|
|
233
|
-
/project-cleanup --fix
|
|
285
|
+
All modes share the same git branch strategy:
|
|
234
286
|
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
240
|
-
|
|
241
|
-
|
|
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
|
-
|
|
300
|
+
---
|
|
246
301
|
|
|
247
|
-
|
|
248
|
-
/sprint-plan owner/repo
|
|
249
|
-
```
|
|
302
|
+
## Personas
|
|
250
303
|
|
|
251
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
317
|
+
## Autonomous Orchestration
|
|
267
318
|
|
|
268
|
-
|
|
319
|
+
`/project-orchestrate` chains all skills into a fully autonomous pipeline.
|
|
269
320
|
|
|
270
|
-
|
|
321
|
+
### Phase 1 — Epic Completion Loop
|
|
271
322
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
-
|
|
331
|
+
### Phase 2 — Emulation Hardening Loop
|
|
281
332
|
|
|
282
|
-
|
|
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
|
-
|
|
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 3 — Project Cleanup
|
|
289
339
|
|
|
290
|
-
|
|
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
|
-
###
|
|
344
|
+
### State Persistence
|
|
293
345
|
|
|
294
|
-
|
|
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
|
-
|
|
348
|
+
### Safety Boundaries
|
|
297
349
|
|
|
298
|
-
|
|
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
|
-
|
|
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 |
|
|
357
|
+
---
|
|
309
358
|
|
|
310
359
|
## Customization
|
|
311
360
|
|
|
312
361
|
### Sprint Length
|
|
313
|
-
Edit `CONVENTIONS.md`
|
|
362
|
+
Edit `shared/references/CONVENTIONS.md` > "Sprint Cadence". Default: 2 weeks.
|
|
314
363
|
|
|
315
364
|
### Velocity Target
|
|
316
|
-
|
|
365
|
+
`/sprint-plan` asks for velocity or defaults to 20 story points.
|
|
317
366
|
|
|
318
367
|
### Label Colors
|
|
319
|
-
|
|
368
|
+
Defined in `project-scaffold/SKILL.md`. Modify to match your preferences.
|
|
320
369
|
|
|
321
370
|
### Executor Criteria
|
|
322
|
-
Edit `CONVENTIONS.md`
|
|
371
|
+
Edit `shared/references/CONVENTIONS.md` > "Executor Assignment Guidelines".
|
|
323
372
|
|
|
324
|
-
###
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
## Autonomous Orchestration
|
|
373
|
+
### Personas
|
|
374
|
+
Edit `shared/references/PERSONAS.md` to add or modify persona preambles.
|
|
328
375
|
|
|
329
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
384
|
+
## Shared References
|
|
350
385
|
|
|
351
|
-
|
|
386
|
+
All skills reference shared configuration and standards from `skills/shared/`:
|
|
352
387
|
|
|
353
|
-
|
|
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
|
-
|
|
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
|
-
- **
|
|
364
|
-
- **
|
|
365
|
-
- **
|
|
366
|
-
- **Run `/project-
|
|
367
|
-
- **
|
|
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
|
|