specrails-core 3.4.1 → 3.5.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.
Files changed (33) hide show
  1. package/README.md +10 -10
  2. package/bin/doctor.sh +1 -1
  3. package/commands/doctor.md +1 -1
  4. package/commands/setup.md +32 -32
  5. package/docs/README.md +1 -1
  6. package/docs/agents.md +2 -2
  7. package/docs/changelog.md +2 -2
  8. package/docs/concepts.md +1 -1
  9. package/docs/getting-started.md +1 -1
  10. package/docs/installation.md +2 -2
  11. package/docs/local-tickets.md +9 -9
  12. package/docs/migration-guide.md +1 -1
  13. package/docs/playbook-parallel-dev.md +5 -5
  14. package/docs/playbook-product-discovery.md +1 -1
  15. package/docs/research/codex-compatibility-analysis.md +1 -1
  16. package/docs/research/mcp-feasibility-analysis.md +1 -1
  17. package/docs/testing/test-matrix-codex.md +2 -2
  18. package/docs/user-docs/cli-reference.md +6 -6
  19. package/docs/user-docs/codex-vs-claude-code.md +1 -1
  20. package/docs/user-docs/quick-start.md +2 -2
  21. package/docs/workflows.md +6 -6
  22. package/package.json +1 -1
  23. package/templates/agents/sr-product-analyst.md +1 -1
  24. package/templates/claude-md/CLAUDE-quickstart.md +1 -1
  25. package/templates/commands/specrails/{update-product-driven-backlog.md → auto-propose-backlog-specs.md} +6 -6
  26. package/templates/commands/specrails/doctor.md +1 -1
  27. package/templates/commands/specrails/{product-backlog.md → get-backlog-specs.md} +4 -4
  28. package/templates/commands/specrails/propose-spec.md +1 -1
  29. package/templates/commands/specrails/setup.md +32 -32
  30. package/templates/commands/specrails/vpc-drift.md +2 -2
  31. package/templates/skills/{sr-update-backlog → sr-auto-propose-backlog-specs}/SKILL.md +7 -7
  32. package/templates/skills/{sr-product-backlog → sr-get-backlog-specs}/SKILL.md +5 -5
  33. package/update.sh +2 -2
package/README.md CHANGED
@@ -57,7 +57,7 @@ npx specrails-core@latest init --root-dir . # copy project files
57
57
  > /specrails:implement "add user authentication"
58
58
  > /specrails:implement #1, #2 # from local tickets (default)
59
59
  > /specrails:implement #42, #43 # from GitHub Issues (if configured)
60
- > /specrails:update-product-driven-backlog # discover new features with AI
60
+ > /specrails:auto-propose-backlog-specs # discover new features with AI
61
61
  ```
62
62
 
63
63
  That's it. The pipeline takes over.
@@ -85,7 +85,7 @@ The plugin contains the logic (agent prompts, skills, commands). Running `/specr
85
85
  | Category | Location | Purpose |
86
86
  |----------|----------|---------|
87
87
  | **Agents** | Plugin | 14 specialized AI agents |
88
- | **Commands** | Plugin | 17 workflow commands: `/specrails:implement`, `/specrails:product-backlog`, `/specrails:why`, and more |
88
+ | **Commands** | Plugin | 17 workflow commands: `/specrails:implement`, `/specrails:get-backlog-specs`, `/specrails:why`, and more |
89
89
  | **Skills** | Plugin | OpenSpec skills (`/opsx:*`) included |
90
90
  | **Hooks & References** | Plugin | Agent hooks, reference docs |
91
91
 
@@ -172,20 +172,20 @@ To discard without applying:
172
172
  rm -rf .claude/.dry-run/add-dark-mode/
173
173
  ```
174
174
 
175
- ### `/specrails:product-backlog` — View prioritized backlog
175
+ ### `/specrails:get-backlog-specs` — View prioritized backlog
176
176
 
177
177
  ```bash
178
- /specrails:product-backlog # show all areas
179
- /specrails:product-backlog UI, Decks # filter by area
178
+ /specrails:get-backlog-specs # show all areas
179
+ /specrails:get-backlog-specs UI, Decks # filter by area
180
180
  ```
181
181
 
182
182
  Reads your tickets (local or GitHub Issues), scores by VPC persona match, recommends top 3 for next sprint.
183
183
 
184
- ### `/specrails:update-product-driven-backlog` — Discover features
184
+ ### `/specrails:auto-propose-backlog-specs` — Discover features
185
185
 
186
186
  ```bash
187
- /specrails:update-product-driven-backlog # explore all areas
188
- /specrails:update-product-driven-backlog Analytics # focus on one area
187
+ /specrails:auto-propose-backlog-specs # explore all areas
188
+ /specrails:auto-propose-backlog-specs Analytics # focus on one area
189
189
  ```
190
190
 
191
191
  AI product discovery using your personas. Evaluates ideas, creates tickets (local or GitHub Issues) for the best ones.
@@ -202,8 +202,8 @@ Tickets live in `.claude/local-tickets.json` alongside your code. They're plain
202
202
 
203
203
  ```bash
204
204
  /specrails:implement #1, #4 # implement by ticket ID
205
- /specrails:product-backlog # view prioritized backlog
206
- /specrails:update-product-driven-backlog # discover and create tickets with AI
205
+ /specrails:get-backlog-specs # view prioritized backlog
206
+ /specrails:auto-propose-backlog-specs # discover and create tickets with AI
207
207
  /specrails:propose-spec # create a ticket from a spec proposal
208
208
  ```
209
209
 
package/bin/doctor.sh CHANGED
@@ -108,7 +108,7 @@ echo ""
108
108
 
109
109
  if [[ "${FAIL}" -eq 0 ]]; then
110
110
  TOTAL=$((PASS + FAIL))
111
- echo -e "All ${TOTAL} checks passed. Run ${BOLD}/specrails:product-backlog${NC} to get started."
111
+ echo -e "All ${TOTAL} checks passed. Run ${BOLD}/specrails:get-backlog-specs${NC} to get started."
112
112
  else
113
113
  echo "${FAIL} check(s) failed."
114
114
  fi
@@ -35,7 +35,7 @@ Each check is displayed as ✅ (pass) or ❌ (fail with fix instruction).
35
35
 
36
36
  On all checks passed:
37
37
  ```
38
- All 6 checks passed. Run /specrails:product-backlog to get started.
38
+ All 6 checks passed. Run /specrails:get-backlog-specs to get started.
39
39
  ```
40
40
 
41
41
  On failure:
package/commands/setup.md CHANGED
@@ -56,7 +56,7 @@ Read the following files to understand the current installation state:
56
56
  ```bash
57
57
  ls $SPECRAILS_DIR/setup-templates/commands/specrails/
58
58
  ```
59
- Command template files include `implement.md`, `batch-implement.md`, `compat-check.md`, `refactor-recommender.md`, `why.md`, `product-backlog.md`, `update-product-driven-backlog.md`.
59
+ Command template files include `implement.md`, `batch-implement.md`, `compat-check.md`, `refactor-recommender.md`, `why.md`, `get-backlog-specs.md`, `auto-propose-backlog-specs.md`.
60
60
  If this directory does not exist, skip command template checking for this update.
61
61
 
62
62
  6. Read `$SPECRAILS_DIR/backlog-config.json` if it exists — contains stored provider configuration needed for command placeholder substitution.
@@ -420,8 +420,8 @@ Core commands (always install if missing):
420
420
  - `propose-spec.md`
421
421
  - `compat-check.md`
422
422
  - `why.md`
423
- - `product-backlog.md`
424
- - `update-product-driven-backlog.md`
423
+ - `get-backlog-specs.md`
424
+ - `auto-propose-backlog-specs.md`
425
425
 
426
426
  **Initialize local ticket storage** (backlog provider defaults to `local`):
427
427
  1. Copy `templates/local-tickets-schema.json` to `$SPECRAILS_DIR/local-tickets.json` and set `last_updated` to the current ISO-8601 timestamp. Skip if the file already exists.
@@ -462,16 +462,16 @@ After generating all files, display the setup complete message.
462
462
 
463
463
  Then, based on `QS_IS_EXISTING_CODEBASE`:
464
464
  - **Existing codebase** (`true`): recommend `/specrails:refactor-recommender`
465
- - **New project** (`false`): recommend `/specrails:product-backlog`
465
+ - **New project** (`false`): recommend `/specrails:get-backlog-specs`
466
466
 
467
467
  If `QS_IS_RERUN=false`, display:
468
468
  ```
469
469
  ✅ Setup complete.
470
470
 
471
471
  Try your first command:
472
- > /specrails:product-backlog
472
+ > /specrails:get-backlog-specs
473
473
  ```
474
- (Replace `/specrails:product-backlog` with `/specrails:refactor-recommender` for existing codebases.)
474
+ (Replace `/specrails:get-backlog-specs` with `/specrails:refactor-recommender` for existing codebases.)
475
475
 
476
476
  If `QS_IS_RERUN=true`, display the gap-fill summary and stop:
477
477
  ```
@@ -768,7 +768,7 @@ Local tickets are always read-write — there is no "read only" mode since the f
768
768
  **Status values:** `todo`, `in_progress`, `done`, `cancelled`
769
769
  **Priority values:** `critical`, `high`, `medium`, `low`
