@winspan/claude-forge 8.28.2 → 8.33.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.
Files changed (248) hide show
  1. package/README.md +68 -215
  2. package/dist/capability/execution-manager.d.ts +96 -0
  3. package/dist/capability/execution-manager.d.ts.map +1 -0
  4. package/dist/capability/execution-manager.js +260 -0
  5. package/dist/capability/execution-manager.js.map +1 -0
  6. package/dist/capability/executor/background-executor.d.ts +58 -0
  7. package/dist/capability/executor/background-executor.d.ts.map +1 -0
  8. package/dist/capability/executor/background-executor.js +322 -0
  9. package/dist/capability/executor/background-executor.js.map +1 -0
  10. package/dist/capability/executor/foreground-executor.d.ts +26 -0
  11. package/dist/capability/executor/foreground-executor.d.ts.map +1 -0
  12. package/dist/capability/executor/foreground-executor.js +82 -0
  13. package/dist/capability/executor/foreground-executor.js.map +1 -0
  14. package/dist/capability/executor/orchestrator.d.ts +38 -0
  15. package/dist/capability/executor/orchestrator.d.ts.map +1 -0
  16. package/dist/capability/executor/orchestrator.js +158 -0
  17. package/dist/capability/executor/orchestrator.js.map +1 -0
  18. package/dist/capability/executor/stream-parser.d.ts +73 -0
  19. package/dist/capability/executor/stream-parser.d.ts.map +1 -0
  20. package/dist/capability/executor/stream-parser.js +56 -0
  21. package/dist/capability/executor/stream-parser.js.map +1 -0
  22. package/dist/capability/executor/types.d.ts +44 -0
  23. package/dist/capability/executor/types.d.ts.map +1 -0
  24. package/dist/capability/executor/types.js +9 -0
  25. package/dist/capability/executor/types.js.map +1 -0
  26. package/dist/capability/executor/worker-auth-probe.d.ts +30 -0
  27. package/dist/capability/executor/worker-auth-probe.d.ts.map +1 -0
  28. package/dist/capability/executor/worker-auth-probe.js +108 -0
  29. package/dist/capability/executor/worker-auth-probe.js.map +1 -0
  30. package/dist/capability/methodologies/bmad.yaml +17 -5
  31. package/dist/capability/methodologies/code-quality-audit.yaml +26 -0
  32. package/dist/capability/methodologies/harness-engineering.yaml +12 -6
  33. package/dist/capability/methodologies/test-coverage-scan.yaml +26 -0
  34. package/dist/capability/methodology-planner.d.ts +17 -1
  35. package/dist/capability/methodology-planner.d.ts.map +1 -1
  36. package/dist/capability/methodology-planner.js +125 -0
  37. package/dist/capability/methodology-planner.js.map +1 -1
  38. package/dist/capability/methodology-registry.d.ts.map +1 -1
  39. package/dist/capability/methodology-registry.js +21 -5
  40. package/dist/capability/methodology-registry.js.map +1 -1
  41. package/dist/capability/types.d.ts +12 -1
  42. package/dist/capability/types.d.ts.map +1 -1
  43. package/dist/core/ai/provider.d.ts +17 -9
  44. package/dist/core/ai/provider.d.ts.map +1 -1
  45. package/dist/core/ai/provider.js +130 -23
  46. package/dist/core/ai/provider.js.map +1 -1
  47. package/dist/core/ai/types.d.ts +26 -5
  48. package/dist/core/ai/types.d.ts.map +1 -1
  49. package/dist/core/storage/rows.d.ts +153 -0
  50. package/dist/core/storage/rows.d.ts.map +1 -0
  51. package/dist/core/storage/rows.js +14 -0
  52. package/dist/core/storage/rows.js.map +1 -0
  53. package/dist/core/storage/schema.sql +26 -2
  54. package/dist/core/storage/sqlite.d.ts +112 -6
  55. package/dist/core/storage/sqlite.d.ts.map +1 -1
  56. package/dist/core/storage/sqlite.js +480 -22
  57. package/dist/core/storage/sqlite.js.map +1 -1
  58. package/dist/core/utils/token-tracker.d.ts +40 -0
  59. package/dist/core/utils/token-tracker.d.ts.map +1 -0
  60. package/dist/core/utils/token-tracker.js +70 -0
  61. package/dist/core/utils/token-tracker.js.map +1 -0
  62. package/dist/daemon/handlers/methodology-formatter.d.ts +7 -0
  63. package/dist/daemon/handlers/methodology-formatter.d.ts.map +1 -1
  64. package/dist/daemon/handlers/methodology-formatter.js +46 -0
  65. package/dist/daemon/handlers/methodology-formatter.js.map +1 -1
  66. package/dist/daemon/handlers/post-tool-use.d.ts +1 -0
  67. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  68. package/dist/daemon/handlers/post-tool-use.js +7 -0
  69. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  70. package/dist/daemon/handlers/stop.d.ts +17 -1
  71. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  72. package/dist/daemon/handlers/stop.js +97 -1
  73. package/dist/daemon/handlers/stop.js.map +1 -1
  74. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  75. package/dist/daemon/handlers/user-prompt.js +97 -5
  76. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  77. package/dist/daemon/idle-detector.d.ts +35 -0
  78. package/dist/daemon/idle-detector.d.ts.map +1 -0
  79. package/dist/daemon/idle-detector.js +56 -0
  80. package/dist/daemon/idle-detector.js.map +1 -0
  81. package/dist/daemon/idle-trigger.d.ts +53 -0
  82. package/dist/daemon/idle-trigger.d.ts.map +1 -0
  83. package/dist/daemon/idle-trigger.js +153 -0
  84. package/dist/daemon/idle-trigger.js.map +1 -0
  85. package/dist/daemon/index.d.ts.map +1 -1
  86. package/dist/daemon/index.js +49 -2
  87. package/dist/daemon/index.js.map +1 -1
  88. package/dist/daemon/methodology-pending-queue.d.ts +33 -0
  89. package/dist/daemon/methodology-pending-queue.d.ts.map +1 -0
  90. package/dist/daemon/methodology-pending-queue.js +120 -0
  91. package/dist/daemon/methodology-pending-queue.js.map +1 -0
  92. package/dist/daemon/routing-observer.d.ts +2 -1
  93. package/dist/daemon/routing-observer.d.ts.map +1 -1
  94. package/dist/daemon/routing-observer.js +117 -39
  95. package/dist/daemon/routing-observer.js.map +1 -1
  96. package/dist/engine/agent-router.d.ts +6 -0
  97. package/dist/engine/agent-router.d.ts.map +1 -1
  98. package/dist/engine/agent-router.js +13 -1
  99. package/dist/engine/agent-router.js.map +1 -1
  100. package/dist/engine/conventions/routing.yaml +15 -0
  101. package/dist/engine/dsl/compiler.d.ts.map +1 -1
  102. package/dist/engine/dsl/compiler.js +85 -3
  103. package/dist/engine/dsl/compiler.js.map +1 -1
  104. package/dist/engine/recommender.d.ts.map +1 -1
  105. package/dist/engine/recommender.js +10 -1
  106. package/dist/engine/recommender.js.map +1 -1
  107. package/dist/intelligence/classifier.d.ts +6 -0
  108. package/dist/intelligence/classifier.d.ts.map +1 -1
  109. package/dist/intelligence/classifier.js +57 -0
  110. package/dist/intelligence/classifier.js.map +1 -1
  111. package/dist/skills/registry.d.ts +6 -0
  112. package/dist/skills/registry.d.ts.map +1 -1
  113. package/dist/skills/registry.js +49 -14
  114. package/dist/skills/registry.js.map +1 -1
  115. package/dist/skills/semantic-matcher.d.ts +1 -0
  116. package/dist/skills/semantic-matcher.d.ts.map +1 -1
  117. package/dist/skills/semantic-matcher.js +6 -1
  118. package/dist/skills/semantic-matcher.js.map +1 -1
  119. package/dist/web/auth-middleware.d.ts +22 -0
  120. package/dist/web/auth-middleware.d.ts.map +1 -0
  121. package/dist/web/auth-middleware.js +51 -0
  122. package/dist/web/auth-middleware.js.map +1 -0
  123. package/dist/web/routes/agents.d.ts +7 -0
  124. package/dist/web/routes/agents.d.ts.map +1 -0
  125. package/dist/web/routes/agents.js +192 -0
  126. package/dist/web/routes/agents.js.map +1 -0
  127. package/dist/web/routes/ai.d.ts +10 -0
  128. package/dist/web/routes/ai.d.ts.map +1 -0
  129. package/dist/web/routes/ai.js +197 -0
  130. package/dist/web/routes/ai.js.map +1 -0
  131. package/dist/web/routes/auth.d.ts +12 -0
  132. package/dist/web/routes/auth.d.ts.map +1 -0
  133. package/dist/web/routes/auth.js +20 -0
  134. package/dist/web/routes/auth.js.map +1 -0
  135. package/dist/web/routes/events.d.ts +11 -0
  136. package/dist/web/routes/events.d.ts.map +1 -0
  137. package/dist/web/routes/events.js +43 -0
  138. package/dist/web/routes/events.js.map +1 -0
  139. package/dist/web/routes/execution-trace.d.ts +13 -0
  140. package/dist/web/routes/execution-trace.d.ts.map +1 -0
  141. package/dist/web/routes/execution-trace.js +308 -0
  142. package/dist/web/routes/execution-trace.js.map +1 -0
  143. package/dist/web/routes/experiments.d.ts +15 -0
  144. package/dist/web/routes/experiments.d.ts.map +1 -0
  145. package/dist/web/routes/experiments.js +187 -0
  146. package/dist/web/routes/experiments.js.map +1 -0
  147. package/dist/web/routes/methodology.d.ts +12 -0
  148. package/dist/web/routes/methodology.d.ts.map +1 -0
  149. package/dist/web/routes/methodology.js +228 -0
  150. package/dist/web/routes/methodology.js.map +1 -0
  151. package/dist/web/routes/patch.d.ts +7 -0
  152. package/dist/web/routes/patch.d.ts.map +1 -0
  153. package/dist/web/routes/patch.js +106 -0
  154. package/dist/web/routes/patch.js.map +1 -0
  155. package/dist/web/routes/routing.d.ts +17 -0
  156. package/dist/web/routes/routing.d.ts.map +1 -0
  157. package/dist/web/routes/routing.js +582 -0
  158. package/dist/web/routes/routing.js.map +1 -0
  159. package/dist/web/routes/rules.d.ts +7 -0
  160. package/dist/web/routes/rules.d.ts.map +1 -0
  161. package/dist/web/routes/rules.js +105 -0
  162. package/dist/web/routes/rules.js.map +1 -0
  163. package/dist/web/routes/sessions.d.ts +10 -0
  164. package/dist/web/routes/sessions.d.ts.map +1 -0
  165. package/dist/web/routes/sessions.js +234 -0
  166. package/dist/web/routes/sessions.js.map +1 -0
  167. package/dist/web/routes/skills.d.ts +10 -0
  168. package/dist/web/routes/skills.d.ts.map +1 -0
  169. package/dist/web/routes/skills.js +272 -0
  170. package/dist/web/routes/skills.js.map +1 -0
  171. package/dist/web/routes/static.d.ts +19 -0
  172. package/dist/web/routes/static.d.ts.map +1 -0
  173. package/dist/web/routes/static.js +61 -0
  174. package/dist/web/routes/static.js.map +1 -0
  175. package/dist/web/routes/status.d.ts +7 -0
  176. package/dist/web/routes/status.d.ts.map +1 -0
  177. package/dist/web/routes/status.js +28 -0
  178. package/dist/web/routes/status.js.map +1 -0
  179. package/dist/web/routes/token-usage.d.ts +7 -0
  180. package/dist/web/routes/token-usage.d.ts.map +1 -0
  181. package/dist/web/routes/token-usage.js +33 -0
  182. package/dist/web/routes/token-usage.js.map +1 -0
  183. package/dist/web/routes/types.d.ts +40 -0
  184. package/dist/web/routes/types.d.ts.map +1 -0
  185. package/dist/web/routes/types.js +52 -0
  186. package/dist/web/routes/types.js.map +1 -0
  187. package/dist/web/server.d.ts +13 -4
  188. package/dist/web/server.d.ts.map +1 -1
  189. package/dist/web/server.js +60 -2210
  190. package/dist/web/server.js.map +1 -1
  191. package/dist/web/ssrf-guard.d.ts +35 -0
  192. package/dist/web/ssrf-guard.d.ts.map +1 -0
  193. package/dist/web/ssrf-guard.js +93 -0
  194. package/dist/web/ssrf-guard.js.map +1 -0
  195. package/dist/web/static/assets/AIConfig-D-vrYoJ3.js +2 -0
  196. package/dist/web/static/assets/AIConfig-D-vrYoJ3.js.map +1 -0
  197. package/dist/web/static/assets/Agents-DAGWYsJj.js +2 -0
  198. package/dist/web/static/assets/Agents-DAGWYsJj.js.map +1 -0
  199. package/dist/web/static/assets/CodeBlock--H53gk46.js +2 -0
  200. package/dist/web/static/assets/CodeBlock--H53gk46.js.map +1 -0
  201. package/dist/web/static/assets/Dashboard-qUCxXFSI.js +2 -0
  202. package/dist/web/static/assets/Dashboard-qUCxXFSI.js.map +1 -0
  203. package/dist/web/static/assets/Drawer-DeKukfwJ.js +2 -0
  204. package/dist/web/static/assets/Drawer-DeKukfwJ.js.map +1 -0
  205. package/dist/web/static/assets/Events-BoQ8Fo5k.js +2 -0
  206. package/dist/web/static/assets/Events-BoQ8Fo5k.js.map +1 -0
  207. package/dist/web/static/assets/ExecutionTrace-sFZ_vHNf.js +2 -0
  208. package/dist/web/static/assets/ExecutionTrace-sFZ_vHNf.js.map +1 -0
  209. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js +2 -0
  210. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js.map +1 -0
  211. package/dist/web/static/assets/Methodologies-C0-Keokj.js +5 -0
  212. package/dist/web/static/assets/Methodologies-C0-Keokj.js.map +1 -0
  213. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js +2 -0
  214. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js.map +1 -0
  215. package/dist/web/static/assets/Routing-CFmM7JuB.js +2 -0
  216. package/dist/web/static/assets/Routing-CFmM7JuB.js.map +1 -0
  217. package/dist/web/static/assets/SessionDetail-DzTue2xK.js +2 -0
  218. package/dist/web/static/assets/SessionDetail-DzTue2xK.js.map +1 -0
  219. package/dist/web/static/assets/Sessions-Bjf-Mvwb.js +2 -0
  220. package/dist/web/static/assets/Sessions-Bjf-Mvwb.js.map +1 -0
  221. package/dist/web/static/assets/Skills-CrLshkrJ.js +2 -0
  222. package/dist/web/static/assets/Skills-CrLshkrJ.js.map +1 -0
  223. package/dist/web/static/assets/charts-CLrM0_uM.js +37 -0
  224. package/dist/web/static/assets/charts-CLrM0_uM.js.map +1 -0
  225. package/dist/web/static/assets/date-fns-CZ_bHujz.js +2 -0
  226. package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +1 -0
  227. package/dist/web/static/assets/export-CEzDNM66.js +4 -0
  228. package/dist/web/static/assets/export-CEzDNM66.js.map +1 -0
  229. package/dist/web/static/assets/index-D23sAOAt.js +3 -0
  230. package/dist/web/static/assets/index-D23sAOAt.js.map +1 -0
  231. package/dist/web/static/assets/index-Drpf7sLl.css +1 -0
  232. package/dist/web/static/assets/lucide-DjB4fWNj.js +227 -0
  233. package/dist/web/static/assets/lucide-DjB4fWNj.js.map +1 -0
  234. package/dist/web/static/assets/query-C99w429o.js +2 -0
  235. package/dist/web/static/assets/query-C99w429o.js.map +1 -0
  236. package/dist/web/static/assets/react-router-I-HqunH7.js +20 -0
  237. package/dist/web/static/assets/react-router-I-HqunH7.js.map +1 -0
  238. package/dist/web/static/assets/react-vendor-CSp-GLFF.js +49 -0
  239. package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +1 -0
  240. package/dist/web/static/assets/syntax-highlighter-44FakypI.js +9 -0
  241. package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +1 -0
  242. package/dist/web/static/assets/vendor-CMMjVdZs.js +64 -0
  243. package/dist/web/static/assets/vendor-CMMjVdZs.js.map +1 -0
  244. package/dist/web/static/index.html +8 -2
  245. package/package.json +3 -2
  246. package/dist/web/static/assets/index-CtylfoaN.css +0 -1
  247. package/dist/web/static/assets/index-DnaQt27h.js +0 -388
  248. package/dist/web/static/assets/index-DnaQt27h.js.map +0 -1
