specweave 1.0.253 → 1.0.255

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 (138) hide show
  1. package/CLAUDE.md +24 -24
  2. package/README.md +163 -1
  3. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -1
  4. package/dist/src/adapters/agents-md-generator.js +0 -1
  5. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  6. package/dist/src/adapters/claude/README.md +0 -1
  7. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -1
  8. package/dist/src/adapters/claude-md-generator.js +0 -1
  9. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  10. package/dist/src/cli/commands/docs.d.ts.map +1 -1
  11. package/dist/src/cli/commands/docs.js +59 -55
  12. package/dist/src/cli/commands/docs.js.map +1 -1
  13. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/smart-defaults.js +7 -1
  15. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  16. package/dist/src/core/config/types.d.ts +2 -0
  17. package/dist/src/core/config/types.d.ts.map +1 -1
  18. package/dist/src/core/config/types.js.map +1 -1
  19. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -1
  20. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +5 -0
  21. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -1
  22. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +21 -0
  23. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  24. package/dist/src/core/lazy-loading/llm-plugin-detector.js +61 -107
  25. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  26. package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts.map +1 -1
  27. package/dist/src/core/living-docs/enterprise/history-analyzer.js +1 -3
  28. package/dist/src/core/living-docs/enterprise/history-analyzer.js.map +1 -1
  29. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts.map +1 -1
  30. package/dist/src/core/living-docs/governance/java-standards-parser.js +37 -18
  31. package/dist/src/core/living-docs/governance/java-standards-parser.js.map +1 -1
  32. package/dist/src/core/living-docs/operations/ops-generator.js +2 -2
  33. package/dist/src/core/living-docs/operations/ops-generator.js.map +1 -1
  34. package/dist/src/core/reflection/index.d.ts +1 -1
  35. package/dist/src/core/reflection/index.d.ts.map +1 -1
  36. package/dist/src/core/reflection/index.js +1 -1
  37. package/dist/src/core/reflection/index.js.map +1 -1
  38. package/dist/src/core/reflection/reflect-handler.d.ts.map +1 -1
  39. package/dist/src/core/reflection/reflect-handler.js +1 -2
  40. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  41. package/dist/src/core/reflection/skill-memories.d.ts +13 -1
  42. package/dist/src/core/reflection/skill-memories.d.ts.map +1 -1
  43. package/dist/src/core/reflection/skill-memories.js +55 -10
  44. package/dist/src/core/reflection/skill-memories.js.map +1 -1
  45. package/dist/src/core/repo-structure/prefix-validator.d.ts +25 -0
  46. package/dist/src/core/repo-structure/prefix-validator.d.ts.map +1 -0
  47. package/dist/src/core/repo-structure/prefix-validator.js +47 -0
  48. package/dist/src/core/repo-structure/prefix-validator.js.map +1 -0
  49. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -0
  50. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  51. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  52. package/dist/src/core/repo-structure/role-prefix-collector.d.ts +45 -0
  53. package/dist/src/core/repo-structure/role-prefix-collector.d.ts.map +1 -0
  54. package/dist/src/core/repo-structure/role-prefix-collector.js +106 -0
  55. package/dist/src/core/repo-structure/role-prefix-collector.js.map +1 -0
  56. package/dist/src/hooks/session-start.js +7 -0
  57. package/dist/src/hooks/session-start.js.map +1 -1
  58. package/dist/src/sync/story-router.d.ts +36 -0
  59. package/dist/src/sync/story-router.d.ts.map +1 -0
  60. package/dist/src/sync/story-router.js +56 -0
  61. package/dist/src/sync/story-router.js.map +1 -0
  62. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -1
  63. package/dist/src/utils/agents-md-compiler.js +0 -1
  64. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  65. package/dist/src/utils/state-cleanup.d.ts +19 -0
  66. package/dist/src/utils/state-cleanup.d.ts.map +1 -0
  67. package/dist/src/utils/state-cleanup.js +61 -0
  68. package/dist/src/utils/state-cleanup.js.map +1 -0
  69. package/package.json +1 -1
  70. package/plugins/specweave/PLUGIN.md +0 -1
  71. package/plugins/specweave/commands/brownfield-analyzer.md +0 -10
  72. package/plugins/specweave/commands/brownfield-onboarder.md +0 -10
  73. package/plugins/specweave/commands/export-skills.md +0 -10
  74. package/plugins/specweave/commands/plugin-validator.md +0 -10
  75. package/plugins/specweave/hooks/stop-reflect.sh +4 -2
  76. package/plugins/specweave/hooks/user-prompt-submit.sh +29 -68
  77. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +0 -3
  78. package/plugins/specweave/skills/architect/SKILL.md +2 -6
  79. package/plugins/specweave/skills/archive-increments/SKILL.md +0 -10
  80. package/plugins/specweave/skills/auto/SKILL.md +4 -0
  81. package/plugins/specweave/skills/cancel-auto/SKILL.md +5 -1
  82. package/plugins/specweave/skills/code-review/SKILL.md +1 -11
  83. package/plugins/specweave/skills/code-simplifier/SKILL.md +3 -7
  84. package/plugins/specweave/skills/do/SKILL.md +6 -2
  85. package/plugins/specweave/skills/docs/SKILL.md +5 -8
  86. package/plugins/specweave/skills/docs-updater/SKILL.md +4 -10
  87. package/plugins/specweave/skills/done/SKILL.md +6 -3
  88. package/plugins/specweave/skills/framework/SKILL.md +4 -10
  89. package/plugins/specweave/skills/grill/SKILL.md +7 -12
  90. package/plugins/specweave/skills/increment/SKILL.md +5 -0
  91. package/plugins/specweave/skills/increment-planner/SKILL.md +4 -7
  92. package/plugins/specweave/skills/increment-work-router/SKILL.md +0 -10
  93. package/plugins/specweave/skills/judge-llm/SKILL.md +0 -11
  94. package/plugins/specweave/skills/lsp/SKILL.md +4 -10
  95. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +0 -10
  96. package/plugins/specweave/skills/next/SKILL.md +1 -1
  97. package/plugins/specweave/skills/plan/SKILL.md +1 -1
  98. package/plugins/specweave/skills/pm/SKILL.md +6 -11
  99. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +0 -10
  100. package/plugins/specweave/skills/progress/SKILL.md +5 -1
  101. package/plugins/specweave/skills/progress-sync/SKILL.md +2 -11
  102. package/plugins/specweave/skills/save/SKILL.md +6 -1
  103. package/plugins/specweave/skills/security/SKILL.md +2 -6
  104. package/plugins/specweave/skills/security-patterns/SKILL.md +4 -10
  105. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +0 -10
  106. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -10
  107. package/plugins/specweave/skills/tdd-cycle/SKILL.md +5 -1
  108. package/plugins/specweave/skills/tdd-green/SKILL.md +5 -1
  109. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +4 -10
  110. package/plugins/specweave/skills/tdd-red/SKILL.md +5 -1
  111. package/plugins/specweave/skills/tdd-refactor/SKILL.md +1 -1
  112. package/plugins/specweave/skills/team-build/SKILL.md +1 -1
  113. package/plugins/specweave/skills/team-lead/SKILL.md +3 -3
  114. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -10
  115. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +0 -10
  116. package/plugins/specweave/skills/update-instructions/SKILL.md +0 -10
  117. package/plugins/specweave/skills/validate/SKILL.md +6 -1
  118. package/plugins/specweave-github/commands/close.md +2 -2
  119. package/src/templates/CLAUDE.md.template +1 -1
  120. package/src/templates/docs/adr-template.md +1 -1
  121. package/src/templates/docs/hld-template.md +1 -1
  122. package/src/templates/docs/lld-template.md +2 -2
  123. package/src/templates/docs/rfc-template.md +1 -1
  124. package/src/templates/docs/spec-template.md +1 -1
  125. package/dist/src/core/reflection/skill-memory-injector.d.ts +0 -42
  126. package/dist/src/core/reflection/skill-memory-injector.d.ts.map +0 -1
  127. package/dist/src/core/reflection/skill-memory-injector.js +0 -67
  128. package/dist/src/core/reflection/skill-memory-injector.js.map +0 -1
  129. package/plugins/specweave/commands/skill.md +0 -620
  130. package/plugins/specweave/skills/tech-lead/SKILL.md +0 -25
  131. package/plugins/specweave/templates/coding-standards.md.template +0 -535
  132. package/plugins/specweave/templates/hookify/README.md +0 -47
  133. package/plugins/specweave/templates/hookify/hookify.block-force-push.local.md +0 -19
  134. package/plugins/specweave/templates/hookify/hookify.block-metadata-status.local.md +0 -18
  135. package/plugins/specweave/templates/hookify/hookify.block-secrets.local.md +0 -26
  136. package/plugins/specweave/templates/hookify/hookify.require-tests.local.md +0 -22
  137. package/plugins/specweave/templates/hookify/hookify.warn-dangerous-rm.local.md +0 -23
  138. package/plugins/specweave/templates/hookify/hookify.warn-root-files.local.md +0 -21
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Story Router
3
+ *
4
+ * Routes user stories to repos by prefix matching.
5
+ * Format: US-{PREFIX}-{NUM} → matches repo with that prefix.
6
+ * Falls back to first repo (or custom default) when no match.
7
+ */
8
+ /**
9
+ * Extract prefix from a user story ID.
10
+ *
11
+ * Supports: US-FE-001, US-SHARED-042, us-be-007 (case-insensitive)
12
+ * Returns null for: US-001 (no prefix), STORY-123 (wrong format)
13
+ *
14
+ * @param storyId - The story identifier (e.g., "US-FE-001")
15
+ * @returns Extracted prefix in uppercase, or null
16
+ */
17
+ export function extractPrefix(storyId) {
18
+ if (!storyId)
19
+ return null;
20
+ // Match US-{PREFIX}-{NUM} where PREFIX is 2-6 letters
21
+ const match = storyId.match(/^US-([A-Za-z]{2,6})-\d+/i);
22
+ if (!match)
23
+ return null;
24
+ return match[1].toUpperCase();
25
+ }
26
+ /**
27
+ * Route a user story to a repo by prefix matching.
28
+ *
29
+ * @param storyId - Story identifier (e.g., "US-FE-001")
30
+ * @param childRepos - Available repos with prefix config
31
+ * @param defaultRepoId - Optional explicit default repo ID
32
+ * @returns Routing result with repoId, matched flag, and reason
33
+ */
34
+ export function routeByPrefix(storyId, childRepos, defaultRepoId) {
35
+ if (childRepos.length === 0) {
36
+ return { repoId: null, matched: false, reason: 'No repos configured' };
37
+ }
38
+ const fallbackId = defaultRepoId
39
+ ? (childRepos.find(r => r.id === defaultRepoId)?.id ?? childRepos[0].id)
40
+ : childRepos[0].id;
41
+ const prefix = extractPrefix(storyId);
42
+ if (!prefix) {
43
+ return { repoId: fallbackId, matched: false, reason: 'No prefix in story ID' };
44
+ }
45
+ // Try exact prefix match
46
+ const matched = childRepos.find(r => r.prefix && r.prefix.toUpperCase() === prefix);
47
+ if (matched) {
48
+ return { repoId: matched.id, matched: true, reason: `Matched prefix ${prefix}` };
49
+ }
50
+ return {
51
+ repoId: fallbackId,
52
+ matched: false,
53
+ reason: `Unknown prefix "${prefix}" — using default`,
54
+ };
55
+ }
56
+ //# sourceMappingURL=story-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story-router.js","sourceRoot":"","sources":["../../../src/sync/story-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,sDAAsD;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,UAA6B,EAC7B,aAAsB;IAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IACjF,CAAC;IAED,yBAAyB;IACzB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;IACpF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,MAAM,EAAE,EAAE,CAAC;IACnF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,mBAAmB,MAAM,mBAAmB;KACrD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents-md-compiler.d.ts","sourceRoot":"","sources":["../../../src/utils/agents-md-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAoFhD;AA2BD;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAmCnE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAmCnE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA4BvE;AAcD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAapF;AA+MD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"agents-md-compiler.d.ts","sourceRoot":"","sources":["../../../src/utils/agents-md-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgBH,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAoFhD;AA2BD;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAmCnE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAmCnE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA4BvE;AAcD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAapF;AA8MD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -406,7 +406,6 @@ function getAgentEmoji(name) {
406
406
  const emojiMap = {
407
407
  pm: '🎯',
408
408
  architect: '🏗️',
409
- 'tech-lead': '👨‍💻',
410
409
  'github-manager': '🐙',
411
410
  };