770
770
  **Labels:** Freeform strings following the `area:*` and `effort:*` convention
771
- **Source values:** `manual`, `product-backlog`, `propose-spec`
771
+ **Source values:** `manual`, `get-backlog-specs`, `propose-spec`
772
772
 
773
773
  **Advisory file locking protocol** (CLI agents and hub server must both follow this):
774
774
 
@@ -913,7 +913,7 @@ Store the full configuration in `.claude/backlog-config.json`:
913
913
 
914
914
  #### If None
915
915
 
916
- - Skip `/specrails:product-backlog` and `/specrails:update-product-driven-backlog` commands.
916
+ - Skip `/specrails:get-backlog-specs` and `/specrails:auto-propose-backlog-specs` commands.
917
917
  - The `/specrails:implement` command will still work with text descriptions.
918
918
 
919
919
  ### 3.3 Git & shipping workflow
@@ -946,8 +946,8 @@ If automatic, also check if `gh` is authenticated (for PR creation). If not, war
946
946
  | /specrails:implement | Full pipeline: sr-architect → sr-developer → sr-reviewer → ship | sr-architect + sr-developer + sr-reviewer |
947
947
  | /specrails:batch-implement | Orchestrate multiple features in dependency-aware waves | sr-architect + sr-developer + sr-reviewer |
948
948
  | /specrails:propose-spec | Interactively propose and refine a feature spec, then create a GitHub issue | GitHub CLI |
949
- | /specrails:product-backlog | View prioritized backlog with VPC scores | sr-product-analyst + Backlog provider |
950
- | /specrails:update-product-driven-backlog | Generate new feature ideas via product discovery | sr-product-manager + Backlog provider |
949
+ | /specrails:get-backlog-specs | View prioritized backlog with VPC scores | sr-product-analyst + Backlog provider |
950
+ | /specrails:auto-propose-backlog-specs | Generate new feature ideas via product discovery | sr-product-manager + Backlog provider |
951
951
  | /specrails:compat-check | Snapshot API surface and detect breaking changes | None |
952
952
  | /specrails:refactor-recommender | Scan for refactoring opportunities ranked by impact/effort | None |
953
953
  | /specrails:why | Search past architectural decisions from agent memory | None |
@@ -1081,8 +1081,8 @@ For each selected command, read the template and adapt.
1081
1081
  - `setup-templates/commands/specrails/implement.md` → `.claude/commands/specrails/implement.md`
1082
1082
  - `setup-templates/commands/specrails/batch-implement.md` → `.claude/commands/specrails/batch-implement.md`
1083
1083
  - `setup-templates/commands/specrails/propose-spec.md` → `.claude/commands/specrails/propose-spec.md`
1084
- - `setup-templates/commands/specrails/product-backlog.md` → `.claude/commands/specrails/product-backlog.md` (if `BACKLOG_PROVIDER != none`)
1085
- - `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.claude/commands/specrails/update-product-driven-backlog.md` (if `BACKLOG_PROVIDER != none`)
1084
+ - `setup-templates/commands/specrails/get-backlog-specs.md` → `.claude/commands/specrails/get-backlog-specs.md` (if `BACKLOG_PROVIDER != none`)
1085
+ - `setup-templates/commands/specrails/auto-propose-backlog-specs.md` → `.claude/commands/specrails/auto-propose-backlog-specs.md` (if `BACKLOG_PROVIDER != none`)
1086
1086
  - `setup-templates/commands/specrails/compat-check.md` → `.claude/commands/specrails/compat-check.md`
1087
1087
  - `setup-templates/commands/specrails/refactor-recommender.md` → `.claude/commands/specrails/refactor-recommender.md`
1088
1088
  - `setup-templates/commands/specrails/why.md` → `.claude/commands/specrails/why.md`
@@ -1091,8 +1091,8 @@ For each selected command, read the template and adapt.
1091
1091
  - `setup-templates/skills/sr-implement/SKILL.md` → `.agents/skills/sr-implement/SKILL.md`
1092
1092
  - `setup-templates/skills/sr-batch-implement/SKILL.md` → `.agents/skills/sr-batch-implement/SKILL.md`
1093
1093
  - `setup-templates/commands/specrails/propose-spec.md` → `.agents/skills/sr-propose-spec/SKILL.md` (wrap with YAML frontmatter if no skill template exists)
1094
- - `setup-templates/commands/specrails/product-backlog.md` → `.agents/skills/sr-product-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1095
- - `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.agents/skills/sr-update-product-driven-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1094
+ - `setup-templates/commands/specrails/get-backlog-specs.md` → `.agents/skills/sr-get-backlog-specs/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1095
+ - `setup-templates/commands/specrails/auto-propose-backlog-specs.md` → `.agents/skills/sr-auto-propose-backlog-specs/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1096
1096
  - `setup-templates/skills/sr-compat-check/SKILL.md` → `.agents/skills/sr-compat-check/SKILL.md`
1097
1097
  - `setup-templates/skills/sr-refactor-recommender/SKILL.md` → `.agents/skills/sr-refactor-recommender/SKILL.md`
1098
1098
  - `setup-templates/skills/sr-why/SKILL.md` → `.agents/skills/sr-why/SKILL.md`
@@ -1121,7 +1121,7 @@ Adapt:
1121
1121
 
1122
1122
  #### Backlog command persona placeholder substitution
1123
1123
 
1124
- When adapting `update-product-driven-backlog.md` and `product-backlog.md`, substitute the persona placeholders based on the full persona set (user-generated personas + Maintainer if `IS_OSS=true`):
1124
+ When adapting `auto-propose-backlog-specs.md` and `get-backlog-specs.md`, substitute the persona placeholders based on the full persona set (user-generated personas + Maintainer if `IS_OSS=true`):
1125
1125
 
1126
1126
  | Placeholder | Substitution rule |
1127
1127
  |-------------|------------------|
@@ -1174,12 +1174,12 @@ All write operations must follow the **advisory file locking protocol** defined
1174
1174
  - Pre-flight check: `gh auth status`
1175
1175
 
1176
1176
  #### JIRA (`BACKLOG_PROVIDER=jira`)
1177
- - Issue fetch: `jira issue list --project {{JIRA_PROJECT_KEY}} --type Story --label product-backlog --status "To Do" --plain` or equivalent JIRA REST API call via curl:
1177
+ - Issue fetch: `jira issue list --project {{JIRA_PROJECT_KEY}} --type Story --label get-backlog-specs --status "To Do" --plain` or equivalent JIRA REST API call via curl:
1178
1178
  ```bash
1179
1179
  curl -s -u "$JIRA_USER_EMAIL:$JIRA_API_TOKEN" \
1180
- "{{JIRA_BASE_URL}}/rest/api/3/search?jql=project={{JIRA_PROJECT_KEY}} AND labels=product-backlog AND status='To Do'&fields=summary,description,labels,priority"
1180
+ "{{JIRA_BASE_URL}}/rest/api/3/search?jql=project={{JIRA_PROJECT_KEY}} AND labels=get-backlog-specs AND status='To Do'&fields=summary,description,labels,priority"
1181
1181
  ```
1182
- - Issue create: `jira issue create --project {{JIRA_PROJECT_KEY}} --type Story --summary "..." --label product-backlog --description "..."` or equivalent REST API call
1182
+ - Issue create: `jira issue create --project {{JIRA_PROJECT_KEY}} --type Story --summary "..." --label get-backlog-specs --description "..."` or equivalent REST API call
1183
1183
  - Issue view: `jira issue view {key}` or REST API
1184
1184
  - VPC scores stored in the issue description body (same markdown format, parsed from description)
1185
1185
  - Pre-flight check: `jira me` or test API connectivity
@@ -1374,8 +1374,8 @@ Display the complete installation summary:
1374
1374
  | /specrails:implement | .claude/commands/specrails/implement.md |
1375
1375
  | /specrails:batch-implement | .claude/commands/specrails/batch-implement.md |
1376
1376
  | /specrails:propose-spec | .claude/commands/specrails/propose-spec.md |
1377
- | /specrails:product-backlog | .claude/commands/specrails/product-backlog.md |
1378
- | /specrails:update-product-driven-backlog | .claude/commands/specrails/update-product-driven-backlog.md |
1377
+ | /specrails:get-backlog-specs | .claude/commands/specrails/get-backlog-specs.md |
1378
+ | /specrails:auto-propose-backlog-specs | .claude/commands/specrails/auto-propose-backlog-specs.md |
1379
1379
  | /specrails:compat-check | .claude/commands/specrails/compat-check.md |
1380
1380
  | /specrails:refactor-recommender | .claude/commands/specrails/refactor-recommender.md |
1381
1381
  | /specrails:why | .claude/commands/specrails/why.md |
@@ -1385,8 +1385,8 @@ Display the complete installation summary:
1385
1385
  | $sr-implement | .agents/skills/sr-implement/SKILL.md |
1386
1386
  | $sr-batch-implement | .agents/skills/sr-batch-implement/SKILL.md |
1387
1387
  | $sr-propose-spec | .agents/skills/sr-propose-spec/SKILL.md |
