specweave 1.0.577 → 1.0.579
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/bin/specweave.js +1 -0
- package/dist/src/cli/commands/auto.d.ts +28 -0
- package/dist/src/cli/commands/auto.d.ts.map +1 -1
- package/dist/src/cli/commands/auto.js +73 -0
- package/dist/src/cli/commands/auto.js.map +1 -1
- package/dist/src/cli/commands/create-increment.d.ts +8 -0
- package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
- package/dist/src/cli/commands/create-increment.js +2 -1
- package/dist/src/cli/commands/create-increment.js.map +1 -1
- package/dist/src/cli/dispatcher.d.ts +29 -0
- package/dist/src/cli/dispatcher.d.ts.map +1 -0
- package/dist/src/cli/dispatcher.js +53 -0
- package/dist/src/cli/dispatcher.js.map +1 -0
- package/dist/src/core/cache/static-context-loader.d.ts +39 -0
- package/dist/src/core/cache/static-context-loader.d.ts.map +1 -0
- package/dist/src/core/cache/static-context-loader.js +49 -0
- package/dist/src/core/cache/static-context-loader.js.map +1 -0
- package/dist/src/core/config/types.d.ts +61 -0
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js +16 -0
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/doctor/checkers/configuration-checker.d.ts +1 -0
- package/dist/src/core/doctor/checkers/configuration-checker.d.ts.map +1 -1
- package/dist/src/core/doctor/checkers/configuration-checker.js +50 -0
- package/dist/src/core/doctor/checkers/configuration-checker.js.map +1 -1
- package/dist/src/core/hooks/pretooluse-guard.d.ts +37 -0
- package/dist/src/core/hooks/pretooluse-guard.d.ts.map +1 -0
- package/dist/src/core/hooks/pretooluse-guard.js +64 -0
- package/dist/src/core/hooks/pretooluse-guard.js.map +1 -0
- package/dist/src/core/increment/template-creator.d.ts +7 -0
- package/dist/src/core/increment/template-creator.d.ts.map +1 -1
- package/dist/src/core/increment/template-creator.js +2 -1
- package/dist/src/core/increment/template-creator.js.map +1 -1
- package/dist/src/core/skills/skill-judge.d.ts +56 -0
- package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
- package/dist/src/core/skills/skill-judge.js +95 -8
- package/dist/src/core/skills/skill-judge.js.map +1 -1
- package/dist/src/core/team-lead/template-loader.d.ts +19 -0
- package/dist/src/core/team-lead/template-loader.d.ts.map +1 -0
- package/dist/src/core/team-lead/template-loader.js +33 -0
- package/dist/src/core/team-lead/template-loader.js.map +1 -0
- package/dist/src/core/telemetry/cache-metrics.d.ts +38 -0
- package/dist/src/core/telemetry/cache-metrics.d.ts.map +1 -0
- package/dist/src/core/telemetry/cache-metrics.js +65 -0
- package/dist/src/core/telemetry/cache-metrics.js.map +1 -0
- package/dist/src/core/validators/resource-base.d.ts +29 -0
- package/dist/src/core/validators/resource-base.d.ts.map +1 -0
- package/dist/src/core/validators/resource-base.js +52 -0
- package/dist/src/core/validators/resource-base.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.lint/skill-lint.test.ts +91 -0
- package/plugins/specweave/.lint/skill-lint.ts +51 -0
- package/plugins/specweave/marketplace.json +114 -0
- package/plugins/specweave/skills/ado-multi-project/SKILL.md +9 -1
- package/plugins/specweave/skills/ado-sync/SKILL.md +16 -1
- package/plugins/specweave/skills/analytics/SKILL.md +45 -0
- package/plugins/specweave/skills/architect/SKILL.md +5 -19
- package/plugins/specweave/skills/auto/SKILL.md +41 -10
- package/plugins/specweave/skills/brainstorm/SKILL.md +15 -15
- package/plugins/specweave/skills/close-all/SKILL.md +21 -51
- package/plugins/specweave/skills/code-reviewer/SKILL.md +114 -57
- package/plugins/specweave/skills/do/SKILL.md +14 -5
- package/plugins/specweave/skills/done/SKILL.md +36 -1
- package/plugins/specweave/skills/github-issue-standard/SKILL.md +8 -224
- package/plugins/specweave/skills/github-multi-project/SKILL.md +9 -1
- package/plugins/specweave/skills/github-sync/SKILL.md +16 -1
- package/plugins/specweave/skills/grill/SKILL.md +56 -9
- package/plugins/specweave/skills/help/SKILL.md +32 -4
- package/plugins/specweave/skills/increment/SKILL.md +41 -8
- package/plugins/specweave/skills/jira-sync/SKILL.md +16 -1
- package/plugins/specweave/skills/judge-llm/SKILL.md +46 -14
- package/plugins/specweave/skills/multi-project/SKILL.md +370 -0
- package/plugins/specweave/skills/plan/SKILL.md +16 -1
- package/plugins/specweave/skills/pm/SKILL.md +12 -47
- package/plugins/specweave/skills/tdd-cycle/SKILL.md +38 -0
- package/plugins/specweave/skills/tdd-green/SKILL.md +16 -1
- package/plugins/specweave/skills/tdd-red/SKILL.md +16 -1
- package/plugins/specweave/skills/tdd-refactor/SKILL.md +16 -1
- package/plugins/specweave/skills/team-build/SKILL.md +16 -462
- package/plugins/specweave/skills/team-lead/SKILL.md +59 -44
- package/plugins/specweave/skills/team-lead/agents/_protocol.md +88 -0
- package/plugins/specweave/skills/team-lead/agents/architect.md +27 -36
- package/plugins/specweave/skills/team-lead/agents/backend.md +26 -56
- package/plugins/specweave/skills/team-lead/agents/database.md +23 -51
- package/plugins/specweave/skills/team-lead/agents/frontend.md +27 -57
- package/plugins/specweave/skills/team-lead/agents/pm.md +7 -11
- package/plugins/specweave/skills/team-lead/agents/researcher.md +29 -55
- package/plugins/specweave/skills/team-lead/agents/reviewer-security.md +43 -59
- package/plugins/specweave/skills/team-lead/agents/security.md +22 -48
- package/plugins/specweave/skills/team-lead/agents/testing.md +26 -53
- package/plugins/specweave/skills/team-merge/SKILL.md +13 -10
- package/plugins/specweave/skills/team-lead/agents/reviewer-logic.md +0 -82
- package/plugins/specweave/skills/team-lead/agents/reviewer-performance.md +0 -83
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://spec-weave.com/schemas/skill-marketplace.v1.json",
|
|
3
|
+
"plugin": "sw",
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"description": "Skill-level marketplace catalog for the specweave plugin. Lists deprecation state, replacement pointers, and alias routing for each skill.",
|
|
6
|
+
"skills": [
|
|
7
|
+
{
|
|
8
|
+
"name": "sw:github-sync",
|
|
9
|
+
"path": "skills/github-sync/SKILL.md",
|
|
10
|
+
"deprecated": true,
|
|
11
|
+
"deprecatedIn": "1.1.0",
|
|
12
|
+
"removalScheduledIn": "1.3.0",
|
|
13
|
+
"replacement": "sw-github:sync-spec",
|
|
14
|
+
"migrationWarning": "sw:github-sync is deprecated. Use sw-github:sync-spec for push/pull operations. Scheduled for removal in v1.3.0."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "sw:jira-sync",
|
|
18
|
+
"path": "skills/jira-sync/SKILL.md",
|
|
19
|
+
"deprecated": true,
|
|
20
|
+
"deprecatedIn": "1.1.0",
|
|
21
|
+
"removalScheduledIn": "1.3.0",
|
|
22
|
+
"replacement": "sw-jira:push / sw-jira:pull",
|
|
23
|
+
"migrationWarning": "sw:jira-sync is deprecated. Use sw-jira:push (content) or sw-jira:pull (status) instead. Scheduled for removal in v1.3.0."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "sw:ado-sync",
|
|
27
|
+
"path": "skills/ado-sync/SKILL.md",
|
|
28
|
+
"deprecated": true,
|
|
29
|
+
"deprecatedIn": "1.1.0",
|
|
30
|
+
"removalScheduledIn": "1.3.0",
|
|
31
|
+
"replacement": "sw-ado:push / sw-ado:pull",
|
|
32
|
+
"migrationWarning": "sw:ado-sync is deprecated. Use sw-ado:push (content) or sw-ado:pull (status) instead. Scheduled for removal in v1.3.0."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "sw:tdd-red",
|
|
36
|
+
"path": "skills/tdd-red/SKILL.md",
|
|
37
|
+
"deprecated": true,
|
|
38
|
+
"deprecatedIn": "1.1.0",
|
|
39
|
+
"removalScheduledIn": "1.3.0",
|
|
40
|
+
"replacement": "sw:tdd-cycle --phase red",
|
|
41
|
+
"alias": {
|
|
42
|
+
"from": "/sw:tdd-red",
|
|
43
|
+
"to": "/sw:tdd-cycle --phase red",
|
|
44
|
+
"migrationWarning": "sw:tdd-red is deprecated. Use sw:tdd-cycle --phase red instead."
|
|
45
|
+
},
|
|
46
|
+
"migrationWarning": "sw:tdd-red is deprecated. Use sw:tdd-cycle --phase red instead. Scheduled for removal in v1.3.0."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "sw:tdd-green",
|
|
50
|
+
"path": "skills/tdd-green/SKILL.md",
|
|
51
|
+
"deprecated": true,
|
|
52
|
+
"deprecatedIn": "1.1.0",
|
|
53
|
+
"removalScheduledIn": "1.3.0",
|
|
54
|
+
"replacement": "sw:tdd-cycle --phase green",
|
|
55
|
+
"alias": {
|
|
56
|
+
"from": "/sw:tdd-green",
|
|
57
|
+
"to": "/sw:tdd-cycle --phase green",
|
|
58
|
+
"migrationWarning": "sw:tdd-green is deprecated. Use sw:tdd-cycle --phase green instead."
|
|
59
|
+
},
|
|
60
|
+
"migrationWarning": "sw:tdd-green is deprecated. Use sw:tdd-cycle --phase green instead. Scheduled for removal in v1.3.0."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "sw:tdd-refactor",
|
|
64
|
+
"path": "skills/tdd-refactor/SKILL.md",
|
|
65
|
+
"deprecated": true,
|
|
66
|
+
"deprecatedIn": "1.1.0",
|
|
67
|
+
"removalScheduledIn": "1.3.0",
|
|
68
|
+
"replacement": "sw:tdd-cycle --phase refactor",
|
|
69
|
+
"alias": {
|
|
70
|
+
"from": "/sw:tdd-refactor",
|
|
71
|
+
"to": "/sw:tdd-cycle --phase refactor",
|
|
72
|
+
"migrationWarning": "sw:tdd-refactor is deprecated. Use sw:tdd-cycle --phase refactor instead."
|
|
73
|
+
},
|
|
74
|
+
"migrationWarning": "sw:tdd-refactor is deprecated. Use sw:tdd-cycle --phase refactor instead. Scheduled for removal in v1.3.0."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "sw:github-issue-standard",
|
|
78
|
+
"path": "skills/github-issue-standard/SKILL.md",
|
|
79
|
+
"deprecated": true,
|
|
80
|
+
"deprecatedIn": "1.1.0",
|
|
81
|
+
"removalScheduledIn": "1.3.0",
|
|
82
|
+
"replacement": ".specweave/docs/internal/specs/github-issue-standard.md",
|
|
83
|
+
"migrationWarning": "sw:github-issue-standard was a documentation standard, not an executable skill. Content moved to .specweave/docs/internal/specs/github-issue-standard.md. For GitHub sync, use sw-github:push. Scheduled for removal in v1.3.0."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "sw/github-multi-project",
|
|
87
|
+
"path": "skills/github-multi-project/SKILL.md",
|
|
88
|
+
"deprecated": true,
|
|
89
|
+
"deprecatedIn": "1.2.0",
|
|
90
|
+
"removalScheduledIn": "1.3.0",
|
|
91
|
+
"replacement": "sw/multi-project --tool github",
|
|
92
|
+
"alias": {
|
|
93
|
+
"from": "sw/github-multi-project",
|
|
94
|
+
"to": "sw/multi-project --tool github",
|
|
95
|
+
"migrationWarning": "sw/github-multi-project is deprecated. Use sw/multi-project --tool github instead."
|
|
96
|
+
},
|
|
97
|
+
"migrationWarning": "sw/github-multi-project is deprecated. Use sw/multi-project --tool github instead. Scheduled for removal in v1.3.0."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "sw/ado-multi-project",
|
|
101
|
+
"path": "skills/ado-multi-project/SKILL.md",
|
|
102
|
+
"deprecated": true,
|
|
103
|
+
"deprecatedIn": "1.2.0",
|
|
104
|
+
"removalScheduledIn": "1.3.0",
|
|
105
|
+
"replacement": "sw/multi-project --tool ado",
|
|
106
|
+
"alias": {
|
|
107
|
+
"from": "sw/ado-multi-project",
|
|
108
|
+
"to": "sw/multi-project --tool ado",
|
|
109
|
+
"migrationWarning": "sw/ado-multi-project is deprecated. Use sw/multi-project --tool ado instead."
|
|
110
|
+
},
|
|
111
|
+
"migrationWarning": "sw/ado-multi-project is deprecated. Use sw/multi-project --tool ado instead. Scheduled for removal in v1.3.0."
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: "[DEPRECATED] Use `sw:multi-project --tool ado` instead. Organizes specs and tasks across multiple Azure DevOps projects. This skill will be removed in SpecWeave v1.3.0."
|
|
3
3
|
user-invokable: false
|
|
4
4
|
allowed-tools: Read, Write, Edit, Glob
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Azure DevOps Multi-Project Skill
|
|
8
8
|
|
|
9
|
+
## Migration
|
|
10
|
+
|
|
11
|
+
> Deprecated. Use: `sw:multi-project --tool ado`
|
|
12
|
+
|
|
13
|
+
This skill has been consolidated into the unified `sw:multi-project` skill. Replace any invocation of `sw:ado-multi-project` with `sw:multi-project --tool ado`. The flag-based skill supports GitHub, Azure DevOps, and Jira under a single interface. See `plugins/specweave/skills/multi-project/SKILL.md`.
|
|
14
|
+
|
|
15
|
+
Scheduled for removal in SpecWeave v1.3.0.
|
|
16
|
+
|
|
9
17
|
**Purpose**: Organize specs and increments across multiple Azure DevOps projects with intelligent mapping and folder organization.
|
|
10
18
|
|
|
11
19
|
## What This Skill Does
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Help and guidance for Azure DevOps synchronization with SpecWeave increments. Use when asking how to set up ADO sync, configure credentials, or troubleshoot integration issues. For actual syncing, use sw-ado:
|
|
2
|
+
description: "[DEPRECATED] Help and guidance for Azure DevOps synchronization with SpecWeave increments. Use when asking how to set up ADO sync, configure credentials, or troubleshoot integration issues. For actual syncing, use sw-ado:push or sw-ado:pull command."
|
|
3
3
|
user-invokable: false
|
|
4
|
+
deprecated: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> ⚠️ DEPRECATED: Use `sw-ado:push` / `sw-ado:pull` instead. This skill will be removed in v1.3.0.
|
|
8
|
+
|
|
9
|
+
## Migration
|
|
10
|
+
|
|
11
|
+
This skill has been deprecated as part of the Opus 4.7 framework alignment (increment 0669).
|
|
12
|
+
|
|
13
|
+
- **Use instead**: `sw-ado:push` (content SpecWeave→ADO) and `sw-ado:pull` (status ADO→SpecWeave)
|
|
14
|
+
- **Removal**: Scheduled for v1.3.0 (2 minor releases after v1.1.0)
|
|
15
|
+
- **Why**: Consolidated sync logic moved to the `sw-ado:*` command family.
|
|
16
|
+
|
|
17
|
+
For the migration policy, see `.specweave/docs/internal/specs/skill-deprecation-policy.md`.
|
|
18
|
+
|
|
4
19
|
---
|
|
5
20
|
|
|
6
21
|
# Azure DevOps Sync Skill
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sw/analytics
|
|
3
|
+
description: "Analytics and metrics for SpecWeave usage — token consumption, cache efficiency, agent spawn counts."
|
|
4
|
+
allowed-tools: Read, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Tool-Use Rationale
|
|
8
|
+
|
|
9
|
+
- **Read**: Load metrics snapshots, increment history, and config to compute analytics.
|
|
10
|
+
- **Bash**: Run `specweave metrics` CLI commands to gather live telemetry data.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
sw:analytics [--cache-stats] [--spawn-count] [--token-usage]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## --cache-stats
|
|
19
|
+
|
|
20
|
+
Displays prompt cache hit rates per skill for the current session.
|
|
21
|
+
|
|
22
|
+
**Output format**:
|
|
23
|
+
```
|
|
24
|
+
Cache Statistics (current session)
|
|
25
|
+
───────────────────────────────────
|
|
26
|
+
sw/grill hit rate: 78% (1,240 tokens from cache)
|
|
27
|
+
sw/judge-llm hit rate: 65% (980 tokens from cache)
|
|
28
|
+
sw/code-reviewer hit rate: 82% (1,560 tokens from cache)
|
|
29
|
+
───────────────────────────────────
|
|
30
|
+
Overall: hit rate: 75%
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Requirements**:
|
|
34
|
+
- Cache must be enabled (`cache.staticContextFiles` non-empty in config)
|
|
35
|
+
- Minimum 2 invocations per skill for meaningful hit rate
|
|
36
|
+
|
|
37
|
+
**Enable persistent metrics**: Set `analytics.cacheMetrics.enabled: true` in `.specweave/config.json`.
|
|
38
|
+
|
|
39
|
+
## --spawn-count
|
|
40
|
+
|
|
41
|
+
Reports agent spawn counts per team session. Use to verify that Opus 4.7 fan-out reduction is working (target: ≤ 50% of pre-1.1.0 baseline).
|
|
42
|
+
|
|
43
|
+
## --token-usage
|
|
44
|
+
|
|
45
|
+
Reports total token consumption per skill across the session.
|
|
@@ -6,26 +6,12 @@ model: opus
|
|
|
6
6
|
|
|
7
7
|
# Architect
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Tool-Use Rationale
|
|
10
10
|
|
|
11
|
-
**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
mkdir -p .specweave/state
|
|
18
|
-
STATE_FILE=".specweave/state/skill-chain-XXXX-name.json"
|
|
19
|
-
if [ -f "$STATE_FILE" ]; then
|
|
20
|
-
jq '.architect_invoked=true | .architect_invoked_at="'$(date -Iseconds)'"' "$STATE_FILE" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
|
|
21
|
-
else
|
|
22
|
-
echo '{"architect_invoked":true,"architect_invoked_at":"'$(date -Iseconds)'"}' > "$STATE_FILE"
|
|
23
|
-
fi
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Replace `XXXX-name` with the actual increment ID. **This unblocks the guard for plan.md writes.**
|
|
27
|
-
|
|
28
|
-
**If you skip this step, your Write to plan.md will be BLOCKED by the PreToolUse guard.**
|
|
11
|
+
- **Read**: Load the increment's `spec.md`, existing ADRs under `.specweave/docs/internal/architecture/adr/`, and any living-docs referenced by the spec.
|
|
12
|
+
- **Glob**: Discover repo layout, existing services, and interface files that inform component boundaries.
|
|
13
|
+
- **Grep**: Locate existing types, APIs, and data models so the plan builds on reality instead of reinventing.
|
|
14
|
+
- **Write**: Produce `plan.md` and new ADR files where design decisions warrant a record.
|
|
29
15
|
|
|
30
16
|
## Project Overrides
|
|
31
17
|
|
|
@@ -28,7 +28,7 @@ sw:auto [INCREMENT_IDS...] [OPTIONS]
|
|
|
28
28
|
| Option | Description | Default |
|
|
29
29
|
|--------|-------------|---------|
|
|
30
30
|
| `--max-turns N` | Max hook invocations before hard stop | 20 |
|
|
31
|
-
| `--simple` |
|
|
31
|
+
| `--simple-compat` | **Deprecated**. Equivalent to the legacy `--simple` flag. Emits a deprecation warning and will be removed in v1.3.0. | false |
|
|
32
32
|
| `--dry-run` | Preview without starting | false |
|
|
33
33
|
| `--all-backlog` | Process all backlog items | false |
|
|
34
34
|
| `--skip-gates G1,G2` | Pre-approve specific gates | None |
|
|
@@ -43,17 +43,48 @@ sw:auto [INCREMENT_IDS...] [OPTIONS]
|
|
|
43
43
|
| `--cov <n>` | Code coverage threshold (%) | 80 |
|
|
44
44
|
| `--cmd "<command>"` | Custom command must pass | None |
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Context-Adaptive Execution (default)
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
`sw:auto` no longer exposes `--simple` as a primary execution path. Every session uses context-adaptive execution:
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
4. **Shorter status output** — Skip banners and progress tables between tasks. Just implement, test, mark complete, move on.
|
|
54
|
-
5. **No complexity re-check** — Skip Step 1.5a (team-lead routing check) since the caller already decided the execution mode.
|
|
50
|
+
- On large specs (>40KB), `sw:auto` **automatically reduces context re-reads internally** — no manual `--simple` flag needed. Specs are read once at session start; subsequent iterations rely on `tasks.md` plus diffs.
|
|
51
|
+
- On smaller specs, spec re-reads stay enabled for maximum coherence.
|
|
52
|
+
- Sub-skill loading is decided per-task based on domain signals, not by a global flag.
|
|
55
53
|
|
|
56
|
-
|
|
54
|
+
## Legacy `--simple-compat` (deprecated)
|
|
55
|
+
|
|
56
|
+
The legacy `--simple` minimal-context mode is retained for one minor release as `--simple-compat`.
|
|
57
|
+
|
|
58
|
+
- Emits a deprecation warning on invocation.
|
|
59
|
+
- Will be removed in v1.3.0.
|
|
60
|
+
- Equivalent behaviour (for compatibility with external runbooks):
|
|
61
|
+
1. Skip spec re-reads — read `spec.md` once at session start, rely on `tasks.md` alone afterward.
|
|
62
|
+
2. Minimal task context — read only the current task's section from `tasks.md`.
|
|
63
|
+
3. No sub-skill loading — execute tasks directly using code tools.
|
|
64
|
+
4. Shorter status output — skip banners and progress tables between tasks.
|
|
65
|
+
5. No complexity re-check — skip Step 1.5a (team-lead routing check).
|
|
66
|
+
|
|
67
|
+
New callers should rely on the context-adaptive default above instead.
|
|
68
|
+
|
|
69
|
+
## Tool-Use Rationale
|
|
70
|
+
|
|
71
|
+
- **Read**: Load `.specweave/config.json`, `metadata.json`, `spec.md`, and `tasks.md` to drive the auto loop.
|
|
72
|
+
- **Write/Edit**: Update `auto-mode.json` session marker and flip task/AC status as work completes.
|
|
73
|
+
- **Glob**: Locate active/planned increments and test files during gate evaluation.
|
|
74
|
+
- **Bash**: Run the configured quality gates (tests, build, lint, types, custom commands).
|
|
75
|
+
|
|
76
|
+
## Native Auto Mode
|
|
77
|
+
|
|
78
|
+
Claude Code ships with a built-in auto mode, toggled with **Shift+Tab**. That native mode runs the agent autonomously without any SpecWeave-specific orchestration.
|
|
79
|
+
|
|
80
|
+
**When to use `sw:auto` vs native auto**:
|
|
81
|
+
|
|
82
|
+
- Use **`sw:auto`** when you need increment-aware gates: spec validation, AC tracking, rubric evaluation, task-level test enforcement, or external sync to GitHub/Jira/ADO.
|
|
83
|
+
- Use **Claude Code native auto (Shift+Tab)** for general-purpose autonomous execution without increment tracking — e.g. quick refactors, research loops, exploration.
|
|
84
|
+
|
|
85
|
+
**One-time advisory**: When invoked in Claude Code, `sw:auto` prints a one-time advisory pointing to Shift+Tab for users who may not need increment gates. The advisory is suppressed after the first acknowledgement.
|
|
86
|
+
|
|
87
|
+
**Opt-out for power users**: Pass `--force-sw-auto` to suppress the advisory permanently.
|
|
57
88
|
|
|
58
89
|
## Core Loop
|
|
59
90
|
|
|
@@ -103,7 +134,7 @@ If `pr-based`: create/checkout feature branch before starting work (same logic a
|
|
|
103
134
|
```
|
|
104
135
|
|
|
105
136
|
Map flags to session marker fields:
|
|
106
|
-
- `--simple` -> set `"simple": true`
|
|
137
|
+
- `--simple-compat` -> set `"simple": true` (deprecated — emits warning, removed in v1.3.0)
|
|
107
138
|
- `--tests` -> `{ "type": "tests_pass", "required": true }`
|
|
108
139
|
- `--build` -> `{ "type": "build_succeeds", "required": true }`
|
|
109
140
|
- `--e2e` -> `{ "type": "tests_pass", "description": "E2E tests", "required": true }`
|
|
@@ -141,7 +141,7 @@ Override defaults: `sw:brainstorm "topic" --criteria "perf,cost,complexity,risk"
|
|
|
141
141
|
|
|
142
142
|
## Phase 1: Frame
|
|
143
143
|
|
|
144
|
-
**Token budget:
|
|
144
|
+
**Token budget: ~1200 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.frame`).
|
|
145
145
|
|
|
146
146
|
### 1a. Restate the Problem
|
|
147
147
|
|
|
@@ -181,7 +181,7 @@ Update state: `"phase": "evaluate"`.
|
|
|
181
181
|
|
|
182
182
|
## Phase 2: Diverge
|
|
183
183
|
|
|
184
|
-
**Token budget:
|
|
184
|
+
**Token budget: ~1800 tokens per approach** (max ~10800 for 6 approaches; raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.diverge`).
|
|
185
185
|
|
|
186
186
|
### 2a. Lens Selection
|
|
187
187
|
|
|
@@ -247,7 +247,7 @@ Update state: `"phase": "evaluate"`, populate `"approaches"` array.
|
|
|
247
247
|
|
|
248
248
|
## Phase 3: Evaluate
|
|
249
249
|
|
|
250
|
-
**Token budget:
|
|
250
|
+
**Token budget: ~1500 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.evaluate`).
|
|
251
251
|
|
|
252
252
|
### 3a. Comparison Matrix
|
|
253
253
|
|
|
@@ -295,7 +295,7 @@ Update state: `"selectedApproach": { ... }`.
|
|
|
295
295
|
|
|
296
296
|
## Phase 4: Deepen (Deep Mode Only)
|
|
297
297
|
|
|
298
|
-
**Token budget:
|
|
298
|
+
**Token budget: ~1500 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.deepen`).
|
|
299
299
|
|
|
300
300
|
This phase only runs when `--depth deep`.
|
|
301
301
|
|
|
@@ -335,7 +335,7 @@ Update state: `"phase": "output"`.
|
|
|
335
335
|
|
|
336
336
|
## Phase 5: Output
|
|
337
337
|
|
|
338
|
-
**Token budget:
|
|
338
|
+
**Token budget: ~1200 tokens max** (raised 3× in SpecWeave 1.1.0; override via `quality.tokenBudgets.output`).
|
|
339
339
|
|
|
340
340
|
### 5a. Save Brainstorm Document
|
|
341
341
|
|
|
@@ -507,19 +507,19 @@ Save to `.specweave/docs/brainstorms/YYYY-MM-DD-{topic-slug}.md`. Structure:
|
|
|
507
507
|
|
|
508
508
|
## Token Budgets (Guidelines)
|
|
509
509
|
|
|
510
|
-
These are targets, not hard limits. Prefer conciseness, but expand when the problem demands it.
|
|
510
|
+
These are targets, not hard limits. Prefer conciseness, but expand when the problem demands it. Override via `quality.tokenBudgets` in `.specweave/config.json`. Budgets were raised 3× in SpecWeave 1.1.0 to take advantage of Opus 4.7's long-horizon coherence — smaller caps forced premature summarization and missed approach trade-offs.
|
|
511
511
|
|
|
512
512
|
| Phase | Target | Hard Max | Notes |
|
|
513
513
|
|-------|--------|----------|-------|
|
|
514
|
-
| Frame | ~
|
|
515
|
-
| Diverge (per approach) | ~
|
|
516
|
-
| Diverge (total) | ~
|
|
517
|
-
| Evaluate | ~
|
|
518
|
-
| Deepen | ~
|
|
519
|
-
| Output | ~
|
|
520
|
-
| **Quick total** | ~
|
|
521
|
-
| **Standard total** | ~
|
|
522
|
-
| **Deep total** | ~
|
|
514
|
+
| Frame | ~1200 tokens | 2400 | Problem + 5W1H + questions |
|
|
515
|
+
| Diverge (per approach) | ~1800 tokens | 3000 | Name + summary + steps + trade-offs |
|
|
516
|
+
| Diverge (total) | ~10800 tokens | 18000 | 6 approaches max |
|
|
517
|
+
| Evaluate | ~1500 tokens | 2400 | Matrix + recommendation |
|
|
518
|
+
| Deepen | ~1500 tokens | 3000 | Ladder + analogies + assumptions + pre-mortem |
|
|
519
|
+
| Output | ~1200 tokens | 1800 | Summary + handoff |
|
|
520
|
+
| **Quick total** | ~3900 | ~7800 | Frame + 3 approaches + Evaluate |
|
|
521
|
+
| **Standard total** | ~10500 | ~15600 | Frame + Diverge + Evaluate + Output |
|
|
522
|
+
| **Deep total** | ~16200 | ~27600 | All 5 phases |
|
|
523
523
|
|
|
524
524
|
**When to exceed targets**: Complex problems with many stakeholders, deeply technical domains requiring precise terminology, or when the user explicitly asks for more detail.
|
|
525
525
|
|
|
@@ -1,80 +1,50 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: close-all
|
|
3
|
-
description: Batch-close all increments
|
|
3
|
+
description: Batch-close all complete increments by delegating each one to `sw:done`. Discovers active/ready-for-review increments with zero pending tasks, then iterates and calls `sw:done` per increment. Use when saying "close all", "close stuck increments", or "batch close".
|
|
4
4
|
argument-hint: "[--dry-run]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Batch Close All Complete Increments
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Closes all active increments that have reached 100% task completion by delegating each one to `sw:done`. This skill is a thin batch-discovery loop; all actual closure logic (gates, reports, sync) lives in `sw:done`.
|
|
10
10
|
|
|
11
11
|
## Step 1: Discover Closeable Increments
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
|
|
15
|
-
for meta in $(find .specweave/increments -maxdepth 2 -name "metadata.json" 2>/dev/null | sort); do
|
|
14
|
+
for meta in $(find .specweave/increments -maxdepth 2 -name "metadata.json" | sort); do
|
|
16
15
|
st=$(jq -r '.status' "$meta" 2>/dev/null)
|
|
17
|
-
# Only consider active/in-progress/ready_for_review
|
|
18
16
|
[ "$st" != "active" ] && [ "$st" != "in-progress" ] && [ "$st" != "ready_for_review" ] && continue
|
|
19
|
-
d=$(dirname "$meta")
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[
|
|
24
|
-
|
|
25
|
-
total=$(grep -c '\[x\]' "$tasks_file" 2>/dev/null || echo "0")
|
|
26
|
-
if [ "$pending" -eq 0 ] && [ "$total" -gt 0 ]; then
|
|
27
|
-
echo "CLOSEABLE: $id (status: $st, tasks: $total/$total)"
|
|
17
|
+
d=$(dirname "$meta"); id=$(basename "$d"); tasks="$d/tasks.md"
|
|
18
|
+
[ ! -f "$tasks" ] && continue
|
|
19
|
+
pending=$(grep -c '\[ \]' "$tasks" 2>/dev/null || echo 0)
|
|
20
|
+
done_count=$(grep -c '\[x\]' "$tasks" 2>/dev/null || echo 0)
|
|
21
|
+
if [ "$pending" -eq 0 ] && [ "$done_count" -gt 0 ]; then
|
|
22
|
+
echo "CLOSEABLE: $id"
|
|
28
23
|
fi
|
|
29
24
|
done
|
|
30
25
|
```
|
|
31
26
|
|
|
32
|
-
If no closeable increments found, report "No increments ready for closure" and stop.
|
|
27
|
+
If no closeable increments are found, report "No increments ready for closure" and stop.
|
|
33
28
|
|
|
34
|
-
## Step 2:
|
|
29
|
+
## Step 2: Dry-run
|
|
35
30
|
|
|
36
|
-
If the user passed `--dry-run`, print the list
|
|
31
|
+
If the user passed `--dry-run`, print the discovered list and stop without closing anything.
|
|
37
32
|
|
|
38
|
-
## Step 3:
|
|
33
|
+
## Step 3: Delegate each to `sw:done`
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
For each closeable increment, spawn an `sw-closer` subagent in a fresh context:
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
Agent({
|
|
46
|
-
subagent_type: "sw:sw-closer",
|
|
47
|
-
prompt: "Close increment <ID>. Increment path: .specweave/increments/<ID>/",
|
|
48
|
-
description: "Close increment <ID>"
|
|
49
|
-
})
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Close sequentially** (one at a time) to respect dependency order and avoid race conditions.
|
|
53
|
-
|
|
54
|
-
Wait for each sw-closer to return before spawning the next. If a closer fails, log the failure and continue to the next increment.
|
|
55
|
-
|
|
56
|
-
### Step 3b: Non-cloud fallback (no Agent tool)
|
|
57
|
-
|
|
58
|
-
For each closeable increment, invoke closure directly:
|
|
35
|
+
Iterate the discovered list sequentially. For each `<ID>`:
|
|
59
36
|
|
|
60
37
|
```
|
|
61
|
-
Skill({ skill: "sw:done", args: "<
|
|
38
|
+
Skill({ skill: "sw:done", args: "<ID>" })
|
|
62
39
|
```
|
|
63
40
|
|
|
64
|
-
|
|
41
|
+
`sw:done` owns the actual closure workflow: code-review, simplify, grill, judge-llm, PM validation, external sync, and final status transition. Close sequentially to respect dependency order; if `sw:done` fails for an increment, log the failure and continue with the next.
|
|
65
42
|
|
|
66
43
|
## Step 4: Summary
|
|
67
44
|
|
|
68
|
-
Print a summary
|
|
45
|
+
Print a final summary with CLOSED / FAILED counts per increment. Failures are not retried here — the user re-runs `sw:done <ID>` individually once blockers are resolved.
|
|
69
46
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
────────────────────────────── ──────── ──────
|
|
75
|
-
0593-fix-refresh-plugins CLOSED All gates passed
|
|
76
|
-
0589-cli-complete-improvements FAILED Gate 1: grill BLOCKER found
|
|
77
|
-
0587-fix-github-sync-dedup CLOSED All gates passed
|
|
78
|
-
═══════════════════════════════════════════
|
|
79
|
-
Closed: 2 | Failed: 1 | Total: 3
|
|
80
|
-
```
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- All gate logic lives in `sw:done`. This skill MUST NOT duplicate closure behaviour.
|
|
50
|
+
- Parallel closure is intentionally not supported — race conditions on shared living docs are a real hazard.
|