specweave 0.24.13 → 0.26.3

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 (447) hide show
  1. package/CLAUDE.md +586 -18
  2. package/bin/specweave.js +14 -0
  3. package/dist/plugins/specweave-github/lib/CodeValidator.js +2 -2
  4. package/dist/plugins/specweave-github/lib/CodeValidator.js.map +1 -1
  5. package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
  6. package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -1
  7. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  8. package/dist/plugins/specweave-github/lib/github-client-v2.js +17 -1
  9. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  10. package/dist/plugins/specweave-github/lib/github-issue-updater.js +1 -1
  11. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -1
  12. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
  13. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -1
  14. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
  15. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -1
  16. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
  17. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +7 -6
  18. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
  19. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
  20. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -1
  21. package/dist/src/adapters/adapter-base.js +1 -1
  22. package/dist/src/adapters/adapter-base.js.map +1 -1
  23. package/dist/src/adapters/adapter-loader.js +1 -1
  24. package/dist/src/adapters/adapter-loader.js.map +1 -1
  25. package/dist/src/adapters/agents-md-generator.js +1 -1
  26. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  27. package/dist/src/adapters/claude/adapter.js +1 -1
  28. package/dist/src/adapters/claude/adapter.js.map +1 -1
  29. package/dist/src/adapters/claude-md-generator.js +1 -1
  30. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  31. package/dist/src/adapters/codex/adapter.js +1 -1
  32. package/dist/src/adapters/codex/adapter.js.map +1 -1
  33. package/dist/src/adapters/cursor/adapter.js +1 -1
  34. package/dist/src/adapters/cursor/adapter.js.map +1 -1
  35. package/dist/src/adapters/doc-generator.js +1 -1
  36. package/dist/src/adapters/doc-generator.js.map +1 -1
  37. package/dist/src/adapters/gemini/adapter.js +1 -1
  38. package/dist/src/adapters/gemini/adapter.js.map +1 -1
  39. package/dist/src/adapters/generic/adapter.js +1 -1
  40. package/dist/src/adapters/generic/adapter.js.map +1 -1
  41. package/dist/src/cli/commands/cicd-monitor.js +1 -1
  42. package/dist/src/cli/commands/cicd-monitor.js.map +1 -1
  43. package/dist/src/cli/commands/delete-feature.d.ts +14 -0
  44. package/dist/src/cli/commands/delete-feature.d.ts.map +1 -0
  45. package/dist/src/cli/commands/delete-feature.js +87 -0
  46. package/dist/src/cli/commands/delete-feature.js.map +1 -0
  47. package/dist/src/cli/commands/detect-specs.js +1 -1
  48. package/dist/src/cli/commands/detect-specs.js.map +1 -1
  49. package/dist/src/cli/commands/import-external.js +1 -1
  50. package/dist/src/cli/commands/import-external.js.map +1 -1
  51. package/dist/src/cli/commands/init.d.ts.map +1 -1
  52. package/dist/src/cli/commands/init.js +39 -49
  53. package/dist/src/cli/commands/init.js.map +1 -1
  54. package/dist/src/cli/commands/install.js +1 -1
  55. package/dist/src/cli/commands/install.js.map +1 -1
  56. package/dist/src/cli/commands/list.js +1 -1
  57. package/dist/src/cli/commands/list.js.map +1 -1
  58. package/dist/src/cli/commands/migrate-to-multiproject.js +1 -1
  59. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
  60. package/dist/src/cli/commands/migrate-to-profiles.js +1 -1
  61. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -1
  62. package/dist/src/cli/commands/plan/agent-invoker.js +1 -1
  63. package/dist/src/cli/commands/repair-status-desync.js +1 -1
  64. package/dist/src/cli/commands/repair-status-desync.js.map +1 -1
  65. package/dist/src/cli/commands/revert-wip-limit.js +1 -1
  66. package/dist/src/cli/commands/revert-wip-limit.js.map +1 -1
  67. package/dist/src/cli/commands/sync-specs.js +1 -1
  68. package/dist/src/cli/commands/sync-specs.js.map +1 -1
  69. package/dist/src/cli/helpers/init/initial-increment-generator.js +1 -1
  70. package/dist/src/cli/helpers/init/initial-increment-generator.js.map +1 -1
  71. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  72. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +13 -46
  73. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  74. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  75. package/dist/src/cli/helpers/issue-tracker/index.js +12 -31
  76. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  77. package/dist/src/cli/helpers/issue-tracker/types.d.ts +6 -1
  78. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  79. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
  80. package/dist/src/config/import-config.js +1 -1
  81. package/dist/src/config/import-config.js.map +1 -1
  82. package/dist/src/core/ac-test-validator-cli.js +1 -1
  83. package/dist/src/core/ac-test-validator-cli.js.map +1 -1
  84. package/dist/src/core/ac-test-validator.js +1 -1
  85. package/dist/src/core/ac-test-validator.js.map +1 -1
  86. package/dist/src/core/brownfield/analyzer.js +1 -1
  87. package/dist/src/core/brownfield/analyzer.js.map +1 -1
  88. package/dist/src/core/brownfield/importer.js +1 -1
  89. package/dist/src/core/brownfield/importer.js.map +1 -1
  90. package/dist/src/core/cicd/config-loader.js +1 -1
  91. package/dist/src/core/cicd/config-loader.js.map +1 -1
  92. package/dist/src/core/cicd/notifier.js +1 -1
  93. package/dist/src/core/cicd/notifier.js.map +1 -1
  94. package/dist/src/core/cicd/parent-repo-validator.js +1 -1
  95. package/dist/src/core/cicd/parent-repo-validator.js.map +1 -1
  96. package/dist/src/core/cicd/state-manager.js +1 -1
  97. package/dist/src/core/cicd/state-manager.js.map +1 -1
  98. package/dist/src/core/config-manager.js +1 -1
  99. package/dist/src/core/config-manager.js.map +1 -1
  100. package/dist/src/core/cost-tracker.js +1 -1
  101. package/dist/src/core/cost-tracker.js.map +1 -1
  102. package/dist/src/core/deduplication/command-deduplicator.js +1 -1
  103. package/dist/src/core/deduplication/command-deduplicator.js.map +1 -1
  104. package/dist/src/core/feature-deleter/audit-logger.d.ts +30 -0
  105. package/dist/src/core/feature-deleter/audit-logger.d.ts.map +1 -0
  106. package/dist/src/core/feature-deleter/audit-logger.js +77 -0
  107. package/dist/src/core/feature-deleter/audit-logger.js.map +1 -0
  108. package/dist/src/core/feature-deleter/confirmation-manager.d.ts +39 -0
  109. package/dist/src/core/feature-deleter/confirmation-manager.d.ts.map +1 -0
  110. package/dist/src/core/feature-deleter/confirmation-manager.js +89 -0
  111. package/dist/src/core/feature-deleter/confirmation-manager.js.map +1 -0
  112. package/dist/src/core/feature-deleter/deletion-transaction.d.ts +51 -0
  113. package/dist/src/core/feature-deleter/deletion-transaction.d.ts.map +1 -0
  114. package/dist/src/core/feature-deleter/deletion-transaction.js +185 -0
  115. package/dist/src/core/feature-deleter/deletion-transaction.js.map +1 -0
  116. package/dist/src/core/feature-deleter/git-service.d.ts +43 -0
  117. package/dist/src/core/feature-deleter/git-service.d.ts.map +1 -0
  118. package/dist/src/core/feature-deleter/git-service.js +127 -0
  119. package/dist/src/core/feature-deleter/git-service.js.map +1 -0
  120. package/dist/src/core/feature-deleter/github-service.d.ts +36 -0
  121. package/dist/src/core/feature-deleter/github-service.d.ts.map +1 -0
  122. package/dist/src/core/feature-deleter/github-service.js +102 -0
  123. package/dist/src/core/feature-deleter/github-service.js.map +1 -0
  124. package/dist/src/core/feature-deleter/index.d.ts +35 -0
  125. package/dist/src/core/feature-deleter/index.d.ts.map +1 -0
  126. package/dist/src/core/feature-deleter/index.js +199 -0
  127. package/dist/src/core/feature-deleter/index.js.map +1 -0
  128. package/dist/src/core/feature-deleter/types.d.ts +179 -0
  129. package/dist/src/core/feature-deleter/types.d.ts.map +1 -0
  130. package/dist/src/core/feature-deleter/types.js +7 -0
  131. package/dist/src/core/feature-deleter/types.js.map +1 -0
  132. package/dist/src/core/feature-deleter/validator.d.ts +46 -0
  133. package/dist/src/core/feature-deleter/validator.d.ts.map +1 -0
  134. package/dist/src/core/feature-deleter/validator.js +231 -0
  135. package/dist/src/core/feature-deleter/validator.js.map +1 -0
  136. package/dist/src/core/hooks/HealthReporter.js +1 -1
  137. package/dist/src/core/hooks/HealthReporter.js.map +1 -1
  138. package/dist/src/core/hooks/HookAutoFixer.js +1 -1
  139. package/dist/src/core/hooks/HookAutoFixer.js.map +1 -1
  140. package/dist/src/core/hooks/HookScanner.js +1 -1
  141. package/dist/src/core/hooks/HookScanner.js.map +1 -1
  142. package/dist/src/core/i18n/language-manager.js +1 -1
  143. package/dist/src/core/i18n/language-manager.js.map +1 -1
  144. package/dist/src/core/i18n/locale-manager.js +1 -1
  145. package/dist/src/core/i18n/locale-manager.js.map +1 -1
  146. package/dist/src/core/i18n/system-prompt-injector.js +1 -1
  147. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -1
  148. package/dist/src/core/increment/ac-status-manager.d.ts.map +1 -1
  149. package/dist/src/core/increment/ac-status-manager.js +18 -4
  150. package/dist/src/core/increment/ac-status-manager.js.map +1 -1
  151. package/dist/src/core/increment/active-increment-manager.js +1 -1
  152. package/dist/src/core/increment/active-increment-manager.js.map +1 -1
  153. package/dist/src/core/increment/completion-validator.js +1 -1
  154. package/dist/src/core/increment/completion-validator.js.map +1 -1
  155. package/dist/src/core/increment/conflict-resolver.js +1 -1
  156. package/dist/src/core/increment/conflict-resolver.js.map +1 -1
  157. package/dist/src/core/increment/desync-detector.js +1 -1
  158. package/dist/src/core/increment/desync-detector.js.map +1 -1
  159. package/dist/src/core/increment/discipline-checker.js +1 -1
  160. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  161. package/dist/src/core/increment/duplicate-detector.js +1 -1
  162. package/dist/src/core/increment/duplicate-detector.js.map +1 -1
  163. package/dist/src/core/increment/increment-archiver.js +1 -1
  164. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  165. package/dist/src/core/increment/increment-reopener.js +1 -1
  166. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  167. package/dist/src/core/increment/metadata-manager.js +1 -1
  168. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  169. package/dist/src/core/increment/metadata-validator.js +1 -1
  170. package/dist/src/core/increment/metadata-validator.js.map +1 -1
  171. package/dist/src/core/increment/recent-work-scanner.js +1 -1
  172. package/dist/src/core/increment/recent-work-scanner.js.map +1 -1
  173. package/dist/src/core/increment/spec-frontmatter-updater.js +1 -1
  174. package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
  175. package/dist/src/core/increment/status-auto-transition.js +1 -1
  176. package/dist/src/core/increment/status-auto-transition.js.map +1 -1
  177. package/dist/src/core/increment-status.js +1 -1
  178. package/dist/src/core/increment-status.js.map +1 -1
  179. package/dist/src/core/living-docs/content-distributor.js +1 -1
  180. package/dist/src/core/living-docs/content-distributor.js.map +1 -1
  181. package/dist/src/core/living-docs/cross-linker.js +1 -1
  182. package/dist/src/core/living-docs/cross-linker.js.map +1 -1
  183. package/dist/src/core/living-docs/feature-archiver.js +1 -1
  184. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  185. package/dist/src/core/living-docs/feature-id-manager.js +1 -1
  186. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
  187. package/dist/src/core/living-docs/hierarchy-mapper.js +1 -1
  188. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  189. package/dist/src/core/living-docs/living-docs-sync.d.ts +14 -0
  190. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  191. package/dist/src/core/living-docs/living-docs-sync.js +72 -13
  192. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  193. package/dist/src/core/living-docs/project-detector.js +1 -1
  194. package/dist/src/core/living-docs/project-detector.js.map +1 -1
  195. package/dist/src/core/living-docs/task-project-specific-generator.js +1 -1
  196. package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -1
  197. package/dist/src/core/logging/prompt-logger.js +1 -1
  198. package/dist/src/core/logging/prompt-logger.js.map +1 -1
  199. package/dist/src/core/plugin-loader.js +1 -1
  200. package/dist/src/core/plugin-loader.js.map +1 -1
  201. package/dist/src/core/project-manager.js +1 -1
  202. package/dist/src/core/project-manager.js.map +1 -1
  203. package/dist/src/core/qa/qa-runner.js +1 -1
  204. package/dist/src/core/qa/qa-runner.js.map +1 -1
  205. package/dist/src/core/repo-structure/folder-detector.js +1 -1
  206. package/dist/src/core/repo-structure/folder-detector.js.map +1 -1
  207. package/dist/src/core/repo-structure/setup-state-manager.js +1 -1
  208. package/dist/src/core/repo-structure/setup-state-manager.js.map +1 -1
  209. package/dist/src/core/spec-detector.js +1 -1
  210. package/dist/src/core/spec-detector.js.map +1 -1
  211. package/dist/src/core/specs/spec-metadata-manager.js +1 -1
  212. package/dist/src/core/specs/spec-metadata-manager.js.map +1 -1
  213. package/dist/src/core/status-line/status-line-updater.js +1 -1
  214. package/dist/src/core/status-line/status-line-updater.js.map +1 -1
  215. package/dist/src/core/status-line-validator.js +1 -1
  216. package/dist/src/core/status-line-validator.js.map +1 -1
  217. package/dist/src/core/sync/bidirectional-engine.js +1 -1
  218. package/dist/src/core/sync/bidirectional-engine.js.map +1 -1
  219. package/dist/src/core/sync/profile-manager.js +1 -1
  220. package/dist/src/core/sync/profile-manager.js.map +1 -1
  221. package/dist/src/core/sync/project-context.js +1 -1
  222. package/dist/src/core/sync/project-context.js.map +1 -1
  223. package/dist/src/core/sync/sync-event-logger.js +1 -1
  224. package/dist/src/core/sync/sync-event-logger.js.map +1 -1
  225. package/dist/src/core/types/config.js +1 -1
  226. package/dist/src/core/types/config.js.map +1 -1
  227. package/dist/src/core/us-completion-detector.d.ts +124 -0
  228. package/dist/src/core/us-completion-detector.d.ts.map +1 -0
  229. package/dist/src/core/us-completion-detector.js +270 -0
  230. package/dist/src/core/us-completion-detector.js.map +1 -0
  231. package/dist/src/core/utils/permission-checker.js +1 -1
  232. package/dist/src/core/utils/permission-checker.js.map +1 -1
  233. package/dist/src/core/workflow/autonomous-executor.js +1 -1
  234. package/dist/src/core/workflow/autonomous-executor.js.map +1 -1
  235. package/dist/src/core/workflow/backlog-scanner.js +1 -1
  236. package/dist/src/core/workflow/backlog-scanner.js.map +1 -1
  237. package/dist/src/core/workflow/cost-estimator.js +1 -1
  238. package/dist/src/core/workflow/cost-estimator.js.map +1 -1
  239. package/dist/src/core/workflow/state-manager.js +1 -1
  240. package/dist/src/core/workflow/state-manager.js.map +1 -1
  241. package/dist/src/importers/duplicate-detector.js +1 -1
  242. package/dist/src/importers/duplicate-detector.js.map +1 -1
  243. package/dist/src/importers/item-converter.js +1 -1
  244. package/dist/src/importers/item-converter.js.map +1 -1
  245. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +1 -1
  246. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
  247. package/dist/src/integrations/jira/jira-incremental-mapper.js +3 -3
  248. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
  249. package/dist/src/living-docs/fs-id-allocator.js +1 -1
  250. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  251. package/dist/src/living-docs/id-registry.js +1 -1
  252. package/dist/src/living-docs/id-registry.js.map +1 -1
  253. package/dist/src/sync/external-item-sync-service.js +1 -1
  254. package/dist/src/sync/external-item-sync-service.js.map +1 -1
  255. package/dist/src/sync/sync-metadata.js +1 -1
  256. package/dist/src/sync/sync-metadata.js.map +1 -1
  257. package/dist/src/utils/agents-md-compiler.js +1 -1
  258. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  259. package/dist/src/utils/auto-install.js +1 -1
  260. package/dist/src/utils/auto-install.js.map +1 -1
  261. package/dist/src/utils/cost-reporter.js +1 -1
  262. package/dist/src/utils/cost-reporter.js.map +1 -1
  263. package/dist/src/utils/docs-preview/config-generator.js +1 -1
  264. package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
  265. package/dist/src/utils/docs-preview/docusaurus-setup.js +1 -1
  266. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
  267. package/dist/src/utils/docs-preview/package-installer.js +1 -1
  268. package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
  269. package/dist/src/utils/docs-preview/sidebar-builder.js +1 -1
  270. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -1
  271. package/dist/src/utils/env-file-generator.js +1 -1
  272. package/dist/src/utils/env-file-generator.js.map +1 -1
  273. package/dist/src/utils/external-resource-validator.js +1 -1
  274. package/dist/src/utils/external-resource-validator.js.map +1 -1
  275. package/dist/src/utils/fs-native.d.ts +51 -5
  276. package/dist/src/utils/fs-native.d.ts.map +1 -1
  277. package/dist/src/utils/fs-native.js +100 -5
  278. package/dist/src/utils/fs-native.js.map +1 -1
  279. package/dist/src/utils/plugin-validator.js +1 -1
  280. package/dist/src/utils/plugin-validator.js.map +1 -1
  281. package/dist/src/utils/project-detection.js +1 -1
  282. package/dist/src/utils/project-detection.js.map +1 -1
  283. package/dist/src/utils/project-validator.js +1 -1
  284. package/dist/src/utils/project-validator.js.map +1 -1
  285. package/dist/src/utils/spec-parser.js +1 -1
  286. package/dist/src/utils/spec-parser.js.map +1 -1
  287. package/dist/src/utils/spec-splitter.js +1 -1
  288. package/dist/src/utils/spec-splitter.js.map +1 -1
  289. package/dist/src/validators/ac-coverage-validator.js +1 -1
  290. package/dist/src/validators/ac-coverage-validator.js.map +1 -1
  291. package/package.json +5 -6
  292. package/plugins/specweave/agents/code-standards-detective/AGENT.md +47 -0
  293. package/plugins/specweave/agents/docs-writer/AGENT.md +134 -1
  294. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +1 -0
  295. package/plugins/specweave/agents/infrastructure/AGENT.md +48 -1
  296. package/plugins/specweave/agents/performance/AGENT.md +46 -0
  297. package/plugins/specweave/agents/pm/AGENT.md +115 -3
  298. package/plugins/specweave/agents/qa-lead/AGENT.md +40 -1
  299. package/plugins/specweave/agents/reflective-reviewer/AGENT.md +5 -0
  300. package/plugins/specweave/agents/security/AGENT.md +45 -0
  301. package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +128 -1
  302. package/plugins/specweave/agents/tech-lead/AGENT.md +138 -1
  303. package/plugins/specweave/agents/translator/AGENT.md +132 -0
  304. package/plugins/specweave/commands/specweave-sync-progress.md +616 -0
  305. package/plugins/specweave/hooks/hooks.json +0 -9
  306. package/plugins/specweave/hooks/post-increment-completion.sh +133 -0
  307. package/plugins/specweave/hooks/post-metadata-change.sh +28 -23
  308. package/plugins/specweave/hooks/post-task-completion.sh +7 -0
  309. package/plugins/specweave/hooks/pre-edit-write-consolidated.sh +44 -7
  310. package/plugins/specweave/hooks/shared/bulk-operation-detector.sh +167 -0
  311. package/plugins/specweave/lib/hooks/consolidated-sync.js +19 -2
  312. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +135 -0
  313. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +18 -4
  314. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -1
  315. package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js +1 -1
  316. package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js.map +1 -1
  317. package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js +1 -1
  318. package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js.map +1 -1
  319. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +1 -1
  320. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  321. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
  322. package/plugins/specweave/skills/progress-sync/SKILL.md +405 -0
  323. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
  324. package/plugins/specweave-ado/lib/ado-project-detector.js +1 -1
  325. package/plugins/specweave-ado/lib/ado-project-detector.ts +1 -1
  326. package/plugins/specweave-ado/lib/conflict-resolver.js +1 -1
  327. package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
  328. package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +1 -1
  329. package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +5 -0
  330. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -15
  331. package/plugins/specweave-github/hooks/README.md +34 -25
  332. package/plugins/specweave-github/lib/CodeValidator.js +1 -1
  333. package/plugins/specweave-github/lib/CodeValidator.ts +2 -2
  334. package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
  335. package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +1 -1
  336. package/plugins/specweave-github/lib/github-client-v2.js +13 -1
  337. package/plugins/specweave-github/lib/github-client-v2.ts +17 -1
  338. package/plugins/specweave-github/lib/github-issue-updater.js +1 -1
  339. package/plugins/specweave-github/lib/github-issue-updater.ts +1 -1
  340. package/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
  341. package/plugins/specweave-github/lib/github-sync-bidirectional.ts +1 -1
  342. package/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
  343. package/plugins/specweave-github/lib/github-sync-increment-changes.ts +1 -1
  344. package/plugins/specweave-github/lib/user-story-issue-builder.js +4 -4
  345. package/plugins/specweave-github/lib/user-story-issue-builder.ts +7 -6
  346. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +48 -1
  347. package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +6 -1
  348. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +6 -1
  349. package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +6 -1
  350. package/plugins/specweave-infrastructure/agents/sre/AGENT.md +5 -0
  351. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
  352. package/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
  353. package/plugins/specweave-jira/lib/jira-epic-sync.ts +1 -1
  354. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +5 -0
  355. package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +47 -2
  356. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +1 -1
  357. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +5 -0
  358. package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +6 -1
  359. package/plugins/specweave-payments/agents/payment-integration/AGENT.md +1 -1
  360. package/plugins/specweave/agents/pm/AGENT.md.bak +0 -1893
  361. package/plugins/specweave/hooks/docs-changed.sh.backup +0 -79
  362. package/plugins/specweave/hooks/human-input-required.sh.backup +0 -75
  363. package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +0 -245
  364. package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +0 -149
  365. package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +0 -163
  366. package/plugins/specweave/hooks/post-first-increment.sh.backup +0 -61
  367. package/plugins/specweave/hooks/post-first-increment.sh.bak +0 -61
  368. package/plugins/specweave/hooks/post-increment-change.sh.backup +0 -98
  369. package/plugins/specweave/hooks/post-increment-completion.sh.backup +0 -231
  370. package/plugins/specweave/hooks/post-increment-planning.sh.backup +0 -1048
  371. package/plugins/specweave/hooks/post-increment-status-change.sh.backup +0 -147
  372. package/plugins/specweave/hooks/post-spec-update.sh.backup +0 -158
  373. package/plugins/specweave/hooks/post-spec-update.sh.bak +0 -158
  374. package/plugins/specweave/hooks/post-user-story-complete.sh.backup +0 -179
  375. package/plugins/specweave/hooks/post-user-story-complete.sh.bak +0 -179
  376. package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +0 -83
  377. package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +0 -83
  378. package/plugins/specweave/hooks/pre-implementation.sh.backup +0 -67
  379. package/plugins/specweave/hooks/pre-task-completion.sh.backup +0 -194
  380. package/plugins/specweave/hooks/pre-tool-use.sh.backup +0 -133
  381. package/plugins/specweave/hooks/user-prompt-submit.sh.backup +0 -386
  382. package/plugins/specweave/hooks/user-prompt-submit.sh.bak +0 -386
  383. package/plugins/specweave/lib/hooks/auto-transition.js.bak +0 -50
  384. package/plugins/specweave/lib/hooks/auto-transition.ts.bak +0 -84
  385. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js.bak +0 -0
  386. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.bak +0 -89
  387. package/plugins/specweave/lib/hooks/git-diff-analyzer.js.bak +0 -142
  388. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts.bak +0 -269
  389. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js.bak +0 -0
  390. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.bak +0 -60
  391. package/plugins/specweave/lib/hooks/invoke-translator-skill.js.bak +0 -155
  392. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts.bak +0 -264
  393. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js.bak +0 -0
  394. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.bak +0 -42
  395. package/plugins/specweave/lib/hooks/prepare-reflection-context.js.bak +0 -110
  396. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts.bak +0 -178
  397. package/plugins/specweave/lib/hooks/reflection-config-loader.d.js.bak +0 -0
  398. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.bak +0 -45
  399. package/plugins/specweave/lib/hooks/reflection-config-loader.js.bak +0 -92
  400. package/plugins/specweave/lib/hooks/reflection-config-loader.ts.bak +0 -156
  401. package/plugins/specweave/lib/hooks/reflection-parser.d.js.bak +0 -0
  402. package/plugins/specweave/lib/hooks/reflection-parser.d.ts.bak +0 -33
  403. package/plugins/specweave/lib/hooks/reflection-parser.js.bak +0 -301
  404. package/plugins/specweave/lib/hooks/reflection-parser.ts.bak +0 -484
  405. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js.bak +0 -0
  406. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.bak +0 -56
  407. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.bak +0 -182
  408. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts.bak +0 -306
  409. package/plugins/specweave/lib/hooks/reflection-storage.d.js.bak +0 -0
  410. package/plugins/specweave/lib/hooks/reflection-storage.d.ts.bak +0 -64
  411. package/plugins/specweave/lib/hooks/reflection-storage.js.bak +0 -231
  412. package/plugins/specweave/lib/hooks/reflection-storage.ts.bak +0 -369
  413. package/plugins/specweave/lib/hooks/run-self-reflection.d.js.bak +0 -0
  414. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.bak +0 -43
  415. package/plugins/specweave/lib/hooks/run-self-reflection.js.bak +0 -132
  416. package/plugins/specweave/lib/hooks/run-self-reflection.ts.bak +0 -258
  417. package/plugins/specweave/lib/hooks/sync-cache.js.bak +0 -294
  418. package/plugins/specweave/lib/hooks/sync-living-docs.d.js.bak +0 -1
  419. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.bak +0 -27
  420. package/plugins/specweave/lib/hooks/sync-living-docs.js.bak +0 -339
  421. package/plugins/specweave/lib/hooks/sync-us-tasks.js.bak +0 -476
  422. package/plugins/specweave/lib/hooks/translate-file.d.js.bak +0 -0
  423. package/plugins/specweave/lib/hooks/translate-file.d.ts.bak +0 -59
  424. package/plugins/specweave/lib/hooks/translate-file.js.bak +0 -289
  425. package/plugins/specweave/lib/hooks/translate-file.ts.bak +0 -428
  426. package/plugins/specweave/lib/hooks/translate-living-docs.d.js.bak +0 -0
  427. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.bak +0 -13
  428. package/plugins/specweave/lib/hooks/translate-living-docs.js.bak +0 -119
  429. package/plugins/specweave/lib/hooks/translate-living-docs.ts.bak +0 -224
  430. package/plugins/specweave/lib/hooks/update-ac-status.js.bak +0 -51
  431. package/plugins/specweave/lib/hooks/update-ac-status.ts.bak +0 -103
  432. package/plugins/specweave/lib/hooks/update-tasks-md.d.js.bak +0 -1
  433. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.bak +0 -29
  434. package/plugins/specweave/lib/hooks/update-tasks-md.js.bak +0 -296
  435. package/plugins/specweave/lib/hooks/update-tasks-md.ts.bak +0 -489
  436. package/plugins/specweave-ado/hooks/hooks.json +0 -15
  437. package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +0 -353
  438. package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +0 -172
  439. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -170
  440. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +0 -718
  441. package/plugins/specweave-github/hooks/hooks.json +0 -15
  442. package/plugins/specweave-github/hooks/post-task-completion.sh.backup +0 -258
  443. package/plugins/specweave-jira/hooks/hooks.json +0 -15
  444. package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +0 -172
  445. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +0 -600
  446. package/plugins/specweave-release/hooks/hooks.json +0 -15
  447. package/plugins/specweave-release/hooks/post-task-completion.sh.backup +0 -110