1388
- | $sr-product-backlog | .agents/skills/sr-product-backlog/SKILL.md |
1389
- | $sr-update-product-driven-backlog | .agents/skills/sr-update-product-driven-backlog/SKILL.md |
1388
+ | $sr-get-backlog-specs | .agents/skills/sr-get-backlog-specs/SKILL.md |
1389
+ | $sr-auto-propose-backlog-specs | .agents/skills/sr-auto-propose-backlog-specs/SKILL.md |
1390
1390
  | $sr-compat-check | .agents/skills/sr-compat-check/SKILL.md |
1391
1391
  | $sr-refactor-recommender | .agents/skills/sr-refactor-recommender/SKILL.md |
1392
1392
  | $sr-why | .agents/skills/sr-why/SKILL.md |
@@ -1410,26 +1410,26 @@ Note: Only commands/skills selected during setup are shown. Backlog commands are
1410
1410
  ### Next Steps
1411
1411
  [If cli_provider == "claude":]
1412
1412
  1. Review the generated files in .claude/
1413
- 2. Run `/specrails:product-backlog` to see your backlog (if GitHub Issues exist)
1414
- 3. Run `/specrails:update-product-driven-backlog` to generate feature ideas
1413
+ 2. Run `/specrails:get-backlog-specs` to see your backlog (if GitHub Issues exist)
1414
+ 3. Run `/specrails:auto-propose-backlog-specs` to generate feature ideas
1415
1415
  4. Run `/specrails:implement #issue-number` to implement a feature
1416
1416
  5. Commit the .claude/ directory to version control
1417
1417
  [If cli_provider == "codex":]
1418
1418
  1. Review the generated files in .codex/ and .agents/skills/
1419
- 2. Run `$sr-product-backlog` to see your backlog (if GitHub Issues exist)
1420
- 3. Run `$sr-update-product-driven-backlog` to generate feature ideas
1419
+ 2. Run `$sr-get-backlog-specs` to see your backlog (if GitHub Issues exist)
1420
+ 3. Run `$sr-auto-propose-backlog-specs` to generate feature ideas
1421
1421
  4. Run `$sr-implement #issue-number` to implement a feature
1422
1422
  5. Commit the .codex/ and .agents/ directories to version control
1423
1423
 
1424
1424
  ### Quick Start
1425
1425
  [If cli_provider == "claude":]
1426
1426
  - `/specrails:implement "describe a feature"` — implement something right now
1427
- - `/specrails:product-backlog` — see prioritized feature ideas
1428
- - `/specrails:update-product-driven-backlog` — discover new features using VPC
1427
+ - `/specrails:get-backlog-specs` — see prioritized feature ideas
1428
+ - `/specrails:auto-propose-backlog-specs` — discover new features using VPC
1429
1429
  [If cli_provider == "codex":]
1430
1430
  - `$sr-implement "describe a feature"` — implement something right now
1431
- - `$sr-product-backlog` — see prioritized feature ideas
1432
- - `$sr-update-product-driven-backlog` — discover new features using VPC
1431
+ - `$sr-get-backlog-specs` — see prioritized feature ideas
1432
+ - `$sr-auto-propose-backlog-specs` — discover new features using VPC
1433
1433
  ```
1434
1434
 
1435
1435
  ## First Task Prompt (Full Wizard)
@@ -1442,9 +1442,9 @@ After displaying the setup complete summary above, detect the project type and o
1442
1442
 
1443
1443
  Try your first spec:
1444
1444
  [If cli_provider == "claude":]
1445
- > /specrails:product-backlog
1445
+ > /specrails:get-backlog-specs
1446
1446
  [If cli_provider == "codex":]
1447
- > $sr-product-backlog
1447
+ > $sr-get-backlog-specs
1448
1448
  ```
1449
1449
 
1450
1450
  **Existing codebase** (one or more of the above files found in root):
package/docs/README.md CHANGED
@@ -16,7 +16,7 @@ Welcome to the SpecRails docs. This guide will take you from zero to a fully aut
16
16
  | [Installation & Setup](installation.md) | Detailed setup, prerequisites, the `/specrails:setup` wizard |
17
17
  | [Plugin Architecture](plugin-architecture.md) | Plugin vs scaffold, what lives where, how updates work |
18
18
  | [Agents](agents.md) | Every agent explained — role, when it runs, why it exists |
19
- | [Workflows & Commands](workflows.md) | How to use `/specrails:implement`, `/specrails:product-backlog`, and more |
19
+ | [Workflows & Commands](workflows.md) | How to use `/specrails:implement`, `/specrails:get-backlog-specs`, and more |
20
20
  | [Customization](customization.md) | Adapt agents, rules, personas, and conventions to your project |
21
21
  | [Updating](updating.md) | Keep SpecRails up to date without losing your customizations |
22
22
 
package/docs/agents.md CHANGED
@@ -21,7 +21,7 @@ The result: better quality at every stage, with clear accountability.
21
21
  |-|-|
22
22
  | **Color** | Blue |
23
23
  | **Model** | Opus (creative reasoning) |
24
- | **Trigger** | `/opsx:explore`, `/specrails:update-product-driven-backlog` |
24
+ | **Trigger** | `/opsx:explore`, `/specrails:auto-propose-backlog-specs` |
25
25
  | **Role** | Feature ideation and product strategy |
26
26
 
27
27
  The Product Manager is the **starting point** of the pipeline. It researches your competitive landscape (via web search), evaluates ideas against your user personas using the VPC framework, and produces prioritized feature recommendations.
@@ -42,7 +42,7 @@ The Product Manager is the **starting point** of the pipeline. It researches you
42
42
  |-|-|
43
43
  | **Color** | Cyan |
44
44
  | **Model** | Haiku (fast, read-only) |
45
- | **Trigger** | `/specrails:product-backlog` |
45
+ | **Trigger** | `/specrails:get-backlog-specs` |
46
46
  | **Role** | Backlog analysis and reporting |
47
47
 
48
48
  The Product Analyst is a **read-only** agent. It reads your backlog, specs, and archived changes to produce structured reports. It never writes code or makes decisions — it just gives you the data.
package/docs/changelog.md CHANGED
@@ -121,8 +121,8 @@ All commands renamed from `/<name>` to `/specrails:<name>`. All agent files rena
121
121
  - `/specrails:batch-implement` — parallel multi-feature orchestrator using git worktrees
122
122
  - `/specrails:health-check` — codebase quality dashboard with regression detection
123
123
  - `/specrails:compat-check` — backwards compatibility analyzer and migration guide generator
124
- - `/specrails:product-backlog` — VPC-scored backlog view with safe implementation ordering
125
- - `/specrails:update-product-driven-backlog` — AI-powered product discovery via personas
124
+ - `/specrails:get-backlog-specs` — VPC-scored backlog view with safe implementation ordering
125
+ - `/specrails:auto-propose-backlog-specs` — AI-powered product discovery via personas
126
126
  - `/specrails:refactor-recommender` — tech debt scanner ranked by impact/effort
127
127
  - `/specrails:why` — semantic search over agent decision records
128
128
  - `/specrails:retry` — smart failure recovery (added in 1.3)
package/docs/concepts.md CHANGED
@@ -163,7 +163,7 @@ This gives you an audit trail from product decision to implementation choice, wi
163
163
 
164
164
  ## Dependency-Aware Ordering
165
165
 
166
- When `/specrails:product-backlog` is run, the Product Analyst parses `Prerequisites:` fields from GitHub Issue bodies and builds a **dependency DAG** (directed acyclic graph). It then:
166
+ When `/specrails:get-backlog-specs` is run, the Product Analyst parses `Prerequisites:` fields from GitHub Issue bodies and builds a **dependency DAG** (directed acyclic graph). It then:
167
167
 
168
168
  1. Detects cycles and reports them as errors (circular dependencies block ordering)
169
169
  2. Computes a safe implementation order via topological sort
@@ -92,7 +92,7 @@ That's it. One command, full pipeline.
92
92
  Once you have a feature running, a few commands help you understand what's happening and why:
93
93
 
94
94
  - `/specrails:why "question"` — search agent explanation records in plain language. Ask why a design decision was made, why a library was chosen, or why a particular pattern is used. Agents record their reasoning as they work.
95
- - `/specrails:product-backlog` — see your prioritized backlog with safe implementation ordering. Good first stop before picking what to build next.
95
+ - `/specrails:get-backlog-specs` — see your prioritized backlog with safe implementation ordering. Good first stop before picking what to build next.
96
96
  - `/specrails:compat-check #N` — check whether an issue's implementation would break existing API consumers before you commit to it.
97
97
 
98
98
  ## What's next?
@@ -195,7 +195,7 @@ The wizard fills all templates with your project-specific context:
195
195
  ├── commands/
196
196
  │ └── sr/
197
197
  │ ├── implement.md
198
- │ ├── product-backlog.md
198
+ │ ├── get-backlog-specs.md
199
199
  │ ├── batch-implement.md
200
200
  │ └── ... # 17 commands total
201
201
  ├── rules/
@@ -230,7 +230,7 @@ The quick path — three questions, sensible defaults, done in under a minute.
230
230
  | Item | Detail |
231
231
  |------|--------|
232
232
  | Core agents | sr-architect, sr-developer, sr-reviewer, sr-product-manager |
233
- | All workflow commands | `/specrails:implement`, `/specrails:product-backlog`, and 14 more |
233
+ | All workflow commands | `/specrails:implement`, `/specrails:get-backlog-specs`, and 14 more |
234
234
  | Backlog storage | Local tickets (`.claude/local-tickets.json`) — no GitHub or JIRA required |
