@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 +331 -230
- package/bin/install.js +31 -0
- package/package.json +4 -1
- package/skills/project-cleanup/SKILL.md +2 -2
- package/skills/project-emulate/SKILL.md +1 -1
- package/skills/project-orchestrate/SKILL.md +317 -60
- package/skills/project-scaffold/SKILL.md +711 -5
- package/skills/project-spec/SKILL.md +60 -0
- package/skills/project-spec/templates/spec-template.md +63 -0
- package/skills/shared/config.json +19 -0
- package/skills/{project-scaffold → shared}/references/CONVENTIONS.md +60 -0
- package/skills/shared/references/PERSONAS.md +270 -0
- package/skills/shared/references/PROVIDERS.md +471 -0
- package/skills/shared/templates/ADR-template.md +36 -0
- package/skills/shared/templates/CONTEXT-template.md +96 -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,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 —
|
|
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
|
|
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
|
-
|
|
122
|
+
### Scaffolding Modes
|
|
77
123
|
|
|
78
|
-
|
|
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
|
-
###
|
|
131
|
+
### Two-Pass Mode
|
|
81
132
|
|
|
82
|
-
|
|
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
|
-
**
|
|
135
|
+
**Triggers** (first match wins):
|
|
85
136
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
145
|
+
### Design-Spike Epic
|
|
102
146
|
|
|
103
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
112
|
-
echo "YOUR_TOKEN" | gh auth login --with-token
|
|
113
|
-
```
|
|
154
|
+
**Triggers** (first match wins):
|
|
114
155
|
|
|
115
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
165
|
+
### Configurable Paths
|
|
124
166
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
176
|
+
### Scaffolding Behavior
|
|
134
177
|
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
|
|
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
|
-
|
|
185
|
+
## Quick Start
|
|
148
186
|
|
|
149
|
-
###
|
|
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
|
-
|
|
191
|
+
Optionally include YAML frontmatter to override the auto-detected scaffolding behavior:
|
|
156
192
|
|
|
157
|
-
|
|
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
|
-
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
|
|
209
|
+
3. **Plan a sprint:**
|
|
210
|
+
```
|
|
211
|
+
/sprint-plan
|
|
212
|
+
```
|
|
168
213
|
|
|
169
|
-
|
|
214
|
+
4. **Work stories** — Tell Claude to pick up `executor:claude` stories from the sprint.
|
|
170
215
|
|
|
171
|
-
|
|
216
|
+
5. **Check progress:**
|
|
217
|
+
```
|
|
218
|
+
/sprint-status
|
|
219
|
+
```
|
|
172
220
|
|
|
173
|
-
|
|
221
|
+
6. **Release the sprint:**
|
|
222
|
+
```
|
|
223
|
+
/sprint-release
|
|
224
|
+
```
|
|
174
225
|
|
|
175
|
-
|
|
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
|
-
|
|
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
|
-
|
|
237
|
+
---
|
|
184
238
|
|
|
185
|
-
|
|
186
|
-
/sprint-release owner/repo
|
|
187
|
-
```
|
|
239
|
+
## Provider Setup
|
|
188
240
|
|
|
189
|
-
|
|
241
|
+
### GitHub
|
|
190
242
|
|
|
191
|
-
|
|
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
|
-
|
|
247
|
+
2. Grant these **repository permissions**:
|
|
198
248
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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
|
-
|
|
256
|
+
3. Grant this **account permission**:
|
|
207
257
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
258
|
+
| Permission | Access | Why |
|
|
259
|
+
|---|---|---|
|
|
260
|
+
| Projects | Read & Write | Create project boards and fields |
|
|
211
261
|
|
|
212
|
-
|
|
213
|
-
|
|
262
|
+
4. Authenticate the CLI:
|
|
263
|
+
```bash
|
|
264
|
+
echo "YOUR_TOKEN" | gh auth login --with-token
|
|
265
|
+
gh auth status
|
|
266
|
+
```
|
|
214
267
|
|
|
215
|
-
|
|
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
|
-
|
|
270
|
+
### Jira
|
|
220
271
|
|
|
221
|
-
|
|
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
|
-
|
|
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
|
-
|
|
227
|
-
|
|
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
|
-
|
|
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
|
-
|
|
233
|
-
/project-cleanup --fix
|
|
293
|
+
### Trello
|
|
234
294
|
|
|
235
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
340
|
+
---
|
|
252
341
|
|
|
253
|
-
##
|
|
342
|
+
## Branch Strategy
|
|
254
343
|
|
|
255
|
-
|
|
344
|
+
All modes share the same git branch strategy:
|
|
256
345
|
|
|
257
346
|
```
|
|
258
347
|
main (human-only — requires your review)
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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
|
-
|
|
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
|
-
|
|
359
|
+
---
|
|
269
360
|
|
|
270
|
-
|
|
361
|
+
## Personas
|
|
271
362
|
|
|
272
|
-
|
|
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
|
-
|
|
|
275
|
-
|
|
|
276
|
-
|
|
|
277
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
374
|
+
---
|
|
283
375
|
|
|
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
|
|
376
|
+
## Autonomous Orchestration
|
|
289
377
|
|
|
290
|
-
|
|
378
|
+
`/project-orchestrate` chains all skills into a fully autonomous pipeline.
|
|
291
379
|
|
|
292
|
-
###
|
|
380
|
+
### Phase 1 — Epic Completion Loop
|
|
293
381
|
|
|
294
|
-
|
|
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
|
-
|
|
390
|
+
### Phase 2 — Emulation Hardening Loop
|
|
297
391
|
|
|
298
|
-
|
|
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
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
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`
|
|
421
|
+
Edit `shared/references/CONVENTIONS.md` > "Sprint Cadence". Default: 2 weeks.
|
|
314
422
|
|
|
315
423
|
### Velocity Target
|
|
316
|
-
|
|
424
|
+
`/sprint-plan` asks for velocity or defaults to 20 story points.
|
|
317
425
|
|
|
318
426
|
### Label Colors
|
|
319
|
-
|
|
427
|
+
Defined in `project-scaffold/SKILL.md`. Modify to match your preferences.
|
|
320
428
|
|
|
321
429
|
### Executor Criteria
|
|
322
|
-
Edit `CONVENTIONS.md`
|
|
430
|
+
Edit `shared/references/CONVENTIONS.md` > "Executor Assignment Guidelines".
|
|
323
431
|
|
|
324
|
-
###
|
|
325
|
-
|
|
432
|
+
### Personas
|
|
433
|
+
Edit `shared/references/PERSONAS.md` to add or modify persona preambles.
|
|
326
434
|
|
|
327
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
443
|
+
## Shared References
|
|
350
444
|
|
|
351
|
-
|
|
445
|
+
All skills reference shared configuration and standards from `skills/shared/`:
|
|
352
446
|
|
|
353
|
-
|
|
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
|
-
|
|
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
|
-
- **
|
|
364
|
-
- **
|
|
365
|
-
- **
|
|
366
|
-
- **Run `/project-
|
|
367
|
-
- **
|
|
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
|
|