@@ -0,0 +1,405 @@
1
+ ---
2
+ name: progress-sync
3
+ description: Comprehensive progress synchronization expert. Explains when and how to use /specweave:sync-progress for multi-system sync (tasks → docs → external tools). Activates for sync progress, update progress, sync everything, sync all systems, sync to GitHub, sync to JIRA, how to sync, progress synchronization, multi-system sync.
4
+ ---
5
+
6
+ # Progress Sync Expert
7
+
8
+ I'm the comprehensive progress synchronization expert for SpecWeave. I help you understand and use the `/specweave:sync-progress` command for end-to-end progress synchronization.
9
+
10
+ ---
11
+
12
+ ## What is /specweave:sync-progress?
13
+
14
+ **The "single button" to sync progress across all systems**:
15
+
16
+ ```
17
+ tasks.md → spec.md ACs → living docs → external tools (GitHub/JIRA/ADO)
18
+ ```
19
+
20
+ **One command, complete synchronization**:
21
+ ```bash
22
+ /specweave:sync-progress
23
+ ```
24
+
25
+ ---
26
+
27
+ ## When to Use This Command
28
+
29
+ ### ✅ Use /specweave:sync-progress when:
30
+
31
+ 1. **After completing tasks**: You've marked tasks as done in tasks.md and want to sync everywhere
32
+ 2. **Before closing increment**: Final sync before `/specweave:done` to ensure all systems in sync
33
+ 3. **Progress check**: Want to update status line and external tools with latest progress
34
+ 4. **After bulk task completion**: Completed multiple tasks, sync all at once
35
+ 5. **Manual sync trigger**: Hooks didn't fire or you want to force a sync
36
+
37
+ ### ❌ Don't use when:
38
+
39
+ 1. **Only want to sync ACs**: Use `/specweave:sync-acs` instead (faster, more targeted)
40
+ 2. **Only want to sync docs**: Use `/specweave:sync-specs` instead
41
+ 3. **Only want to sync GitHub**: Use `/specweave-github:sync` instead
42
+ 4. **Increment not started**: No tasks to sync yet
43
+
44
+ ---
45
+
46
+ ## How It Works
47
+
48
+ **Multi-Phase Orchestration**:
49
+
50
+ ```
51
+ Phase 1: Tasks → ACs (spec.md)
52
+ └─ Reads completed tasks from tasks.md
53
+ └─ Finds linked ACs (via "Satisfies ACs" field)
54
+ └─ Marks ACs as complete in spec.md: [ ] → [x]
55
+ └─ Updates metadata.json with AC count
56
+
57
+ Phase 2: Spec → Living Docs (User Stories)
58
+ └─ Syncs spec.md to living docs structure
59
+ └─ Updates user story completion status
60
+ └─ Generates/updates feature ID if needed
61
+
62
+ Phase 3: Living Docs → External Tools
63
+ ├─ GitHub: Closes completed user story issues, updates epic checklist
64
+ ├─ JIRA: Updates story status, transitions workflow
65
+ └─ Azure DevOps: Updates work item state, comments
66
+
67
+ Phase 4: Status Line Cache
68
+ └─ Updates status line with latest completion %
69
+ ```
70
+
71
+ ---
72
+
73
+ ## Usage Examples
74
+
75
+ ### Example 1: After Completing Tasks (Typical Workflow)
76
+
77
+ **Scenario**: You completed 5 tasks and marked them in tasks.md. Now sync everywhere.
78
+
79
+ ```bash
80
+ # Single command syncs everything
81
+ /specweave:sync-progress
82
+ ```
83
+
84
+ **What happens**:
85
+ 1. ✅ 5 tasks → 12 ACs marked complete in spec.md
86
+ 2. ✅ 2 user stories marked complete in living docs
87
+ 3. ✅ 2 GitHub issues closed
88
+ 4. ✅ Epic issue checklist updated (5/37 tasks complete)
89
+ 5. ✅ Status line shows 68% → 85% completion
90
+
91
+ ---
92
+
93
+ ### Example 2: Before Closing Increment
94
+
95
+ **Scenario**: All 37 tasks complete, ready to close. Ensure final sync.
96
+
97
+ ```bash
98
+ # Final sync before closure
99
+ /specweave:sync-progress 0053
100
+
101
+ # Then close increment
102
+ /specweave:done 0053
103
+ ```
104
+
105
+ **Why important**: `/specweave:done` validates completion. Final sync ensures:
106
+ - All ACs marked complete
107
+ - All user stories synced
108
+ - All GitHub issues closed
109
+ - Status line shows 100%
110
+
111
+ ---
112
+
113
+ ### Example 3: Dry-Run (Preview Mode)
114
+
115
+ **Scenario**: Want to see what will be synced before executing.
116
+
117
+ ```bash
118
+ # Preview mode
119
+ /specweave:sync-progress 0053 --dry-run
120
+ ```
121
+
122
+ **Output**:
123
+ ```
124
+ 🔍 DRY-RUN MODE (No changes made)
125
+
126
+ Would sync:
127
+ • 37 completed tasks → 70 ACs in spec.md
128
+ • spec.md → 6 user stories in living docs
129
+ • Living docs → 6 GitHub issues (would close completed)
130
+ • Status line cache (would update completion %)
131
+
132
+ Run without --dry-run to execute sync.
133
+ ```
134
+
135
+ ---
136
+
137
+ ### Example 4: Local-Only Sync (No External Tools)
138
+
139
+ **Scenario**: Offline work, don't want to sync to GitHub/JIRA yet.
140
+
141
+ ```bash
142
+ # Skip external tools
143
+ /specweave:sync-progress 0053 --no-github --no-jira --no-ado
144
+ ```
145
+
146
+ **What syncs**:
147
+ - ✅ Tasks → ACs (spec.md)
148
+ - ✅ Spec → Living docs
149
+ - ❌ External tools (skipped)
150
+ - ✅ Status line cache
151
+
152
+ ---
153
+
154
+ ## Flags
155
+
156
+ | Flag | Purpose | Example |
157
+ |------|---------|---------|
158
+ | `--dry-run` | Preview without executing | `--dry-run` |
159
+ | `--no-github` | Skip GitHub sync | `--no-github` |
160
+ | `--no-jira` | Skip JIRA sync | `--no-jira` |
161
+ | `--no-ado` | Skip Azure DevOps sync | `--no-ado` |
162
+ | `--force` | Force sync even if validation fails | `--force` |
163
+
164
+ **Combine flags**:
165
+ ```bash
166
+ # Dry-run with no external tools
167
+ /specweave:sync-progress --dry-run --no-github
168
+
169
+ # Force sync, skip GitHub
170
+ /specweave:sync-progress --force --no-github
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Comparison with Other Sync Commands
176
+
177
+ | Command | Scope | When to Use |
178
+ |---------|-------|-------------|
179
+ | `/specweave:sync-acs` | Tasks → ACs only | Quick AC update |
180
+ | `/specweave:sync-specs` | Spec → Docs only | After spec changes |
181
+ | `/specweave-github:sync` | Docs → GitHub only | GitHub-only sync |
182
+ | `/specweave:sync-progress` | **Tasks → Docs → External** | **Complete sync** ✅ |
183
+
184
+ **Rule of thumb**:
185
+ - Need **targeted sync** → Use specific command (`sync-acs`, `sync-specs`)
186
+ - Need **complete sync** → Use `/specweave:sync-progress` ✅
187
+
188
+ ---
189
+
190
+ ## Auto-Detection
191
+
192
+ **Smart increment detection**:
193
+
194
+ ```bash
195
+ # Explicit increment ID
196
+ /specweave:sync-progress 0053
197
+
198
+ # Auto-detect from active increment
199
+ /specweave:sync-progress
200
+ ```
201
+
202
+ **How auto-detection works**:
203
+ 1. Reads `.specweave/state/active-increment.json`
204
+ 2. Finds first active increment ID
205
+ 3. Uses that increment for sync
206
+
207
+ ---
208
+
209
+ ## External Tool Configuration
210
+
211
+ **Automatic detection of configured tools**:
212
+
213
+ The command checks `.specweave/config.json` for:
214
+ - GitHub: `"provider": "github"`
215
+ - JIRA: `"provider": "jira"`
216
+ - Azure DevOps: `"provider": "azure-devops"`
217
+
218
+ **Only configured tools are synced**:
219
+
220
+ ```
221
+ ✅ GitHub integration detected → Will sync
222
+ ℹ️ No JIRA integration → Skip
223
+ ℹ️ No ADO integration → Skip
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Error Handling
229
+
230
+ **Graceful degradation**:
231
+
232
+ | Error Type | Behavior | Impact |
233
+ |------------|----------|--------|
234
+ | AC sync fails | ❌ Abort sync | Critical - blocks all sync |
235
+ | Docs sync fails | ❌ Abort sync | Critical - blocks external sync |
236
+ | GitHub sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
237
+ | JIRA sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
238
+ | ADO sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
239
+
240
+ **Philosophy**: Core sync (tasks → docs) must succeed. External tool sync is best-effort.
241
+
242
+ ---
243
+
244
+ ## Troubleshooting
245
+
246
+ ### Issue: "No active increment found"
247
+
248
+ **Error**:
249
+ ```
250
+ ❌ No active increment found
251
+ ```
252
+
253
+ **Fix**:
254
+ ```bash
255
+ # Provide increment ID explicitly
256
+ /specweave:sync-progress 0053
257
+ ```
258
+
259
+ ---
260
+
261
+ ### Issue: "AC sync had warnings"
262
+
263
+ **Error**:
264
+ ```
265
+ ⚠️ AC sync had warnings: 5 ACs not found in spec.md
266
+ ```
267
+
268
+ **Fix**:
269
+ ```bash
270
+ # Embed ACs from living docs into spec.md
271
+ /specweave:embed-acs 0053
272
+
273
+ # Then retry sync
274
+ /specweave:sync-progress 0053
275
+ ```
276
+
277
+ **Why this happens**: spec.md missing inline ACs (ADR-0064 requirement).
278
+
279
+ ---
280
+
281
+ ### Issue: "GitHub rate limit exceeded"
282
+
283
+ **Error**:
284
+ ```
285
+ ⚠️ GitHub sync had warnings: Rate limit exceeded
286
+ ```
287
+
288
+ **Fix**: Non-critical. Docs are synced. Retry later when rate limit resets:
289
+
290
+ ```bash
291
+ # Retry GitHub sync only (when rate limit resets)
292
+ /specweave-github:sync 0053
293
+ ```
294
+
295
+ ---
296
+
297
+ ## Integration with Workflow
298
+
299
+ **Typical increment workflow with progress sync**:
300
+
301
+ ```bash
302
+ # 1. Plan increment
303
+ /specweave:increment "Safe feature deletion"
304
+
305
+ # 2. Execute tasks
306
+ /specweave:do
307
+
308
+ # [Complete tasks manually or via sub-agents...]
309
+
310
+ # 3. Sync progress after each batch of tasks
311
+ /specweave:sync-progress
312
+
313
+ # 4. Final sync before closure
314
+ /specweave:sync-progress 0053
315
+
316
+ # 5. Validate quality
317
+ /specweave:validate 0053 --quality
318
+
319
+ # 6. Close increment
320
+ /specweave:done 0053
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Best Practices
326
+
327
+ ### ✅ DO:
328
+
329
+ 1. **Sync after task batches**: Complete 3-5 tasks → sync → continue
330
+ 2. **Final sync before closure**: Ensure 100% sync before `/specweave:done`
331
+ 3. **Use dry-run first**: Preview changes with `--dry-run`
332
+ 4. **Check external tools**: Verify GitHub/JIRA after sync
333
+ 5. **Review status line**: Ensure completion % updated correctly
334
+
335
+ ### ❌ DON'T:
336
+
337
+ 1. **Don't sync for every task**: Batching is more efficient
338
+ 2. **Don't skip final sync**: Always sync before `/specweave:done`
339
+ 3. **Don't ignore warnings**: AC sync warnings indicate missing ACs
340
+ 4. **Don't force sync without understanding**: `--force` bypasses validation
341
+ 5. **Don't sync before tasks complete**: Sync when progress actually changed
342
+
343
+ ---
344
+
345
+ ## Architecture
346
+
347
+ **Why comprehensive sync is needed**:
348
+
349
+ ```
350
+ Problem: Manual multi-step sync is error-prone
351
+ 1. Update spec.md ACs manually
352
+ 2. Run /specweave:sync-specs
353
+ 3. Run /specweave-github:sync
354
+ 4. Run /specweave:update-status
355
+ 5. Check each system for correctness
356
+
357
+ Solution: Single command orchestrates all steps
358
+ /specweave:sync-progress → Does all 4 steps automatically
359
+ ```
360
+
361
+ **Benefits**:
362
+ - ✅ **Single command**: One button for complete sync
363
+ - ✅ **Guaranteed consistency**: All systems synced together
364
+ - ✅ **Error resilience**: Non-critical failures don't block core sync
365
+ - ✅ **Audit trail**: Comprehensive report shows what synced
366
+ - ✅ **Dry-run support**: Preview before executing
367
+
368
+ ---
369
+
370
+ ## When Command Was Added
371
+
372
+ **Version**: v0.25.0+
373
+ **Increment**: 0053-safe-feature-deletion
374
+ **ADR**: None yet (new feature)
375
+
376
+ **Context**: Before this command, users had to manually:
377
+ 1. Run `/specweave:sync-acs`
378
+ 2. Run `/specweave:sync-specs`
379
+ 3. Run `/specweave-github:sync`
380
+ 4. Run `/specweave:update-status`
381
+
382
+ Now: **One command does all 4 steps** ✅
383
+
384
+ ---
385
+
386
+ ## Related Commands
387
+
388
+ - `/specweave:sync-acs` - Sync tasks → ACs only
389
+ - `/specweave:sync-specs` - Sync spec → living docs only
390
+ - `/specweave:sync-tasks` - Sync external → tasks (bidirectional)
391
+ - `/specweave-github:sync` - Sync docs → GitHub only
392
+ - `/specweave-jira:sync` - Sync docs → JIRA only
393
+ - `/specweave-ado:sync` - Sync docs → ADO only
394
+ - `/specweave:update-status` - Update status line cache
395
+
396
+ ---
397
+
398
+ **I'm here to help you sync progress efficiently across all systems!**
399
+
400
+ Ask me:
401
+ - "How do I sync progress to GitHub?"
402
+ - "What's the difference between sync-progress and sync-acs?"
403
+ - "How do I preview sync without executing?"
404
+ - "Why did my GitHub sync fail?"
405
+ - "When should I use --dry-run?"
@@ -373,7 +373,6 @@ ${userStory.technicalContext}
373
373
  return mapping.task || "Task";
374
374
  case "Subtask":
375
375
  return mapping.task || "Task";
376
- // ADO doesn't have subtasks, use Task
377
376
  default:
378
377
  return "User Story";
379
378
  }
@@ -1,4 +1,4 @@
1
- import * as fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import * as path from "path";
3
3
  const PROJECT_KEYWORDS = {
4
4
  "AuthService": [
@@ -5,7 +5,7 @@
5
5
  * based on content analysis, folder structure, and configuration.
6
6
  */
7
7
 
8
- import * as fs from 'fs-extra';
8
+ import * as fs from '../../../src/utils/fs-native.js';
9
9
  import * as path from 'path';
10
10
  import { AzureDevOpsStrategy } from '../../../src/cli/helpers/issue-tracker/types';
11
11
 
@@ -1,4 +1,4 @@
1
- import * as fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import * as path from "path";
3
3
  import * as yaml from "yaml";
4
4
  const STATUS_MAPPING = {
@@ -6,7 +6,7 @@
6
6
  * take precedence over local development status.
7
7
  */
8
8
 
9
- import * as fs from 'fs-extra';
9
+ import * as fs from '../../../src/utils/fs-native.js';
10
10
  import * as path from 'path';
11
11
  import * as yaml from 'yaml';
12
12
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: database-optimizer
3
3
  description: Expert database optimizer specializing in modern performance tuning, query optimization, and scalable architectures. Masters advanced indexing, N+1 resolution, multi-tier caching, partitioning strategies, and cloud database optimization. Handles complex query analysis, migration strategies, and performance monitoring. Use PROACTIVELY for database optimization, performance issues, or scalability challenges.
4
- model: haiku
4
+ model: claude-haiku-4-5-20251001
5
5
  model_preference: sonnet
6
6
  cost_profile: planning
7
7
  fallback_behavior: strict
@@ -8,10 +8,15 @@ tools:
8
8
  - Bash
9
9
  - Glob
10
10
  - Grep
11
+ max_response_tokens: 2000
11
12
  ---
12
13
 
13
14
  # Frontend Architect Agent
14
15
 
16
+ ## ⚠️ Chunking for Large Frontend Architectures
17
+
18
+ When generating comprehensive frontend architectures that exceed 1000 lines (e.g., complete component library with Atomic Design, state management, routing, and build configuration), generate output **incrementally** to prevent crashes. Break large frontend implementations into logical layers (e.g., Atomic Components → State Management → Routing → Build Config → Testing Setup) and ask the user which layer to implement next. This ensures reliable delivery of frontend architecture without overwhelming the system.
19
+
15
20
  You are an expert frontend architect with deep knowledge of modern frontend frameworks, architecture patterns, and best practices.
16
21
 
17
22
  ## Expertise
@@ -15,19 +15,5 @@
15
15
  "integration",
16
16
  "sync",
17
17
  "specweave"
18
- ],
19
- "hooks": {
20
- "PostToolUse": [
21
- {
22
- "matcher": "TodoWrite",
23
- "hooks": [
24
- {
25
- "type": "command",
26
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-task-completion.sh",
27
- "timeout": 15
28
- }
29
- ]
30
- }
31
- ]
32
- }
18
+ ]
33
19
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## Purpose
9
9
 
10
- This hook automatically syncs SpecWeave increment progress to GitHub Issues after each task completion.
10
+ This hook provides GitHub Issues sync functionality for SpecWeave increments.
11
11
 
12
12
  **Key Features**:
13
13
  - ✅ Updates GitHub issue checkboxes based on `tasks.md` completion status
@@ -16,13 +16,15 @@ This hook automatically syncs SpecWeave increment progress to GitHub Issues afte
16
16
  - ✅ Non-blocking (failures don't stop core workflow)
17
17
  - ✅ Self-contained (no dependencies on core plugin)
18
18
 
19
+ **IMPORTANT CHANGE (v0.26.0)**: This hook is NO LONGER automatically triggered on task completion. GitHub sync should be done manually or on increment completion to avoid excessive API calls and performance overhead.
20
+
19
21
  ---
20
22
 
21
23
  ## Available Hooks
22
24
 
23
25
  ### 1. `post-task-completion.sh`
24
26
 
25
- **Triggers**: After ANY task is marked complete (via TodoWrite tool)
27
+ **Triggers**: Manual invocation or increment completion (NOT on task completion)
26
28
 
27
29
  **Preconditions**:
28
30
  - ✅ Active increment exists (`.specweave/increments/####/`)