235
235
  | CLAUDE.md | Project-level context for agents |
236
236
 
@@ -46,7 +46,7 @@ The file is read and written by specrails-core during command execution.
46
46
  "created_at": "2026-03-20T09:00:00.000Z",
47
47
  "updated_at": "2026-03-20T09:00:00.000Z",
48
48
  "created_by": "sr-product-manager",
49
- "source": "product-backlog"
49
+ "source": "get-backlog-specs"
50
50
  }
51
51
  }
52
52
  }
@@ -81,7 +81,7 @@ The file is read and written by specrails-core during command execution.
81
81
  | `created_at` | ISO-8601 | — | Creation timestamp |
82
82
  | `updated_at` | ISO-8601 | — | Last mutation timestamp |
83
83
  | `created_by` | string | — | Agent name or `"user"` |
84
- | `source` | string | `manual`, `product-backlog`, `propose-spec` | How the ticket was created |
84
+ | `source` | string | `manual`, `get-backlog-specs`, `propose-spec` | How the ticket was created |
85
85
 
86
86
  ---
87
87
 
@@ -156,23 +156,23 @@ Pass local ticket IDs the same way you would GitHub issue numbers:
156
156
 
157
157
  The command reads each ticket from `local-tickets.json`, extracts metadata (area, effort, description), and tracks the ticket through the pipeline — updating status to `in_progress` on start and `done` on successful completion.
158
158
 
159
- ### `/specrails:product-backlog`
159
+ ### `/specrails:get-backlog-specs`
160
160
 
161
161
  ```bash
162
- /specrails:product-backlog # all areas
163
- /specrails:product-backlog UI, Backend # filter by area
162
+ /specrails:get-backlog-specs # all areas
163
+ /specrails:get-backlog-specs UI, Backend # filter by area
164
164
  ```
165
165
 
166
166
  Reads all `todo` and `in_progress` tickets, scores them by VPC match, respects the `prerequisites` dependency graph, and recommends the top 3 for your next sprint.
167
167
 
168
- ### `/specrails:update-product-driven-backlog`
168
+ ### `/specrails:auto-propose-backlog-specs`
169
169
 
170
170
  ```bash
171
- /specrails:update-product-driven-backlog # explore all areas
172
- /specrails:update-product-driven-backlog Analytics # focus on one area
171
+ /specrails:auto-propose-backlog-specs # explore all areas
172
+ /specrails:auto-propose-backlog-specs Analytics # focus on one area
173
173
  ```
174
174
 
175
- Runs product discovery using your VPC personas. Creates new local tickets for discovered feature ideas, tagged with `source: "product-backlog"` and `labels: ["product-driven-backlog", "area:<area>"]`. Existing tickets are checked for duplicates before creating new ones.
175
+ Runs product discovery using your VPC personas. Creates new local tickets for discovered feature ideas, tagged with `source: "get-backlog-specs"` and `labels: ["product-driven-backlog", "area:<area>"]`. Existing tickets are checked for duplicates before creating new ones.
176
176
 
177
177
  ### `/specrails:propose-spec`
178
178
 
@@ -125,7 +125,7 @@ npx specrails-core@latest init --root-dir .
125
125
  > /specrails:setup --update
126
126
  ```
127
127
 
128
- The `--update` flag regenerates only the backlog commands (`product-backlog`, `update-product-driven-backlog`, `implement`) without re-running the full stack analysis.
128
+ The `--update` flag regenerates only the backlog commands (`get-backlog-specs`, `auto-propose-backlog-specs`, `implement`) without re-running the full stack analysis.
129
129
 
130
130
  ---
131
131
 
@@ -22,7 +22,7 @@ Not every combination of features is safe to run in parallel. A feature is safe
22
22
 
23
23
  4. **Wave 1 in the dependency DAG**: the feature has no unimplemented prerequisites. A feature with `Prerequisites: #71` cannot run in the same batch as #71 — it must wait for #71 to ship first.
24
24
 
25
- When in doubt, run `/specrails:product-backlog` to see the dependency ordering before composing your batch.
25
+ When in doubt, run `/specrails:get-backlog-specs` to see the dependency ordering before composing your batch.
26
26
 
27
27
  ## What's not safe
28
28
 
@@ -38,10 +38,10 @@ Some combinations look independent but are not:
38
38
 
39
39
  ## Reading the dependency DAG
40
40
 
41
- Run `/specrails:product-backlog` before composing any parallel batch. The output includes a prioritized backlog table with dependency metadata. Wave 1 features — those with no unimplemented prerequisites — are your safe parallel batch candidates.
41
+ Run `/specrails:get-backlog-specs` before composing any parallel batch. The output includes a prioritized backlog table with dependency metadata. Wave 1 features — those with no unimplemented prerequisites — are your safe parallel batch candidates.
42
42
 
43
43
  ```
44
- /specrails:product-backlog
44
+ /specrails:get-backlog-specs
45
45
 
46
46
  ┌─ API ──────────────────────────────────────────┐
47
47
  │ # Issue Score Effort Description │
@@ -103,7 +103,7 @@ After all worktree pipelines complete, specrails attempts to merge each feature
103
103
 
104
104
  | Pattern | Why it works |
105
105
  |---------|-------------|
106
- | Run `/specrails:product-backlog` before composing a batch | Surfaces the dependency DAG so you batch only Wave 1 features |
106
+ | Run `/specrails:get-backlog-specs` before composing a batch | Surfaces the dependency DAG so you batch only Wave 1 features |
107
107
  | Keep batches to 2–4 features | Smaller batches reduce conflict surface area and keep the merge step fast |
108
108
  | Ensure all specs are approved before starting the batch | Prevents mid-batch spec revisions that invalidate a running pipeline |
109
109
  | Sequence database migration features before features that consume the schema | Eliminates the most common class of parallel dev failures |
@@ -117,7 +117,7 @@ After all worktree pipelines complete, specrails attempts to merge each feature
117
117
 
118
118
  ## What's next?
119
119
 
120
- - [Workflows & Commands](workflows.md) — full reference for `/specrails:batch-implement`, `/specrails:implement`, and `/specrails:product-backlog`
120
+ - [Workflows & Commands](workflows.md) — full reference for `/specrails:batch-implement`, `/specrails:implement`, and `/specrails:get-backlog-specs`
121
121
 
122
122
  ---
123
123
 
@@ -45,7 +45,7 @@ The difference is not length — it is specificity. The Architect can produce a
45
45
 
46
46
  The Product Analyst reads your GitHub Issues labeled `product-driven-backlog` to build the dependency DAG and score your backlog. The issue body structure matters.
47
47
 
48
- **The `Prerequisites:` field** is how you tell the Product Analyst that one issue depends on another. When you run `/specrails:product-backlog`, the dependency DAG is built from these declarations. Issues without prerequisites are Wave 1 candidates — safe to implement in parallel. Issues with prerequisites are scheduled after their dependencies complete.
48
+ **The `Prerequisites:` field** is how you tell the Product Analyst that one issue depends on another. When you run `/specrails:get-backlog-specs`, the dependency DAG is built from these declarations. Issues without prerequisites are Wave 1 candidates — safe to implement in parallel. Issues with prerequisites are scheduled after their dependencies complete.
49
49
 
50
50
  ```
51
51
  Prerequisites: #71 (rate limiting middleware must exist before we can display rate limit status)
@@ -336,7 +336,7 @@ Si el board aprueba proceder:
336
336
  | specrails (actual) | Claude Code invocation | Codex invocation |
337
337
  |-------------------|----------------------|-----------------|
338
338
  | `/specrails:implement` | Slash command | Skill (mismo `SKILL.md`) |
339
- | `/specrails:product-backlog` | Slash command | Skill |
339
+ | `/specrails:get-backlog-specs` | Slash command | Skill |
340
340
  | `/opsx:ff` | Slash command | Skill |
341
341
  | `/specrails:setup` | Slash command | `codex exec "run setup"` |
342
342
  | Agent `sr-architect` | `.claude/agents/sr-architect.md` | `.codex/agents/sr-architect.toml` |
@@ -45,7 +45,7 @@ npx specrails-core@latest init → install.sh (bash) → /specrails:se
45
45
 