@@ -475,6 +475,71 @@ class Parser {
475
475
  }
476
476
  }
477
477
  }
478
+ // -- Security: Forbidden Identifiers / Properties --
479
+ //
480
+ // The DSL compiles expressions into JS closures via `new Function`. Although
481
+ // the lexer/parser is custom and relatively controlled, the rendered `message`
482
+ // templates in rules go through the same compiler. A malicious YAML
483
+ // (`~/.claude-forge/routing.yaml` or convention files) could try to escape the
484
+ // sandbox through prototype chain / reflection tricks like
485
+ // `ctx.constructor.constructor('return process')()`.
486
+ //
487
+ // We enforce two layers of defense:
488
+ // 1. Compile-time codegen rejects known-dangerous identifiers and property names.
489
+ // 2. Runtime Proxy re-checks property access on the ctx tree (covers dynamic
490
+ // indices and any static holes).
491
+ const FORBIDDEN_IDENTIFIERS = new Set([
492
+ 'constructor',
493
+ '__proto__',
494
+ 'prototype',
495
+ '__defineGetter__',
496
+ '__defineSetter__',
497
+ '__lookupGetter__',
498
+ '__lookupSetter__',
499
+ ]);
500
+ const FORBIDDEN_ROOT_NAMES = new Set([
501
+ 'Function',
502
+ 'eval',
503
+ 'globalThis',
504
+ 'global',
505
+ 'process',
506
+ 'require',
507
+ 'import',
508
+ 'module',
509
+ 'Reflect',
510
+ 'Proxy',
511
+ ]);
512
+ function assertAllowedIdentifier(name) {
513
+ if (FORBIDDEN_ROOT_NAMES.has(name)) {
514
+ throw new CompileError(`Forbidden identifier '${name}' is not allowed in DSL expressions`, 0);
515
+ }
516
+ }
517
+ function assertAllowedProperty(name) {
518
+ if (FORBIDDEN_IDENTIFIERS.has(name)) {
519
+ throw new CompileError(`Forbidden property access '${name}' is not allowed in DSL expressions`, 0);
520
+ }
521
+ }
522
+ /**
523
+ * Runtime safe-index helper. Codegen emits `__safe(obj, key)` instead of
524
+ * `obj?.[key]` so that dynamic keys (which static analysis cannot see) are
525
+ * checked at access time.
526
+ *
527
+ * Static member access (`obj.prop`) is already guarded in codegen because the
528
+ * property name is a compile-time identifier. Only bracket indexing with a
529
+ * runtime-computed key can slip past, so this is the single runtime gate.
530
+ */
531
+ function safeIndex(obj, key) {
532
+ if (obj == null)
533
+ return undefined;
534
+ // The DSL runtime may wrap string values in a Proxy over a boxed String, so
535
+ // `typeof key === 'string'` can be false even when the logical value is a
536
+ // string. Coerce through String() so both raw and wrapped keys are checked.
537
+ const keyStr = String(key);
538
+ if (FORBIDDEN_IDENTIFIERS.has(keyStr)) {
539
+ throw new Error(`Forbidden property access '${keyStr}' is not allowed in DSL expressions`);
540
+ }
541
+ return obj[keyStr];
542
+ }
478
543
  // -- Code Generator --