@@ -59,30 +61,36 @@ Log: "[GitHub] ✅ GitHub sync complete"
59
61
 
60
62
  ## Configuration
61
63
 
62
- ### Hook Registration (`hooks.json`)
64
+ ### Hook Registration
63
65
 
64
- ```json
65
- {
66
- "hooks": {
67
- "PostToolUse": [
68
- {
69
- "matcher": "TodoWrite",
70
- "hooks": [
71
- {
72
- "type": "command",
73
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-task-completion.sh"
74
- }
75
- ]
76
- }
77
- ]
78
- }
79
- }
66
+ **DEPRECATED (v0.26.0)**: This hook is NO LONGER automatically registered on TodoWrite events.
67
+
68
+ **Previous behavior (v0.24.0 and earlier)**:
69
+ - Hook automatically fired on EVERY task completion
70
+ - Caused excessive GitHub API calls
71
+ - Created performance overhead and duplicate executions
72
+
73
+ **New behavior (v0.26.0+)**:
74
+ - Hook must be invoked manually via `/specweave-github:sync`
75
+ - OR triggered on increment completion (not task completion)
76
+ - Reduces API calls by 90%+
77
+ - Eliminates duplicate hook executions
78
+
79
+ ### Usage
80
+
81
+ **Manual Sync** (recommended workflow):
82
+ ```bash
83
+ # After completing several tasks, sync progress to GitHub
84
+ /specweave-github:sync
85
+
86
+ # Or sync specific feature
87
+ /specweave-github:sync FS-048
80
88
  ```
81
89
 
82
- **Key Points**:
83
- - Uses `${CLAUDE_PLUGIN_ROOT}` to reference plugin directory
84
- - Matches `TodoWrite` tool (fires when tasks complete)
85
- - Runs as `command` type (shell script)
90
+ **Automatic Sync Options**:
91
+ 1. **On Increment Completion**: Add hook to specweave plugin's post-increment-completion
92
+ 2. **Periodic Sync**: Set up cron job or CI/CD trigger
93
+ 3. **On Demand**: Call `/specweave-github:sync` when needed
86
94
 
87
95
  ### Metadata Format
88
96
 
@@ -143,8 +151,9 @@ bash -n plugins/specweave-github/hooks/post-task-completion.sh
143
151
 
144
152
  1. Create increment: `/specweave:increment "test feature"`
145
153
  2. Create GitHub issue: `/specweave-github:create-issue 0001`
146
- 3. Complete a task (TodoWrite)
147
- 4. Hook fires Check GitHub issue for updates
154
+ 3. Complete several tasks via TodoWrite
155
+ 4. **Manually trigger sync**: `/specweave-github:sync`
156
+ 5. Check GitHub issue for updates
148
157
 
149
158
  ---
150
159
 
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  class CodeValidator {
4
4
  constructor(options = {}) {
@@ -12,7 +12,7 @@
12
12
  * @module CodeValidator
13
13
  */
14
14
 
15
- import fs from 'fs-extra';
15
+ import * as fs from '../../../src/utils/fs-native.js';
16
16
  import path from 'path';
17
17
 
18
18
  /**
@@ -133,7 +133,7 @@ export class CodeValidator {
133
133
  // Read file content
134
134
  const content = await fs.readFile(absolutePath, 'utf-8');
135
135
  const lines = content.split('\n');
136
- const nonEmptyLines = lines.filter(line => line.trim().length > 0);
136
+ const nonEmptyLines = lines.filter((line: string) => line.trim().length > 0);
137
137
 
138
138
  // Check line count
139
139
  if (nonEmptyLines.length < this.options.minLines) {
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
4
  import { CodeValidator } from "./CodeValidator.js";
@@ -18,7 +18,7 @@
18
18
  * @module ThreeLayerSyncManager
19
19
  */
20
20
 
21
- import fs from 'fs-extra';
21
+ import * as fs from '../../../src/utils/fs-native.js';
22
22
  import path from 'path';
23
23
  import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
24
24
  import { CodeValidator, type TaskValidationResult } from './CodeValidator.js';
@@ -202,7 +202,19 @@ FIX: Use /specweave:sync-docs to generate living docs, then sync to GitHub.
202
202
  args.push("--label", label);
203
203
  }
204
204
  if (milestone !== void 0) {
205
- args.push("--milestone", String(milestone));
205
+ if (typeof milestone === "number") {
206
+ const msResult = await execFileNoThrow("gh", [
207
+ "api",
208
+ `repos/${this.fullRepo}/milestones/${milestone}`,
209
+ "--jq",
210
+ ".title"
211
+ ]);
212
+ if (msResult.exitCode === 0 && msResult.stdout.trim()) {
213
+ args.push("--milestone", msResult.stdout.trim());
214
+ }
215
+ } else {
216
+ args.push("--milestone", milestone);
217
+ }
206
218
  }
207
219
  const createResult = await execFileNoThrow("gh", args);
208
220
  if (createResult.exitCode !== 0) {
@@ -283,7 +283,23 @@ export class GitHubClientV2 {
283
283
 
284
284
  // Add milestone
285
285
  if (milestone !== undefined) {
286
- args.push('--milestone', String(milestone));
286
+ // gh CLI requires milestone TITLE, not number
287
+ if (typeof milestone === 'number') {
288
+ // Fetch milestone by number to get title
289
+ const msResult = await execFileNoThrow('gh', [
290
+ 'api',
291
+ `repos/${this.fullRepo}/milestones/${milestone}`,
292
+ '--jq',
293
+ '.title'
294
+ ]);
295
+
296
+ if (msResult.exitCode === 0 && msResult.stdout.trim()) {
297
+ args.push('--milestone', msResult.stdout.trim());
298
+ }
299
+ // If milestone fetch fails, skip milestone assignment (non-blocking)
300
+ } else {
301
+ args.push('--milestone', milestone);
302
+ }
287
303
  }
288
304
 
289
305
  // Create issue (returns URL)
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
4
  async function updateIssueLivingDocs(issueNumber, livingDocs, owner, repo) {