46
46
  ```
47
47
  Claude Code
48
- ├── Commands (/specrails:implement, /specrails:product-backlog, ...)
48
+ ├── Commands (/specrails:implement, /specrails:get-backlog-specs, ...)
49
49
  ├── Skills (/opsx:new, /opsx:apply, /opsx:ff, ...)
50
50
  ├── Agents (sr-architect, sr-developer, sr-reviewer, ...)
51
51
  ├── Rules (.claude/rules/ — layer-specific conventions)
@@ -39,12 +39,12 @@ Epic: [SPEA-505](/SPEA/issues/SPEA-505) — Codex Compatibility Approach B
39
39
  | Legacy slash commands `.claude/commands/specrails/` | ✅ | ❌ |
40
40
  | SKILL.md format `.claude/skills/sr-*/` | ✅ | ✅ |
41
41
  | `sr:implement` skill | ✅ | ✅ |
42
- | `sr:product-backlog` skill | ✅ | ✅ |
42
+ | `sr:get-backlog-specs` skill | ✅ | ✅ |
43
43
  | `sr:compat-check` skill | ✅ | ✅ |
44
44
  | `sr:why` skill | ✅ | ✅ |
45
45
  | `sr:refactor-recommender` skill | ✅ | ✅ |
46
46
  | `sr:batch-implement` skill | ✅ | ✅ |
47
- | `sr:update-product-driven-backlog` skill | ✅ | ✅ |
47
+ | `sr:auto-propose-backlog-specs` skill | ✅ | ✅ |
48
48
  | Backward compat: slash commands still invoke correctly | ✅ | — |
49
49
 
50
50
  ### Permissions Configuration (SPEA-508)
@@ -146,26 +146,26 @@ Each feature gets its own worktree, its own agent pipeline, and its own PR. Use
146
146
 
147
147
  ## Product and backlog
148
148
 
149
- ### `/specrails:product-backlog` ✅ Both
149
+ ### `/specrails:get-backlog-specs` ✅ Both
150
150
 
151
151
  View your prioritized product backlog, ranked by VPC persona fit and estimated effort.
152
152
 
153
153
  ```
154
- /specrails:product-backlog
155
- /specrails:product-backlog UI, API
154
+ /specrails:get-backlog-specs
155
+ /specrails:get-backlog-specs UI, API
156
156
  ```
157
157
 
158
158
  Reads GitHub Issues labeled `product-driven-backlog`. Produces a ranked table per area, top 3 recommendations, and a safe implementation order based on issue dependencies.
159
159
 
160
160
  ---
161
161
 
162
- ### `/specrails:update-product-driven-backlog` ✅ Both
162
+ ### `/specrails:auto-propose-backlog-specs` ✅ Both
163
163
 
164
164
  Generate new feature ideas through product discovery and create GitHub Issues.
165
165
 
166
166
  ```
167
- /specrails:update-product-driven-backlog
168
- /specrails:update-product-driven-backlog UI, API
167
+ /specrails:auto-propose-backlog-specs
168
+ /specrails:auto-propose-backlog-specs UI, API
169
169
  ```
170
170
 
171
171
  The Product Manager researches your competitive landscape, generates 2–4 feature ideas per area, and scores each against your user personas. Creates GitHub Issues with full VPC evaluation if write access is available.
@@ -30,7 +30,7 @@ SpecRails supports both **OpenAI Codex** and **Anthropic Claude Code** as AI age
30
30
  SpecRails Skills use `SKILL.md` format, which is shared between Codex and Claude Code. All `/specrails:*` and `/opsx:*` skills run identically on both platforms:
31
31
 
32
32
  - `/specrails:implement` — full pipeline (design → code → review → PR)
33
- - `/specrails:product-backlog` — VPC-ranked backlog view
33
+ - `/specrails:get-backlog-specs` — VPC-ranked backlog view
34
34
  - `/opsx:ff` — OpenSpec fast-forward
35
35
  - All other workflow skills
36
36
 
@@ -122,7 +122,7 @@ One command. The PR is ready for human review.
122
122
  **Explore the backlog:**
123
123
 
124
124
  ```
125
- /specrails:product-backlog
125
+ /specrails:get-backlog-specs
126
126
  ```
127
127
 
128
128
  See your tickets ranked by persona fit and effort. The top 3 are safe to implement next. Uses local tickets by default.
@@ -130,7 +130,7 @@ See your tickets ranked by persona fit and effort. The top 3 are safe to impleme
130
130
  **Generate new feature ideas:**
131
131
 
132
132
  ```
133
- /specrails:update-product-driven-backlog
133
+ /specrails:auto-propose-backlog-specs
134
134
  ```
135
135
 
136
136
  The Product Manager researches your competitive landscape and creates new tickets (local by default, or GitHub Issues if configured).
package/docs/workflows.md CHANGED
@@ -115,13 +115,13 @@ Each feature gets its own worktree, its own agent pipeline, and its own PR. Feat
115
115
 
116
116
  ---
117
117
 
118
- ## `/specrails:product-backlog`
118
+ ## `/specrails:get-backlog-specs`
119
119
 
120
120
  View your prioritized product backlog, ranked by VPC fit and effort.
121
121
 
122
122
  ```
123
- /specrails:product-backlog # Full backlog
124
- /specrails:product-backlog UI, API # Filter by area
123
+ /specrails:get-backlog-specs # Full backlog
124
+ /specrails:get-backlog-specs UI, API # Filter by area
125
125
  ```
126
126
 
127
127
  ### What it shows
@@ -151,13 +151,13 @@ Safe Implementation Order (Wave 1):
151
151
 
152
152
  ---
153
153
 
154
- ## `/specrails:update-product-driven-backlog`
154
+ ## `/specrails:auto-propose-backlog-specs`
155
155
 
156
156
  Generate new feature ideas through product discovery. The Product Manager (Opus) researches your competitive landscape and generates ideas evaluated against your personas.
157
157
 
158
158
  ```
159
- /specrails:update-product-driven-backlog # All areas
160
- /specrails:update-product-driven-backlog UI, API # Focus areas
159
+ /specrails:auto-propose-backlog-specs # All areas
160
+ /specrails:auto-propose-backlog-specs UI, API # Focus areas
161
161
  ```
162
162
 
163
163
  ### What it does
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specrails-core",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "description": "AI agent workflow system for Claude Code — installs 12 specialized agents, orchestration commands, and persona-driven product discovery into any repository",
5
5
  "bin": {
6
6
  "specrails-core": "bin/specrails-core.js"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: sr-product-analyst
3
- description: "Use this agent for read-only analysis tasks: backlog prioritization, VPC evaluation, codebase audits, spec gap analysis, dependency checks, and reporting. This agent reads specs, code, personas, and archived changes to produce structured reports. It never writes code or modifies files.\n\nExamples:\n\n- Example 1:\n user: \"/product-backlog\"\n assistant: \"Launching the product-analyst agent to read and prioritize the product backlog.\"\n\n- Example 2:\n user: \"What's the gap between our specs and actual implementation?\"\n assistant: \"Let me launch the product-analyst agent to compare specs against the codebase.\""
3
+ description: "Use this agent for read-only analysis tasks: backlog prioritization, VPC evaluation, codebase audits, spec gap analysis, dependency checks, and reporting. This agent reads specs, code, personas, and archived changes to produce structured reports. It never writes code or modifies files.\n\nExamples:\n\n- Example 1:\n user: \"/get-backlog-specs\"\n assistant: \"Launching the product-analyst agent to read and prioritize the product backlog.\"\n\n- Example 2:\n user: \"What's the gap between our specs and actual implementation?\"\n assistant: \"Let me launch the product-analyst agent to compare specs against the codebase.\""
4
4
  model: haiku
5
5
  color: cyan
6
6
  memory: project
@@ -24,7 +24,7 @@ Git access level: **{{GIT_ACCESS}}**
24
24
  Start with a product backlog to discover what to build first:
25
25
 
26
26
  ```
27
- /specrails:product-backlog
27
+ /specrails:get-backlog-specs
28
28
  ```
29
29
 
30
30
  Then implement features using the full pipeline:
@@ -6,7 +6,7 @@ tags: [workflow, explore, priorities, backlog, product-discovery]
6
6
  model: opus
7
7
  ---
8
8
 
9
- Analyze the project from a **product perspective** to generate new feature ideas. Syncs results to GitHub Issues labeled `product-driven-backlog`. Use `/specrails:product-backlog` to view current ideas.
9
+ Analyze the project from a **product perspective** to generate new feature ideas. Syncs results to GitHub Issues labeled `product-driven-backlog`. Use `/specrails:get-backlog-specs` to view current ideas.
10
10
 
11
11
  **Input:** $ARGUMENTS (optional: comma-separated areas to focus on. If empty, analyze all areas.)
12
12
 
@@ -128,7 +128,7 @@ Local tickets are always read-write. Sync directly to `$SPECRAILS_DIR/local-tick
128
128
  - `metadata.user_story`: The user story text
129
129
  - `metadata.area`: The area name (without `area:` prefix)
130
130
  - `prerequisites`: Array of ticket IDs for any features this depends on (empty if none)
131
- - `source`: `"product-backlog"`
131
+ - `source`: `"get-backlog-specs"`
132
132
  - `created_by`: `"sr-product-manager"`
133
133
 
134
134
  6. **Report** sync results:
@@ -182,7 +182,7 @@ Local tickets are always read-write. Sync directly to `$SPECRAILS_DIR/local-tick
182
182
  {Brief notes on existing infrastructure and what needs to be built}
183
183
 
184
184
  ---
185
- _Auto-generated by `/specrails:update-product-driven-backlog` on {DATE}_
185
+ _Auto-generated by `/specrails:auto-propose-backlog-specs` on {DATE}_
186
186
  EOF
187
187
  )"
188
188
  ```
@@ -219,7 +219,7 @@ Stop and do not proceed with sync.
219
219
  curl -s \
220
220
  -H "Authorization: Basic $(printf '%s' "$JIRA_USER_EMAIL:$JIRA_API_TOKEN" | base64)" \
221
221
  -H "Content-Type: application/json" \