479
544
  class CodeGenerator {
480
545
  locals = new Set();
@@ -524,9 +589,16 @@ class CodeGenerator {
524
589
  if (this.locals.has(node.name)) {
525
590
  return node.name;
526
591
  }
592
+ // Reject global/reflective identifiers at compile time so convention YAML
593
+ // cannot reach `Function`, `process`, `require`, etc.
594
+ assertAllowedIdentifier(node.name);
595
+ // Also block property-like names that would be dangerous as direct ctx props
596
+ assertAllowedProperty(node.name);
527
597
  return `ctx.${node.name}`;
528
598
  }
529
599
  visitMember(node) {
600
+ // Reject prototype-chain / reflection property names at compile time.
601
+ assertAllowedProperty(node.property);
530
602
  const obj = this.visit(node.object);
531
603
  return `${obj}?.${node.property}`;
532
604
  }
@@ -560,9 +632,16 @@ class CodeGenerator {
560
632
  return `(${left} ?? ${right})`;
561
633
  }
562
634
  visitIndex(node) {
635
+ // Static protection: if index is a literal string matching a forbidden
636
+ // property, reject at compile time.
637
+ if (node.index.type === 'Literal' && typeof node.index.value === 'string') {
638
+ assertAllowedProperty(node.index.value);
639
+ }
563
640
  const obj = this.visit(node.object);
564
641
  const index = this.visit(node.index);
565
- return `${obj}?.[${index}]`;
642
+ // Runtime protection: dynamic (non-literal) indices funnel through
643
+ // __safe() so a key like `vars.k === "constructor"` still throws.
644
+ return `__safe(${obj}, ${index})`;
566
645
  }
567
646
  }
