specweave 1.0.153 → 1.0.155

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 CHANGED
@@ -1,6 +1,6 @@
1
- <!-- SW:META template="claude" version="1.0.151" sections="header,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
1
+ <!-- SW:META template="claude" version="1.0.154" sections="header,start,autodetect,metarule,rules,workflow,reflect,context,structure,taskformat,secrets,syncing,testing,tdd,api,limits,troubleshooting,lazyloading,principles,linking,mcp,auto,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.151" -->
3
+ <!-- SW:SECTION:header version="1.0.154" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
@@ -58,7 +58,7 @@ plugins/specweave/
58
58
  **Old "commands" are just skills with `disable-model-invocation: true`** - they only respond to explicit `/name` invocation, not keyword detection.
59
59
  <!-- SW:END:claude-code-concepts -->
60
60
 
61
- <!-- SW:SECTION:start version="1.0.151" -->
61
+ <!-- SW:SECTION:start version="1.0.154" -->
62
62
  ## Getting Started
63
63
 
64
64
  **Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
@@ -68,7 +68,7 @@ plugins/specweave/
68
68
  2. **Customize**: Edit spec.md and use for setup tasks
69
69
  <!-- SW:END:start -->
70
70
 
71
- <!-- SW:SECTION:autodetect version="1.0.151" -->
71
+ <!-- SW:SECTION:autodetect version="1.0.154" -->
72
72
  ## Auto-Detection
73
73
 
74
74
  SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
@@ -78,7 +78,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
78
78
  **Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
79
79
  <!-- SW:END:autodetect -->
80
80
 
81
- <!-- SW:SECTION:metarule version="1.0.151" -->
81
+ <!-- SW:SECTION:metarule version="1.0.154" -->
82
82
  ## Meta-Rule: Think-Before-Act
83
83
 
84
84
  **Satisfy dependencies BEFORE dependent operations.**
@@ -89,7 +89,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
89
89
  ```
90
90
  <!-- SW:END:metarule -->
91
91
 
92
- <!-- SW:SECTION:rules version="1.0.151" -->
92
+ <!-- SW:SECTION:rules version="1.0.154" -->
93
93
  ## Rules
94
94
 
95
95
  1. **Files** → `.specweave/increments/####-name/` (see Structure section for details)
@@ -100,7 +100,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
100
100
  6. **⛔ Marketplace refresh**: Use `specweave refresh-marketplace` CLI (not `scripts/refresh-marketplace.sh`)
101
101
  <!-- SW:END:rules -->
102
102
 
103
- <!-- SW:SECTION:workflow version="1.0.151" -->
103
+ <!-- SW:SECTION:workflow version="1.0.154" -->
104
104
  ## Workflow
105
105
 
106
106
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -120,7 +120,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
120
120
  **Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done` | "Ship while sleeping" → `/sw:auto`
121
121
  <!-- SW:END:workflow -->
122
122
 
123
- <!-- SW:SECTION:reflect version="1.0.151" -->
123
+ <!-- SW:SECTION:reflect version="1.0.154" -->
124
124
  ## Skill Memories
125
125
 
126
126
  SpecWeave learns from corrections. Learnings saved here automatically. Edit or delete as needed.
@@ -133,7 +133,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
133
133
  <!-- Auto-captured by SpecWeave reflect. Edit or delete as needed. -->
134
134
  <!-- Learnings are organized by skill name. User edits override SpecWeave defaults. -->
135
135
 
136
- <!-- SW:SECTION:context version="1.0.151" -->
136
+ <!-- SW:SECTION:context version="1.0.154" -->
137
137
  ## Context
138
138
 
139
139
  **Before implementing**: Check ADRs at `.specweave/docs/internal/architecture/adr/`
@@ -141,7 +141,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
141
141
  **Load context**: `/sw:context <topic>` loads relevant living docs into conversation
142
142
  <!-- SW:END:context -->
143
143
 
144
- <!-- SW:SECTION:structure version="1.0.151" -->
144
+ <!-- SW:SECTION:structure version="1.0.154" -->
145
145
  ## Structure
146
146
 
147
147
  ```
@@ -156,7 +156,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
156
156
  **Everything else → subfolders**: `reports/` | `logs/` | `scripts/` | `backups/`
157
157
  <!-- SW:END:structure -->
158
158
 
159
- <!-- SW:SECTION:taskformat version="1.0.151" -->
159
+ <!-- SW:SECTION:taskformat version="1.0.154" -->
160
160
  ## Task Format
161
161
 
162
162
  ```markdown
@@ -166,7 +166,7 @@ SpecWeave learns from corrections. Learnings saved here automatically. Edit or d
166
166
  ```
167
167
  <!-- SW:END:taskformat -->
168
168
 
169
- <!-- SW:SECTION:secrets version="1.0.151" -->
169
+ <!-- SW:SECTION:secrets version="1.0.154" -->
170
170
  ## Secrets Check
171
171
 
172
172
  **BEFORE CLI tools**: Check existing config first!
@@ -180,7 +180,7 @@ gh auth status
180
180
  **SECURITY**: NEVER use `grep TOKEN .env` without `-q` flag - it exposes credentials in terminal!
181
181
  <!-- SW:END:secrets -->
182
182
 
183
- <!-- SW:SECTION:syncing version="1.0.151" -->
183
+ <!-- SW:SECTION:syncing version="1.0.154" -->
184
184
  ## External Sync (GitHub/JIRA/ADO)
185
185
 
186
186
  **Commands**: `/sw-github:sync {id}` (issues) | `/sw:sync-specs` (living docs only)
@@ -190,7 +190,7 @@ gh auth status
190
190
  **Config**: Set `sync.github.enabled: true` + `canUpdateExternalItems: true` in config.json
191
191
  <!-- SW:END:syncing -->
192
192
 
193
- <!-- SW:SECTION:testing version="1.0.151" -->
193
+ <!-- SW:SECTION:testing version="1.0.154" -->
194
194
  ## Testing
195
195
 