222
- "${JIRA_BASE_URL}/rest/api/3/search?jql=project%3D${JIRA_PROJECT_KEY}+AND+labels%3Dproduct-backlog+AND+issuetype%3DStory&fields=summary&maxResults=200"
222
+ "${JIRA_BASE_URL}/rest/api/3/search?jql=project%3D${JIRA_PROJECT_KEY}+AND+labels%3Dget-backlog-specs+AND+issuetype%3DStory&fields=summary&maxResults=200"
223
223
  ```
224
224
 
225
225
  Store all `summary` values. Skip any feature whose title matches an existing summary.
@@ -255,7 +255,7 @@ For each unique area:
255
255
  "project": {"key": "'"${JIRA_PROJECT_KEY}"'"},
256
256
  "issuetype": {"name": "Epic"},
257
257
  "summary": "'"${AREA_DISPLAY_NAME}"'",
258
- "labels": ["product-backlog"]
258
+ "labels": ["get-backlog-specs"]
259
259
  }
260
260
  }'
261
261
  ```
@@ -286,7 +286,7 @@ curl -s -X POST \
286
286
  "content": [{"type": "text", "text": "'"${VPC_BODY_ESCAPED}"'"}]
287
287
  }]
288
288
  },
289
- "labels": ["product-backlog"],
289
+ "labels": ["get-backlog-specs"],
290
290
  "'"${EPIC_LINK_FIELD}"'": {"key": "'"${EPIC_KEY}"'"}
291
291
  }
292
292
  }'
@@ -35,7 +35,7 @@ Each check is displayed as ✅ (pass) or ❌ (fail with fix instruction).
35
35
 
36
36
  On all checks passed:
37
37
  ```
38
- All 6 checks passed. Run /specrails:product-backlog to get started.
38
+ All 6 checks passed. Run /specrails:get-backlog-specs to get started.
39
39
  ```
40
40
 
41
41
  On failure:
@@ -5,7 +5,7 @@ category: Workflow
5
5
  tags: [workflow, backlog, viewer, product-driven]
6
6
  ---
7
7
 
8
- Display the product-driven backlog by reading issues/tickets from the configured backlog provider ({{BACKLOG_PROVIDER_NAME}}). These are feature ideas generated through VPC-based product discovery — evaluated against user personas. Use `/specrails:update-product-driven-backlog` to generate new ideas.
8
+ Display the product-driven backlog by reading issues/tickets from the configured backlog provider ({{BACKLOG_PROVIDER_NAME}}). These are feature ideas generated through VPC-based product discovery — evaluated against user personas. Use `/specrails:auto-propose-backlog-specs` to generate new ideas.
9
9
 
10
10
  **Input:** $ARGUMENTS (optional: comma-separated areas to filter. If empty, show all.)
11
11
 
@@ -156,7 +156,7 @@ The product-analyst receives this prompt:
156
156
 
157
157
  10. If no issues exist:
158
158
  ```
159
- No product-driven backlog issues found. Run `/specrails:update-product-driven-backlog` to generate feature ideas.
159
+ No product-driven backlog issues found. Run `/specrails:auto-propose-backlog-specs` to generate feature ideas.
160
160
  ```
161
161
 
162
162
  7. **[Orchestrator]** After the product-analyst completes, write issue snapshots to `.claude/backlog-cache.json`.
@@ -181,7 +181,7 @@ The product-analyst receives this prompt:
181
181
  - `schema_version`: `"1"`
182
182
  - `provider`: `"local"`
183
183
  - `last_updated`: current ISO 8601 timestamp
184
- - `written_by`: `"product-backlog"`
184
+ - `written_by`: `"get-backlog-specs"`
185
185
  - `issues`: the map keyed by string ticket ID
186
186
 
187
187
  If the write fails: print `[backlog-cache] Warning: could not write cache. Continuing.` Do not abort.
@@ -216,7 +216,7 @@ The product-analyst receives this prompt:
216
216
  - `schema_version`: `"1"`
217
217
  - `provider`: `"github"`
218
218
  - `last_updated`: current ISO 8601 timestamp
219
- - `written_by`: `"product-backlog"`
219
+ - `written_by`: `"get-backlog-specs"`
220
220
  - `issues`: the merged map keyed by string issue number
221
221
 
222
222
  If the write fails (e.g., `.claude/` directory does not exist): print `[backlog-cache] Warning: could not write cache. Continuing.` Do not abort.
@@ -83,7 +83,7 @@ Print: `Created GitHub Issue #{number}: {title}`
83
83
 
84
84
  ### If provider=jira and BACKLOG_WRITE=true — Create JIRA Story
85
85
 
86
- Create a JIRA Story using the same authentication and API pattern as `/specrails:update-product-driven-backlog`:
86
+ Create a JIRA Story using the same authentication and API pattern as `/specrails:auto-propose-backlog-specs`:
87
87
  - Summary: The Spec Title
88
88
  - Description: Full structured proposal in Atlassian Document Format
89
89
  - Labels: `spec-proposal`
@@ -56,7 +56,7 @@ Read the following files to understand the current installation state:
56
56
  ```bash
57
57
  ls $SPECRAILS_DIR/setup-templates/commands/specrails/
58
58
  ```
59
- Command template files include `implement.md`, `batch-implement.md`, `compat-check.md`, `refactor-recommender.md`, `why.md`, `product-backlog.md`, `update-product-driven-backlog.md`.
59
+ Command template files include `implement.md`, `batch-implement.md`, `compat-check.md`, `refactor-recommender.md`, `why.md`, `get-backlog-specs.md`, `auto-propose-backlog-specs.md`.
60
60
  If this directory does not exist, skip command template checking for this update.
61
61
 
62
62
  6. Read `$SPECRAILS_DIR/backlog-config.json` if it exists — contains stored provider configuration needed for command placeholder substitution.
@@ -420,8 +420,8 @@ Core commands (always install if missing):
420
420
  - `propose-spec.md`
421
421
  - `compat-check.md`
422
422
  - `why.md`
423
- - `product-backlog.md`
424
- - `update-product-driven-backlog.md`
423
+ - `get-backlog-specs.md`
424
+ - `auto-propose-backlog-specs.md`
425
425
 
426
426
  **Initialize local ticket storage** (backlog provider defaults to `local`):
427
427
  1. Copy `templates/local-tickets-schema.json` to `$SPECRAILS_DIR/local-tickets.json` and set `last_updated` to the current ISO-8601 timestamp. Skip if the file already exists.
@@ -462,16 +462,16 @@ After generating all files, display the setup complete message.
462
462
 
463
463
  Then, based on `QS_IS_EXISTING_CODEBASE`:
464
464
  - **Existing codebase** (`true`): recommend `/specrails:refactor-recommender`
465
- - **New project** (`false`): recommend `/specrails:product-backlog`
465
+ - **New project** (`false`): recommend `/specrails:get-backlog-specs`
466
466
 
467
467
  If `QS_IS_RERUN=false`, display:
468
468
  ```
469
469
  ✅ Setup complete.
470
470
 
471
471
  Try your first command:
472
- > /specrails:product-backlog
472
+ > /specrails:get-backlog-specs
473
473
  ```
474
- (Replace `/specrails:product-backlog` with `/specrails:refactor-recommender` for existing codebases.)
474
+ (Replace `/specrails:get-backlog-specs` with `/specrails:refactor-recommender` for existing codebases.)
475
475
 
476
476
  If `QS_IS_RERUN=true`, display the gap-fill summary and stop:
