specweave 0.17.15 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +405 -2495
- package/README.md +92 -2
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +188 -36
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +54 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js +86 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +139 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.js +389 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +1 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +26 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts +1 -1
- package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client.js +25 -13
- package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +83 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.js +451 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +43 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.js +82 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts +5 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.js +38 -2
- package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts +66 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +274 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +56 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js +93 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +48 -3
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts +142 -0
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -0
- package/dist/src/core/living-docs/hierarchy-mapper.js +453 -0
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -0
- package/dist/src/core/living-docs/index.d.ts +10 -84
- package/dist/src/core/living-docs/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/index.js +10 -164
- package/dist/src/core/living-docs/index.js.map +1 -1
- package/dist/src/core/living-docs/spec-distributor.d.ts +106 -0
- package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -0
- package/dist/src/core/living-docs/spec-distributor.js +823 -0
- package/dist/src/core/living-docs/spec-distributor.js.map +1 -0
- package/dist/src/core/living-docs/types.d.ts +201 -0
- package/dist/src/core/living-docs/types.d.ts.map +1 -0
- package/dist/src/core/living-docs/types.js +15 -0
- package/dist/src/core/living-docs/types.js.map +1 -0
- package/dist/src/core/logging/prompt-logger.d.ts +70 -0
- package/dist/src/core/logging/prompt-logger.d.ts.map +1 -0
- package/dist/src/core/logging/prompt-logger.js +247 -0
- package/dist/src/core/logging/prompt-logger.js.map +1 -0
- package/dist/src/core/status-line/status-line-manager.d.ts +15 -24
- package/dist/src/core/status-line/status-line-manager.d.ts.map +1 -1
- package/dist/src/core/status-line/status-line-manager.js +33 -70
- package/dist/src/core/status-line/status-line-manager.js.map +1 -1
- package/dist/src/core/status-line/types.d.ts +19 -31
- package/dist/src/core/status-line/types.d.ts.map +1 -1
- package/dist/src/core/status-line/types.js +5 -9
- package/dist/src/core/status-line/types.js.map +1 -1
- package/dist/src/core/sync/conflict-resolver.d.ts +66 -0
- package/dist/src/core/sync/conflict-resolver.d.ts.map +1 -0
- package/dist/src/core/sync/conflict-resolver.js +108 -0
- package/dist/src/core/sync/conflict-resolver.js.map +1 -0
- package/dist/src/core/sync/enhanced-content-builder.d.ts +77 -0
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -0
- package/dist/src/core/sync/enhanced-content-builder.js +199 -0
- package/dist/src/core/sync/enhanced-content-builder.js.map +1 -0
- package/dist/src/core/sync/label-detector.d.ts +66 -0
- package/dist/src/core/sync/label-detector.d.ts.map +1 -0
- package/dist/src/core/sync/label-detector.js +211 -0
- package/dist/src/core/sync/label-detector.js.map +1 -0
- package/dist/src/core/sync/retry-logic.d.ts +64 -0
- package/dist/src/core/sync/retry-logic.d.ts.map +1 -0
- package/dist/src/core/sync/retry-logic.js +165 -0
- package/dist/src/core/sync/retry-logic.js.map +1 -0
- package/dist/src/core/sync/spec-increment-mapper.d.ts +100 -0
- package/dist/src/core/sync/spec-increment-mapper.d.ts.map +1 -0
- package/dist/src/core/sync/spec-increment-mapper.js +424 -0
- package/dist/src/core/sync/spec-increment-mapper.js.map +1 -0
- package/dist/src/core/sync/status-cache.d.ts +91 -0
- package/dist/src/core/sync/status-cache.d.ts.map +1 -0
- package/dist/src/core/sync/status-cache.js +140 -0
- package/dist/src/core/sync/status-cache.js.map +1 -0
- package/dist/src/core/sync/status-mapper.d.ts +69 -0
- package/dist/src/core/sync/status-mapper.d.ts.map +1 -0
- package/dist/src/core/sync/status-mapper.js +90 -0
- package/dist/src/core/sync/status-mapper.js.map +1 -0
- package/dist/src/core/sync/status-sync-engine.d.ts +162 -0
- package/dist/src/core/sync/status-sync-engine.d.ts.map +1 -0
- package/dist/src/core/sync/status-sync-engine.js +347 -0
- package/dist/src/core/sync/status-sync-engine.js.map +1 -0
- package/dist/src/core/sync/sync-event-logger.d.ts +99 -0
- package/dist/src/core/sync/sync-event-logger.d.ts.map +1 -0
- package/dist/src/core/sync/sync-event-logger.js +103 -0
- package/dist/src/core/sync/sync-event-logger.js.map +1 -0
- package/dist/src/core/sync/workflow-detector.d.ts +95 -0
- package/dist/src/core/sync/workflow-detector.d.ts.map +1 -0
- package/dist/src/core/sync/workflow-detector.js +175 -0
- package/dist/src/core/sync/workflow-detector.js.map +1 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +31 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/utils/github-url.d.ts +53 -0
- package/dist/src/utils/github-url.d.ts.map +1 -0
- package/dist/src/utils/github-url.js +90 -0
- package/dist/src/utils/github-url.js.map +1 -0
- package/dist/src/utils/plugin-validator.d.ts +9 -0
- package/dist/src/utils/plugin-validator.d.ts.map +1 -1
- package/dist/src/utils/plugin-validator.js +86 -19
- package/dist/src/utils/plugin-validator.js.map +1 -1
- package/dist/src/utils/spec-parser.d.ts +145 -0
- package/dist/src/utils/spec-parser.d.ts.map +1 -0
- package/dist/src/utils/spec-parser.js +640 -0
- package/dist/src/utils/spec-parser.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/agents/pm/AGENT.md +1 -1
- package/plugins/specweave/agents/pm/templates/increment-spec.md +158 -0
- package/plugins/specweave/agents/pm/templates/living-docs-spec.md +113 -0
- package/plugins/specweave/commands/specweave-done.md +163 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +79 -111
- package/plugins/specweave/hooks/post-increment-planning.sh +107 -35
- package/plugins/specweave/lib/hooks/sync-living-docs.js +139 -34
- package/plugins/specweave/lib/hooks/sync-living-docs.ts +234 -38
- package/plugins/specweave/skills/SKILLS-INDEX.md +4 -24
- package/plugins/specweave/skills/increment-planner/SKILL.md +94 -0
- package/plugins/specweave/skills/increment-work-router/SKILL.md +466 -0
- package/plugins/specweave/skills/plugin-validator/SKILL.md +16 -13
- package/plugins/specweave-ado/lib/ado-status-sync.js +80 -0
- package/plugins/specweave-ado/lib/ado-status-sync.ts +121 -0
- package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +205 -0
- package/plugins/specweave-github/commands/specweave-github-sync-epic.md +248 -0
- package/plugins/specweave-github/lib/duplicate-detector.js +370 -0
- package/plugins/specweave-github/lib/duplicate-detector.ts +525 -0
- package/plugins/specweave-github/lib/enhanced-github-sync.js +220 -0
- package/plugins/specweave-github/lib/enhanced-github-sync.ts +322 -0
- package/plugins/specweave-github/lib/github-client.js +21 -10
- package/plugins/specweave-github/lib/github-client.ts +27 -16
- package/plugins/specweave-github/lib/github-epic-sync.js +489 -0
- package/plugins/specweave-github/lib/github-epic-sync.ts +690 -0
- package/plugins/specweave-github/lib/github-status-sync.js +71 -0
- package/plugins/specweave-github/lib/github-status-sync.ts +107 -0
- package/plugins/specweave-github/lib/task-sync.js +33 -2
- package/plugins/specweave-github/lib/task-sync.ts +44 -2
- package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +267 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.ts.disabled +222 -0
- package/plugins/specweave-jira/lib/jira-epic-sync.js +304 -0
- package/plugins/specweave-jira/lib/jira-epic-sync.ts +459 -0
- package/plugins/specweave-jira/lib/jira-status-sync.js +79 -0
- package/plugins/specweave-jira/lib/jira-status-sync.ts +139 -0
- package/src/templates/AGENTS.md.template +88 -1
- package/src/templates/CLAUDE.md.template +49 -0
- package/plugins/specweave/skills/increment-quality-judge/SKILL.md +0 -524
- package/plugins/specweave/skills/plugin-installer/SKILL.md +0 -353
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plugin-installer
|
|
3
|
-
description: DEPRECATED - This skill is no longer needed. All plugins are now installed automatically during specweave init. This skill remains for backward compatibility but should NOT activate.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Plugin Installer - DEPRECATED
|
|
7
|
-
|
|
8
|
-
**Status**: ⚠️ **DEPRECATED** - Do not use this skill
|
|
9
|
-
|
|
10
|
-
**Reason**: As of v0.11.0+, ALL SpecWeave plugins (19+) are automatically installed during `specweave init`. There is no need for just-in-time plugin installation anymore.
|
|
11
|
-
|
|
12
|
-
**What Changed**:
|
|
13
|
-
- ❌ Old: Selective plugin loading with just-in-time installation
|
|
14
|
-
- ✅ New: All plugins installed upfront during init
|
|
15
|
-
|
|
16
|
-
**If you see this skill activating**, it means you're using an old SpecWeave installation. Run `specweave init` again to get all plugins installed automatically.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## For Contributors: Why This Was Deprecated
|
|
21
|
-
|
|
22
|
-
**The Problem with Just-in-Time Installation**:
|
|
23
|
-
- Added complexity to the workflow
|
|
24
|
-
- Users had to wait for installations mid-work
|
|
25
|
-
- Network issues could block work unexpectedly
|
|
26
|
-
- Detection logic was fragile (keyword matching)
|
|
27
|
-
|
|
28
|
-
**The Solution - Install Everything Upfront**:
|
|
29
|
-
- All 19+ plugins installed during `specweave init`
|
|
30
|
-
- Takes ~30 seconds upfront but saves time later
|
|
31
|
-
- All capabilities available immediately
|
|
32
|
-
- No network dependencies during work
|
|
33
|
-
- Simpler, more predictable user experience
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Plugin Detection Keywords Map
|
|
38
|
-
|
|
39
|
-
**Use this map to detect which plugin is needed based on user's request keywords:**
|
|
40
|
-
|
|
41
|
-
| User Keywords | Required Plugin | Installation Command |
|
|
42
|
-
|--------------|----------------|---------------------|
|
|
43
|
-
| **Frontend Development** |
|
|
44
|
-
| "React", "Next.js", "Vue", "Angular", "frontend", "UI component", "design system", "Tailwind" | `specweave-frontend` | `/plugin install specweave-frontend` |
|
|
45
|
-
| **Kubernetes/DevOps** |
|
|
46
|
-
| "K8s", "Kubernetes", "Helm", "kubectl", "deploy", "container", "pod", "service", "ingress" | `specweave-kubernetes` | `/plugin install specweave-kubernetes` |
|
|
47
|
-
| **Machine Learning** |
|
|
48
|
-
| "TensorFlow", "PyTorch", "ML model", "training", "machine learning", "neural network", "dataset" | `specweave-ml` | `/plugin install specweave-ml` |
|
|
49
|
-
| **Payments** |
|
|
50
|
-
| "Stripe", "PayPal", "billing", "subscription", "payment", "checkout", "PCI compliance" | `specweave-payments` | `/plugin install specweave-payments` |
|
|
51
|
-
| **Testing** |
|
|
52
|
-
| "Playwright", "E2E testing", "browser automation", "visual regression", "test automation" | `specweave-testing` | `/plugin install specweave-testing` |
|
|
53
|
-
| **Figma/Design** |
|
|
54
|
-
| "Figma", "design tokens", "design system", "prototype", "wireframe", "mockup" | `specweave-figma` | `/plugin install specweave-figma` |
|
|
55
|
-
| **Backend Development** |
|
|
56
|
-
| "Node.js backend", "Python backend", ".NET", "Express", "FastAPI", "Django", "REST API" | `specweave-backend` | `/plugin install specweave-backend` |
|
|
57
|
-
| **Infrastructure** |
|
|
58
|
-
| "Hetzner", "cloud infrastructure", "Prometheus", "Grafana", "monitoring", "alerting", "SLO" | `specweave-infrastructure` | `/plugin install specweave-infrastructure` |
|
|
59
|
-
| **Architecture Diagrams** |
|
|
60
|
-
| "Mermaid diagram", "C4 model", "architecture diagram", "sequence diagram", "ER diagram" | `specweave-diagrams` | `/plugin install specweave-diagrams` |
|
|
61
|
-
| **Issue Trackers** (Usually auto-installed during init) |
|
|
62
|
-
| "GitHub Issues", "sync GitHub", "create issue", "PR automation" | `specweave-github` | `/plugin install specweave-github` |
|
|
63
|
-
| "Jira", "epic", "sprint", "story points", "Jira sync" | `specweave-jira` | `/plugin install specweave-jira` |
|
|
64
|
-
| "ADO", "Azure DevOps", "work items", "boards", "ADO sync" | `specweave-ado` | `/plugin install specweave-ado` |
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Workflow: Just-in-Time Plugin Installation
|
|
69
|
-
|
|
70
|
-
**CRITICAL**: Follow this workflow EVERY TIME you detect plugin keywords in user's request:
|
|
71
|
-
|
|
72
|
-
### Step 1: Detect Plugin Requirement
|
|
73
|
-
|
|
74
|
-
When user mentions keywords from the map above, **IMMEDIATELY** check if the required plugin is needed.
|
|
75
|
-
|
|
76
|
-
**Example**:
|
|
77
|
-
```
|
|
78
|
-
User: "Can you help me build a React component?"
|
|
79
|
-
|
|
80
|
-
Keywords detected: "React", "component"
|
|
81
|
-
→ Required plugin: specweave-frontend
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Step 2: Check if Plugin is Installed
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
# Check installed plugins
|
|
88
|
-
/plugin list --installed
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Parse the output** to see if the required plugin is in the list.
|
|
92
|
-
|
|
93
|
-
### Step 3: Auto-Install if Missing
|
|
94
|
-
|
|
95
|
-
If the plugin is NOT installed:
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
# Install the plugin
|
|
99
|
-
/plugin install <plugin-name>
|
|
100
|
-
|
|
101
|
-
# Example:
|
|
102
|
-
/plugin install specweave-frontend
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Step 4: Notify User (Clear and Friendly)
|
|
106
|
-
|
|
107
|
-
**Good notification format**:
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
🔌 Detected need for <plugin-name> plugin
|
|
111
|
-
|
|
112
|
-
📦 Installing <plugin-name>...
|
|
113
|
-
This plugin provides: <brief description>
|
|
114
|
-
|
|
115
|
-
✅ Plugin installed successfully!
|
|
116
|
-
You can now: <list capabilities>
|
|
117
|
-
|
|
118
|
-
Proceeding with your request...
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**Example**:
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
🔌 Detected need for specweave-frontend plugin
|
|
125
|
-
|
|
126
|
-
📦 Installing specweave-frontend...
|
|
127
|
-
This plugin provides: Beautiful Docusaurus UI for browsing .specweave/docs/
|
|
128
|
-
|
|
129
|
-
✅ Plugin installed successfully!
|
|
130
|
-
You can now:
|
|
131
|
-
• Browse documentation in beautiful UI
|
|
132
|
-
• Hot reload when editing markdown files
|
|
133
|
-
• Render Mermaid diagrams automatically
|
|
134
|
-
|
|
135
|
-
Proceeding to launch docs preview server...
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Step 5: Proceed with User's Request
|
|
139
|
-
|
|
140
|
-
**ONLY AFTER** the plugin is installed, proceed to use its features.
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## Common Scenarios
|
|
145
|
-
|
|
146
|
-
### Scenario 1: React Component Development
|
|
147
|
-
|
|
148
|
-
**User Request**: "Build a React component with TypeScript"
|
|
149
|
-
|
|
150
|
-
**Workflow**:
|
|
151
|
-
```
|
|
152
|
-
1. Detect keywords: "React", "component", "TypeScript"
|
|
153
|
-
→ Required: specweave-frontend
|
|
154
|
-
|
|
155
|
-
2. Check installed: /plugin list --installed
|
|
156
|
-
→ Not found
|
|
157
|
-
|
|
158
|
-
3. Install: /plugin install specweave-frontend
|
|
159
|
-
|
|
160
|
-
4. Notify user:
|
|
161
|
-
🔌 Installing specweave-frontend for React development...
|
|
162
|
-
✅ Installed!
|
|
163
|
-
|
|
164
|
-
5. Create component using frontend skills
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Scenario 2: Kubernetes Deployment
|
|
168
|
-
|
|
169
|
-
**User Request**: "Help me deploy this to Kubernetes"
|
|
170
|
-
|
|
171
|
-
**Workflow**:
|
|
172
|
-
```
|
|
173
|
-
1. Detect keywords: "deploy", "Kubernetes"
|
|
174
|
-
→ Required: specweave-kubernetes
|
|
175
|
-
|
|
176
|
-
2. Check installed: /plugin list --installed
|
|
177
|
-
→ Not found
|
|
178
|
-
|
|
179
|
-
3. Install: /plugin install specweave-kubernetes
|
|
180
|
-
|
|
181
|
-
4. Notify user:
|
|
182
|
-
🔌 Installing specweave-kubernetes for K8s deployment...
|
|
183
|
-
✅ Installed! You can now generate manifests, Helm charts, and validate deployments.
|
|
184
|
-
|
|
185
|
-
5. Proceed with K8s expert agent for deployment
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
### Scenario 3: React Component Development
|
|
189
|
-
|
|
190
|
-
**User Request**: "Create a new React component for user profile"
|
|
191
|
-
|
|
192
|
-
**Workflow**:
|
|
193
|
-
```
|
|
194
|
-
1. Detect keywords: "React", "component"
|
|
195
|
-
→ Required: specweave-frontend
|
|
196
|
-
|
|
197
|
-
2. Check installed: /plugin list --installed
|
|
198
|
-
→ Not found
|
|
199
|
-
|
|
200
|
-
3. Install: /plugin install specweave-frontend
|
|
201
|
-
|
|
202
|
-
4. Notify user:
|
|
203
|
-
🔌 Installing specweave-frontend for React development...
|
|
204
|
-
✅ Installed! You can now use frontend expert agent and design system integration.
|
|
205
|
-
|
|
206
|
-
5. Proceed with component creation
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Scenario 4: Machine Learning Pipeline
|
|
210
|
-
|
|
211
|
-
**User Request**: "Train a TensorFlow model for image classification"
|
|
212
|
-
|
|
213
|
-
**Workflow**:
|
|
214
|
-
```
|
|
215
|
-
1. Detect keywords: "TensorFlow", "model", "training"
|
|
216
|
-
→ Required: specweave-ml
|
|
217
|
-
|
|
218
|
-
2. Check installed: /plugin list --installed
|
|
219
|
-
→ Not found
|
|
220
|
-
|
|
221
|
-
3. Install: /plugin install specweave-ml
|
|
222
|
-
|
|
223
|
-
4. Notify user:
|
|
224
|
-
🔌 Installing specweave-ml for ML workflows...
|
|
225
|
-
✅ Installed! You can now use ML expert agent for training pipelines and deployment.
|
|
226
|
-
|
|
227
|
-
5. Proceed with ML pipeline setup
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## Error Handling
|
|
233
|
-
|
|
234
|
-
### Plugin Installation Fails
|
|
235
|
-
|
|
236
|
-
If `/plugin install` fails:
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
❌ Failed to install <plugin-name>
|
|
240
|
-
|
|
241
|
-
Possible causes:
|
|
242
|
-
1. Marketplace not registered
|
|
243
|
-
→ Try: /plugin marketplace add anton-abyzov/specweave
|
|
244
|
-
|
|
245
|
-
2. Network connectivity issues
|
|
246
|
-
→ Check internet connection and retry
|
|
247
|
-
|
|
248
|
-
3. Plugin doesn't exist
|
|
249
|
-
→ Verify plugin name: /plugin list (shows all available plugins)
|
|
250
|
-
|
|
251
|
-
Would you like to:
|
|
252
|
-
a) Retry installation
|
|
253
|
-
b) Proceed without the plugin (limited capabilities)
|
|
254
|
-
c) Troubleshoot further
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### Plugin Already Installed
|
|
258
|
-
|
|
259
|
-
If plugin is already installed, skip installation and proceed:
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
✅ <plugin-name> is already installed
|
|
263
|
-
Proceeding with your request...
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Integration with Other Skills
|
|
269
|
-
|
|
270
|
-
**This skill should be consulted BEFORE other skills attempt to use plugin features.**
|
|
271
|
-
|
|
272
|
-
### Example: increment-planner skill
|
|
273
|
-
|
|
274
|
-
When increment-planner detects plugin requirements (Step 6), it should:
|
|
275
|
-
|
|
276
|
-
1. **Detect plugins** (as it already does)
|
|
277
|
-
2. **Consult plugin-installer skill** (NEW!)
|
|
278
|
-
3. **Auto-install missing plugins** (via this skill)
|
|
279
|
-
4. **Then proceed** with increment planning
|
|
280
|
-
|
|
281
|
-
### Example: frontend skill (hypothetical)
|
|
282
|
-
|
|
283
|
-
```markdown
|
|
284
|
-
# BEFORE using React features:
|
|
285
|
-
|
|
286
|
-
1. Check if specweave-frontend is installed
|
|
287
|
-
→ If not: Invoke plugin-installer skill
|
|
288
|
-
→ Auto-install specweave-frontend
|
|
289
|
-
|
|
290
|
-
2. Then proceed with component creation
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## Benefits of This Approach
|
|
296
|
-
|
|
297
|
-
✅ **Zero friction**: Users don't need to manually install plugins
|
|
298
|
-
✅ **Proactive**: Detects requirements automatically
|
|
299
|
-
✅ **Clear UX**: Users see what's being installed and why
|
|
300
|
-
✅ **Just-in-time**: Only installs plugins when actually needed
|
|
301
|
-
✅ **Fail-safe**: Handles installation errors gracefully
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## Testing This Skill
|
|
306
|
-
|
|
307
|
-
**Test Case 1: Docs Preview**
|
|
308
|
-
```
|
|
309
|
-
User: "Show me the internal documentation in a browser"
|
|
310
|
-
|
|
311
|
-
Expected:
|
|
312
|
-
1. Detects "React", "component" → specweave-frontend
|
|
313
|
-
2. Checks installed
|
|
314
|
-
3. Auto-installs if missing
|
|
315
|
-
4. Launches preview
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
**Test Case 2: K8s Deployment**
|
|
319
|
-
```
|
|
320
|
-
User: "Deploy this application to Kubernetes cluster"
|
|
321
|
-
|
|
322
|
-
Expected:
|
|
323
|
-
1. Detects "Kubernetes" → specweave-kubernetes
|
|
324
|
-
2. Checks installed
|
|
325
|
-
3. Auto-installs if missing
|
|
326
|
-
4. Proceeds with deployment
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
**Test Case 3: React Development**
|
|
330
|
-
```
|
|
331
|
-
User: "Add a React component for user settings"
|
|
332
|
-
|
|
333
|
-
Expected:
|
|
334
|
-
1. Detects "React", "component" → specweave-frontend
|
|
335
|
-
2. Checks installed
|
|
336
|
-
3. Auto-installs if missing
|
|
337
|
-
4. Proceeds with component creation
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
---
|
|
341
|
-
|
|
342
|
-
## References
|
|
343
|
-
|
|
344
|
-
- **Plugin Expert Skill**: Consult for correct installation syntax
|
|
345
|
-
- **Official Docs**: https://code.claude.com/docs/en/plugins
|
|
346
|
-
- **SpecWeave Marketplace**: .claude-plugin/marketplace.json
|
|
347
|
-
- **CLAUDE.md**: Plugin architecture and detection phases
|
|
348
|
-
|
|
349
|
-
---
|
|
350
|
-
|
|
351
|
-
**Key Principle**: ALWAYS install plugins BEFORE attempting to use their features. Never fail silently - always notify users of installation steps.
|
|
352
|
-
|
|
353
|
-
**Last Updated**: 2025-11-10 (v0.10.0)
|