568
647
  // -- Compiler --
@@ -575,8 +654,11 @@ export class ExpressionCompiler {
575
654
  const ast = parser.parse();
576
655
  const codegen = new CodeGenerator();
577
656
  const code = codegen.generate(ast);
578
- const rawFn = new Function('ctx', `return ${code};`);
579
- return (ctx) => rawFn(enhanceContext(ctx));
657
+ const rawFn = new Function('ctx', '__safe', `return ${code};`);
658
+ return (ctx) => {
659
+ const enhanced = enhanceContext(ctx);
660
+ return rawFn(enhanced, safeIndex);
661
+ };
580
662
  }
581
663
  catch (error) {
582
664
  if (error instanceof CompileError) {
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engine/dsl/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engine/dsl/compiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommender.d.ts","sourceRoot":"","sources":["../../src/engine/recommender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAS;gBAGhC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,kBAAuB;IAU/B,OAAO,IAAI,cAAc,EAAE;CA+F5B"}
1
+ {"version":3,"file":"recommender.d.ts","sourceRoot":"","sources":["../../src/engine/recommender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAS;gBAGhC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,kBAAuB;IAU/B,OAAO,IAAI,cAAc,EAAE;CAsG5B"}
@@ -98,7 +98,16 @@ export class Recommender {
98
98
  taskType: agg.taskType,
99
99
  complexity: agg.complexity ?? 'moderate',
100
100
  });
101
- agg.currentAgent = decision.action.type === 'route_to_agent' ? decision.action.name : null;
101
+ if (decision.action.type === 'route_to_agent') {
102
+ agg.currentAgent = decision.action.name;
103
+ }
104
+ else if (decision.action.type === 'route_to_agent_group') {
105
+ // For agent groups, use comma-separated list as currentAgent
106
+ agg.currentAgent = decision.action.agents.map(a => a.name).join(',');
107
+ }
108
+ else {
109
+ agg.currentAgent = null;
110
+ }
102
111
  }
103
112
  const recommendations = [];
104
113
  for (const agg of slots.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"recommender.js","sourceRoot":"","sources":["../../src/engine/recommender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommender.js","sourceRoot":"","sources":["../../src/engine/recommender.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ export interface IntentAnalysis {
24
24
  fallbackUsed?: boolean;
25
25
  /** AI classification latency in ms (undefined when fallback-only path). */
26
26
  classificationMs?: number;
27
+ /**
28
+ * Meta 控制类 prompt("继续"/"开启多个 agent"/列表前缀等),下游应跳过
29
+ * 路由和方法论匹配。避免 classifier 对这类指令类 prompt 的误分类触发
30
+ * 不必要的 agent 路由 / methodology plan,造成违抗数据 + 死循环。
31
+ */
32
+ isMetaPrompt?: boolean;
27
33
  }
28
34
  export interface IntentClassifierOptions {
29
35
  /** Override model for classification (e.g. use haiku while distill uses opus). */
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,SAAS,GACT,qBAAqB,GACrB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,GACf,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,WAAW,GACX,kBAAkB,GAClB,cAAc,GACd,OAAO,CAAC;AAEZ,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAQhC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAuDD,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAKf,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEf,EAAE,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAKtE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwC5E,OAAO,CAAC,gBAAgB;YA4BV,qBAAqB;YAYrB,UAAU;IAgCxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,SAAS,GACT,qBAAqB,GACrB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,GACf,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,WAAW,GACX,kBAAkB,GAClB,cAAc,GACd,OAAO,CAAC;AAEZ,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAQhC,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkGD,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAKf,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEf,EAAE,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAKtE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwD5E,OAAO,CAAC,gBAAgB;YA4BV,qBAAqB;YAYrB,UAAU;IAgCxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;CAOxB"}
@@ -22,6 +22,48 @@ export const TASK_TYPES = [
22
22
  'analyze_codebase', 'multi_domain', 'other',
23
23
  ];
24
24
  // -- Ground-truth patterns (layer 1) --
25
+ /**
26
+ * Meta 控制类 prompt 识别模式。
27
+ *
28
+ * 典型场景:用户发"继续"、"接着做"、"开启多个 agent 同时进行"、列表型
29
+ * "1. xxx 2. xxx" 等**指令性**短语,它们本身不是具体任务,而是对上一轮
30
+ * 任务的控制指令。classifier 如果把它们分类成 refactor/complex,会触发
31
+ * 不该触发的路由 + 方法论,造成违抗数据 + 死循环。
32
+ *
33
+ * 这些 pattern 会在 classify() 入口短路返回 isMetaPrompt=true。
34
+ */
35
+ const META_PATTERNS = [
36
+ // 中文短指令:继续 / 接着 / 开启 / 启动 / 推进 / 开搞 …
37
+ /^(继续|接着|然后|接下来|开启|开始|启动|推进|那么做|开搞|干吧|搞起)(\s|$|[,。!?!?,.])/,
38
+ // "继续执行" / "接着做" / "继续推进" 等 2 段式
39
+ /^(继续|接着).{0,6}(执行|进行|做|干|推进)/,
40
+ // "开启多个 agent" / "派多个代理" / "使用几个 Agent"
41
+ /^(开启|使用|派|分派|开).{0,4}(多|几|多个|几个).{0,4}(agent|Agent|代理)/,
42
+ // "并行进行" / "同时执行"
43
+ /^(并行|同时|一起).{0,8}(进行|做|执行|跑|运行)/,
44
+ // 英文控制指令
45
+ /^(go ahead|continue|proceed|do it|keep going|carry on)\b/i,
46
+ // 英文列表前缀 "1. " / "1) "(标点后必须有空格,避免把 "1.5 xxx" 误判成列表)
47
+ /^\s*\d+[.)]\s+/,
48
+ // 中文列表前缀 "1、xxx"(顿号后通常直接跟内容,不强制空格)
49
+ /^\s*\d+、/,
50
+ ];
51
+ function isMetaPrompt(prompt) {
52
+ const trimmed = prompt.trim();
53
+ if (trimmed.length === 0)
54
+ return false;
55
+ // 列表型 prompt(开头就是编号)— 不管多长都视作 meta
56
+ // (classifier 对列表型不稳定,多项表达易误判为 complex)
57
+ if (/^\s*\d+[.)]\s+/.test(trimmed) || /^\s*\d+、/.test(trimmed))
58
+ return true;
59
+ // 短 meta 指令:30 字以内,整体是控制性
60
+ if (trimmed.length <= 30) {
61
+ for (const pat of META_PATTERNS)
62
+ if (pat.test(trimmed))
63
+ return true;
64
+ }
65
+ return false;
66
+ }
25
67
  const SIMPLE_PATTERNS = [
26
68
  /^(ls|pwd|echo|cat|git status|git log|git diff|git show|git branch)/i,
27
69
  /^(help|version|--help|-h)\s*$/i,
@@ -79,6 +121,21 @@ export class IntentClassifier {
79
121
  this.timeoutMs = options?.timeoutMs ?? DEFAULT_AI_TIMEOUT_MS;
80
122
  }
81
123
  async classify(prompt, projectPath) {
124
+ // Layer 0: meta prompt short-circuit
125
+ // 指令性 prompt("继续"/"开启多个 agent"/列表前缀等)直接短路返回,
126
+ // 下游 user-prompt handler 看到 isMetaPrompt=true 就跳过路由和方法论。
127
+ if (isMetaPrompt(prompt)) {
128
+ logger.info('[IntentClassifier] Meta prompt detected — skipRouting');
129
+ return {
130
+ requirement: prompt,
131
+ complexity: 'simple',
132
+ taskType: 'other',
133
+ searchKeywords: [],
134
+ reasoning: 'meta prompt — skipRouting',
135
+ isMetaPrompt: true,
136
+ fallbackUsed: false,
137
+ };
138
+ }
82
139
  // Layer 1: ground truth
83
140
  const groundTruth = this.matchGroundTruth(prompt);
84
141
  if (groundTruth) {
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/intelligence/classifier.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface Skill {
5
5
  content: string;
6
6
  path: string;
7
7
  isOfficial?: boolean;
8
+ description?: string;
8
9
  }
9
10
  /**
10
11
  * Simple skill registry that scans ~/.claude/skills/*.md
@@ -17,6 +18,10 @@ export declare class SkillRegistry {
17
18
  /**
18
19
  * Scan ~/.claude/skills/ for markdown files with frontmatter
19
20
  * Official skills are loaded first, then user skills (which can override)
21
+ *
22
+ * Supports two formats:
23
+ * 1. Flat format: ~/.claude/skills/skill-name.md
24
+ * 2. Directory format: ~/.claude/skills/skill-name/SKILL.md (agent-skills format)
20
25
  */
21
26
  private scan;
22
27
  /**
@@ -29,6 +34,7 @@ export declare class SkillRegistry {
29
34
  }): Promise<Skill | null>;
30
35
  /**
31
36
  * Keyword-based matching (fallback method)
37
+ * Supports fallback to description-based substring matching when keywords are empty
32
38
  */
33
39
  private matchKeywords;
34
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAqC;gBAEhD,MAAM,CAAC,EAAE,MAAM;IAY3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IA4DZ;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA0BjH;;OAEG;YACW,aAAa;IAkD3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;;;;;IAkCpG,+BAA+B;IAC/B,MAAM,IAAI,KAAK,EAAE;IAIjB,mCAAmC;IACnC,MAAM,IAAI,IAAI;CAIf"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAqC;gBAEhD,MAAM,CAAC,EAAE,MAAM;IAY3B;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI;IA8EZ;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA0BjH;;;OAGG;YACW,aAAa;IA6D3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;;;;;IAkCpG,+BAA+B;IAC/B,MAAM,IAAI,KAAK,EAAE;IAIjB,mCAAmC;IACnC,MAAM,IAAI,IAAI;CAIf"}
@@ -27,6 +27,10 @@ export class SkillRegistry {
27
27
  /**
28
28
  * Scan ~/.claude/skills/ for markdown files with frontmatter
29
29
  * Official skills are loaded first, then user skills (which can override)
30
+ *
31
+ * Supports two formats:
32
+ * 1. Flat format: ~/.claude/skills/skill-name.md
33
+ * 2. Directory format: ~/.claude/skills/skill-name/SKILL.md (agent-skills format)
30
34
  */
31
35
  scan() {
32
36
  // 1. Load official built-in skills first
@@ -38,6 +42,7 @@ export class SkillRegistry {
38
42
  content: officialSkill.content,
39
43
  path: '<built-in>',
40
44
  isOfficial: true,
45
+ description: officialSkill.description,
41
46
  });
42
47
  }
43
48
  logger.info(`Loaded ${OFFICIAL_SKILLS.length} official skill(s)`);
@@ -46,22 +51,38 @@ export class SkillRegistry {
46
51
  logger.debug(`Skills directory not found: ${SKILLS_DIR}`);
47
52
  return;
48
53
  }
49
- const files = fs.readdirSync(SKILLS_DIR);
54
+ const entries = fs.readdirSync(SKILLS_DIR, { withFileTypes: true });
50
55
  let userCount = 0;
51
- for (const file of files) {
52
- if (!file.endsWith('.md'))
53
- continue;
54
- const filePath = path.join(SKILLS_DIR, file);
56
+ for (const entry of entries) {
55
57
  try {
58
+ let filePath;
59
+ let id;
60
+ if (entry.isFile() && entry.name.endsWith('.md')) {
61
+ // Format 1: Flat .md file
62
+ filePath = path.join(SKILLS_DIR, entry.name);
63
+ id = path.basename(entry.name, '.md');
64
+ }
65
+ else if (entry.isDirectory()) {
66
+ // Format 2: Directory with SKILL.md
67
+ const skillMdPath = path.join(SKILLS_DIR, entry.name, 'SKILL.md');
68
+ if (!fs.existsSync(skillMdPath)) {
69
+ continue; // Skip directories without SKILL.md
70
+ }
71
+ filePath = skillMdPath;
72
+ id = entry.name;
73
+ }
74
+ else {
75
+ continue; // Skip other file types
76
+ }
56
77
  const content = fs.readFileSync(filePath, 'utf-8');
57
78
  const parsed = matter(content);
58
79
  const { data, content: body } = parsed;
59
- const id = path.basename(file, '.md');
60
80
  const name = typeof data.name === 'string' ? data.name : id;
61
81
  const rawKeywords = data.keywords;
62
82
  const keywords = Array.isArray(rawKeywords)
63
83
  ? rawKeywords.filter((k) => typeof k === 'string')
64
84
  : [];
85
+ const description = typeof data.description === 'string' ? data.description : undefined;
65
86
  // User skills can override official skills
66
87
  this.skills.set(id, {
67
88
  id,
@@ -70,11 +91,12 @@ export class SkillRegistry {
70
91
  content: body.trim(),
71
92
  path: filePath,
72
93
  isOfficial: false,
94
+ description,
73
95
  });
74
96
  userCount++;
75
97
  }
76
98
  catch (err) {
77
- logger.warn(`Failed to parse skill file ${file}: ${err}`);
99
+ logger.warn(`Failed to parse skill ${entry.name}: ${err}`);
78
100
  }
79
101
  }
80
102
  if (userCount > 0) {
@@ -109,6 +131,7 @@ export class SkillRegistry {
109
131
  }
110
132
  /**
111
133
  * Keyword-based matching (fallback method)
134
+ * Supports fallback to description-based substring matching when keywords are empty
112
135
  */
113
136
  async matchKeywords(prompt, keywords = [], context) {
114
137
  const promptLower = prompt.toLowerCase();
@@ -117,16 +140,28 @@ export class SkillRegistry {
117
140
  let bestScore = 0;
118
141
  for (const skill of this.skills.values()) {
119
142
  let score = 0;
120
- for (const kw of skill.keywords) {
121
- const kwLower = kw.toLowerCase();
122
- // Check if keyword appears in prompt or intent keywords
123
- if (this.matchKeywordFlexible(promptLower, kwLower)) {
124
- score += 1;
143
+ // If skill has keywords, use keyword matching
144
+ if (skill.keywords.length > 0) {
145
+ for (const kw of skill.keywords) {
146
+ const kwLower = kw.toLowerCase();
147
+ // Check if keyword appears in prompt or intent keywords
148
+ if (this.matchKeywordFlexible(promptLower, kwLower)) {
149
+ score += 1;
150
+ }
151
+ if (extraLower.some(ek => this.matchKeywordFlexible(ek, kwLower))) {
152
+ score += 1;
153
+ }
125
154
  }
126
- if (extraLower.some(ek => this.matchKeywordFlexible(ek, kwLower))) {
127
- score += 1;
155
+ }
156
+ else if (skill.description) {
157
+ // Fallback path 1: Use description substring matching when keywords are empty
158
+ const descLower = skill.description.toLowerCase();
159
+ if (descLower.includes(promptLower) || promptLower.includes(descLower)) {
160
+ score = 1; // Give a base score for description match
128
161
  }
129
162
  }
163
+ // Fallback path 2: If no keywords and no description, score remains 0
164
+ // This allows SemanticSkillMatcher to take over
130
165
  // Official skills get priority: require 1+ match, user skills require 2+ matches
131
166
  const threshold = skill.isOfficial ? 1 : 2;
132
167
  if (score >= threshold && score > bestScore) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare class SemanticSkillMatcher {
42
42
  private parseAIResponse;
43
43
  /**
44
44
  * Extract description from skill content
45
+ * Prioritizes frontmatter description over content extraction
45
46
  */
46
47
  private extractDescription;
47
48
  /**