412
411
  return emojiMap[name.toLowerCase()] || '🤖';
@@ -1 +1 @@
1
- {"version":3,"file":"agents-md-compiler.js","sourceRoot":"","sources":["../../../src/utils/agents-md-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-md-compiler.js","sourceRoot":"","sources":["../../../src/utils/agents-md-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * State directory cleanup utility (v1.0.254)
3
+ *
4
+ * Removes orphaned marker files from .specweave/state/ that accumulate
5
+ * over time and are never cleaned up. These don't cause functional issues
6
+ * but contribute to state directory bloat.
7
+ *
8
+ * Called from session-start hook to run once per session.
9
+ *
10
+ * @module utils/state-cleanup
11
+ */
12
+ /**
13
+ * Remove orphaned state marker files older than 7 days.
14
+ *
15
+ * @param stateDir - Path to .specweave/state/ directory
16
+ * @returns Number of files removed
17
+ */
18
+ export declare function cleanOrphanedStateFiles(stateDir: string): number;
19
+ //# sourceMappingURL=state-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-cleanup.d.ts","sourceRoot":"","sources":["../../../src/utils/state-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgChE"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * State directory cleanup utility (v1.0.254)
3
+ *
4
+ * Removes orphaned marker files from .specweave/state/ that accumulate
5
+ * over time and are never cleaned up. These don't cause functional issues
6
+ * but contribute to state directory bloat.
7
+ *
8
+ * Called from session-start hook to run once per session.
9
+ *
10
+ * @module utils/state-cleanup
11
+ */
12
+ import * as fs from 'fs';
13
+ import * as path from 'path';
14
+ /** Patterns of orphaned marker files to clean up */
15
+ const ORPHAN_PATTERNS = [
16
+ /^\.prev-status-/,
17
+ /^\.github-sync-/,
18
+ /^\.living-specs-/,
19
+ ];
20
+ /** Files older than this (in ms) are eligible for cleanup */
21
+ const MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
22
+ /**
23
+ * Remove orphaned state marker files older than 7 days.
24
+ *
25
+ * @param stateDir - Path to .specweave/state/ directory
26
+ * @returns Number of files removed
27
+ */
28
+ export function cleanOrphanedStateFiles(stateDir) {
29
+ if (!fs.existsSync(stateDir))
30
+ return 0;
31
+ let removed = 0;
32
+ const now = Date.now();
33
+ try {
34
+ const entries = fs.readdirSync(stateDir);
35
+ for (const entry of entries) {
36
+ // Check if filename matches any orphan pattern
37
+ const isOrphan = ORPHAN_PATTERNS.some(pattern => pattern.test(entry));
38
+ if (!isOrphan)
39
+ continue;
40
+ const filePath = path.join(stateDir, entry);
41
+ try {
42
+ const stat = fs.statSync(filePath);
43
+ if (!stat.isFile())
44
+ continue;
45
+ const age = now - stat.mtimeMs;
46
+ if (age > MAX_AGE_MS) {
47
+ fs.unlinkSync(filePath);
48
+ removed++;
49
+ }
50
+ }
51
+ catch {
52
+ // Skip files we can't stat or delete
53
+ }
54
+ }
55
+ }
56
+ catch {
57
+ // Directory read failed — not critical
58
+ }
59
+ return removed;
60
+ }
61
+ //# sourceMappingURL=state-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-cleanup.js","sourceRoot":"","sources":["../../../src/utils/state-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,oDAAoD;AACpD,MAAM,eAAe,GAAG;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAErD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IAEvC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,SAAS;gBAE7B,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,IAAI,GAAG,GAAG,UAAU,EAAE,CAAC;oBACrB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.253",
3
+ "version": "1.0.255",
4
4
  "description": "Spec-driven development framework for AI coding agents. First-class support for Claude Code — compatible with any LLM-powered coding tool. Living documentation, autonomous execution, quality gates, and multilingual support (9 languages).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,6 @@ SpecWeave framework core plugin. Provides increment planning (PM, Architect, Tec
14
14
  |-------|-------------|
15
15
  | pm | Product Manager for spec-driven development with user stories, acceptance criteria, and MVP planning |
16
16
  | architect | System architect for scalable, maintainable technical designs and ADRs |
17
- | tech-lead | Technical lead for code quality, design patterns, and implementation guidance |
18
17
  | pm-closure-validation | PM validation for increment closure with 3-gate quality checks |
19
18
  | roadmap-planner | Product roadmap and feature prioritization with RICE, MoSCoW, and Kano frameworks |
20
19
  | spec-generator | Generates comprehensive specifications (spec.md, plan.md, tasks.md) for increments |
@@ -406,13 +406,3 @@ Week 2+: Start Increments
406
406
 
407
407
  **This skill is self-contained and works for ANY brownfield project.**
408
408
 
409
- ## Project-Specific Learnings
410
-
411
- **Before starting work, check for project-specific learnings:**
412
-
413
- ```bash
414
- # Check if skill memory exists for this skill
415
- cat .specweave/skill-memories/brownfield-analyzer.md 2>/dev/null || echo "No project learnings yet"
416
- ```
417
-
418
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
@@ -835,13 +835,3 @@ if (exists(targetPath)) {
835
835
  - [CLAUDE.md](../../CLAUDE.md)
836
836
 
837
837
 
838
- ## Project-Specific Learnings
839
-
840
- **Before starting work, check for project-specific learnings:**
841
-
842
- ```bash
843
- # Check if skill memory exists for this skill
844
- cat .specweave/skill-memories/brownfield-onboarder.md 2>/dev/null || echo "No project learnings yet"
845
- ```
846
-
847
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
@@ -176,14 +176,4 @@ After exporting:
176
176
  - Progressive disclosure phases (sub-files) are not included
177
177
  - Skill memory files are not exported (they're runtime state)
178
178
 
179
- ## Project-Specific Learnings
180
-
181
- **Before starting work, check for project-specific learnings:**
182
-
183
- ```bash
184
- # Check if skill memory exists for this skill
185
- cat .specweave/skill-memories/export-skills.md 2>/dev/null || echo "No project learnings yet"
186
- ```
187
-
188
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
189
179
 
@@ -427,13 +427,3 @@ It proactively validates your environment, auto-installs missing components, and
427
427
  **Introduced**: SpecWeave v0.9.4
428
428
  **Last Updated**: 2025-11-09
429
429
 
430
- ## Project-Specific Learnings
431
-
432
- **Before starting work, check for project-specific learnings:**
433
-
434
- ```bash
435
- # Check if skill memory exists for this skill
436
- cat .specweave/skill-memories/plugin-validator.md 2>/dev/null || echo "No project learnings yet"
437
- ```
438
-
439
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
@@ -194,7 +194,8 @@ run_reflection() {
194
194
  log_reflect "warn" "Reflection completed with exit code $result"
195
195
  fi
196
196
  ) &
197
- log_reflect "info" "Reflection started in background"
197
+ disown 2>/dev/null
198
+ log_reflect "info" "Reflection started in background (detached)"
198
199
  else
199
200
  log_reflect "warn" "specweave CLI not found"
200
201
  fi
@@ -269,7 +270,8 @@ run_reflection_with_logging() {
269
270
 
270
271
  rm -f "$temp_output" 2>/dev/null
271
272
  ) &
272
- log_reflect "info" "Reflection started in background"
273
+ disown 2>/dev/null
274
+ log_reflect "info" "Reflection started in background (detached)"
273
275
  else
274
276
  log_reflect "warn" "specweave CLI not found"
275
277
  log_reflect_decision "error" "specweave CLI not found" "$transcript_lines" true 0 "[]"
@@ -371,51 +371,38 @@ escape_json_early() {
371
371
  fi
372
372
  }
373
373
 
374
+ # v1.0.254: Prompt safety limits to prevent "Prompt is too long" errors
375
+ # These must match the constants in src/core/lazy-loading/llm-plugin-detector.ts
376
+ MAX_ADDITIONAL_CONTEXT_LENGTH=8000
377
+ MAX_SKILL_FIRST_PROMPT_LENGTH=2000
378
+
374
379
  # Helper: Output approve response with context (Claude Code hook format v1.0.166)
375
380
  # CRITICAL: systemMessage is NOT a valid field for UserPromptSubmit hooks!
376
381
  # Use hookSpecificOutput.additionalContext instead.
377
382
  # See: https://docs.claude.com/en/docs/claude-code/hooks
383
+ #
384
+ # v1.0.254: Added size guard — truncates additionalContext if it exceeds
385
+ # MAX_ADDITIONAL_CONTEXT_LENGTH to prevent "Prompt is too long" errors.
378
386
  output_approve_with_context() {
379
387
  local context="$1"
388
+ # v1.0.254: Safety truncation to prevent prompt overflow
389
+ if [[ ${#context} -gt $MAX_ADDITIONAL_CONTEXT_LENGTH ]]; then
390
+ context="${context:0:$MAX_ADDITIONAL_CONTEXT_LENGTH}... [context truncated for safety]"
391
+ fi
380
392
  local escaped
381
393
  escaped=$(escape_json_early "$context")
382
394
  printf '{"hookSpecificOutput":{"hookEventName":"UserPromptSubmit","additionalContext":"%s"}}\n' "$escaped"
383
395
  }
384
396
 
385
- # Helper: Get skill memory content for injection (v1.0.198)
386
- # Reads .specweave/skill-memories/{skill}.md and extracts learnings.
387
- # Args: $1=full skill name (e.g., "sw:pm", "sw-frontend:frontend-architect")
388
- # Returns: Formatted memory content on stdout, or empty string if not found
389
- get_skill_memory_context() {
390
- local full_skill="$1"
391
- local project_root="${SW_PROJECT_ROOT:-${PROJECT_ROOT:-$(pwd)}}"
392
-
393
- # Not a SpecWeave project no skill memories to load
394
- [[ ! -d "$project_root/.specweave" ]] && return 0
395
-
396
- # Extract skill name (part after colon, or whole string if no colon)
397
- local skill_name="${full_skill##*:}"
398
-
399
- local memory_file="$project_root/.specweave/skill-memories/${skill_name}.md"
400
-
401
- if [[ ! -f "$memory_file" ]]; then
402
- return 0
403
- fi
404
-
405
- # Read the file and extract learnings section
406
- local content
407
- content=$(cat "$memory_file" 2>/dev/null)
408
-
409
- # Extract lines between "## Learnings" and next heading or EOF
410
- local learnings
411
- learnings=$(echo "$content" | sed -n '/^## Learnings$/,/^## /{ /^## Learnings$/d; /^## /d; p; }' | sed '/^$/d')
412
-
413
- if [[ -z "$learnings" ]]; then
414
- return 0
415
- fi
416
-
417
- # Format for injection
418
- printf '📚 **Skill Memory for %s**:\\n%s' "$skill_name" "$learnings"
397
+ # Helper: Truncate and escape a prompt for SKILL FIRST args (v1.0.254)
398
+ # Truncates to MAX_SKILL_FIRST_PROMPT_LENGTH, escapes for JSON embedding.
399
+ # Args: $1=raw prompt text
400
+ # Returns: Escaped, truncated prompt on stdout
401
+ truncate_and_escape_prompt() {
402
+ local prompt="$1"
403
+ local truncated="${prompt:0:$MAX_SKILL_FIRST_PROMPT_LENGTH}"
404
+ [[ ${#prompt} -gt $MAX_SKILL_FIRST_PROMPT_LENGTH ]] && truncated="${truncated}... [truncated - see original prompt above]"
405
+ printf '%s' "$truncated" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g' | tr '\n' ' '
419
406
  }
420
407
 
421
408
  # Helper: Check if plugin is installed by reading installed_plugins.json (v1.0.175)
@@ -1309,25 +1296,12 @@ if [[ "${SPECWEAVE_DISABLE_AUTO_LOAD:-0}" != "1" ]] && [[ "${SPECWEAVE_DISABLE_H
1309
1296
  # Build agent spawn directive if routing skills available (v1.0.155)
1310
1297
  AGENT_DIRECTIVE=""
1311
1298
  # v1.0.168: Skill invocation directive (takes precedence over routing)
1312
- # v1.0.198: Added skill memory injection
1299
+ # Skill memories now loaded via DCI in SKILL.md (no hook injection)
1313
1300
  if [[ -n "$SKILL_INVOCATION" ]]; then
1314
- # Get skill memory for injection (v1.0.198)
1315
- SKILL_MEMORY=""
1316
- SKILL_MEMORY_RAW=$(get_skill_memory_context "$SKILL_INVOCATION")
1317
- if [[ -n "$SKILL_MEMORY_RAW" ]]; then
1318
- SKILL_MEMORY="
1319
-
1320
- ${SKILL_MEMORY_RAW}
1321
-
1322
- ---
1323
- "
1324
- fi
1325
-
1326
1301
  if [[ "$SKILL_MANDATORY" == "true" ]]; then
1327
1302
  AGENT_DIRECTIVE="
1328
1303
 
1329
1304
  ---
1330
- ${SKILL_MEMORY}
1331
1305
  <skill_invocation_required>
1332
1306
  ### 🎯 MANDATORY: Use ${SKILL_INVOCATION} Skill
1333
1307
 
@@ -1347,7 +1321,6 @@ ${SKILL_REASON:-This skill provides specialized support for your task.}
1347
1321
  AGENT_DIRECTIVE="
1348
1322
 
1349
1323
  ---
1350
- ${SKILL_MEMORY}
1351
1324
  ### 💡 Recommended: Use ${SKILL_INVOCATION} Skill
1352
1325
 
1353
1326
  Consider invoking this skill for better results:
@@ -1386,12 +1359,11 @@ Task({
1386
1359
  [[ -n "$INC_NAME" ]] && CMD="/sw:increment \"$INC_NAME\""
1387
1360
 
1388
1361
  # v1.0.169: Call sw:increment-planner DIRECTLY (not wrapper)
1389
- # Pass FULL user prompt so skill can extract all context
1362
+ # Pass user prompt so skill can extract context
1390
1363
  # INC_MANDATORY comes from detect-intent LLM response
1391
1364
  if [[ "$INC_MANDATORY" == "true" ]]; then
1392
- # Escape the full prompt for JSON embedding
1393
- # Use printf to handle special chars, then escape for nested JSON
1394
- ESCAPED_PROMPT=$(printf '%s' "$PROMPT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g' | tr '\n' ' ')
1365
+ # v1.0.254: Truncate + escape to prevent "Prompt is too long"
1366
+ ESCAPED_PROMPT=$(truncate_and_escape_prompt "$PROMPT")
1395
1367
 
1396
1368
  # v1.0.243: Smart interview gate — LLM assesses prompt completeness
1397
1369
  # before blindly calling increment-planner. If details are missing,
@@ -1422,18 +1394,7 @@ Consider ALL prior messages in this conversation.
1422
1394
  - NEVER ask 10+ questions. NEVER repeat what the user already said."
1423
1395
  fi
1424
1396
 
1425
- # v1.0.198: Get skill memory for increment-planner
1426
- INC_PLANNER_MEMORY=""
1427
- INC_PLANNER_MEMORY_RAW=$(get_skill_memory_context "sw:increment-planner")
1428
- if [[ -n "$INC_PLANNER_MEMORY_RAW" ]]; then
1429
- INC_PLANNER_MEMORY="
1430
- ${INC_PLANNER_MEMORY_RAW}
1431
-
1432
- ---
1433
- "
1434
- fi
1435
-
1436
- MSG="${WIP_WARNING}${AUTOLOAD_PREFIX}${INC_PLANNER_MEMORY}╔══════════════════════════════════════════════════════════════════════════════╗
1397
+ MSG="${WIP_WARNING}${AUTOLOAD_PREFIX}╔══════════════════════════════════════════════════════════════════════════════╗
1437
1398
  ║ 🎯 SKILL FIRST - Call Skill tool BEFORE implementation ║
1438
1399
  ╚══════════════════════════════════════════════════════════════════════════════╝
1439
1400
 
@@ -1466,7 +1427,7 @@ See CLAUDE.md section \"MANDATORY: Skill Chaining\" for full pattern."
1466
1427
  exit 0
1467
1428
  else
1468
1429
  # v1.0.169: Also suggest direct skill call for non-mandatory
1469
- ESCAPED_PROMPT_SUGGEST=$(printf '%s' "$PROMPT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g' | tr '\n' ' ')
1430
+ ESCAPED_PROMPT_SUGGEST=$(truncate_and_escape_prompt "$PROMPT")
1470
1431
  MSG="${WIP_WARNING}${AUTOLOAD_PREFIX}💡 **Increment Suggestion**: This looks like new feature work.
1471
1432
 
1472
1433
  Consider creating an increment first:
@@ -1488,7 +1449,7 @@ Or via command: \`$CMD\`
1488
1449
 
1489
1450
  hotfix)
1490
1451
  # v1.0.169: Direct skill call for hotfix too
1491
- ESCAPED_PROMPT_HOTFIX=$(printf '%s' "$PROMPT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g' | tr '\n' ' ')
1452
+ ESCAPED_PROMPT_HOTFIX=$(truncate_and_escape_prompt "$PROMPT")
1492
1453
  MSG="${WIP_WARNING}${AUTOLOAD_PREFIX}🚨 **Hotfix Detected**: Urgent production issue.
1493
1454
 
1494
1455
  Create a hotfix increment:
@@ -1530,7 +1491,7 @@ specweave resume <id> # Reopen it
1530
1491
  small_fix)
1531
1492
  # v1.0.241: small_fix still suggests increment (non-mandatory)
1532
1493
  # Previously small_fix fell through with no output at all
1533
- ESCAPED_PROMPT_SMALLFIX=$(printf '%s' "$PROMPT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g' | tr '\n' ' ')
1494
+ ESCAPED_PROMPT_SMALLFIX=$(truncate_and_escape_prompt "$PROMPT")
1534
1495
  CMD_SMALLFIX="/sw:increment"
1535
1496
  [[ -n "$INC_NAME" ]] && CMD_SMALLFIX="/sw:increment \"$INC_NAME\""
1536
1497
 
@@ -68,9 +68,6 @@ if [[ -n "$AGENT_TYPE" ]]; then
68
68
  sw:architect|sw-architect)
69
69
  echo '{"continue":true,"systemMessage":"🏗️ Architect Agent: Technical design context loaded. Focus on ADRs, system design, and architecture patterns."}'
70
70
  ;;
71
- sw:tech-lead|sw-tech-lead)
72
- echo '{"continue":true,"systemMessage":"👨‍💻 Tech Lead Agent: Implementation context loaded. Focus on code quality, best practices, and task execution."}'
73
- ;;
74
71
  esac
75
72
  fi
76
73
 
@@ -4,13 +4,9 @@ description: System architect for scalable, maintainable technical designs and a
4
4
 
5
5
  # Architect
6
6
 
7
- ## Project-Specific Learnings
7
+ ## Project Overrides
8
8
 
9
- Before starting work, check for project-specific learnings:
10
-
11
- ```bash
12
- cat .specweave/skill-memories/architect.md 2>/dev/null || echo "No project learnings yet"
13
- ```
9
+ !`s="architect"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
14
10
 
15
11
  ## Design Approach
16
12
 
@@ -196,14 +196,4 @@ Based on analysis, I suggest:
196
196
  # Check archive stats
197
197
  /sw:archive-increments --stats
198
198
  ```
199
- ## Project-Specific Learnings
200
-
201
- **Before starting work, check for project-specific learnings:**
202
-
203
- ```bash
204
- # Check if skill memory exists for this skill
205
- cat .specweave/skill-memories/archive-increments.md 2>/dev/null || echo "No project learnings yet"
206
- ```
207
-
208
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
209
199
 
@@ -6,6 +6,10 @@ argument-hint: "[INCREMENT_IDS...] [OPTIONS]"
6
6
 
7
7
  # Auto Command
8
8
 
9
+ ## Project Overrides
10
+
11
+ !`s="auto"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
12
+
9
13
  **Start autonomous execution session using Claude Code's Stop Hook.**
10
14
 
11
15
  ## How to Use
@@ -1,10 +1,14 @@
1
1
  ---
2
2
  disable-model-invocation: true
3
- description: EMERGENCY ONLY - Manually cancel running auto session. Generates summary report and releases lock. Activates for: cancel auto, stop auto, emergency cancel.
3
+ description: EMERGENCY ONLY - Cancel running auto session and generate summary report.
4
4
  ---
5
5
 
6
6
  # Cancel Auto Command
7
7
 
8
+ ## Project Overrides
9
+
10
+ !`s="cancel-auto"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
11
+
8
12
  **⚠️ EMERGENCY USE ONLY - Manually cancel the running auto session.**
9
13
 
10
14
  > **Note**: Auto mode is designed to run until completion. In most cases, just close the Claude Code session and resume later with `/sw:do`. Only use this command in true emergencies.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Parallel code review with confidence scoring and spec compliance. Use when saying "review code", "code review", "PR review", "review my changes", "review the PR", "check my code", "review increment code", "audit the code". Spawns 3-5 subagents for bug detection, security, performance, quality, and spec compliance.
2
+ description: Parallel code review with confidence scoring and spec compliance. Use when saying "review code", "PR review", "check my code", or "audit the code".
3
3
  allowed-tools: Read, Bash, Grep, Glob, Task
4
4
  model: opus
5
5
  context: fork
@@ -596,13 +596,3 @@ If a subagent takes too long (should not happen in practice with Task tool):
596
596
 
597
597
  ---
598
598
 
599
- ## Project-Specific Learnings
600
-
601
- **Before starting work, check for project-specific learnings:**
602
-
603
- ```bash
604
- # Check if skill memory exists for this skill
605
- cat .specweave/skill-memories/code-review.md 2>/dev/null || echo "No project learnings yet"
606
- ```
607
-
608
- Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development.
@@ -1,16 +1,12 @@
1
1
  ---
2
- description: Expert code refinement agent that simplifies and improves code clarity, consistency, and maintainability while preserving exact functionality. Operates proactively on recently modified code. Based on Anthropic's official code-simplifier with SpecWeave enhancements. Never alters WHAT code does, only HOW. Activates for simplify code, clean up code, improve readability, refactor for clarity, reduce complexity, make code cleaner.
2
+ description: Simplify and improve code clarity without changing behavior. Use when saying "simplify code", "clean up code", "improve readability", or "reduce complexity".
3
3
  ---
4
4
 
5
5
  # Code Simplifier
6
6
 
7
- ## Project-Specific Learnings
7
+ ## Project Overrides
8
8
 
9
- Before starting work, check for project-specific learnings:
10
-
11
- ```bash
12
- cat .specweave/skill-memories/code-simplifier.md 2>/dev/null || echo "No project learnings yet"
13
- ```
9
+ !`s="code-simplifier"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
14
10
 
15
11
  ## Approach
16
12
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- disable-model-invocation: true
3
- description: Execute increment implementation following spec and plan - hooks run after EVERY task
2
+ description: Execute increment tasks following spec and plan with sync hooks. Use when saying "implement", "start working", "execute tasks", or "continue increment".
3
+ argument-hint: "<increment-id>"
4
4
  hooks:
5
5
  PostToolUse:
6
6
  - matcher: Edit
@@ -15,6 +15,10 @@ hooks:
15
15
 
16
16
  # Do Increment
17
17
 
18
+ ## Project Overrides
19
+
20
+ !`s="do"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null`
21
+
18
22
  **Implementation Execution**: Following spec.md and plan.md to execute the increment work.
19
23
 
20
24
  You are helping the user implement a SpecWeave increment by executing tasks from tasks.md with automatic documentation updates after EVERY task completion.