477
477
  ```
@@ -768,7 +768,7 @@ Local tickets are always read-write — there is no "read only" mode since the f
768
768
  **Status values:** `todo`, `in_progress`, `done`, `cancelled`
769
769
  **Priority values:** `critical`, `high`, `medium`, `low`
770
770
  **Labels:** Freeform strings following the `area:*` and `effort:*` convention
771
- **Source values:** `manual`, `product-backlog`, `propose-spec`
771
+ **Source values:** `manual`, `get-backlog-specs`, `propose-spec`
772
772
 
773
773
  **Advisory file locking protocol** (CLI agents and hub server must both follow this):
774
774
 
@@ -913,7 +913,7 @@ Store the full configuration in `.claude/backlog-config.json`:
913
913
 
914
914
  #### If None
915
915
 
916
- - Skip `/specrails:product-backlog` and `/specrails:update-product-driven-backlog` commands.
916
+ - Skip `/specrails:get-backlog-specs` and `/specrails:auto-propose-backlog-specs` commands.
917
917
  - The `/specrails:implement` command will still work with text descriptions.
918
918
 
919
919
  ### 3.3 Git & shipping workflow
@@ -946,8 +946,8 @@ If automatic, also check if `gh` is authenticated (for PR creation). If not, war
946
946
  | /specrails:implement | Full pipeline: sr-architect → sr-developer → sr-reviewer → ship | sr-architect + sr-developer + sr-reviewer |
947
947
  | /specrails:batch-implement | Orchestrate multiple features in dependency-aware waves | sr-architect + sr-developer + sr-reviewer |
948
948
  | /specrails:propose-spec | Interactively propose and refine a feature spec, then create a GitHub issue | GitHub CLI |
949
- | /specrails:product-backlog | View prioritized backlog with VPC scores | sr-product-analyst + Backlog provider |
950
- | /specrails:update-product-driven-backlog | Generate new feature ideas via product discovery | sr-product-manager + Backlog provider |
949
+ | /specrails:get-backlog-specs | View prioritized backlog with VPC scores | sr-product-analyst + Backlog provider |
950
+ | /specrails:auto-propose-backlog-specs | Generate new feature ideas via product discovery | sr-product-manager + Backlog provider |
951
951
  | /specrails:compat-check | Snapshot API surface and detect breaking changes | None |
952
952
  | /specrails:refactor-recommender | Scan for refactoring opportunities ranked by impact/effort | None |
953
953
  | /specrails:why | Search past architectural decisions from agent memory | None |
@@ -1081,8 +1081,8 @@ For each selected command, read the template and adapt.
1081
1081
  - `setup-templates/commands/specrails/implement.md` → `.claude/commands/specrails/implement.md`
1082
1082
  - `setup-templates/commands/specrails/batch-implement.md` → `.claude/commands/specrails/batch-implement.md`
1083
1083
  - `setup-templates/commands/specrails/propose-spec.md` → `.claude/commands/specrails/propose-spec.md`
1084
- - `setup-templates/commands/specrails/product-backlog.md` → `.claude/commands/specrails/product-backlog.md` (if `BACKLOG_PROVIDER != none`)
1085
- - `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.claude/commands/specrails/update-product-driven-backlog.md` (if `BACKLOG_PROVIDER != none`)
1084
+ - `setup-templates/commands/specrails/get-backlog-specs.md` → `.claude/commands/specrails/get-backlog-specs.md` (if `BACKLOG_PROVIDER != none`)
1085
+ - `setup-templates/commands/specrails/auto-propose-backlog-specs.md` → `.claude/commands/specrails/auto-propose-backlog-specs.md` (if `BACKLOG_PROVIDER != none`)
1086
1086
  - `setup-templates/commands/specrails/compat-check.md` → `.claude/commands/specrails/compat-check.md`
1087
1087
  - `setup-templates/commands/specrails/refactor-recommender.md` → `.claude/commands/specrails/refactor-recommender.md`
1088
1088
  - `setup-templates/commands/specrails/why.md` → `.claude/commands/specrails/why.md`
@@ -1091,8 +1091,8 @@ For each selected command, read the template and adapt.
1091
1091
  - `setup-templates/skills/sr-implement/SKILL.md` → `.agents/skills/sr-implement/SKILL.md`
1092
1092
  - `setup-templates/skills/sr-batch-implement/SKILL.md` → `.agents/skills/sr-batch-implement/SKILL.md`
1093
1093
  - `setup-templates/commands/specrails/propose-spec.md` → `.agents/skills/sr-propose-spec/SKILL.md` (wrap with YAML frontmatter if no skill template exists)
1094
- - `setup-templates/commands/specrails/product-backlog.md` → `.agents/skills/sr-product-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1095
- - `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.agents/skills/sr-update-product-driven-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1094
+ - `setup-templates/commands/specrails/get-backlog-specs.md` → `.agents/skills/sr-get-backlog-specs/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1095
+ - `setup-templates/commands/specrails/auto-propose-backlog-specs.md` → `.agents/skills/sr-auto-propose-backlog-specs/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
1096
1096
  - `setup-templates/skills/sr-compat-check/SKILL.md` → `.agents/skills/sr-compat-check/SKILL.md`
1097
1097
  - `setup-templates/skills/sr-refactor-recommender/SKILL.md` → `.agents/skills/sr-refactor-recommender/SKILL.md`
1098
1098
  - `setup-templates/skills/sr-why/SKILL.md` → `.agents/skills/sr-why/SKILL.md`
@@ -1121,7 +1121,7 @@ Adapt:
1121
1121
 
1122
1122
  #### Backlog command persona placeholder substitution
1123
1123
 
1124
- When adapting `update-product-driven-backlog.md` and `product-backlog.md`, substitute the persona placeholders based on the full persona set (user-generated personas + Maintainer if `IS_OSS=true`):
1124
+ When adapting `auto-propose-backlog-specs.md` and `get-backlog-specs.md`, substitute the persona placeholders based on the full persona set (user-generated personas + Maintainer if `IS_OSS=true`):
1125
1125
 
1126
1126
  | Placeholder | Substitution rule |
1127
1127
  |-------------|------------------|
@@ -1174,12 +1174,12 @@ All write operations must follow the **advisory file locking protocol** defined
1174
1174
  - Pre-flight check: `gh auth status`
1175
1175
 
1176
1176
  #### JIRA (`BACKLOG_PROVIDER=jira`)
1177
- - Issue fetch: `jira issue list --project {{JIRA_PROJECT_KEY}} --type Story --label product-backlog --status "To Do" --plain` or equivalent JIRA REST API call via curl:
1177
+ - Issue fetch: `jira issue list --project {{JIRA_PROJECT_KEY}} --type Story --label get-backlog-specs --status "To Do" --plain` or equivalent JIRA REST API call via curl:
1178
1178
  ```bash
1179
1179
  curl -s -u "$JIRA_USER_EMAIL:$JIRA_API_TOKEN" \
1180
- "{{JIRA_BASE_URL}}/rest/api/3/search?jql=project={{JIRA_PROJECT_KEY}} AND labels=product-backlog AND status='To Do'&fields=summary,description,labels,priority"
1180
+ "{{JIRA_BASE_URL}}/rest/api/3/search?jql=project={{JIRA_PROJECT_KEY}} AND labels=get-backlog-specs AND status='To Do'&fields=summary,description,labels,priority"
1181
1181
  ```
1182
- - Issue create: `jira issue create --project {{JIRA_PROJECT_KEY}} --type Story --summary "..." --label product-backlog --description "..."` or equivalent REST API call
1182
+ - Issue create: `jira issue create --project {{JIRA_PROJECT_KEY}} --type Story --summary "..." --label get-backlog-specs --description "..."` or equivalent REST API call
1183
1183
  - Issue view: `jira issue view {key}` or REST API
1184
1184
  - VPC scores stored in the issue description body (same markdown format, parsed from description)
1185
1185
  - Pre-flight check: `jira me` or test API connectivity
@@ -1374,8 +1374,8 @@ Display the complete installation summary:
1374
1374
  | /specrails:implement | .claude/commands/specrails/implement.md |
1375
1375
  | /specrails:batch-implement | .claude/commands/specrails/batch-implement.md |
1376
1376
  | /specrails:propose-spec | .claude/commands/specrails/propose-spec.md |
1377
- | /specrails:product-backlog | .claude/commands/specrails/product-backlog.md |
1378
- | /specrails:update-product-driven-backlog | .claude/commands/specrails/update-product-driven-backlog.md |
1377
+ | /specrails:get-backlog-specs | .claude/commands/specrails/get-backlog-specs.md |
1378
+ | /specrails:auto-propose-backlog-specs | .claude/commands/specrails/auto-propose-backlog-specs.md |
1379
1379
  | /specrails:compat-check | .claude/commands/specrails/compat-check.md |
1380
1380
  | /specrails:refactor-recommender | .claude/commands/specrails/refactor-recommender.md |
1381
1381
  | /specrails:why | .claude/commands/specrails/why.md |
@@ -1385,8 +1385,8 @@ Display the complete installation summary:
1385
1385
  | $sr-implement | .agents/skills/sr-implement/SKILL.md |
1386
1386
  | $sr-batch-implement | .agents/skills/sr-batch-implement/SKILL.md |
1387
1387
  | $sr-propose-spec | .agents/skills/sr-propose-spec/SKILL.md |
1388
- | $sr-product-backlog | .agents/skills/sr-product-backlog/SKILL.md |
1389
- | $sr-update-product-driven-backlog | .agents/skills/sr-update-product-driven-backlog/SKILL.md |
1388
+ | $sr-get-backlog-specs | .agents/skills/sr-get-backlog-specs/SKILL.md |
1389
+ | $sr-auto-propose-backlog-specs | .agents/skills/sr-auto-propose-backlog-specs/SKILL.md |
1390
1390
  | $sr-compat-check | .agents/skills/sr-compat-check/SKILL.md |
1391
1391
  | $sr-refactor-recommender | .agents/skills/sr-refactor-recommender/SKILL.md |
1392
1392
  | $sr-why | .agents/skills/sr-why/SKILL.md |
@@ -1410,26 +1410,26 @@ Note: Only commands/skills selected during setup are shown. Backlog commands are
1410
1410
  ### Next Steps
1411
1411
  [If cli_provider == "claude":]
1412
1412
  1. Review the generated files in .claude/
1413
- 2. Run `/specrails:product-backlog` to see your backlog (if GitHub Issues exist)
1414
- 3. Run `/specrails:update-product-driven-backlog` to generate feature ideas
1413
+ 2. Run `/specrails:get-backlog-specs` to see your backlog (if GitHub Issues exist)
1414
+ 3. Run `/specrails:auto-propose-backlog-specs` to generate feature ideas
1415
1415
  4. Run `/specrails:implement #issue-number` to implement a feature
1416
1416
  5. Commit the .claude/ directory to version control
1417
1417
  [If cli_provider == "codex":]
1418
1418
  1. Review the generated files in .codex/ and .agents/skills/
