@houseofwolvesllc/claude-scrum-skill 2.1.2 → 2.1.3
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-scrum-skill",
|
|
3
3
|
"description": "Complete scrum pipeline — PRD to production release with Claude as scrum master. Includes project scaffolding, sprint planning, status tracking, sprint releases, and full-project emulation testing.",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "House of Wolves LLC"
|
|
7
7
|
},
|
package/bin/install.js
CHANGED
|
@@ -6,6 +6,7 @@ const path = require('path');
|
|
|
6
6
|
const HOME = process.env.HOME || process.env.USERPROFILE;
|
|
7
7
|
const SOURCE_DIR = path.join(__dirname, '..', 'skills');
|
|
8
8
|
const WORKFLOWS_SOURCE_DIR = path.join(__dirname, '..', 'lib', 'workflows');
|
|
9
|
+
const GUIDANCE_SOURCE_DIR = path.join(__dirname, '..', 'lib', 'guidance');
|
|
9
10
|
const IS_GLOBAL = process.env.npm_config_global === 'true';
|
|
10
11
|
const CONFIG_FILENAME = 'config.json';
|
|
11
12
|
|
|
@@ -30,6 +31,7 @@ function main() {
|
|
|
30
31
|
installSharedReferences(skillsDir);
|
|
31
32
|
const installed = installSkills(skillsDir);
|
|
32
33
|
installWorkflows(skillsDir);
|
|
34
|
+
installGuidance(skillsDir);
|
|
33
35
|
|
|
34
36
|
if (!IS_GLOBAL) {
|
|
35
37
|
ensureGitignoreEntry(skillsDir);
|
|
@@ -121,6 +123,16 @@ function installWorkflows(skillsDir) {
|
|
|
121
123
|
console.log(' ⚙️ _workflows (lib/workflows + schemas)');
|
|
122
124
|
}
|
|
123
125
|
|
|
126
|
+
// Copy lib/guidance/ → <skillsDir>/_guidance/ (v2.1.3+).
|
|
127
|
+
// Underscore prefix keeps these internal — orchestrator-injected situational
|
|
128
|
+
// guidance for core epics, never registered as user-facing skills.
|
|
129
|
+
function installGuidance(skillsDir) {
|
|
130
|
+
if (!fs.existsSync(GUIDANCE_SOURCE_DIR)) return;
|
|
131
|
+
const guidanceDest = path.join(skillsDir, '_guidance');
|
|
132
|
+
copyRecursive(GUIDANCE_SOURCE_DIR, guidanceDest);
|
|
133
|
+
console.log(' 🧭 _guidance (design-patterns + domain-modeling)');
|
|
134
|
+
}
|
|
135
|
+
|
|
124
136
|
function ensureGitignoreEntry(skillsDir) {
|
|
125
137
|
const projectRoot = path.resolve(skillsDir, '..', '..');
|
|
126
138
|
const gitignorePath = path.join(projectRoot, '.gitignore');
|
|
@@ -212,4 +224,4 @@ if (require.main === module) {
|
|
|
212
224
|
main();
|
|
213
225
|
}
|
|
214
226
|
|
|
215
|
-
module.exports = { deepMerge, installConfig };
|
|
227
|
+
module.exports = { deepMerge, installConfig, installSkills, installGuidance };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@houseofwolvesllc/claude-scrum-skill",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "Claude Code skills for scrum project management — PRD to production release pipeline with project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, autonomous orchestration, and project cleanup.",
|
|
5
5
|
"bin": {},
|
|
6
6
|
"publishConfig": {
|
|
@@ -17,7 +17,7 @@ Fully autonomous project lifecycle driver. Plans sprints, executes stories via p
|
|
|
17
17
|
2. Read `../shared/config.json` to determine the scaffolding mode (`scaffolding` key: `"local"`, `"github"`, `"jira"`, or `"trello"`, default: `"local"`). If `"local"`, also read the `paths.backlog` and `paths.context` values (`paths.context` defaults to `.claude-scrum-skill/context` and is where Step 3 subagents look for per-epic CONTEXT.md files). Read `../shared/references/PROVIDERS.md` for provider-specific API commands when using a remote provider.
|
|
18
18
|
3. Read the project's `CLAUDE.md` (if it exists) for project-specific rules. **All subagents you spawn must also read and follow `CLAUDE.md`** — include this instruction explicitly in every subagent prompt.
|
|
19
19
|
3a. Read `../shared/references/ENGINEERING_BASELINE.md` — the universal engineering baseline (Clean Code, Test-Driven Development, and the simple-design Arbitration Rule). It applies to **all** work this orchestration drives, across every epic and story. Resolve its absolute path; you will pass it to the sprint pipeline as `baselinePath` so every implementation and review subagent follows it. Order of precedence: project `CLAUDE.md` > engineering baseline > situational guidance (`design-patterns`, `domain-modeling`).
|
|
20
|
-
3b. **Subdomain classification gates situational guidance.** `/project-spec` classifies each epic as `core`, `supporting`, or `generic`, and `/project-scaffold` persists that classification into epic metadata: the `subdomain` field of each `_epic.md` frontmatter (local mode) or a `subdomain:<value>` label on the epic's issues (remote modes). Read the classification from that epic metadata — the single authoritative source — and do NOT re-derive it. At implementation time, only **`core`** epics receive the situational guidance skills (`design-patterns`, `domain-modeling`); `supporting`, `generic`, and unclassified epics get the baseline only.
|
|
20
|
+
3b. **Subdomain classification gates situational guidance.** `/project-spec` classifies each epic as `core`, `supporting`, or `generic`, and `/project-scaffold` persists that classification into epic metadata: the `subdomain` field of each `_epic.md` frontmatter (local mode) or a `subdomain:<value>` label on the epic's issues (remote modes). Read the classification from that epic metadata — the single authoritative source — and do NOT re-derive it. At implementation time, only **`core`** epics receive the situational guidance skills (`design-patterns`, `domain-modeling`); `supporting`, `generic`, and unclassified epics get the baseline only. The two guidance files ship in the non-registered `_guidance/` directory — the same mechanism `_workflows/` uses, where the underscore prefix keeps Claude Code from registering them as user-facing skills. Their absolute paths are `<skills-root>/_guidance/design-patterns/SKILL.md` and `<skills-root>/_guidance/domain-modeling/SKILL.md`, where `<skills-root>` is the parent directory of this SKILL.md's parent (for a SKILL.md at `~/.claude/skills/project-orchestrate/SKILL.md`, `<skills-root>` is `~/.claude/skills`). The same algorithm works for global, local, and plugin install layouts. Pass these two paths as `situationalGuidance` for core epics — there is exactly one place to look, no `node_modules` hunting.
|
|
21
21
|
4. Read `../shared/references/PERSONAS.md` for role preambles. When spawning
|
|
22
22
|
subagents, select the persona matching each story's `persona:*` label (GitHub mode)
|
|
23
23
|
or `persona` frontmatter field (local mode). If no persona exists, use `impl` (the default).
|
|
@@ -412,7 +412,7 @@ backendMode: local | github | jira | trello
|
|
|
412
412
|
repoIdentifier: <owner/repo> (github mode only)
|
|
413
413
|
personaPreambles: { impl: "...", ops: "...", research: "..." }
|
|
414
414
|
baselinePath: <absolute path to shared/references/ENGINEERING_BASELINE.md> (always set; applies to every story)
|
|
415
|
-
situationalGuidance: <
|
|
415
|
+
situationalGuidance: <the two guidance SKILL.md paths from the non-registered _guidance/ directory — `<skills-root>/_guidance/design-patterns/SKILL.md` and `<skills-root>/_guidance/domain-modeling/SKILL.md` (resolve `<skills-root>` per Step 3b) — set ONLY when the current epic's subdomain is `core`; omit or pass [] for supporting/generic/untagged epics>
|
|
416
416
|
```
|
|
417
417
|
|
|
418
418
|
Wait for the workflow to return. The return is `SprintStoryReturn[]` — one entry per completed (or blocked / failed) story per `lib/workflows/schemas/SprintStoryReturnSchema.json`.
|
|
File without changes
|
|
File without changes
|