196
196
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
@@ -202,7 +202,7 @@ vi.mock('./module', () => ({ func: mockFn }));
202
202
  ```
203
203
  <!-- SW:END:testing -->
204
204
 
205
- <!-- SW:SECTION:tdd version="1.0.151" -->
205
+ <!-- SW:SECTION:tdd version="1.0.154" -->
206
206
  ## TDD Mode (Test-Driven Development)
207
207
 
208
208
  **When `testing.defaultTestMode: "TDD"` is configured**, follow RED-GREEN-REFACTOR discipline:
@@ -263,7 +263,7 @@ When TDD is enabled, tasks include phase markers:
263
263
  **Rule**: Complete dependencies BEFORE dependent tasks (RED before GREEN).
264
264
  <!-- SW:END:tdd -->
265
265
 
266
- <!-- SW:SECTION:api version="1.0.151" -->
266
+ <!-- SW:SECTION:api version="1.0.154" -->
267
267
  ## API Development (OpenAPI-First)
268
268
 
269
269
  **For API projects only.** Commands: `/sw:api-docs --all` | `--openapi` | `--postman` | `--validate`
@@ -271,13 +271,13 @@ When TDD is enabled, tasks include phase markers:
271
271
  Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
272
272
  <!-- SW:END:api -->
273
273
 
274
- <!-- SW:SECTION:limits version="1.0.151" -->
274
+ <!-- SW:SECTION:limits version="1.0.154" -->
275
275
  ## Limits
276
276
 
277
277
  **Max 1500 lines/file** — extract before adding
278
278
  <!-- SW:END:limits -->
279
279
 
280
- <!-- SW:SECTION:troubleshooting version="1.0.151" -->
280
+ <!-- SW:SECTION:troubleshooting version="1.0.154" -->
281
281
  ## Troubleshooting
282
282
 
283
283
  | Issue | Fix |
@@ -293,7 +293,7 @@ Enable in config: `{"apiDocs":{"enabled":true,"openApiPath":"openapi.yaml"}}`
293
293
  | Marketplace shows 0 | Normal with auto-load; `/plugin list` shows actual |
294
294
  <!-- SW:END:troubleshooting -->
295
295
 
296
- <!-- SW:SECTION:lazyloading version="1.0.151" -->
296
+ <!-- SW:SECTION:lazyloading version="1.0.154" -->
297
297
  ## Plugin Auto-Loading
298
298
 
299
299
  Plugins load automatically based on project type and keywords. Manual install if needed:
@@ -307,7 +307,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
307
307
  **Token savings**: Core ~3-5K tokens vs all plugins ~60K+
308
308
  <!-- SW:END:lazyloading -->
309
309
 
310
- <!-- SW:SECTION:principles version="1.0.151" -->
310
+ <!-- SW:SECTION:principles version="1.0.154" -->
311
311
  ## Principles
312
312
 
313
313
  1. **Spec-first**: `/sw:increment` before coding
@@ -316,7 +316,7 @@ export SPECWEAVE_DISABLE_AUTO_LOAD=1 # Disable auto-load
316
316
  4. **Traceable**: All work → specs → ACs
317
317
  <!-- SW:END:principles -->
318
318
 
319
- <!-- SW:SECTION:linking version="1.0.151" -->
319
+ <!-- SW:SECTION:linking version="1.0.154" -->
320
320
  ## Bidirectional Linking
321
321
 
322
322
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -324,7 +324,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
324
324
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
325
325
  <!-- SW:END:linking -->
326
326
 
327
- <!-- SW:SECTION:mcp version="1.0.151" -->
327
+ <!-- SW:SECTION:mcp version="1.0.154" -->
328
328
  ## External Services
329
329
 
330
330
  **Priority**: CLI tools first (simpler) → MCP for complex integrations
@@ -346,7 +346,7 @@ claude mcp add --transport stdio postgres -- npx -y @modelcontextprotocol/server
346
346
  MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
347
347
  <!-- SW:END:mcp -->
348
348
 
349
- <!-- SW:SECTION:auto version="1.0.151" -->
349
+ <!-- SW:SECTION:auto version="1.0.154" -->
350
350
  ## Auto Mode
351
351
 
352
352
  **Commands**: `/sw:auto` (start) | `/sw:auto-status` (check) | `/sw:cancel-auto` (emergency only)
@@ -363,7 +363,7 @@ MCP supports lazy-loading (auto mode) - tools load on-demand when >10% context.
363
363
  **STOP & ASK** if: Spec conflicts | Task unnecessary | Requirement ambiguous
364
364
  <!-- SW:END:auto -->
365
365
 
366
- <!-- SW:SECTION:docs version="1.0.151" -->
366
+ <!-- SW:SECTION:docs version="1.0.154" -->
367
367
  ## Docs
368
368
 
369
369
  [spec-weave.com](https://spec-weave.com)
@@ -555,12 +555,57 @@ Task({
555
555
  })
556
556
  ```
557
557
 