1419
- 2. Run `$sr-product-backlog` to see your backlog (if GitHub Issues exist)
1420
- 3. Run `$sr-update-product-driven-backlog` to generate feature ideas
1419
+ 2. Run `$sr-get-backlog-specs` to see your backlog (if GitHub Issues exist)
1420
+ 3. Run `$sr-auto-propose-backlog-specs` to generate feature ideas
1421
1421
  4. Run `$sr-implement #issue-number` to implement a feature
1422
1422
  5. Commit the .codex/ and .agents/ directories to version control
1423
1423
 
1424
1424
  ### Quick Start
1425
1425
  [If cli_provider == "claude":]
1426
1426
  - `/specrails:implement "describe a feature"` — implement something right now
1427
- - `/specrails:product-backlog` — see prioritized feature ideas
1428
- - `/specrails:update-product-driven-backlog` — discover new features using VPC
1427
+ - `/specrails:get-backlog-specs` — see prioritized feature ideas
1428
+ - `/specrails:auto-propose-backlog-specs` — discover new features using VPC
1429
1429
  [If cli_provider == "codex":]
1430
1430
  - `$sr-implement "describe a feature"` — implement something right now
1431
- - `$sr-product-backlog` — see prioritized feature ideas
1432
- - `$sr-update-product-driven-backlog` — discover new features using VPC
1431
+ - `$sr-get-backlog-specs` — see prioritized feature ideas
1432
+ - `$sr-auto-propose-backlog-specs` — discover new features using VPC
1433
1433
  ```
1434
1434
 
1435
1435
  ## First Task Prompt (Full Wizard)
@@ -1442,9 +1442,9 @@ After displaying the setup complete summary above, detect the project type and o
1442
1442
 
1443
1443
  Try your first spec:
1444
1444
  [If cli_provider == "claude":]
1445
- > /specrails:product-backlog
1445
+ > /specrails:get-backlog-specs
1446
1446
  [If cli_provider == "codex":]
1447
- > $sr-product-backlog
1447
+ > $sr-get-backlog-specs
1448
1448
  ```
1449
1449
 
1450
1450
  **Existing codebase** (one or more of the above files found in root):
@@ -256,7 +256,7 @@ After all per-persona analyses are complete, look for systemic patterns.
256
256
  **Orphan backlog items:** Items with no persona scores at all (neither from score data nor semantic matching). Count them. If > 20% of total backlog, flag:
257
257
  ```
258
258
  ⚠️ <N> backlog items (<N>%) have no clear persona linkage.
259
- Consider running /specrails:update-product-driven-backlog to re-evaluate them.
259
+ Consider running /specrails:auto-propose-backlog-specs to re-evaluate them.
260
260
  ```
261
261
 
262
262
  Store in `CROSS_PERSONA_FINDINGS`.
@@ -378,7 +378,7 @@ After all personas:
378
378
  ### Next Steps
379
379
 
380
380
  1. Review drifted attributes and decide: **update VPC** (if the product has legitimately evolved) or **add backlog items** (if the persona's needs are being neglected).
381
- 2. Run `/specrails:update-product-driven-backlog` after updating personas to regenerate aligned feature ideas.
381
+ 2. Run `/specrails:auto-propose-backlog-specs` after updating personas to regenerate aligned feature ideas.
382
382
  3. Re-run `/specrails:vpc-drift` after one sprint to measure improvement.
383
383
 
384
384
  _Generated by `/specrails:vpc-drift` in {{PROJECT_NAME}} on <ISO date>_
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: sr-update-backlog
3
- description: "sr:update-product-driven-backlog — Generate new feature ideas through product discovery, create GitHub Issues."
2
+ name: sr-auto-propose-backlog-specs
3
+ description: "sr:auto-propose-backlog-specs — Generate new feature ideas through product discovery, create GitHub Issues."
4
4
  license: MIT
5
5
  compatibility: "Requires GitHub CLI (gh)."
6
6
  metadata:
@@ -9,7 +9,7 @@ metadata:
9
9
  ---
10
10
 
11
11
 
12
- Analyze the project from a **product perspective** to generate new feature ideas. Syncs results to GitHub Issues labeled `product-driven-backlog`. Use `/specrails:product-backlog` to view current ideas.
12
+ Analyze the project from a **product perspective** to generate new feature ideas. Syncs results to GitHub Issues labeled `product-driven-backlog`. Use `/specrails:get-backlog-specs` to view current ideas.
13
13
 
14
14
  **Input:** $ARGUMENTS (optional: comma-separated areas to focus on. If empty, analyze all areas.)
15
15
 
@@ -145,7 +145,7 @@ After the Explore agent completes:
145
145
  {Brief notes on existing infrastructure and what needs to be built}
146
146
 
147
147
  ---
148
- _Auto-generated by `/specrails:update-product-driven-backlog` on {DATE}_
148
+ _Auto-generated by `/specrails:auto-propose-backlog-specs` on {DATE}_
149
149
  EOF
150
150
  )"
151
151
  ```
@@ -182,7 +182,7 @@ Stop and do not proceed with sync.
182
182
  curl -s \
183
183
  -H "Authorization: Basic $(printf '%s' "$JIRA_USER_EMAIL:$JIRA_API_TOKEN" | base64)" \
184
184
  -H "Content-Type: application/json" \
185
- "${JIRA_BASE_URL}/rest/api/3/search?jql=project%3D${JIRA_PROJECT_KEY}+AND+labels%3Dproduct-backlog+AND+issuetype%3DStory&fields=summary&maxResults=200"
185
+ "${JIRA_BASE_URL}/rest/api/3/search?jql=project%3D${JIRA_PROJECT_KEY}+AND+labels%3Dget-backlog-specs+AND+issuetype%3DStory&fields=summary&maxResults=200"
186
186
  ```
187
187
 
188
188
  Store all `summary` values. Skip any feature whose title matches an existing summary.
@@ -218,7 +218,7 @@ For each unique area:
218
218
  "project": {"key": "'"${JIRA_PROJECT_KEY}"'"},
219
219
  "issuetype": {"name": "Epic"},
220
220
  "summary": "'"${AREA_DISPLAY_NAME}"'",
221
- "labels": ["product-backlog"]
221
+ "labels": ["get-backlog-specs"]
222
222
  }
223
223
  }'
224
224
  ```
@@ -249,7 +249,7 @@ curl -s -X POST \
249
249
  "content": [{"type": "text", "text": "'"${VPC_BODY_ESCAPED}"'"}]
250
250
  }]
251
251
  },
252
- "labels": ["product-backlog"],
252
+ "labels": ["get-backlog-specs"],
253
253
  "'"${EPIC_LINK_FIELD}"'": {"key": "'"${EPIC_KEY}"'"}
254
254
  }
255
255
  }'
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: sr-product-backlog
3
- description: "sr:product-backlog — View product-driven backlog from GitHub Issues and propose top 3 for implementation."
2
+ name: sr-get-backlog-specs
3
+ description: "sr:get-backlog-specs — View product-driven backlog from GitHub Issues and propose top 3 for implementation."
4
4
  license: MIT
5
5
  compatibility: "Requires GitHub CLI (gh)."
6
6
  metadata:
@@ -9,7 +9,7 @@ metadata:
9
9
  ---
10
10
 
11
11
 
12
- Display the product-driven backlog by reading issues/tickets from the configured backlog provider ({{BACKLOG_PROVIDER_NAME}}). These are feature ideas generated through VPC-based product discovery — evaluated against user personas. Use `/specrails:update-product-driven-backlog` to generate new ideas.
12
+ Display the product-driven backlog by reading issues/tickets from the configured backlog provider ({{BACKLOG_PROVIDER_NAME}}). These are feature ideas generated through VPC-based product discovery — evaluated against user personas. Use `/specrails:auto-propose-backlog-specs` to generate new ideas.
13
13
 
14
14
  **Input:** $ARGUMENTS (optional: comma-separated areas to filter. If empty, show all.)
15
15
 
@@ -160,7 +160,7 @@ The product-analyst receives this prompt:
160
160
 
161
161
  10. If no issues exist:
162
162
  ```
163
- No product-driven backlog issues found. Run `/specrails:update-product-driven-backlog` to generate feature ideas.
163
+ No product-driven backlog issues found. Run `/specrails:auto-propose-backlog-specs` to generate feature ideas.
164
164
  ```
165
165
 
166
166
  7. **[Orchestrator]** After the product-analyst completes, write issue snapshots to `.claude/backlog-cache.json`.
@@ -193,7 +193,7 @@ The product-analyst receives this prompt:
193
193
  - `schema_version`: `"1"`
194
194
  - `provider`: `"github"`
195
195
  - `last_updated`: current ISO 8601 timestamp
196
- - `written_by`: `"product-backlog"`
196
+ - `written_by`: `"get-backlog-specs"`
197
197
  - `issues`: the merged map keyed by string issue number
198
198
 
199
199
  If the write fails (e.g., `.claude/` directory does not exist): print `[backlog-cache] Warning: could not write cache. Continuing.` Do not abort.
package/update.sh CHANGED
@@ -417,8 +417,8 @@ do_migrate_sr_prefix() {
417
417
  local workflow_commands=(
418
418
  "implement"
419
419
  "batch-implement"
420
- "product-backlog"
421
- "update-product-driven-backlog"
420
+ "get-backlog-specs"
421
+ "auto-propose-backlog-specs"
422
422
  "compat-check"
423
423
  "refactor-recommender"
424
424
  "why"