specweave 1.0.443 → 1.0.445

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 (55) hide show
  1. package/bin/specweave.js +14 -0
  2. package/dist/src/cli/commands/get.d.ts +21 -0
  3. package/dist/src/cli/commands/get.d.ts.map +1 -0
  4. package/dist/src/cli/commands/get.js +148 -0
  5. package/dist/src/cli/commands/get.js.map +1 -0
  6. package/dist/src/cli/commands/plan/agent-invoker.d.ts +4 -4
  7. package/dist/src/cli/commands/plan/agent-invoker.d.ts.map +1 -1
  8. package/dist/src/cli/commands/plan/agent-invoker.js +7 -7
  9. package/dist/src/cli/commands/plan/agent-invoker.js.map +1 -1
  10. package/dist/src/cli/commands/plan/plan-orchestrator.js +1 -1
  11. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  12. package/dist/src/cli/helpers/get/clone-repo.d.ts +23 -0
  13. package/dist/src/cli/helpers/get/clone-repo.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/get/clone-repo.js +52 -0
  15. package/dist/src/cli/helpers/get/clone-repo.js.map +1 -0
  16. package/dist/src/cli/helpers/get/register-repo.d.ts +21 -0
  17. package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -0
  18. package/dist/src/cli/helpers/get/register-repo.js +61 -0
  19. package/dist/src/cli/helpers/get/register-repo.js.map +1 -0
  20. package/dist/src/cli/helpers/get/source-parser.d.ts +28 -0
  21. package/dist/src/cli/helpers/get/source-parser.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/get/source-parser.js +97 -0
  23. package/dist/src/cli/helpers/get/source-parser.js.map +1 -0
  24. package/dist/src/core/hooks/LifecycleHookDispatcher.js +1 -1
  25. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  26. package/dist/src/core/increment/spec-sync-manager.js +1 -1
  27. package/dist/src/core/workflow/cost-estimator.d.ts +1 -1
  28. package/dist/src/core/workflow/cost-estimator.js +1 -1
  29. package/package.json +1 -1
  30. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +1 -1
  31. package/plugins/SKILLS-VS-AGENTS.md +1 -3
  32. package/plugins/specweave/PLUGIN.md +0 -3
  33. package/plugins/specweave/agents/sw-planner.md +40 -4
  34. package/plugins/specweave/hooks/.specweave/logs/auto-iterations.log +1 -0
  35. package/plugins/specweave/hooks/.specweave/logs/auto-stop-reasons.log +1 -0
  36. package/plugins/specweave/hooks/v2/guards/skill-chain-enforcement-guard.sh +4 -4
  37. package/plugins/specweave/skills/.specweave/logs/reflect/auto-reflect.log +15 -0
  38. package/plugins/specweave/skills/.specweave/logs/reflect/reflect.log +3 -0
  39. package/plugins/specweave/skills/.specweave/logs/stop-auto.log +1 -0
  40. package/plugins/specweave/skills/done/SKILL.md +6 -7
  41. package/plugins/specweave/skills/get/SKILL.md +80 -0
  42. package/plugins/specweave/skills/increment/SKILL.md +1 -1
  43. package/plugins/specweave/skills/plan/SKILL.md +3 -3
  44. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
  45. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +180 -0
  46. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +1266 -0
  47. package/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
  48. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +150 -0
  49. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1260 -0
  50. package/src/templates/AGENTS.md.template +2 -2
  51. package/src/templates/CLAUDE.md.template +1 -1
  52. package/plugins/specweave/commands/docs-updater.md +0 -66
  53. package/plugins/specweave/skills/docs-updater/SKILL.md +0 -84
  54. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -92
  55. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -117
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Source Parser for `specweave get`
3
+ *
4
+ * Parses the <source> argument into a structured type:
5
+ * - GitHub shorthand: owner/repo
6
+ * - GitHub HTTPS URL: https://github.com/owner/repo[.git]
7
+ * - GitHub SSH URL: git@github.com:owner/repo[.git]
8
+ * - Generic git URL: https://other-host.com/org/repo
9
+ * - Local path: ./path, /absolute/path, ../relative
10
+ */
11
+ import * as path from 'path';
12
+ import * as fs from 'fs';
13
+ /**
14
+ * Parse <source> argument into a structured ParsedSource.
15
+ * Throws with a descriptive message if the input is unrecognizable.
16
+ */
17
+ export function parseSource(source) {
18
+ const trimmed = source.trim().replace(/\/+$/, ''); // strip trailing slashes
19
+ // 1. Local path — starts with ./ ../ / or ~ or exists on disk
20
+ if (trimmed.startsWith('./') ||
21
+ trimmed.startsWith('../') ||
22
+ trimmed.startsWith('/') ||
23
+ trimmed.startsWith('~') ||
24
+ fs.existsSync(trimmed)) {
25
+ const resolved = trimmed.startsWith('~')
26
+ ? path.join(process.env.HOME || '~', trimmed.slice(1))
27
+ : path.resolve(trimmed);
28
+ return {
29
+ type: 'local',
30
+ owner: '',
31
+ repo: path.basename(resolved),
32
+ absolutePath: resolved,
33
+ };
34
+ }
35
+ // 2. SSH URL: git@github.com:owner/repo[.git]
36
+ const sshGitHub = trimmed.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/);
37
+ if (sshGitHub) {
38
+ return {
39
+ type: 'github',
40
+ owner: sshGitHub[1],
41
+ repo: sshGitHub[2],
42
+ cloneUrl: trimmed.endsWith('.git') ? trimmed : `${trimmed}.git`,
43
+ };
44
+ }
45
+ // 3. Generic SSH: git@host:org/repo
46
+ const sshGeneric = trimmed.match(/^git@([^:]+):([^/]+)\/(.+?)(?:\.git)?$/);
47
+ if (sshGeneric) {
48
+ return {
49
+ type: 'git',
50
+ owner: sshGeneric[2],
51
+ repo: sshGeneric[3],
52
+ cloneUrl: trimmed,
53
+ };
54
+ }
55
+ // 4. HTTPS GitHub URL
56
+ const httpsGitHub = trimmed.match(/^https?:\/\/github\.com\/([^/]+)\/(.+?)(?:\.git)?$/);
57
+ if (httpsGitHub) {
58
+ const owner = httpsGitHub[1];
59
+ const repo = httpsGitHub[2];
60
+ return {
61
+ type: 'github',
62
+ owner,
63
+ repo,
64
+ cloneUrl: `https://github.com/${owner}/${repo}.git`,
65
+ };
66
+ }
67
+ // 5. Generic HTTPS/HTTP git URL
68
+ const httpsGeneric = trimmed.match(/^https?:\/\/([^/]+)\/([^/]+)\/(.+?)(?:\.git)?$/);
69
+ if (httpsGeneric) {
70
+ return {
71
+ type: 'git',
72
+ owner: httpsGeneric[2],
73
+ repo: httpsGeneric[3],
74
+ cloneUrl: trimmed,
75
+ };
76
+ }
77
+ // 6. GitHub shorthand: owner/repo (exactly one slash, no protocol)
78
+ const shorthand = trimmed.match(/^([a-zA-Z0-9_.-]+)\/([a-zA-Z0-9_.-]+)$/);
79
+ if (shorthand) {
80
+ const owner = shorthand[1];
81
+ const repo = shorthand[2];
82
+ return {
83
+ type: 'github',
84
+ owner,
85
+ repo,
86
+ cloneUrl: `https://github.com/${owner}/${repo}.git`,
87
+ };
88
+ }
89
+ throw new Error(`Cannot parse source: "${source}"\n` +
90
+ 'Accepted formats:\n' +
91
+ ' owner/repo GitHub shorthand\n' +
92
+ ' https://github.com/owner/repo GitHub HTTPS URL\n' +
93
+ ' git@github.com:owner/repo GitHub SSH URL\n' +
94
+ ' https://other-host.com/org/repo Any git HTTPS URL\n' +
95
+ ' ./path/to/local-repo Local path');
96
+ }
97
+ //# sourceMappingURL=source-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-parser.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/source-parser.ts"],"names":[],"mappings":"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"}
@@ -166,7 +166,7 @@ export class LifecycleHookDispatcher {
166
166
  // STEP 1b: Update cross-references in existing docs after feature specs are created.
167
167
  // This ensures FEATURE-CATALOG, module docs, and specs README contain links
168
168
  // to the newly created feature spec files. Without this, the link update is
169
- // deferred to the AI skill step (sw:docs-updater) which may not always run.
169
+ // deferred to the done step which may not always run.
170
170
  if (syncResult.success && syncResult.featureId) {
171
171
  try {
172
172
  await LifecycleHookDispatcher.updateDocsLinks(projectRoot, syncResult.featureId, sync.getProjectId());
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
@@ -487,7 +487,7 @@ Increment: ${detection.incrementId}
487
487
 
488
488
  🔄 Automatic sync will regenerate:
489
489
  1. plan.md (using Architect Agent)
490
- 2. tasks.md (using test-aware-planner)
490
+ 2. tasks.md (using sw-planner agent)
491
491
 
492
492
  ⚡ Task completion status will be preserved
493
493
 
@@ -78,7 +78,7 @@ export declare class CostEstimator {
78
78
  */
79
79
  estimateIncrement(incrementPath: string): Promise<CostEstimate>;
80
80
  /**
81
- * Estimate planning cost (Architect + test-aware-planner = 2 calls)
81
+ * Estimate planning cost (Architect + Planner = 2 calls)
82
82
  */
83
83
  private estimatePlanning;
84
84
  /**
@@ -72,7 +72,7 @@ export class CostEstimator {
72
72
  };
73
73
  }
74
74
  /**
75
- * Estimate planning cost (Architect + test-aware-planner = 2 calls)
75
+ * Estimate planning cost (Architect + Planner = 2 calls)
76
76
  */
77
77
  estimatePlanning() {
78
78
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.443",
3
+ "version": "1.0.445",
4
4
  "description": "100+ domain-expert AI skills — PM, Architect, Frontend, QA, Security and more. Skills learn your team's patterns permanently. Spec-first planning, autonomous execution, multi-agent teams, synced to GitHub/JIRA. Claude Code, Cursor, Copilot & more.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -72,7 +72,7 @@ These have **explicit task instructions** (e.g., "create tests", "generate code"
72
72
  | `docs-writer` | ✅ "Generates docs ONE SECTION AT A TIME" | ✅ Keep |
73
73
  | `devops` (infra) | ✅ "Generates IaC ONE LAYER AT A TIME" | ✅ Keep |
74
74
  | `increment` | ✅ Creates increment structure | ✅ Keep |
75
- | `test-aware-planner` | Generates tasks.md with tests | Keep |
75
+ | `test-aware-planner` | Merged into sw-planner agent | Removed |
76
76
  | `tdd-cycle` | ✅ Coordinates TDD workflow | ✅ Keep |
77
77
  | (etc.) | | |
78
78
 
@@ -99,8 +99,6 @@ plugins/specweave/
99
99
  │ │ └── templates/
100
100
  │ ├── architect/
101
101
  │ │ └── SKILL.md
102
- │ └── test-aware-planner/
103
- │ └── SKILL.md
104
102
  ```
105
103
 
106
104
  ### How It Works
@@ -204,7 +202,7 @@ Agent({ subagent_type: "general-purpose", prompt: "Research Stripe integration p
204
202
  |-------|----------|---------------|--------|-------|
205
203
  | **PM** | `sw-pm` | `sw:pm` | spec.md | Opus |
206
204
  | **Architect** | `sw-architect` | `sw:architect` | plan.md | Opus |
207
- | **Planner** | `sw-planner` | `sw:test-aware-planner` | tasks.md | Sonnet |
205
+ | **Planner** | `sw-planner` | (inline BDD logic) | tasks.md | Sonnet |
208
206
 
209
207
  ### Standalone Skills (context: fork)
210
208
 
@@ -15,8 +15,6 @@ SpecWeave framework core plugin. Provides increment planning (PM, Architect, Tec
15
15
  | pm | Product Manager for spec-driven development with user stories, acceptance criteria, and MVP planning |
16
16
  | architect | System architect for scalable, maintainable technical designs and ADRs |
17
17
  | roadmap-planner | Product roadmap and feature prioritization with RICE, MoSCoW, and Kano frameworks |
18
- | spec-generator | Generates comprehensive specifications (spec.md, plan.md, tasks.md) for increments |
19
- | test-aware-planner | Generate tasks.md with embedded BDD test plans |
20
18
  | code-simplifier | Code refinement agent that simplifies and improves code clarity |
21
19
  | performance | Performance engineering for web apps, databases, and distributed systems |
22
20
  | security | Security engineer for vulnerability assessment and secure code review |
@@ -25,7 +23,6 @@ SpecWeave framework core plugin. Provides increment planning (PM, Architect, Tec
25
23
  | serverless-recommender | Serverless platform selection expert for AWS Lambda, Azure Functions, etc. |
26
24
  | service-connect | Smart external service connection orchestrator (MCP, REST, SDK, CLI) |
27
25
  | external-sync-wizard | Guide for bidirectional sync with GitHub, JIRA, Azure DevOps |
28
- | docs-updater | Living documentation updater that syncs implementation progress |
29
26
  | update-instructions | Smart merge for CLAUDE.md and AGENTS.md instruction files |
30
27
  | translator | LLM-native translation skill for SpecWeave content |
31
28
  | framework | Expert on SpecWeave framework structure, rules, and conventions |
@@ -3,8 +3,6 @@ name: sw-planner
3
3
  description: Test-Aware Planner for generating tasks.md with BDD test plans. Reads spec.md and plan.md to produce implementation tasks with Given/When/Then scenarios. Use during /sw:increment orchestration.
4
4
  model: sonnet
5
5
  memory: project
6
- skills:
7
- - sw:test-aware-planner
8
6
  ---
9
7
 
10
8
  # Test-Aware Planner Subagent
@@ -13,11 +11,49 @@ You generate `tasks.md` with embedded test plans for each task. No separate test
13
11
 
14
12
  Your prompt will contain: increment ID, increment path, spec.md and plan.md locations. Always read both before generating tasks.
15
13
 
16
- The `sw:test-aware-planner` skill is preloaded with full domain logic including task format, BDD patterns, and coverage targets. Follow its instructions for tasks.md creation.
14
+ ## STEP 0: Register Skill Chain Marker (MANDATORY - DO THIS FIRST)
15
+
16
+ **Before any other work**, register your invocation so the skill-chain-enforcement-guard allows tasks.md writes.
17
+
18
+ Extract the increment ID from your args (e.g., "0323-feature-name"), then write the marker file:
19
+
20
+ ```bash
21
+ mkdir -p .specweave/state
22
+ STATE_FILE=".specweave/state/skill-chain-XXXX-name.json"
23
+ if [ -f "$STATE_FILE" ]; then
24
+ jq '.planner_invoked=true | .planner_invoked_at="'$(date -Iseconds)'"' "$STATE_FILE" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
25
+ else
26
+ echo '{"planner_invoked":true,"planner_invoked_at":"'$(date -Iseconds)'"}' > "$STATE_FILE"
27
+ fi
28
+ ```
29
+
30
+ Replace `XXXX-name` with the actual increment ID. **This unblocks the guard for tasks.md writes.**
31
+
32
+ ## Task Format
33
+
34
+ ```markdown
35
+ ### T-001: [Task Title]
36
+ **User Story**: US-001 | **Satisfies ACs**: AC-US1-01, AC-US1-02
37
+ **Status**: [ ] Not Started
38
+ **Test**: Given [precondition] → When [action] → Then [expected outcome]
39
+ ```
40
+
41
+ ## BDD Patterns
42
+
43
+ - **Given**: System state or preconditions before the action
44
+ - **When**: The specific action or trigger
45
+ - **Then**: Measurable, verifiable outcome
46
+
47
+ Every task MUST have a `**Test**:` block. No exceptions.
48
+
49
+ ## Coverage Rules
50
+
51
+ - Every AC-ID from spec.md must be covered by at least one task
52
+ - Group tasks by user story — one section per US
53
+ - Coverage targets: unit 95%, integration 90%, E2E 100% of AC scenarios
17
54
 
18
55
  ## Critical Reminders
19
56
 
20
- - **Register skill-chain marker** (STEP 0 in preloaded skill) before writing tasks.md
21
57
  - **ONE user story per response** — never generate all tasks at once (prevents crashes)
22
58
  - **AC coverage** — every AC-ID from spec.md must be covered by at least one task
23
59
  - **Chunking discipline** — never exceed 2000 tokens per response
@@ -0,0 +1 @@
1
+ {"timestamp":"2026-01-04T16:11:43Z","event":"session_stop","reason":"No auto session active","details":"approve_called:main","success":false,"iteration":0,"increment":"none"}
@@ -0,0 +1 @@
1
+ {"timestamp":"2026-01-04T16:11:43Z","sessionId":"unknown","reason":"No auto session active","details":"approve_called:main","success":false,"iteration":0,"increment":"none","testsRun":false,"testsPassed":0,"testsFailed":0}
@@ -21,7 +21,7 @@
21
21
  # 1. /sw:increment creates folder + metadata.json (ALLOWED)
22
22
  # 2. /sw:increment MUST invoke Skill("sw:pm") for spec.md
23
23
  # 3. /sw:increment MUST invoke Skill("sw:architect") for plan.md
24
- # 4. /sw:increment MUST invoke Skill("sw:test-aware-planner") for tasks.md
24
+ # 4. /sw:increment MUST delegate to sw-planner agent for tasks.md
25
25
  # 5. Each sub-skill writes a marker to .specweave/state/skill-chain-{increment-id}.json
26
26
  # 6. This guard checks for that marker before allowing the write
27
27
  #
@@ -133,8 +133,8 @@ case "$FILENAME" in
133
133
  STATE_KEY="architect_invoked"
134
134
  ;;
135
135
  tasks.md)
136
- REQUIRED_SKILL="sw:test-aware-planner"
137
- SKILL_LABEL="Test-Aware Planner"
136
+ REQUIRED_SKILL="sw-planner"
137
+ SKILL_LABEL="Planner"
138
138
  STATE_KEY="planner_invoked"
139
139
  ;;
140
140
  esac
@@ -205,7 +205,7 @@ The ${SKILL_LABEL} skill will:
205
205
  SKILL CHAIN (all 3 MUST be invoked):
206
206
  spec.md --> Skill({ skill: \"sw:pm\", args: \"...\" })
207
207
  plan.md --> Skill({ skill: \"sw:architect\", args: \"...\" })
208
- tasks.md --> Skill({ skill: \"sw:test-aware-planner\", args: \"...\" })
208
+ tasks.md --> Agent({ subagent_type: \"sw:sw-planner\", ... })
209
209
 
210
210
  Each skill writes its marker to:
211
211
  ${STATE_DIR}/skill-chain-${INCREMENT_ID}.json
@@ -0,0 +1,15 @@
1
+ {
2
+ "ran": false,
3
+ "inputSummary": {
4
+ "transcriptLines": 266
5
+ },
6
+ "extracted": {
7
+ "skillLearnings": []
8
+ },
9
+ "written": {
10
+ "learningsAdded": 0,
11
+ "learningsSkippedDuplicate": 0
12
+ },
13
+ "durationMs": 1.4448749999999997,
14
+ "reason": "CLAUDE.md not found in project"
15
+ }
@@ -0,0 +1,3 @@
1
+ [2026-02-03T22:03:06Z] [info] Starting reflection (265 lines)
2
+ [2026-02-03T22:03:06Z] [info] Reflection started in background
3
+ [2026-02-03T22:03:06Z] [info] Reflection completed - no learnings
@@ -0,0 +1 @@
1
+ [2026-02-03T22:03:06Z] APPROVE: No increments directory
@@ -166,15 +166,14 @@ Execute: `Skill({ skill: "sw:sync-docs" })` with the increment ID. Do NOT just m
166
166
 
167
167
  ### Step 10b: Update Links in Docs (MANDATORY)
168
168
 
169
- After living docs sync, update cross-references and bidirectional links so existing docs reference the newly created feature specs.
169
+ After living docs sync, update cross-references and bidirectional links so existing docs reference the newly created feature specs. Do NOT skip this step:
170
170
 
171
- Execute: `Skill({ skill: "sw:docs-updater" })` this verifies and repairs links between living docs, feature specs, and increment references. Do NOT skip this step. The docs-updater:
172
- 1. Reads the feature spec files created by Step 10
173
- 2. Updates existing docs (FEATURE-CATALOG, module docs, etc.) with links to the new specs
174
- 3. Verifies bidirectional links between increment feature spec living docs
175
- 4. Changes `[DRAFT]` → `[COMPLETE]` on doc sections matching completed ACs
171
+ 1. Read the feature spec files created by Step 10 (`.specweave/docs/internal/specs/{project}/FS-XXX/FEATURE.md` and `us-*.md`)
172
+ 2. Update existing docs (FEATURE-CATALOG, module docs, etc.) with links to the new specs
173
+ 3. Verify bidirectional links between increment feature spec living docs
174
+ 4. Change `[DRAFT]` `[COMPLETE]` on doc sections matching completed ACs
176
175
 
177
- If `sw:docs-updater` is unavailable, manually verify that `.specweave/docs/internal/specs/{project}/FS-XXX/` contains `FEATURE.md` and `us-*.md` files. If missing, re-run Step 10.
176
+ Verify that `.specweave/docs/internal/specs/{project}/FS-XXX/` contains `FEATURE.md` and `us-*.md` files. If missing, re-run Step 10.
178
177
 
179
178
  ### Step 11: Post-Closure Quality Assessment
180
179
 
@@ -0,0 +1,80 @@
1
+ ---
2
+ version: 1.0.0
3
+ description: >
4
+ Clone and register an existing repository into the SpecWeave workspace.
5
+ Activate when the user wants to: add a repo, get a repo, clone a repo,
6
+ register a repo, bring in a repo, pull in a repo, add a github repo to umbrella,
7
+ clone and register, "get owner/repo", "add this github repo", "clone this repo
8
+ into my workspace", "register this local repo". Also activate for "restore repos"
9
+ or "clone all child repos" on a new machine.
10
+ Do NOT activate for: add a feature, add a task, add a story, add an increment,
11
+ add a user story (those route to sw:increment).
12
+ triggers:
13
+ - "get repo"
14
+ - "add repo"
15
+ - "clone repo"
16
+ - "register repo"
17
+ - "add github repo"
18
+ - "clone and register"
19
+ - "bring in repo"
20
+ - "pull in repo"
21
+ - "restore repos"
22
+ - "clone all child repos"
23
+ negative_triggers:
24
+ - "add a feature"
25
+ - "add a task"
26
+ - "add a story"
27
+ - "add an increment"
28
+ - "create increment"
29
+ ---
30
+
31
+ # sw:get — Clone & Register Repository
32
+
33
+ Use this skill when the user wants to add an existing repository to their SpecWeave workspace.
34
+
35
+ ## What it does
36
+
37
+ Runs `specweave get <source>` which:
38
+ 1. Parses the source (GitHub shorthand, full URL, SSH URL, or local path)
39
+ 2. Clones the repo into `repositories/{org}/{repo}/` (in umbrella context)
40
+ 3. Registers it in `.specweave/config.json` under `umbrella.childRepos`
41
+ 4. Runs `specweave init` inside the cloned repo
42
+
43
+ ## Instructions
44
+
45
+ 1. Extract the repository source from the user's message:
46
+ - GitHub shorthand: `owner/repo`
47
+ - Full URL: `https://github.com/org/repo`
48
+ - SSH: `git@github.com:org/repo`
49
+ - Local path: `./path/to/repo`
50
+
51
+ 2. Check if the user mentioned optional flags:
52
+ - `--prefix` — US prefix (e.g., "use prefix FE")
53
+ - `--role` — repo role (e.g., "it's a backend service")
54
+ - `--branch` — specific branch (e.g., "clone the develop branch")
55
+ - `--no-init` — skip specweave init
56
+
57
+ 3. Run the command:
58
+ ```bash
59
+ specweave get <source> [--prefix X] [--role Y] [--branch Z] [--no-init]
60
+ ```
61
+
62
+ 4. Report the result to the user.
63
+
64
+ ## Examples
65
+
66
+ | User says | Command |
67
+ |-----------|---------|
68
+ | "add anton-abyzov/my-service" | `specweave get anton-abyzov/my-service` |
69
+ | "clone https://github.com/org/repo" | `specweave get https://github.com/org/repo` |
70
+ | "get this repo: git@github.com:org/repo" | `specweave get git@github.com:org/repo` |
71
+ | "add ./my-local-service to the umbrella" | `specweave get ./my-local-service` |
72
+ | "clone my-service with prefix MSV" | `specweave get owner/my-service --prefix MSV` |
73
+ | "restore all repos on this machine" | See note below |
74
+
75
+ ## New Machine Restore
76
+
77
+ If the user says "restore repos", "clone all child repos", or "set up on new machine":
78
+ 1. Read `.specweave/config.json` → `umbrella.childRepos`
79
+ 2. For each child repo that has a `githubUrl` or derivable URL and whose directory is missing, run `specweave get <owner/repo> --no-init`
80
+ 3. Report which repos were cloned and which were already present
@@ -50,7 +50,7 @@ STEP 1: Pre-flight (TDD mode, multi-project, Deep Interview check)
50
50
  STEP 2: Project Context (resolve project/board)
51
51
  STEP 3: Create Increment (via Template API) ← folder + ID exist after this
52
52
  STEP 3a: Deep Interview (if enabled) ← runs AFTER folder exists
53
- STEP 4: Delegation (architect + test-aware-planner)
53
+ STEP 4: Delegation (architect + planner)
54
54
  STEP 5: Post-Creation Sync
55
55
  STEP 6: Execution Strategy Recommendation
56
56
  ```
@@ -17,7 +17,7 @@ description: Generate plan.md and tasks.md for increment. Use when saying "creat
17
17
 
18
18
  ---
19
19
 
20
- Generate `plan.md` and `tasks.md` for an increment using Architect Agent and test-aware-planner.
20
+ Generate `plan.md` and `tasks.md` for an increment using Architect Agent.
21
21
 
22
22
  ## Usage
23
23
 
@@ -68,7 +68,7 @@ Generate `plan.md` and `tasks.md` for an increment using Architect Agent and tes
68
68
  - Dependencies
69
69
  - Risk assessment
70
70
 
71
- 4. **Generate tasks.md** (via test-aware-planner):
71
+ 4. **Generate tasks.md**:
72
72
  - Checkable task list
73
73
  - Embedded test plans (BDD format)
74
74
  - Coverage targets
@@ -227,7 +227,7 @@ Planning for framework features requires different considerations than user apps
227
227
  - `IncrementDetector`: Auto-detect or validate increment
228
228
  - `PlanValidator`: Validate pre-conditions
229
229
  - `ArchitectAgentInvoker`: Generate plan.md via Architect Agent
230
- - `TaskGeneratorInvoker`: Generate tasks.md via test-aware-planner
230
+ - `TaskGeneratorInvoker`: Generate tasks.md with BDD test plans
231
231
  - `PlanCommandOrchestrator`: Coordinate execution pipeline
232
232
 
233
233
  **State transitions**:
@@ -373,7 +373,6 @@ ${userStory.technicalContext}
373
373
  return mapping.task || "Task";
374
374
  case "Subtask":
375
375
  return mapping.task || "Task";
376
- // ADO doesn't have subtasks, use Task
377
376
  default:
378
377
  return "User Story";
379
378
  }