558
+ ### ⚠️ MANDATORY Agent Usage Rules (v1.0.155)
559
+
560
+ **When implementing code in these domains, you MUST spawn the specialized agent via Task tool:**
561
+
562
+ | If task involves... | You MUST use | subagent_type |
563
+ |---------------------|--------------|---------------|
564
+ | React, Vue, Next.js, frontend | Task tool | `sw-frontend:frontend-architect:frontend-architect` |
565
+ | Stripe, payments, checkout | Task tool | `sw-payments:payment-integration:payment-integration` |
566
+ | Kubernetes, Helm, K8s | Task tool | `sw-k8s:kubernetes-architect:kubernetes-architect` |
567
+ | Terraform, AWS, Docker | Task tool | `sw-infra:devops:devops` |
568
+ | Database optimization | Task tool | `sw-backend:database-optimizer:database-optimizer` |
569
+ | Playwright, Vitest, E2E tests | Task tool | `sw-testing:qa-engineer:qa-engineer` |
570
+ | React Native, mobile | Task tool | `sw-mobile:mobile-architect:mobile-architect` |
571
+ | ML, PyTorch, TensorFlow | Task tool | `sw-ml:ml-engineer:ml-engineer` |
572
+
573
+ **Why MANDATORY?**
574
+ - Agents have deep domain knowledge and best practices
575
+ - Agents produce higher quality, more maintainable code
576
+ - Direct implementation without agents = suboptimal results
577
+
578
+ **Example - You MUST do this:**
579
+ ```typescript
580
+ // User asks: "Build React dashboard with Stripe"
581
+ // You MUST spawn these agents:
582
+
583
+ Task({
584
+ subagent_type: "sw-frontend:frontend-architect:frontend-architect",
585
+ prompt: "Build dashboard UI with sidebar, products page, orders page...",
586
+ description: "Dashboard UI"
587
+ })
588
+
589
+ Task({
590
+ subagent_type: "sw-payments:payment-integration:payment-integration",
591
+ prompt: "Build Stripe checkout with webhooks, success/cancel pages...",
592
+ description: "Stripe integration"
593
+ })
594
+ ```
595
+
596
+ **NEVER do this:**
597
+ ```typescript
598
+ // ❌ WRONG: Direct implementation without agents
599
+ Write({ file_path: "app/api/checkout/route.ts", content: "..." })
600
+ ```
601
+
558
602
  ### When to Use What
559
603
 
560
604
  | Scenario | Use | Why |
561
605
  |----------|-----|-----|
562
606
  | Architecture decisions | Skills (auto) | Keywords trigger automatically |
563
607
  | Code review, security | Skills (auto) | Keywords trigger automatically |
608
+ | **Implementation work** | **Agents (Task)** | **MANDATORY for quality** |
564
609
  | Complex K8s/infra | Agents (Task) | Needs isolated context |
565
610
  | Frontend architecture | Agents (Task) | Specialized plugin |
566
611
  | ML pipelines | Agents (Task) | Specialized plugin |
@@ -1 +1 @@
1
- {"version":3,"file":"llm-plugin-detector.d.ts","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-plugin-detector.d.ts","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
@@ -198,42 +198,70 @@ export function isClaudeCliAvailable() {
198
198
  /**
199
199
  * Build the system prompt for plugin detection, increment recommendation, and skill routing
200
200
  *
201
- * v1.0.153: SIMPLIFIED prompt to avoid "prompt too long" errors with Haiku
202
- * Reduced from ~500 lines to ~100 lines while keeping essential functionality
201
+ * v1.0.155: MINIMAL detection - only detect technologies EXPLICITLY mentioned in the prompt
203
202
  */
204
203
  function buildDetectionPrompt() {
205
- return `Detect SpecWeave plugins and actions from user prompts. Respond with JSON only.
204
+ return `You detect which SpecWeave plugins to load based on the user's prompt.
206
205
 
207
- OUTPUT FORMAT (JSON only, no markdown):
208
- {"plugins":[],"confidence":0.9,"reasoning":"brief","increment":{"action":"new|none|small_fix","confidence":0.8,"suggestedName":null,"reasoning":"brief"},"routing":{"skills":[],"workflow":{"suggestPlanMode":false,"phases":[]},"confidence":0.8,"reasoning":"brief"}}
206
+ DETECTION PRINCIPLE: Load plugins for technologies that are NECESSARY for the task.
209
207
 
210
- PLUGINS (return exact names):
211
- - sw-frontend: React, Vue, Angular, Next.js, dashboard, UI, CSS, frontend, component, web app
212
- - sw-backend: Node.js, Express, API, database, SQL, GraphQL, backend, server
213
- - sw-testing: test, TDD, Playwright, Jest, Vitest, E2E, QA
214
- - sw-payments: Stripe, PayPal, checkout, payment, billing, subscription
215
- - sw-infra: Terraform, AWS, Azure, Docker, CI/CD, serverless, Lambda
216
- - sw-k8s: Kubernetes, K8s, Helm, pods, deployment, EKS, AKS
217
- - sw-mobile: React Native, iOS, Android, mobile, Expo
218
- - sw-ml: ML, machine learning, PyTorch, TensorFlow, AI model
219
- - sw-kafka: Kafka, event streaming, topics, MSK
220
- - sw-github: GitHub issues, PRs, Actions
221
- - sw-jira: JIRA, epics, stories, sprints
222
- - sw-ado: Azure DevOps, work items, pipelines
208
+ WHAT TO LOAD:
209
+ 1. EXPLICIT technologies - user says "React" load sw-frontend
210
+ 2. NECESSARILY IMPLIED - "dashboard" implies backend (dashboards need APIs to fetch data)
211
+ 3. PAYMENT FLOWS - checkout, billing, subscriptions always need sw-payments
223
212
 
224
- INCREMENT ACTIONS:
225
- - "new": feature work, multi-file changes ("Build X", "Add Y", "Create Z")
226
- - "small_fix": typos, config tweaks, minor changes
227
- - "none": questions, chat, unclear intent, already using /sw: commands
213
+ WHAT NOT TO LOAD:
214
+ 1. OPTIONAL/CHOICE - infrastructure is a CHOICE (user might use Vercel, Cloudflare, AWS)
215
+ 2. TESTING - unless user explicitly mentions TDD, tests, QA, or Playwright/Jest
216
+ 3. INTEGRATIONS - sw-github/sw-jira/sw-ado only when explicitly mentioned
217
+ 4. Questions/discussions - typically need ZERO plugins
228
218
 
229
- SKILL ROUTING (if plugins detected):
230
- - Map plugin to skill: sw-frontend→frontend-architect, sw-backend→database-optimizer, sw-testing→qa-engineer, sw-payments→payment-integration, etc.
231
- - One "primary" skill, others "secondary"
232
- - invokeWhen: "after_increment" for features, "immediate" for simple tasks
219
+ OUTPUT FORMAT (JSON only):
220
+ {"plugins":[],"confidence":0.9,"reasoning":"one-line explanation"}
233
221
 
234
- Examples:
235
- "Build React dashboard with Stripe" {"plugins":["sw-frontend","sw-payments"],"increment":{"action":"new","suggestedName":"react-stripe-dashboard"}}
236
- "How do I use hooks?" {"plugins":[],"increment":{"action":"none"}}`;
222
+ AVAILABLE PLUGINS:
223
+ - sw-frontend: Frontend (React, Vue, Angular, Next.js, UI, dashboards, components)
224
+ - sw-backend: Backend (APIs, databases, Node.js, Express, PostgreSQL, MongoDB)
225
+ - sw-payments: Payments (Stripe, PayPal, checkout, billing, subscriptions)
226
+ - sw-testing: Testing (Jest, Vitest, Playwright, TDD, E2E) - ONLY if explicit
227
+ - sw-infra: Infrastructure (Terraform, Docker, AWS, K8s) - ONLY if explicit
228
+ - sw-k8s: Kubernetes (only when K8s/Helm explicitly mentioned)
229
+ - sw-mobile: Mobile (React Native, iOS, Android) - ONLY if explicit
230
+ - sw-ml: ML/AI (PyTorch, TensorFlow) - ONLY if explicit
231
+ - sw-kafka: Kafka/streaming - ONLY if explicit
232
+ - sw-github: GitHub integration - ONLY if explicitly mentioned
233
+ - sw-jira: JIRA integration - ONLY if explicitly mentioned
234
+ - sw-ado: Azure DevOps - ONLY if explicitly mentioned
235
+
236
+ EXAMPLES:
237
+
238
+ "Build React dashboard with Stripe checkout"
239
+ → React → sw-frontend (explicit)
240
+ → Dashboard → sw-backend (dashboards need APIs to fetch/display data)
241
+ → Stripe checkout → sw-payments (explicit)
242
+ → Infrastructure? NO - user didn't specify, could be Vercel/Cloudflare/anything
243
+ {"plugins":["sw-frontend","sw-backend","sw-payments"],"confidence":0.95,"reasoning":"React+dashboard→frontend+backend, Stripe→payments. Infra not specified."}
244
+
245
+ "Create a REST API with PostgreSQL"
246
+ → API + PostgreSQL → sw-backend only
247
+ {"plugins":["sw-backend"],"confidence":0.95,"reasoning":"API+PostgreSQL→backend only."}
248
+
249
+ "Build e-commerce site with admin panel"
250
+ → Site → sw-frontend (explicit)
251
+ → Admin panel → sw-backend (admin panels need data management)
252
+ → E-commerce often has payments, but not explicit here - don't assume
253
+ {"plugins":["sw-frontend","sw-backend"],"confidence":0.9,"reasoning":"E-commerce site+admin→frontend+backend. Payments not mentioned."}
254
+
255
+ "Deploy my app to Kubernetes with Terraform"
256
+ → K8s → sw-k8s (explicit)
257
+ → Terraform → sw-infra (explicit)
258
+ {"plugins":["sw-k8s","sw-infra"],"confidence":0.95,"reasoning":"K8s+Terraform explicitly mentioned."}
259
+
260
+ "Fix the login bug"
261
+ {"plugins":[],"confidence":0.9,"reasoning":"No specific tech mentioned, generic bug fix."}
262
+
263
+ "How do I use React hooks?"
264
+ {"plugins":[],"confidence":0.95,"reasoning":"Question, no plugin needed."}`;
237
265
  }
238
266
  /**
239
267
  * Execute Claude CLI command safely
@@ -384,7 +412,8 @@ function createKeywordFallbackResult(userPrompt, startTime, error) {
384
412
  * @param timeout - Timeout in milliseconds (default: 30000)
385
413
  * @returns Detection result with plugins to install
386
414
  */
387
- export async function detectPluginsViaLLM(userPrompt, timeout = 30000) {
415
+ export async function detectPluginsViaLLM(userPrompt, timeout = 20000 // Reduced from 30s to allow time for keyword fallback + install
416
+ ) {
388
417
  const startTime = performance.now();
389
418
  // Check CLI availability first
390
419
  const cliStatus = isClaudeCliAvailable();
@@ -419,8 +448,9 @@ User prompt to analyze:
419
448
 
420
449
  Which plugins should be loaded?`;
421
450
  try {
422
- // Execute Claude CLI with Haiku for speed
423
- const result = executeClaudeCli(['-p', fullPrompt, '--model', 'haiku'], timeout);
451
+ // Execute Claude CLI with Opus for maximum accuracy (v1.0.156: Opus understands necessary implications)
452
+ // Use --output-format json for faster response and --setting-sources user to skip project context
453
+ const result = executeClaudeCli(['-p', fullPrompt, '--model', 'opus', '--output-format', 'json', '--setting-sources', 'user'], timeout);
424
454
  // Handle spawn errors - use keyword fallback (v1.0.153)
425
455
  if (result.error) {
426
456
  const errorMsg = result.error.message || String(result.error);
@@ -448,10 +478,23 @@ Which plugins should be loaded?`;
448
478
  return createKeywordFallbackResult(userPrompt, startTime, `Claude CLI exited with code ${result.status}: ${stderr || stdout}`);
449
479
  }
450
480
  // Parse the response
451
- const output = (result.stdout || '').trim();
481
+ let output = (result.stdout || '').trim();
452
482
  if (!output) {
453
483
  return createKeywordFallbackResult(userPrompt, startTime, 'Empty response from Claude CLI');
454
484
  }
485
+ // Handle --output-format json wrapper (v1.0.155)
486
+ // The response is wrapped in: {"type":"result","result":"...actual response..."}
487
+ try {
488
+ const wrapper = JSON.parse(output);
489
+ if (wrapper.type === 'result' && wrapper.result) {
490
+ output = wrapper.result;
491
+ logger.debug(`Extracted result from JSON wrapper, duration_ms: ${wrapper.duration_ms}`);
492
+ }
493
+ }
494
+ catch {
495
+ // Not a JSON wrapper, use raw output
496
+ logger.debug('Output is not JSON wrapper, using raw output');
497
+ }
455
498
  // Try to extract JSON from the response (handle markdown code blocks)
456
499
  let jsonStr = output;
457
500
  // Remove markdown code blocks if present
@@ -477,12 +520,14 @@ Which plugins should be loaded?`;
477
520
  }
478
521
  // Validate and filter plugins
479
522
  const rawPlugins = parsed.plugins || [];
480
- const validPlugins = rawPlugins.filter((p) => typeof p === 'string' && SPECWEAVE_PLUGINS.includes(p));
523
+ let validPlugins = rawPlugins.filter((p) => typeof p === 'string' && SPECWEAVE_PLUGINS.includes(p));
481
524
  // Log if we filtered out invalid plugins
482
525
  if (validPlugins.length !== rawPlugins.length) {
483
526
  const invalid = rawPlugins.filter((p) => !SPECWEAVE_PLUGINS.includes(p));
484
527
  logger.debug(`Filtered out invalid plugins: ${invalid.join(', ')}`);
485
528
  }
529
+ // v1.0.156: Trust Opus model - no arbitrary limits, no keyword fallback
530
+ // Opus understands NECESSARY implications (dashboard → backend) vs OPTIONAL (→ infra)
486
531
  // Parse increment recommendation (v1.0.141+)
487
532
  let incrementRecommendation;
488
533
  if (parsed.increment) {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-plugin-detector.js","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChE,gGAAgG;AAChG,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uDAAuD;IACvD,IAAI;IAEJ,sBAAsB;IACtB,aAAa,EAAO,8CAA8C;IAClE,YAAY,EAAQ,4CAA4C;IAChE,YAAY,EAAQ,4CAA4C;IAChE,WAAW,EAAS,mCAAmC;IAEvD,0BAA0B;IAC1B,UAAU,EAAU,4CAA4C;IAChE,QAAQ,EAAY,4CAA4C;IAEhE,6BAA6B;IAC7B,WAAW,EAAS,8BAA8B;IAClD,SAAS,EAAW,mBAAmB;IACvC,QAAQ,EAAY,eAAe;IAEnC,sBAAsB;IACtB,aAAa,EAAO,2BAA2B;IAC/C,OAAO,EAAa,wCAAwC;IAC5D,UAAU,EAAU,gCAAgC;IACpD,cAAc,EAAM,2CAA2C;IAE/D,6DAA6D;IAC7D,kBAAkB,EAAE,yBAAyB;IAC7C,QAAQ,EAAY,0BAA0B;IAC9C,UAAU,EAAU,2BAA2B;IAC/C,SAAS,EAAY,0BAA0B;IAC/C,SAAS,EAAW,yBAAyB;IAC7C,aAAa,EAAO,yCAAyC;IAC7D,YAAY,EAAQ,4CAA4C;IAChE,OAAO,EAAa,gBAAgB;IACpC,WAAW,EAAS,gBAAgB;IACpC,eAAe,EAAK,qBAAqB;CACjC,CAAC;AAoJX,2EAA2E;AAC3E,IAAI,eAAe,GAA8C,IAAI,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,WAAW;IACX,IAAI,6GAA6G,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/H,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;IACV,IAAI,mIAAmI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrJ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;IACV,IAAI,4FAA4F,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9G,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;IACX,IAAI,0EAA0E,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,iBAAiB;IACjB,IAAI,gGAAgG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClH,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa;IACb,IAAI,0EAA0E,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,SAAS;IACT,IAAI,yEAAyE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;IACL,IAAI,yFAAyF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ;IACR,IAAI,uDAAuD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,gDAAgD;IAChD,IAAI,uDAAuD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;IACP,IAAI,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;IACf,IAAI,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,yBAAyB;IACzB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB;IAClC,iCAAiC;IACjC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,IAAI,EAAE,eAAe,CAAC,WAAW;YACjC,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;SAC5E,CAAC;QAEF,gFAAgF;QAChF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,qEAAqE,eAAe,CAAC,KAAK,kBAAkB,eAAe,CAAC,YAAY,cAAc,eAAe,CAAC,QAAQ,cAAc,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvO,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB;IACnB,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;IAC1C,eAAe,GAAG,eAAe,CAAC;IAElC,0CAA0C;IAC1C,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG;YAChB,SAAS,eAAe,CAAC,KAAK,EAAE;YAChC,gBAAgB,eAAe,CAAC,YAAY,EAAE;YAC9C,iBAAiB,eAAe,CAAC,aAAa,EAAE;YAChD,sBAAsB,eAAe,CAAC,kBAAkB,EAAE;YAC1D,YAAY,eAAe,CAAC,QAAQ,EAAE;YACtC,YAAY,eAAe,CAAC,QAAQ,EAAE;YACtC,mBAAmB,eAAe,CAAC,eAAe,EAAE;YACpD,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9F,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;SAC/F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,oDAAoD,SAAS,EAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,wDAAwD,eAAe,CAAC,OAAO,UAAU,eAAe,CAAC,WAAW,YAAY,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC;IAClL,CAAC;IAED,+BAA+B;IAC/B,OAAO;QACL,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,IAAI,EAAE,eAAe,CAAC,WAAW;QACjC,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA+B4D,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,gBAAgB,CACvB,IAAc,EACd,UAAkB,KAAK;IAEvB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,kCAAkC;IAClC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,0DAA0D;IAC1D,EAAE;IACF,sDAAsD;IACtD,6EAA6E;IAC7E,EAAE;IACF,sEAAsE;IACtE,+EAA+E;IAC/E,yDAAyD;IACzD,EAAE;IACF,YAAY;IACZ,mFAAmF;IACnF,kFAAkF;IAClF,+DAA+D;IAE/D,iEAAiE;IACjE,IAAI,eAAe,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,2CAA2C,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QACvF,oEAAoE;QACpE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE;YAClD,QAAQ,EAAE,MAAM;YAChB,OAAO;YACP,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,aAAa;YACrC,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE;gBACH,GAAG,QAAQ;gBACX,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,aAAa;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,8CAA8C;IAC9C,oEAAoE;IACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC/B,QAAQ,EAAE,MAAM;QAChB,OAAO;QACP,SAAS,EAAE,IAAI,GAAG,IAAI;QACtB,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE;YACH,GAAG,QAAQ;YACX,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,aAAa;SACtB;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CACjC,IAAc,EACd,OAAe;IAEf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAErC,uDAAuD;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,iDAAiD;QACjD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAElD,oEAAoE;IACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAChD,QAAQ,EAAE,MAAM;QAChB,OAAO;QACP,SAAS,EAAE,IAAI,GAAG,IAAI;QACtB,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE;YACH,GAAG,QAAQ;YACX,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,aAAa;YACrB,gCAAgC,EAAE,GAAG;SACtC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,SAAiB,EACjB,KAAc;IAEd,MAAM,cAAc,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,sCAAsC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC;QAClH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,GAAG,EAAE,+CAA+C;YAChE,SAAS,EAAE,8CAA8C,KAAK,IAAI,SAAS,GAAG;YAC9E,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,CAAC;QACb,KAAK;QACL,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAAkB,KAAK;IAEvB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAEnF,4CAA4C;QAC5C,MAAM,cAAc,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,sCAAsC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG,EAAE,+CAA+C;gBAChE,SAAS,EAAE,wDAAwD;gBACnE,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aAC1C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;SAC1C,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,YAAY;;;GAGjC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;gCAEF,CAAC;IAE/B,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjF,wDAAwD;QACxD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9D,gBAAgB;YAChB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,6BAA6B,OAAO,IAAI,CAAC,CAAC;YACtG,CAAC;YAED,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,yDAAyD;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAEnC,4BAA4B;YAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,oDAAoD,CAAC,CAAC;YAClH,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,uCAAuC,CAAC,CAAC;YACrG,CAAC;YAED,sCAAsC;YACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,+BAA+B,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACjI,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;QAC9F,CAAC;QAED,sEAAsE;QACtE,IAAI,OAAO,GAAG,MAAM,CAAC;QAErB,yCAAyC;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,mDAAmD;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,yCAAyC,CAAC,CAAC;QACvG,CAAC;QAGD,aAAa;QACb,IAAI,MA2BH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;YAChD,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAC7F,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CACjE,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAoB,CAAC,CAC1E,CAAC;QAEF,yCAAyC;QACzC,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAoB,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,6CAA6C;QAC7C,IAAI,uBAA4D,CAAC;QACjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,YAAY,GAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAyB,CAAC;YAE1D,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,uBAAuB,GAAG;oBACxB,MAAM;oBACN,UAAU,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;oBAC/F,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa;oBAC7C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;oBAC/C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,uBAAuB;iBACjE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,iBAAiB,uBAAuB,CAAC,UAAU,GAAG,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,YAAsC,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAwB,CAAC,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;YAC9H,MAAM,eAAe,GAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAElE,6BAA6B;YAC7B,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1C,2BAA2B;gBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtF,SAAS;gBACX,CAAC;gBAED,uBAAuB;gBACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAyB,CAAC,EAAE,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpE,SAAS;gBACX,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,UAA+B,CAAC;oBAC7E,CAAC,CAAE,KAAK,CAAC,UAAgC;oBACzC,CAAC,CAAC,iBAAiB,CAAC;gBAEtB,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAyB,CAAC;oBACxE,CAAC,CAAE,KAAK,CAAC,QAA0B;oBACnC,CAAC,CAAC,WAAW,CAAC;gBAEhB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ;oBACR,UAAU;oBACV,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,oBAAoB;iBAC7C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,GAAG;oBACb,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE;wBACR,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,IAAI,KAAK;wBAClE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;qBAC9C;oBACD,UAAU,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;oBAC3F,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,uBAAuB;iBAC/D,CAAC;gBAEF,uBAAuB;gBACvB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;gBAC5E,MAAM,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,QAAQ,IAAI,MAAM,gBAAgB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7I,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;YAC3E,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;YACzC,SAAS,EAAE,uBAAuB;YAClC,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QAElD,mDAAmD;QACnD,OAAO,2BAA2B,CAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAAkB,KAAK;IAEvB,uBAAuB;IACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAA6B,CAAC,EAAE,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,mBAAmB,UAAU,EAAE;SACvC,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAE5E,sBAAsB;QACtB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,kBAAkB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;aAChD,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;QAErD,iCAAiC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;gBAClB,gBAAgB,EAAE,IAAI;aACvB,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QAED,QAAQ;QACR,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,MAAM,IAAI,MAAM,IAAI,aAAa,MAAM,CAAC,MAAM,EAAE;SACxD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,mBAAmB,KAAK,EAAE;SAClC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAiB;IAEjB,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,eAAe;QACf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,oBAAoB,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAI9D,gCAAgC;IAChC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAExD,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO;YACL,SAAS;YACT,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEpE,OAAO;QACL,SAAS;QACT,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAGhC;IACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAE5C,4CAA4C;IAC5C,MAAM,MAAM,GAAkD;QAC5D,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,wCAAwC;IACxC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,aAAa,GAAG;;0FAE6D,CAAC;QACvF,CAAC;aAAM,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,aAAa,GAAG,kEAAkE,CAAC;QAC5F,CAAC;QACD,2DAA2D;IAC7D,CAAC;SAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,2DAA2D;YAC3D,KAAK,CAAC,IAAI,CAAC,UAAU,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,aAAa,GAAG,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"llm-plugin-detector.js","sourceRoot":"","sources":["../../../../src/core/lazy-loading/llm-plugin-detector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.153",
3
+ "version": "1.0.155",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,8 +37,9 @@ WRAPPER_VERSION="1.0.153"
37
37
  script_name=$(basename "${1:-}" 2>/dev/null)
38
38
  case "$script_name" in
39
39
  user-prompt-submit.sh)
40
- # LLM-based plugin detection (~15s) + plugin installs (~4s) + buffer
41
- HOOK_TIMEOUT="${HOOK_TIMEOUT_USER_PROMPT:-30}"
40
+ # LLM detection can timeout (30s) + keyword fallback + plugin installs (~10s)
41
+ # Total worst case: 30s LLM timeout + 10s installs + 5s buffer = 45s
42
+ HOOK_TIMEOUT="${HOOK_TIMEOUT_USER_PROMPT:-45}"
42
43
  ;;
43
44
  session-start.sh)
44
45
  # Project detection may involve file scanning and optional LLM
@@ -88,6 +88,7 @@ if [[ -f "$CONFIG_PATH" ]]; then
88
88
  fi
89
89
  fi
90
90
 
91
+
91
92
  # ==============================================================================
92
93
  # KEYWORD-BASED PLUGIN DETECTION FALLBACK (v1.0.153)
93
94
  # ==============================================================================
@@ -232,7 +233,7 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
232
233
 
233
234
  # ONE LLM call for BOTH plugins and increment (using --file flag)
234
235
  if command -v timeout >/dev/null 2>&1; then
235
- DETECT_OUTPUT=$(timeout 30 specweave detect-intent --file "$PROMPT_TMP_FILE" 2>/dev/null)
236
+ DETECT_OUTPUT=$(timeout 20 specweave detect-intent --file "$PROMPT_TMP_FILE" 2>/dev/null)
236
237
  else
237
238
  DETECT_OUTPUT=$(specweave detect-intent --file "$PROMPT_TMP_FILE" 2>/dev/null)
238
239
  fi
@@ -286,7 +287,10 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
286
287
 
287
288
  # Build feedback message
288
289
  if [[ -n "$PLUGINS_INSTALLED" ]]; then
289
- AUTOLOAD_PLUGINS_MSG="🔌 **Loaded plugins**: ${PLUGINS_INSTALLED}\\n"
290
+ # v1.0.155: Simple warning - Claude Code limitation, skills not available until new session
291
+ AUTOLOAD_PLUGINS_MSG="🔌 **Plugins installed**: ${PLUGINS_INSTALLED}\\n"
292
+ AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}⚠️ **NOTE**: Skills/agents from these plugins won't be available until you start a NEW Claude Code session.\\n"
293
+ AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}Tell the user to restart Claude Code to use ${PLUGINS_INSTALLED} skills.\\n"
290
294
  elif [[ -n "$PLUGINS_ALREADY" ]]; then
291
295
  AUTOLOAD_PLUGINS_MSG="🔌 **Using plugins**: ${PLUGINS_ALREADY}\\n"
292
296
  fi
@@ -299,6 +303,11 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
299
303
  fi
300
304
  fi
301
305
 
306
+ # ==================================================================
307
+ # EXTRACT ROUTING INFO EARLY (v1.0.155 - needed for agent directives)
308
+ # ==================================================================
309
+ ROUTING_SKILLS_COUNT=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills | length // 0' 2>/dev/null)
310
+
302
311
  # ==================================================================
303
312
  # INCREMENT SUGGESTION (from LLM response)
304
313
  # ==================================================================
@@ -317,6 +326,32 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
317
326
  [[ -n "$AUTOLOAD_PLUGINS_MSG" ]] && AUTOLOAD_PREFIX="${AUTOLOAD_PLUGINS_MSG}
318
327
 
319
328
  "
329
+ # Build agent spawn directive if routing skills available (v1.0.155)
330
+ AGENT_DIRECTIVE=""
331
+ if [[ "$ROUTING_SKILLS_COUNT" -gt 0 ]]; then
332
+ PRIMARY_PLUGIN=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .plugin // empty' 2>/dev/null | head -1)
333
+ PRIMARY_SKILL_NAME=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .name // empty' 2>/dev/null | head -1)
334
+ PRIMARY_REASON=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .reason // empty' 2>/dev/null | head -1)
335
+ if [[ -n "$PRIMARY_PLUGIN" && -n "$PRIMARY_SKILL_NAME" ]]; then
336
+ AGENT_TYPE="${PRIMARY_PLUGIN}:${PRIMARY_SKILL_NAME}:${PRIMARY_SKILL_NAME}"
337
+ AGENT_DIRECTIVE="
338
+
339
+ ---
340
+
341
+ ### 🚀 Then SPAWN Specialized Agent
342
+
343
+ **After creating increment, use Task tool:**
344
+ \\\`\\\`\\\`typescript
345
+ Task({
346
+ subagent_type: \\\"${AGENT_TYPE}\\\",
347
+ prompt: \\\"Implement the feature...\\\",
348
+ description: \\\"${PRIMARY_REASON:-Implementation}\\\"
349
+ })
350
+ \\\`\\\`\\\`
351
+ *Specialized agents produce better code than direct implementation.*"
352
+ fi
353
+ fi
354
+
320
355
  case "$INC_ACTION" in
321
356
  new)
322
357
  CMD="/sw:increment"
@@ -328,7 +363,7 @@ Consider creating an increment first:
328
363
  $CMD
329
364
  \`\`\`
330
365
 
331
- *Reason: $INC_REASON*
366
+ *Reason: $INC_REASON*${AGENT_DIRECTIVE}
332
367
 
333
368
  ---
334
369
 
@@ -470,31 +505,51 @@ Consider reopening the existing increment:
470
505
  STEP_NUM=$((STEP_NUM + 1))
471
506
  fi
472
507
 
473
- # Step: Activate skills (if any)
508
+ # Step: SPAWN AGENTS (v1.0.155 - Task tool directive)
474
509
  if [[ -n "$PRIMARY_SKILL" ]]; then
475
- BRAIN_MSG+="### Step ${STEP_NUM}: Activate Skills\\n"
476
- BRAIN_MSG+="**Primary**: \`${PRIMARY_SKILL}\`"
477
- [[ -n "$PRIMARY_REASON" ]] && BRAIN_MSG+=" - *${PRIMARY_REASON}*"
478
- BRAIN_MSG+="\\n"
510
+ BRAIN_MSG+="### Step ${STEP_NUM}: 🚀 SPAWN SPECIALIZED AGENTS\\n\\n"
511
+
512
+ # Build agent subagent_type from skill info
513
+ # Format: plugin:skill:skill (e.g., sw-frontend:frontend-architect:frontend-architect)
514
+ PRIMARY_PLUGIN=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .plugin // empty' 2>/dev/null | head -1)
515
+ PRIMARY_SKILL_NAME=$(echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "primary") | .name // empty' 2>/dev/null | head -1)
516
+
517
+ if [[ -n "$PRIMARY_PLUGIN" && -n "$PRIMARY_SKILL_NAME" ]]; then
518
+ AGENT_TYPE="${PRIMARY_PLUGIN}:${PRIMARY_SKILL_NAME}:${PRIMARY_SKILL_NAME}"
519
+
520
+ BRAIN_MSG+="**⚠️ MANDATORY: Use Task tool to spawn agent for implementation**\\n\\n"
521
+ BRAIN_MSG+="\\\`\\\`\\\`typescript\\n"
522
+ BRAIN_MSG+="Task({\\n"
523
+ BRAIN_MSG+=" subagent_type: \\\"${AGENT_TYPE}\\\",\\n"
524
+ BRAIN_MSG+=" prompt: \\\"Implement [describe task]...\\\",\\n"
525
+ BRAIN_MSG+=" description: \\\"[short description]\\\"\\n"
526
+ BRAIN_MSG+="})\\n"
527
+ BRAIN_MSG+="\\\`\\\`\\\`\\n\\n"
528
+
529
+ BRAIN_MSG+="**Why**: Specialized agents have deep domain knowledge and produce better code than direct implementation.\\n\\n"
530
+ [[ -n "$PRIMARY_REASON" ]] && BRAIN_MSG+="**Agent expertise**: *${PRIMARY_REASON}*\\n\\n"
531
+ fi
479
532
 
533
+ # Add secondary agents if present
480
534
  if [[ -n "$SECONDARY_SKILLS" ]]; then
481
- BRAIN_MSG+="**Supporting**: ${SECONDARY_SKILLS}\\n"
535
+ BRAIN_MSG+="**Additional agents available**:\\n"
536
+ # Parse each secondary skill
537
+ echo "$JSON_OUTPUT" | jq -r '.routing.skills[] | select(.priority == "secondary") | "\(.plugin):\(.name):\(.name)"' 2>/dev/null | while read -r sec_agent; do
538
+ [[ -n "$sec_agent" ]] && BRAIN_MSG+="- \`${sec_agent}\`\\n"
539
+ done
540
+ BRAIN_MSG+="\\n"
482
541
  fi
483
542
 
484
- BRAIN_MSG+="\\n**Invoke via**:\\n"
485
- BRAIN_MSG+="- Skill tool: \\\`/${PRIMARY_SKILL}\\\`\\n"
486
- BRAIN_MSG+="- Or mention keywords in your response\\n\\n"
487
-
488
543
  # Add invoke timing hint
489
544
  case "$PRIMARY_INVOKE" in
490
545
  immediate)
491
- BRAIN_MSG+="*Invoke NOW - simple task, no increment needed*\\n\\n"
546
+ BRAIN_MSG+="**Timing**: Spawn agent NOW - task is self-contained\\n\\n"
492
547
  ;;
493
548
  after_increment)
494
- BRAIN_MSG+="*Invoke AFTER creating increment*\\n\\n"
549
+ BRAIN_MSG+="**Timing**: Spawn agent AFTER creating increment\\n\\n"
495
550
  ;;
496
551
  after_planning)
497
- BRAIN_MSG+="*Invoke AFTER plan approval - complex task*\\n\\n"
552
+ BRAIN_MSG+="**Timing**: Enter plan mode first, THEN spawn agent\\n\\n"
498
553
  ;;
499
554
  esac
500
555
 
@@ -566,7 +621,10 @@ Consider reopening the existing increment:
566
621
 
567
622
  # Build feedback message (keyword fallback)
568
623
  if [[ -n "$PLUGINS_INSTALLED" ]]; then
569
- AUTOLOAD_PLUGINS_MSG="🔌 **Loaded plugins** (keyword match): ${PLUGINS_INSTALLED}\\n"
624
+ # v1.0.155: Simple warning - Claude Code limitation, skills not available until new session
625
+ AUTOLOAD_PLUGINS_MSG="🔌 **Plugins installed** (keyword match): ${PLUGINS_INSTALLED}\\n"
626
+ AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}⚠️ **NOTE**: Skills/agents from these plugins won't be available until you start a NEW Claude Code session.\\n"
627
+ AUTOLOAD_PLUGINS_MSG="${AUTOLOAD_PLUGINS_MSG}Tell the user to restart Claude Code to use ${PLUGINS_INSTALLED} skills.\\n"
570
628
  elif [[ -n "$PLUGINS_ALREADY" ]]; then
571
629
  AUTOLOAD_PLUGINS_MSG="🔌 **Using plugins** (keyword match): ${PLUGINS_ALREADY}\\n"
572
630
  fi
@@ -685,6 +743,7 @@ fi
685
743
  # CRITICAL: Exit immediately for non-SpecWeave prompts
686
744
  # This covers 90%+ of prompts with <5ms overhead
687
745
  # v1.0.144: Still show plugin autoload message if plugins are being loaded
746
+ # v1.0.155: AUTOLOAD_PLUGINS_MSG now includes new plugin warnings from helper function
688
747
  if ! echo "$PROMPT" | grep -qE "(specweave|/sw:|increment|add|create|implement|build|develop)"; then
689
748
  if [[ -n "$AUTOLOAD_PLUGINS_MSG" ]]; then
690
749
  # Show plugin loading feedback even for non-SpecWeave prompts