@winspan/claude-forge 9.2.0 → 9.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/DEVELOPMENT.md +80 -19
  2. package/README.md +13 -6
  3. package/dist/catalogs/agents.json +19 -24
  4. package/dist/catalogs/skills.json +139 -27
  5. package/dist/claudemd/templates/swarm-protocol.md +1 -1
  6. package/dist/cli/commands/agent.d.ts +169 -0
  7. package/dist/cli/commands/agent.d.ts.map +1 -0
  8. package/dist/cli/commands/agent.js +690 -0
  9. package/dist/cli/commands/agent.js.map +1 -0
  10. package/dist/cli/commands/codegraph.d.ts +17 -0
  11. package/dist/cli/commands/codegraph.d.ts.map +1 -0
  12. package/dist/cli/commands/codegraph.js +263 -0
  13. package/dist/cli/commands/codegraph.js.map +1 -0
  14. package/dist/cli/commands/decisions.d.ts.map +1 -1
  15. package/dist/cli/commands/decisions.js +46 -9
  16. package/dist/cli/commands/decisions.js.map +1 -1
  17. package/dist/cli/commands/executions.d.ts.map +1 -1
  18. package/dist/cli/commands/executions.js +2 -1
  19. package/dist/cli/commands/executions.js.map +1 -1
  20. package/dist/cli/commands/insights-goal-check.d.ts +5 -1
  21. package/dist/cli/commands/insights-goal-check.d.ts.map +1 -1
  22. package/dist/cli/commands/insights-goal-check.js +15 -15
  23. package/dist/cli/commands/insights-goal-check.js.map +1 -1
  24. package/dist/cli/commands/knowledge.d.ts +51 -0
  25. package/dist/cli/commands/knowledge.d.ts.map +1 -1
  26. package/dist/cli/commands/knowledge.js +202 -29
  27. package/dist/cli/commands/knowledge.js.map +1 -1
  28. package/dist/cli/commands/loop.d.ts +95 -0
  29. package/dist/cli/commands/loop.d.ts.map +1 -0
  30. package/dist/cli/commands/loop.js +408 -0
  31. package/dist/cli/commands/loop.js.map +1 -0
  32. package/dist/cli/commands/maintenance.d.ts +33 -0
  33. package/dist/cli/commands/maintenance.d.ts.map +1 -0
  34. package/dist/cli/commands/maintenance.js +75 -0
  35. package/dist/cli/commands/maintenance.js.map +1 -0
  36. package/dist/cli/commands/mcp.d.ts +23 -0
  37. package/dist/cli/commands/mcp.d.ts.map +1 -1
  38. package/dist/cli/commands/mcp.js +82 -0
  39. package/dist/cli/commands/mcp.js.map +1 -1
  40. package/dist/cli/commands/skills.d.ts +131 -0
  41. package/dist/cli/commands/skills.d.ts.map +1 -1
  42. package/dist/cli/commands/skills.js +409 -9
  43. package/dist/cli/commands/skills.js.map +1 -1
  44. package/dist/cli/commands/stats.d.ts.map +1 -1
  45. package/dist/cli/commands/stats.js +9 -2
  46. package/dist/cli/commands/stats.js.map +1 -1
  47. package/dist/cli/index.js +8 -0
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/core/constants.d.ts +37 -0
  50. package/dist/core/constants.d.ts.map +1 -1
  51. package/dist/core/constants.js +43 -0
  52. package/dist/core/constants.js.map +1 -1
  53. package/dist/core/diagnostics/checks.d.ts.map +1 -1
  54. package/dist/core/diagnostics/checks.js +2 -1
  55. package/dist/core/diagnostics/checks.js.map +1 -1
  56. package/dist/core/diagnostics/daemon-status.d.ts +1 -1
  57. package/dist/core/diagnostics/daemon-status.d.ts.map +1 -1
  58. package/dist/core/diagnostics/daemon-status.js +1 -1
  59. package/dist/core/diagnostics/daemon-status.js.map +1 -1
  60. package/dist/core/diagnostics/entropy-checks.d.ts +3 -2
  61. package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -1
  62. package/dist/core/diagnostics/entropy-checks.js +10 -5
  63. package/dist/core/diagnostics/entropy-checks.js.map +1 -1
  64. package/dist/core/diagnostics/heartbeat-reader.d.ts +28 -0
  65. package/dist/core/diagnostics/heartbeat-reader.d.ts.map +1 -0
  66. package/dist/core/diagnostics/heartbeat-reader.js +50 -0
  67. package/dist/core/diagnostics/heartbeat-reader.js.map +1 -0
  68. package/dist/core/event-fields.d.ts +27 -0
  69. package/dist/core/event-fields.d.ts.map +1 -1
  70. package/dist/core/event-fields.js +43 -0
  71. package/dist/core/event-fields.js.map +1 -1
  72. package/dist/core/governance/global-inject.d.ts +34 -4
  73. package/dist/core/governance/global-inject.d.ts.map +1 -1
  74. package/dist/core/governance/global-inject.js +80 -25
  75. package/dist/core/governance/global-inject.js.map +1 -1
  76. package/dist/core/insights/agent-anchor-guard.d.ts +77 -0
  77. package/dist/core/insights/agent-anchor-guard.d.ts.map +1 -0
  78. package/dist/core/insights/agent-anchor-guard.js +119 -0
  79. package/dist/core/insights/agent-anchor-guard.js.map +1 -0
  80. package/dist/core/insights/agent-distill-context.d.ts +55 -0
  81. package/dist/core/insights/agent-distill-context.d.ts.map +1 -0
  82. package/dist/core/insights/agent-distill-context.js +146 -0
  83. package/dist/core/insights/agent-distill-context.js.map +1 -0
  84. package/dist/core/insights/agent-distill-spawn.d.ts +56 -0
  85. package/dist/core/insights/agent-distill-spawn.d.ts.map +1 -0
  86. package/dist/core/insights/agent-distill-spawn.js +179 -0
  87. package/dist/core/insights/agent-distill-spawn.js.map +1 -0
  88. package/dist/core/insights/agent-drift.d.ts +66 -0
  89. package/dist/core/insights/agent-drift.d.ts.map +1 -0
  90. package/dist/core/insights/agent-drift.js +109 -0
  91. package/dist/core/insights/agent-drift.js.map +1 -0
  92. package/dist/core/insights/agent-evolution-sources.d.ts +21 -0
  93. package/dist/core/insights/agent-evolution-sources.d.ts.map +1 -0
  94. package/dist/core/insights/agent-evolution-sources.js +36 -0
  95. package/dist/core/insights/agent-evolution-sources.js.map +1 -0
  96. package/dist/core/insights/agent-health.d.ts +142 -0
  97. package/dist/core/insights/agent-health.d.ts.map +1 -0
  98. package/dist/core/insights/agent-health.js +296 -0
  99. package/dist/core/insights/agent-health.js.map +1 -0
  100. package/dist/core/insights/agent-patch-apply.d.ts +45 -0
  101. package/dist/core/insights/agent-patch-apply.d.ts.map +1 -0
  102. package/dist/core/insights/agent-patch-apply.js +165 -0
  103. package/dist/core/insights/agent-patch-apply.js.map +1 -0
  104. package/dist/core/insights/agent-suggest.d.ts +128 -0
  105. package/dist/core/insights/agent-suggest.d.ts.map +1 -0
  106. package/dist/core/insights/agent-suggest.js +284 -0
  107. package/dist/core/insights/agent-suggest.js.map +1 -0
  108. package/dist/core/insights/coverage-tiers.d.ts +46 -0
  109. package/dist/core/insights/coverage-tiers.d.ts.map +1 -0
  110. package/dist/core/insights/coverage-tiers.js +95 -0
  111. package/dist/core/insights/coverage-tiers.js.map +1 -0
  112. package/dist/{daemon/services → core/insights}/experience-extractor.d.ts +0 -7
  113. package/dist/core/insights/experience-extractor.d.ts.map +1 -0
  114. package/dist/{daemon/services → core/insights}/experience-extractor.js +5 -9
  115. package/dist/core/insights/experience-extractor.js.map +1 -0
  116. package/dist/{daemon/services → core/insights}/violation-reporter.d.ts +20 -1
  117. package/dist/core/insights/violation-reporter.d.ts.map +1 -0
  118. package/dist/{daemon/services → core/insights}/violation-reporter.js +56 -4
  119. package/dist/core/insights/violation-reporter.js.map +1 -0
  120. package/dist/core/loop/loop-engine.d.ts +140 -0
  121. package/dist/core/loop/loop-engine.d.ts.map +1 -0
  122. package/dist/core/loop/loop-engine.js +266 -0
  123. package/dist/core/loop/loop-engine.js.map +1 -0
  124. package/dist/core/queue/index.d.ts.map +1 -1
  125. package/dist/core/queue/index.js +2 -1
  126. package/dist/core/queue/index.js.map +1 -1
  127. package/dist/core/storage/base.d.ts +159 -0
  128. package/dist/core/storage/base.d.ts.map +1 -1
  129. package/dist/core/storage/base.js +523 -0
  130. package/dist/core/storage/base.js.map +1 -1
  131. package/dist/core/storage/codegraph-types.d.ts +79 -0
  132. package/dist/core/storage/codegraph-types.d.ts.map +1 -0
  133. package/dist/core/storage/codegraph-types.js +14 -0
  134. package/dist/core/storage/codegraph-types.js.map +1 -0
  135. package/dist/core/storage/codegraph.d.ts +186 -0
  136. package/dist/core/storage/codegraph.d.ts.map +1 -0
  137. package/dist/core/storage/codegraph.js +452 -0
  138. package/dist/core/storage/codegraph.js.map +1 -0
  139. package/dist/core/storage/decisions.d.ts +30 -5
  140. package/dist/core/storage/decisions.d.ts.map +1 -1
  141. package/dist/core/storage/decisions.js +45 -13
  142. package/dist/core/storage/decisions.js.map +1 -1
  143. package/dist/core/storage/events.d.ts +127 -0
  144. package/dist/core/storage/events.d.ts.map +1 -1
  145. package/dist/core/storage/events.js +318 -3
  146. package/dist/core/storage/events.js.map +1 -1
  147. package/dist/core/storage/feedback.d.ts +3 -23
  148. package/dist/core/storage/feedback.d.ts.map +1 -1
  149. package/dist/core/storage/feedback.js +37 -38
  150. package/dist/core/storage/feedback.js.map +1 -1
  151. package/dist/core/storage/injections.d.ts +40 -0
  152. package/dist/core/storage/injections.d.ts.map +1 -1
  153. package/dist/core/storage/injections.js +69 -0
  154. package/dist/core/storage/injections.js.map +1 -1
  155. package/dist/core/storage/knowledge.d.ts +226 -0
  156. package/dist/core/storage/knowledge.d.ts.map +1 -1
  157. package/dist/core/storage/knowledge.js +391 -4
  158. package/dist/core/storage/knowledge.js.map +1 -1
  159. package/dist/core/storage/pipeline-rollup.d.ts +1 -7
  160. package/dist/core/storage/pipeline-rollup.d.ts.map +1 -1
  161. package/dist/core/storage/pipeline-rollup.js +18 -57
  162. package/dist/core/storage/pipeline-rollup.js.map +1 -1
  163. package/dist/core/storage/routing.d.ts +34 -0
  164. package/dist/core/storage/routing.d.ts.map +1 -1
  165. package/dist/core/storage/routing.js +92 -2
  166. package/dist/core/storage/routing.js.map +1 -1
  167. package/dist/core/storage/rows.d.ts +5 -25
  168. package/dist/core/storage/rows.d.ts.map +1 -1
  169. package/dist/core/storage/schema.sql +92 -27
  170. package/dist/core/storage/sessions.d.ts.map +1 -1
  171. package/dist/core/storage/sessions.js +2 -1
  172. package/dist/core/storage/sessions.js.map +1 -1
  173. package/dist/core/storage/skills.d.ts +159 -0
  174. package/dist/core/storage/skills.d.ts.map +1 -1
  175. package/dist/core/storage/skills.js +350 -4
  176. package/dist/core/storage/skills.js.map +1 -1
  177. package/dist/core/storage/sqlite.d.ts +81 -25
  178. package/dist/core/storage/sqlite.d.ts.map +1 -1
  179. package/dist/core/storage/sqlite.js +143 -45
  180. package/dist/core/storage/sqlite.js.map +1 -1
  181. package/dist/core/storage/tasks.d.ts +270 -0
  182. package/dist/core/storage/tasks.d.ts.map +1 -1
  183. package/dist/core/storage/tasks.js +495 -16
  184. package/dist/core/storage/tasks.js.map +1 -1
  185. package/dist/core/storage/tool-intercepts.d.ts +1 -1
  186. package/dist/core/storage/tool-intercepts.js +1 -1
  187. package/dist/core/types.d.ts +26 -3
  188. package/dist/core/types.d.ts.map +1 -1
  189. package/dist/core/types.js +1 -3
  190. package/dist/core/types.js.map +1 -1
  191. package/dist/core/utils/binary-paths.d.ts +32 -0
  192. package/dist/core/utils/binary-paths.d.ts.map +1 -1
  193. package/dist/core/utils/binary-paths.js +52 -0
  194. package/dist/core/utils/binary-paths.js.map +1 -1
  195. package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
  196. package/dist/{skills/distill → core/utils}/claude-cli-resolver.js +1 -1
  197. package/dist/core/utils/claude-cli-resolver.js.map +1 -0
  198. package/dist/core/utils/claude-cli-spawn.d.ts +1 -1
  199. package/dist/core/utils/claude-cli-spawn.js +2 -2
  200. package/dist/core/utils/claude-cli-spawn.js.map +1 -1
  201. package/dist/core/utils/noise-prompt.d.ts +1 -1
  202. package/dist/core/utils/noise-prompt.js +1 -1
  203. package/dist/core/utils/time.d.ts +26 -0
  204. package/dist/core/utils/time.d.ts.map +1 -1
  205. package/dist/core/utils/time.js +33 -0
  206. package/dist/core/utils/time.js.map +1 -1
  207. package/dist/daemon/config-store.d.ts.map +1 -1
  208. package/dist/daemon/config-store.js +14 -5
  209. package/dist/daemon/config-store.js.map +1 -1
  210. package/dist/daemon/event-parser.d.ts.map +1 -1
  211. package/dist/daemon/event-parser.js +5 -0
  212. package/dist/daemon/event-parser.js.map +1 -1
  213. package/dist/daemon/handlers/post-tool-use.d.ts +24 -16
  214. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  215. package/dist/daemon/handlers/post-tool-use.js +76 -116
  216. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  217. package/dist/daemon/handlers/pre-tool-use.d.ts +35 -10
  218. package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -1
  219. package/dist/daemon/handlers/pre-tool-use.js +71 -38
  220. package/dist/daemon/handlers/pre-tool-use.js.map +1 -1
  221. package/dist/daemon/handlers/stop.d.ts +20 -0
  222. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  223. package/dist/daemon/handlers/stop.js +96 -8
  224. package/dist/daemon/handlers/stop.js.map +1 -1
  225. package/dist/daemon/handlers/user-prompt.d.ts +16 -1
  226. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  227. package/dist/daemon/handlers/user-prompt.js +97 -56
  228. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  229. package/dist/daemon/handlers/violation-content-backfill.d.ts +76 -0
  230. package/dist/daemon/handlers/violation-content-backfill.d.ts.map +1 -0
  231. package/dist/daemon/handlers/violation-content-backfill.js +167 -0
  232. package/dist/daemon/handlers/violation-content-backfill.js.map +1 -0
  233. package/dist/daemon/index.d.ts +19 -0
  234. package/dist/daemon/index.d.ts.map +1 -1
  235. package/dist/daemon/index.js +125 -200
  236. package/dist/daemon/index.js.map +1 -1
  237. package/dist/daemon/rules/defaults.d.ts.map +1 -1
  238. package/dist/daemon/rules/defaults.js +151 -64
  239. package/dist/daemon/rules/defaults.js.map +1 -1
  240. package/dist/daemon/rules/types.d.ts +28 -22
  241. package/dist/daemon/rules/types.d.ts.map +1 -1
  242. package/dist/daemon/rules/workflow-defaults.js +9 -9
  243. package/dist/daemon/rules/workflow-defaults.js.map +1 -1
  244. package/dist/daemon/services/codegraph-sync.d.ts +94 -0
  245. package/dist/daemon/services/codegraph-sync.d.ts.map +1 -0
  246. package/dist/daemon/services/codegraph-sync.js +159 -0
  247. package/dist/daemon/services/codegraph-sync.js.map +1 -0
  248. package/dist/daemon/services/decision-hint.d.ts +47 -10
  249. package/dist/daemon/services/decision-hint.d.ts.map +1 -1
  250. package/dist/daemon/services/decision-hint.js +99 -24
  251. package/dist/daemon/services/decision-hint.js.map +1 -1
  252. package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -1
  253. package/dist/daemon/services/event-ttl-sweep.js +3 -2
  254. package/dist/daemon/services/event-ttl-sweep.js.map +1 -1
  255. package/dist/daemon/services/feedback-aggregator.d.ts +14 -26
  256. package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -1
  257. package/dist/daemon/services/feedback-aggregator.js +23 -63
  258. package/dist/daemon/services/feedback-aggregator.js.map +1 -1
  259. package/dist/daemon/services/heartbeat-writer.d.ts +6 -15
  260. package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -1
  261. package/dist/daemon/services/heartbeat-writer.js +7 -36
  262. package/dist/daemon/services/heartbeat-writer.js.map +1 -1
  263. package/dist/daemon/services/kb-injector.d.ts +1 -1
  264. package/dist/daemon/services/kb-injector.d.ts.map +1 -1
  265. package/dist/daemon/services/kb-injector.js +10 -2
  266. package/dist/daemon/services/kb-injector.js.map +1 -1
  267. package/dist/daemon/services/kb-rebuild-scheduler.d.ts +95 -0
  268. package/dist/daemon/services/kb-rebuild-scheduler.d.ts.map +1 -0
  269. package/dist/daemon/services/kb-rebuild-scheduler.js +149 -0
  270. package/dist/daemon/services/kb-rebuild-scheduler.js.map +1 -0
  271. package/dist/daemon/services/loop-hint.d.ts +139 -0
  272. package/dist/daemon/services/loop-hint.d.ts.map +1 -0
  273. package/dist/daemon/services/loop-hint.js +272 -0
  274. package/dist/daemon/services/loop-hint.js.map +1 -0
  275. package/dist/daemon/services/outcome-classification-service.js +1 -1
  276. package/dist/daemon/services/outcome-classification-service.js.map +1 -1
  277. package/dist/daemon/services/task-segmenter.d.ts +11 -0
  278. package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
  279. package/dist/daemon/services/task-segmenter.js +48 -2
  280. package/dist/daemon/services/task-segmenter.js.map +1 -1
  281. package/dist/daemon/startup/maintenance-schedulers.d.ts +68 -0
  282. package/dist/daemon/startup/maintenance-schedulers.d.ts.map +1 -0
  283. package/dist/daemon/startup/maintenance-schedulers.js +294 -0
  284. package/dist/daemon/startup/maintenance-schedulers.js.map +1 -0
  285. package/dist/daemon/templates/agents/agent-retro-distiller.md +106 -0
  286. package/dist/daemon/templates/agents/claudemd-writer.md +1 -0
  287. package/dist/daemon/templates/agents/coder.md +165 -8
  288. package/dist/daemon/templates/agents/decision-maker.md +107 -21
  289. package/dist/daemon/templates/agents/doc-reviewer.md +4 -1
  290. package/dist/daemon/templates/agents/harness-debug-full.md +85 -3
  291. package/dist/daemon/templates/agents/knowledge-builder.md +1 -0
  292. package/dist/daemon/templates/agents/patch-applier.md +1 -0
  293. package/dist/daemon/templates/agents/planner.md +55 -3
  294. package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
  295. package/dist/daemon/templates/agents/skill-distiller.md +1 -0
  296. package/dist/daemon/templates/agents/task-boundary-classifier.md +1 -0
  297. package/dist/daemon/templates/agents/verify-agent.md +128 -5
  298. package/dist/hooks/stop.sh +7 -1
  299. package/dist/knowledge/builder.js +36 -7
  300. package/dist/knowledge/builder.js.map +1 -1
  301. package/dist/knowledge/constants.d.ts +10 -5
  302. package/dist/knowledge/constants.d.ts.map +1 -1
  303. package/dist/knowledge/constants.js +10 -5
  304. package/dist/knowledge/constants.js.map +1 -1
  305. package/dist/knowledge/graph/edge-extractor.d.ts +45 -0
  306. package/dist/knowledge/graph/edge-extractor.d.ts.map +1 -0
  307. package/dist/knowledge/graph/edge-extractor.js +242 -0
  308. package/dist/knowledge/graph/edge-extractor.js.map +1 -0
  309. package/dist/knowledge/graph/impact.d.ts +73 -0
  310. package/dist/knowledge/graph/impact.d.ts.map +1 -0
  311. package/dist/knowledge/graph/impact.js +94 -0
  312. package/dist/knowledge/graph/impact.js.map +1 -0
  313. package/dist/knowledge/graph/types.d.ts +22 -0
  314. package/dist/knowledge/graph/types.d.ts.map +1 -0
  315. package/dist/knowledge/graph/types.js +13 -0
  316. package/dist/knowledge/graph/types.js.map +1 -0
  317. package/dist/knowledge/prompt.d.ts +9 -0
  318. package/dist/knowledge/prompt.d.ts.map +1 -1
  319. package/dist/knowledge/prompt.js +17 -5
  320. package/dist/knowledge/prompt.js.map +1 -1
  321. package/dist/knowledge/query.d.ts +13 -0
  322. package/dist/knowledge/query.d.ts.map +1 -1
  323. package/dist/knowledge/query.js +107 -10
  324. package/dist/knowledge/query.js.map +1 -1
  325. package/dist/knowledge/repo-map.d.ts +11 -5
  326. package/dist/knowledge/repo-map.d.ts.map +1 -1
  327. package/dist/knowledge/repo-map.js +42 -3
  328. package/dist/knowledge/repo-map.js.map +1 -1
  329. package/dist/knowledge/validator.d.ts.map +1 -1
  330. package/dist/knowledge/validator.js +69 -2
  331. package/dist/knowledge/validator.js.map +1 -1
  332. package/dist/mcp/server.d.ts +64 -8
  333. package/dist/mcp/server.d.ts.map +1 -1
  334. package/dist/mcp/server.js +233 -18
  335. package/dist/mcp/server.js.map +1 -1
  336. package/dist/skills/distill/distiller.js +1 -1
  337. package/dist/skills/distill/distiller.js.map +1 -1
  338. package/dist/skills/distilled/distilled-api-design.md +4 -0
  339. package/dist/skills/distilled/distilled-brainstorming.md +79 -0
  340. package/dist/skills/distilled/distilled-brand-guidelines.md +86 -0
  341. package/dist/skills/distilled/distilled-canvas-design.md +128 -0
  342. package/dist/skills/distilled/distilled-claude-api.md +185 -0
  343. package/dist/skills/distilled/distilled-creator.md +5 -2
  344. package/dist/skills/distilled/distilled-dispatching-parallel-agents.md +136 -0
  345. package/dist/skills/distilled/distilled-doc-coauthoring.md +144 -0
  346. package/dist/skills/distilled/distilled-docx.md +231 -0
  347. package/dist/skills/distilled/distilled-executing-plans.md +85 -50
  348. package/dist/skills/distilled/distilled-finishing-a-development-branch.md +213 -0
  349. package/dist/skills/distilled/distilled-frontend-design.md +118 -0
  350. package/dist/skills/distilled/distilled-harness-engineering.md +1 -1
  351. package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
  352. package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
  353. package/dist/skills/distilled/distilled-systematic-debugging.md +108 -260
  354. package/dist/skills/distilled/distilled-test-driven-development.md +432 -0
  355. package/dist/skills/distilled/distilled-using-superpowers.md +134 -0
  356. package/dist/skills/distilled/distilled-verification-before-completion.md +88 -78
  357. package/dist/skills/distilled/distilled-writing-skills.md +175 -0
  358. package/dist/skills/registry.d.ts +10 -50
  359. package/dist/skills/registry.d.ts.map +1 -1
  360. package/dist/skills/registry.js +7 -118
  361. package/dist/skills/registry.js.map +1 -1
  362. package/dist/skills/tools/pipeline-suggest.js +2 -2
  363. package/dist/skills/tools/pipeline-suggest.js.map +1 -1
  364. package/dist/skills/tools/skill-invoke.d.ts +2 -1
  365. package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
  366. package/dist/skills/tools/skill-invoke.js +3 -1
  367. package/dist/skills/tools/skill-invoke.js.map +1 -1
  368. package/dist/web/analytics/anti-pattern-detector.d.ts.map +1 -1
  369. package/dist/web/analytics/anti-pattern-detector.js +6 -1
  370. package/dist/web/analytics/anti-pattern-detector.js.map +1 -1
  371. package/dist/web/analytics/drift-detector.d.ts +6 -0
  372. package/dist/web/analytics/drift-detector.d.ts.map +1 -1
  373. package/dist/web/analytics/drift-detector.js +15 -8
  374. package/dist/web/analytics/drift-detector.js.map +1 -1
  375. package/dist/web/analytics/weekly-report.d.ts +13 -0
  376. package/dist/web/analytics/weekly-report.d.ts.map +1 -1
  377. package/dist/web/analytics/weekly-report.js +17 -3
  378. package/dist/web/analytics/weekly-report.js.map +1 -1
  379. package/dist/web/routes/_helpers.d.ts +31 -0
  380. package/dist/web/routes/_helpers.d.ts.map +1 -1
  381. package/dist/web/routes/_helpers.js +33 -0
  382. package/dist/web/routes/_helpers.js.map +1 -1
  383. package/dist/web/routes/agent-distill.d.ts +49 -0
  384. package/dist/web/routes/agent-distill.d.ts.map +1 -0
  385. package/dist/web/routes/agent-distill.js +526 -0
  386. package/dist/web/routes/agent-distill.js.map +1 -0
  387. package/dist/web/routes/config.d.ts +56 -0
  388. package/dist/web/routes/config.d.ts.map +1 -0
  389. package/dist/web/routes/config.js +243 -0
  390. package/dist/web/routes/config.js.map +1 -0
  391. package/dist/web/routes/decisions.js +1 -1
  392. package/dist/web/routes/decisions.js.map +1 -1
  393. package/dist/web/routes/error-handler.d.ts +0 -4
  394. package/dist/web/routes/error-handler.d.ts.map +1 -1
  395. package/dist/web/routes/error-handler.js +0 -8
  396. package/dist/web/routes/error-handler.js.map +1 -1
  397. package/dist/web/routes/events.d.ts.map +1 -1
  398. package/dist/web/routes/events.js +2 -1
  399. package/dist/web/routes/events.js.map +1 -1
  400. package/dist/web/routes/insights.d.ts.map +1 -1
  401. package/dist/web/routes/insights.js +0 -0
  402. package/dist/web/routes/insights.js.map +1 -1
  403. package/dist/web/routes/knowledge.d.ts +43 -2
  404. package/dist/web/routes/knowledge.d.ts.map +1 -1
  405. package/dist/web/routes/knowledge.js +117 -6
  406. package/dist/web/routes/knowledge.js.map +1 -1
  407. package/dist/web/routes/pipeline.d.ts +0 -9
  408. package/dist/web/routes/pipeline.d.ts.map +1 -1
  409. package/dist/web/routes/pipeline.js +0 -4
  410. package/dist/web/routes/pipeline.js.map +1 -1
  411. package/dist/web/routes/rules.d.ts.map +1 -1
  412. package/dist/web/routes/rules.js +20 -6
  413. package/dist/web/routes/rules.js.map +1 -1
  414. package/dist/web/routes/sessions.d.ts.map +1 -1
  415. package/dist/web/routes/sessions.js +8 -7
  416. package/dist/web/routes/sessions.js.map +1 -1
  417. package/dist/web/routes/skill-stats.d.ts.map +1 -1
  418. package/dist/web/routes/skill-stats.js +153 -16
  419. package/dist/web/routes/skill-stats.js.map +1 -1
  420. package/dist/web/routes/skills-distill.js +1 -1
  421. package/dist/web/routes/skills-distill.js.map +1 -1
  422. package/dist/web/routes/stats.d.ts.map +1 -1
  423. package/dist/web/routes/stats.js +2 -1
  424. package/dist/web/routes/stats.js.map +1 -1
  425. package/dist/web/routes/task-timeline.d.ts +95 -19
  426. package/dist/web/routes/task-timeline.d.ts.map +1 -1
  427. package/dist/web/routes/task-timeline.js +344 -88
  428. package/dist/web/routes/task-timeline.js.map +1 -1
  429. package/dist/web/routes/tasks.d.ts.map +1 -1
  430. package/dist/web/routes/tasks.js +52 -30
  431. package/dist/web/routes/tasks.js.map +1 -1
  432. package/dist/web/routes/violations.d.ts +1 -1
  433. package/dist/web/routes/violations.d.ts.map +1 -1
  434. package/dist/web/routes/violations.js +3 -2
  435. package/dist/web/routes/violations.js.map +1 -1
  436. package/dist/web/server.d.ts.map +1 -1
  437. package/dist/web/server.js +20 -0
  438. package/dist/web/server.js.map +1 -1
  439. package/dist/web/services/agent-distill-manager.d.ts +122 -0
  440. package/dist/web/services/agent-distill-manager.d.ts.map +1 -0
  441. package/dist/web/services/agent-distill-manager.js +397 -0
  442. package/dist/web/services/agent-distill-manager.js.map +1 -0
  443. package/dist/web/services/distill-manager.d.ts +47 -0
  444. package/dist/web/services/distill-manager.d.ts.map +1 -1
  445. package/dist/web/services/distill-manager.js +103 -0
  446. package/dist/web/services/distill-manager.js.map +1 -1
  447. package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js +2 -0
  448. package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js.map +1 -0
  449. package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js +3 -0
  450. package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js.map +1 -0
  451. package/dist/web/static/assets/AgentsPage-Qd9FExLG.js +2 -0
  452. package/dist/web/static/assets/AgentsPage-Qd9FExLG.js.map +1 -0
  453. package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js +2 -0
  454. package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js.map +1 -0
  455. package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js +2 -0
  456. package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js.map +1 -0
  457. package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js +2 -0
  458. package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js.map +1 -0
  459. package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js +2 -0
  460. package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js.map +1 -0
  461. package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js +4 -0
  462. package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js.map +1 -0
  463. package/dist/web/static/assets/DistillPage-O7BHtRN8.js +2 -0
  464. package/dist/web/static/assets/DistillPage-O7BHtRN8.js.map +1 -0
  465. package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js +2 -0
  466. package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js.map +1 -0
  467. package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js +2 -0
  468. package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js.map +1 -0
  469. package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js +2 -0
  470. package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js.map +1 -0
  471. package/dist/web/static/assets/IssuesPage-SKmhlCrw.js +2 -0
  472. package/dist/web/static/assets/IssuesPage-SKmhlCrw.js.map +1 -0
  473. package/dist/web/static/assets/KbDetailPage-Yna86Na8.js +2 -0
  474. package/dist/web/static/assets/KbDetailPage-Yna86Na8.js.map +1 -0
  475. package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js +2 -0
  476. package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js.map +1 -0
  477. package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js → MarkdownRenderer-DlDQNihj.js} +2 -2
  478. package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js.map → MarkdownRenderer-DlDQNihj.js.map} +1 -1
  479. package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
  480. package/dist/web/static/assets/{NotFound-BQPh0vaF.js.map → NotFound-LMzbP51V.js.map} +1 -1
  481. package/dist/web/static/assets/SettingsPage-DzoK4PKg.js +2 -0
  482. package/dist/web/static/assets/SettingsPage-DzoK4PKg.js.map +1 -0
  483. package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js +2 -0
  484. package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js.map +1 -0
  485. package/dist/web/static/assets/SkillsPage-aojkJpBc.js +2 -0
  486. package/dist/web/static/assets/SkillsPage-aojkJpBc.js.map +1 -0
  487. package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js +4 -0
  488. package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js.map +1 -0
  489. package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js +6 -0
  490. package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js.map +1 -0
  491. package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js +2 -0
  492. package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js.map +1 -0
  493. package/dist/web/static/assets/arco-DV6xCLhr.js +14 -0
  494. package/dist/web/static/assets/arco-DV6xCLhr.js.map +1 -0
  495. package/dist/web/static/assets/charts-BSV4cyC4.js +37 -0
  496. package/dist/web/static/assets/charts-BSV4cyC4.js.map +1 -0
  497. package/dist/web/static/assets/{index-7bl3kbcx.css → index-B_v_MKlb.css} +1 -1
  498. package/dist/web/static/assets/index-DileOOE4.js +4 -0
  499. package/dist/web/static/assets/index-DileOOE4.js.map +1 -0
  500. package/dist/web/static/assets/markdown-CA7ePUts.js +30 -0
  501. package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
  502. package/dist/web/static/assets/{outcome-DUn1NjlC.js → outcome-BKGy9azt.js} +2 -2
  503. package/dist/web/static/assets/{outcome-DUn1NjlC.js.map → outcome-BKGy9azt.js.map} +1 -1
  504. package/dist/web/static/assets/{query-S6X1S7K9.js → query-CgCOpYWf.js} +2 -2
  505. package/dist/web/static/assets/{query-S6X1S7K9.js.map → query-CgCOpYWf.js.map} +1 -1
  506. package/dist/web/static/assets/{react-router-JVUrkhdd.js → react-router-Cxmg8RuL.js} +3 -3
  507. package/dist/web/static/assets/{react-router-JVUrkhdd.js.map → react-router-Cxmg8RuL.js.map} +1 -1
  508. package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js → syntax-highlighter-BDYycNja.js} +3 -3
  509. package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js.map → syntax-highlighter-BDYycNja.js.map} +1 -1
  510. package/dist/web/static/assets/task-title-BhOcemuR.js +2 -0
  511. package/dist/web/static/assets/task-title-BhOcemuR.js.map +1 -0
  512. package/dist/web/static/assets/useAgentStats-B-uTgqBd.js +2 -0
  513. package/dist/web/static/assets/useAgentStats-B-uTgqBd.js.map +1 -0
  514. package/dist/web/static/assets/useDecisions-D-G2Ft5T.js +2 -0
  515. package/dist/web/static/assets/useDecisions-D-G2Ft5T.js.map +1 -0
  516. package/dist/web/static/assets/useDistill-21dZkXlT.js +3 -0
  517. package/dist/web/static/assets/useDistill-21dZkXlT.js.map +1 -0
  518. package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js +2 -0
  519. package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js.map +1 -0
  520. package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js +2 -0
  521. package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js.map +1 -0
  522. package/dist/web/static/assets/useKbHits-xKXWgqh9.js +2 -0
  523. package/dist/web/static/assets/useKbHits-xKXWgqh9.js.map +1 -0
  524. package/dist/web/static/assets/useSkillStats-B5hbIwdf.js +2 -0
  525. package/dist/web/static/assets/useSkillStats-B5hbIwdf.js.map +1 -0
  526. package/dist/web/static/assets/vendor-DS-q4Eyc.js +36 -0
  527. package/dist/web/static/assets/vendor-DS-q4Eyc.js.map +1 -0
  528. package/dist/web/static/index.html +6 -6
  529. package/package.json +5 -3
  530. package/dist/core/storage/workflow-recommendations.d.ts +0 -124
  531. package/dist/core/storage/workflow-recommendations.d.ts.map +0 -1
  532. package/dist/core/storage/workflow-recommendations.js +0 -274
  533. package/dist/core/storage/workflow-recommendations.js.map +0 -1
  534. package/dist/daemon/services/experience-extractor.d.ts.map +0 -1
  535. package/dist/daemon/services/experience-extractor.js.map +0 -1
  536. package/dist/daemon/services/violation-reporter.d.ts.map +0 -1
  537. package/dist/daemon/services/violation-reporter.js.map +0 -1
  538. package/dist/daemon/templates/agents/harness-hotfix.md +0 -99
  539. package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +0 -104
  540. package/dist/daemon/templates/agents/refactor-specialist.md +0 -98
  541. package/dist/skills/distill/claude-cli-resolver.d.ts.map +0 -1
  542. package/dist/skills/distill/claude-cli-resolver.js.map +0 -1
  543. package/dist/skills/distilled/distilled-defi-amm-security.md +0 -293
  544. package/dist/skills/keyword-score.d.ts +0 -29
  545. package/dist/skills/keyword-score.d.ts.map +0 -1
  546. package/dist/skills/keyword-score.js +0 -54
  547. package/dist/skills/keyword-score.js.map +0 -1
  548. package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +0 -2
  549. package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +0 -1
  550. package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +0 -2
  551. package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +0 -1
  552. package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +0 -3
  553. package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +0 -1
  554. package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +0 -2
  555. package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +0 -1
  556. package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +0 -2
  557. package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +0 -1
  558. package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +0 -2
  559. package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +0 -1
  560. package/dist/web/static/assets/DriftTab-DqpepOhI.js +0 -2
  561. package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +0 -1
  562. package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +0 -3
  563. package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +0 -1
  564. package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +0 -2
  565. package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +0 -1
  566. package/dist/web/static/assets/NotFound-BQPh0vaF.js +0 -2
  567. package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +0 -2
  568. package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +0 -1
  569. package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +0 -2
  570. package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +0 -1
  571. package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +0 -2
  572. package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +0 -1
  573. package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +0 -2
  574. package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +0 -1
  575. package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +0 -2
  576. package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +0 -1
  577. package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +0 -6
  578. package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +0 -1
  579. package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +0 -3
  580. package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +0 -1
  581. package/dist/web/static/assets/arco-Bhi3a6Qp.js +0 -14
  582. package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +0 -1
  583. package/dist/web/static/assets/charts-BuHQWDbQ.js +0 -37
  584. package/dist/web/static/assets/charts-BuHQWDbQ.js.map +0 -1
  585. package/dist/web/static/assets/index-BIYnq1Dx.js +0 -4
  586. package/dist/web/static/assets/index-BIYnq1Dx.js.map +0 -1
  587. package/dist/web/static/assets/useTabsParam-k8qte_0C.js +0 -2
  588. package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +0 -1
  589. package/dist/web/static/assets/vendor-DWgdB1eY.js +0 -65
  590. package/dist/web/static/assets/vendor-DWgdB1eY.js.map +0 -1
  591. /package/dist/{skills/distill → core/utils}/claude-cli-resolver.d.ts +0 -0
@@ -0,0 +1,432 @@
1
+ ---
2
+ name: distilled-test-driven-development
3
+ version: 0.2.0-distilled
4
+ description: 'Distilled IT-universal skill: test-driven-development (score 3.5/5)'
5
+ keywords:
6
+ - test
7
+ - driven
8
+ - development
9
+ rubric_version: 2
10
+ distilled_from:
11
+ - upstream: https://github.com/obra/superpowers.git
12
+ license: MIT
13
+ commit: f2cbfbefebbfef77321e4c9abc9e949826bea9d7
14
+ paths:
15
+ - test-driven-development/SKILL.md
16
+ - upstream: https://github.com/anthropics/skills.git
17
+ license: Apache-2.0
18
+ commit: 690f15cac7f7b4c055c5ab109c79ed9259934081
19
+ paths:
20
+ - webapp-testing/SKILL.md
21
+ - upstream: https://github.com/affaan-m/ECC.git
22
+ license: MIT
23
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
24
+ paths:
25
+ - ai-regression-testing/SKILL.md
26
+ - upstream: https://github.com/affaan-m/ECC.git
27
+ license: MIT
28
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
29
+ paths:
30
+ - cpp-testing/SKILL.md
31
+ - upstream: https://github.com/affaan-m/ECC.git
32
+ license: MIT
33
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
34
+ paths:
35
+ - csharp-testing/SKILL.md
36
+ - upstream: https://github.com/affaan-m/ECC.git
37
+ license: MIT
38
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
39
+ paths:
40
+ - django-tdd/SKILL.md
41
+ - upstream: https://github.com/affaan-m/ECC.git
42
+ license: MIT
43
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
44
+ paths:
45
+ - e2e-testing/SKILL.md
46
+ - upstream: https://github.com/affaan-m/ECC.git
47
+ license: MIT
48
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
49
+ paths:
50
+ - fsharp-testing/SKILL.md
51
+ - upstream: https://github.com/affaan-m/ECC.git
52
+ license: MIT
53
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
54
+ paths:
55
+ - golang-testing/SKILL.md
56
+ - upstream: https://github.com/affaan-m/ECC.git
57
+ license: MIT
58
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
59
+ paths:
60
+ - kotlin-testing/SKILL.md
61
+ - upstream: https://github.com/affaan-m/ECC.git
62
+ license: MIT
63
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
64
+ paths:
65
+ - laravel-tdd/SKILL.md
66
+ - upstream: https://github.com/affaan-m/ECC.git
67
+ license: MIT
68
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
69
+ paths:
70
+ - perl-testing/SKILL.md
71
+ - upstream: https://github.com/affaan-m/ECC.git
72
+ license: MIT
73
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
74
+ paths:
75
+ - python-testing/SKILL.md
76
+ - upstream: https://github.com/affaan-m/ECC.git
77
+ license: MIT
78
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
79
+ paths:
80
+ - quarkus-tdd/SKILL.md
81
+ - upstream: https://github.com/affaan-m/ECC.git
82
+ license: MIT
83
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
84
+ paths:
85
+ - rust-testing/SKILL.md
86
+ - upstream: https://github.com/affaan-m/ECC.git
87
+ license: MIT
88
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
89
+ paths:
90
+ - springboot-tdd/SKILL.md
91
+ - upstream: https://github.com/affaan-m/ECC.git
92
+ license: MIT
93
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
94
+ paths:
95
+ - swift-protocol-di-testing/SKILL.md
96
+ - upstream: https://github.com/affaan-m/ECC.git
97
+ license: MIT
98
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
99
+ paths:
100
+ - tdd-workflow/SKILL.md
101
+ - upstream: https://github.com/affaan-m/ECC.git
102
+ license: MIT
103
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
104
+ paths:
105
+ - golang-testing/SKILL.md
106
+ - upstream: https://github.com/affaan-m/ECC.git
107
+ license: MIT
108
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
109
+ paths:
110
+ - tdd-workflow/SKILL.md
111
+ - upstream: https://github.com/affaan-m/ECC.git
112
+ license: MIT
113
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
114
+ paths:
115
+ - e2e-testing/SKILL.md
116
+ - upstream: https://github.com/affaan-m/ECC.git
117
+ license: MIT
118
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
119
+ paths:
120
+ - golang-testing/SKILL.md
121
+ - upstream: https://github.com/affaan-m/ECC.git
122
+ license: MIT
123
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
124
+ paths:
125
+ - kotlin-testing/SKILL.md
126
+ - upstream: https://github.com/affaan-m/ECC.git
127
+ license: MIT
128
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
129
+ paths:
130
+ - laravel-tdd/SKILL.md
131
+ - upstream: https://github.com/affaan-m/ECC.git
132
+ license: MIT
133
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
134
+ paths:
135
+ - python-testing/SKILL.md
136
+ - upstream: https://github.com/affaan-m/ECC.git
137
+ license: MIT
138
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
139
+ paths:
140
+ - quarkus-tdd/SKILL.md
141
+ - upstream: https://github.com/affaan-m/ECC.git
142
+ license: MIT
143
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
144
+ paths:
145
+ - rust-testing/SKILL.md
146
+ - upstream: https://github.com/affaan-m/ECC.git
147
+ license: MIT
148
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
149
+ paths:
150
+ - springboot-tdd/SKILL.md
151
+ - upstream: https://github.com/affaan-m/ECC.git
152
+ license: MIT
153
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
154
+ paths:
155
+ - tdd-workflow/SKILL.md
156
+ - upstream: https://github.com/affaan-m/ECC.git
157
+ license: MIT
158
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
159
+ paths:
160
+ - ai-regression-testing/SKILL.md
161
+ - upstream: https://github.com/affaan-m/ECC.git
162
+ license: MIT
163
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
164
+ paths:
165
+ - cpp-testing/SKILL.md
166
+ - upstream: https://github.com/affaan-m/ECC.git
167
+ license: MIT
168
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
169
+ paths:
170
+ - csharp-testing/SKILL.md
171
+ - upstream: https://github.com/affaan-m/ECC.git
172
+ license: MIT
173
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
174
+ paths:
175
+ - django-tdd/SKILL.md
176
+ - upstream: https://github.com/affaan-m/ECC.git
177
+ license: MIT
178
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
179
+ paths:
180
+ - e2e-testing/SKILL.md
181
+ - upstream: https://github.com/affaan-m/ECC.git
182
+ license: MIT
183
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
184
+ paths:
185
+ - golang-testing/SKILL.md
186
+ - upstream: https://github.com/affaan-m/ECC.git
187
+ license: MIT
188
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
189
+ paths:
190
+ - kotlin-testing/SKILL.md
191
+ - upstream: https://github.com/affaan-m/ECC.git
192
+ license: MIT
193
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
194
+ paths:
195
+ - laravel-tdd/SKILL.md
196
+ - upstream: https://github.com/affaan-m/ECC.git
197
+ license: MIT
198
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
199
+ paths:
200
+ - perl-testing/SKILL.md
201
+ - upstream: https://github.com/affaan-m/ECC.git
202
+ license: MIT
203
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
204
+ paths:
205
+ - python-testing/SKILL.md
206
+ - upstream: https://github.com/affaan-m/ECC.git
207
+ license: MIT
208
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
209
+ paths:
210
+ - rust-testing/SKILL.md
211
+ - upstream: https://github.com/affaan-m/ECC.git
212
+ license: MIT
213
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
214
+ paths:
215
+ - springboot-tdd/SKILL.md
216
+ - upstream: https://github.com/affaan-m/ECC.git
217
+ license: MIT
218
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
219
+ paths:
220
+ - swift-protocol-di-testing/SKILL.md
221
+ - upstream: https://github.com/affaan-m/ECC.git
222
+ license: MIT
223
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
224
+ paths:
225
+ - tdd-workflow/SKILL.md
226
+ - upstream: https://github.com/affaan-m/ECC.git
227
+ license: MIT
228
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
229
+ paths:
230
+ - golang-testing/SKILL.md
231
+ - upstream: https://github.com/affaan-m/ECC.git
232
+ license: MIT
233
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
234
+ paths:
235
+ - tdd-workflow/SKILL.md
236
+ - upstream: https://github.com/affaan-m/ECC.git
237
+ license: MIT
238
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
239
+ paths:
240
+ - ai-regression-testing/SKILL.md
241
+ - upstream: https://github.com/affaan-m/ECC.git
242
+ license: MIT
243
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
244
+ paths:
245
+ - cpp-testing/SKILL.md
246
+ - upstream: https://github.com/affaan-m/ECC.git
247
+ license: MIT
248
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
249
+ paths:
250
+ - csharp-testing/SKILL.md
251
+ - upstream: https://github.com/affaan-m/ECC.git
252
+ license: MIT
253
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
254
+ paths:
255
+ - django-tdd/SKILL.md
256
+ - upstream: https://github.com/affaan-m/ECC.git
257
+ license: MIT
258
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
259
+ paths:
260
+ - e2e-testing/SKILL.md
261
+ - upstream: https://github.com/affaan-m/ECC.git
262
+ license: MIT
263
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
264
+ paths:
265
+ - fsharp-testing/SKILL.md
266
+ - upstream: https://github.com/affaan-m/ECC.git
267
+ license: MIT
268
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
269
+ paths:
270
+ - golang-testing/SKILL.md
271
+ - upstream: https://github.com/affaan-m/ECC.git
272
+ license: MIT
273
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
274
+ paths:
275
+ - kotlin-testing/SKILL.md
276
+ - upstream: https://github.com/affaan-m/ECC.git
277
+ license: MIT
278
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
279
+ paths:
280
+ - laravel-tdd/SKILL.md
281
+ - upstream: https://github.com/affaan-m/ECC.git
282
+ license: MIT
283
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
284
+ paths:
285
+ - perl-testing/SKILL.md
286
+ - upstream: https://github.com/affaan-m/ECC.git
287
+ license: MIT
288
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
289
+ paths:
290
+ - python-testing/SKILL.md
291
+ - upstream: https://github.com/affaan-m/ECC.git
292
+ license: MIT
293
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
294
+ paths:
295
+ - quarkus-tdd/SKILL.md
296
+ - upstream: https://github.com/affaan-m/ECC.git
297
+ license: MIT
298
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
299
+ paths:
300
+ - rust-testing/SKILL.md
301
+ - upstream: https://github.com/affaan-m/ECC.git
302
+ license: MIT
303
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
304
+ paths:
305
+ - springboot-tdd/SKILL.md
306
+ - upstream: https://github.com/affaan-m/ECC.git
307
+ license: MIT
308
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
309
+ paths:
310
+ - swift-protocol-di-testing/SKILL.md
311
+ - upstream: https://github.com/affaan-m/ECC.git
312
+ license: MIT
313
+ commit: 928076cc08cbb31e8549cea2883b4f51811de1c8
314
+ paths:
315
+ - tdd-workflow/SKILL.md
316
+ distilled_at: '2026-06-15T00:56:21.265Z'
317
+ distilled_by: claude-code skill-distiller agent
318
+ it_universal_score: 3.5
319
+ it_universal_dims:
320
+ d1: 0.5
321
+ d2: 0.5
322
+ d3: 0.5
323
+ d4: 1
324
+ d5: 1
325
+ it_universal_rationale: >-
326
+ Red-Green-Refactor cycle, Iron Law, and anti-pattern taxonomy are fully language- and
327
+ tool-agnostic; only illustrative code samples and test-runner invocations are
328
+ TypeScript/npm-specific and trivially substitutable in any codebase.
329
+ ---
330
+
331
+ # Test-Driven Development (TDD)
332
+
333
+ ## When to use
334
+ - Implementing any new feature or behavior
335
+ - Fixing a bug (write a failing test that reproduces it *before* touching production code)
336
+ - Refactoring existing code (existing tests must stay green throughout)
337
+ - Any behavior change where correctness needs to be verifiable and regression-safe
338
+
339
+ **Exceptions (require explicit partner approval):** throwaway prototypes, generated/scaffolded code, configuration-only files.
340
+
341
+ ## Core idea
342
+ Write the test first, watch it fail, then write the minimal production code to make it pass — no more, no less. If you never saw the test fail, you cannot know it tests the right thing. Tests written *after* passing code answer "what does this do?"; tests written *before* answer "what *should* this do?" and force edge-case discovery before implementation biases your thinking. The **Red → Green → Refactor** loop is the atomic unit of work: one failing test → minimal code to pass → clean up → repeat. Writing code first "just to explore" is test-after in disguise; the remedy is to delete the pre-written code and start over with a test.
343
+
344
+ ## Steps
345
+
346
+ ### 1. RED — Write One Failing Test
347
+ Describe the exact behavior you want in a single test:
348
+ - **One behavior per test** — if "and" appears in the name, split it into two tests
349
+ - **Descriptive name** — the test name should state the expected outcome, not the mechanism
350
+ - **Prefer real code over mocks** — use test doubles only when external I/O is unavoidable
351
+
352
+ ### 2. Verify RED — Watch It Fail *(mandatory, never skip)*
353
+ Run this test in isolation with your project's test runner. Confirm:
354
+ - The test **fails** (not errors on syntax/import)
355
+ - The failure message matches what you expect ("feature missing", not "undefined is not a function")
356
+ - It fails because the feature is absent, not due to a typo in the test itself
357
+
358
+ If the test **passes immediately** → you are testing already-existing behavior; fix or delete the test.
359
+ If the test **errors** → fix the error and re-run until it fails cleanly for the right reason.
360
+
361
+ ### 3. GREEN — Write Minimal Code to Pass
362
+ Write the simplest production code that makes the failing test pass:
363
+ - Do not add untested features (YAGNI)
364
+ - Do not refactor other code in the same commit
365
+ - Do not "improve" anything beyond what the single test requires
366
+
367
+ ### 4. Verify GREEN — Watch It Pass *(mandatory)*
368
+ Run your full test suite. Confirm:
369
+ - The new test passes
370
+ - All pre-existing tests still pass
371
+ - Output is clean (no new warnings or errors introduced)
372
+
373
+ If other tests break → fix them **now**, before proceeding.
374
+
375
+ ### 5. REFACTOR — Clean Up (tests still green)
376
+ With all tests passing, improve the code's internal quality:
377
+ - Remove duplication
378
+ - Improve naming and readability
379
+ - Extract helpers or shared abstractions
380
+
381
+ Never add new behavior in this phase. Re-run the full suite after every refactor step.
382
+
383
+ ### 6. Repeat
384
+ Write the next failing test for the next unit of behavior and cycle again.
385
+
386
+ ## Iron Law
387
+
388
+ ```
389
+ NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
390
+ ```
391
+
392
+ Wrote code before a test? **Delete it. Start fresh.** No "keep as reference", no "adapting" it while writing the test — that is still test-after. Delete means delete.
393
+
394
+ ## Anti-patterns
395
+
396
+ | Rationalization | Reality |
397
+ |---|---|
398
+ | "Too simple to test" | Simple code breaks too. A focused test takes under a minute. |
399
+ | "I'll add tests after" | Tests that pass immediately on first run prove nothing was verified. |
400
+ | "Already manually tested all edge cases" | Ad-hoc testing has no record and cannot be re-run; automated tests are systematic. |
401
+ | "Deleting X hours of work is wasteful" | Sunk-cost fallacy. Unverified production code is technical debt compounding interest. |
402
+ | "I'll keep it as reference and write tests first" | You will adapt it. That is test-after. Delete it. |
403
+ | "TDD is dogmatic; I'm being pragmatic" | Catching bugs before commit is faster than debugging in production. Test-first *is* pragmatic. |
404
+ | "Tests-after achieve the same goals" | They answer different questions — see Core idea. |
405
+ | "This case is different because…" | It isn't. All of these mean: delete the code, start over. |
406
+
407
+ **Red flags — stop and restart the TDD cycle from scratch:**
408
+ - You wrote production code before any test
409
+ - The test passed immediately without any implementation
410
+ - You cannot articulate why the test failed
411
+ - You find yourself composing a "just this once" justification
412
+
413
+ ## Verification Checklist (before marking any work complete)
414
+ - [ ] Every new function/method has a test written before its implementation
415
+ - [ ] Each test was observed to fail for the expected reason
416
+ - [ ] Only minimal code was written to pass each test
417
+ - [ ] All tests pass with a clean runner output (no new warnings)
418
+ - [ ] Edge cases and error paths are covered by dedicated tests
419
+ - [ ] Mocks/stubs are used only where real I/O is genuinely unavoidable
420
+
421
+ ## When Stuck
422
+
423
+ | Problem | Solution |
424
+ |---|---|
425
+ | Don't know how to write the test | Write the API you *wish* existed; start with the assertion, work backwards |
426
+ | Test is overly complicated | Your design is too complicated — simplify the interface first |
427
+ | Must mock everything to test anything | Code is too coupled; introduce dependency injection |
428
+ | Test setup is enormous | Extract shared helpers; if still complex, the design needs simplification |
429
+ | Bug found in existing untested code | Write a failing test reproducing the bug, then follow the TDD cycle to fix it |
430
+
431
+ ## References
432
+ - Upstream: https://github.com/obra/superpowers.git
@@ -0,0 +1,134 @@
1
+ ---
2
+ name: distilled-using-superpowers
3
+ version: 0.2.0-distilled
4
+ description: 'Distilled IT-universal skill: using-superpowers (score 4.5/5)'
5
+ keywords:
6
+ - using
7
+ - superpowers
8
+ rubric_version: 2
9
+ distilled_from:
10
+ - upstream: https://github.com/obra/superpowers.git
11
+ license: MIT
12
+ commit: f2cbfbefebbfef77321e4c9abc9e949826bea9d7
13
+ paths:
14
+ - using-superpowers/SKILL.md
15
+ distilled_at: '2026-06-15T00:58:31.504Z'
16
+ distilled_by: claude-code skill-distiller agent
17
+ it_universal_score: 4.5
18
+ it_universal_dims:
19
+ d1: 1
20
+ d2: 0.5
21
+ d3: 1
22
+ d4: 1
23
+ d5: 1
24
+ it_universal_rationale: >-
25
+ Language-neutral meta-methodology for AI assistant skill invocation; platform-adaptive with no
26
+ repo-specific paths or project terminology; strong transferable decision flowchart and heuristics.
27
+ ---
28
+
29
+ # Skill-First Workflow: Invoke Relevant Skills Before Any Action
30
+
31
+ ## When to use
32
+ - At the start of **any** conversation or task in an AI assistant (Claude Code, Copilot CLI, Gemini CLI, etc.)
33
+ - Before exploring a codebase, answering a question, or asking a clarifying question
34
+ - Whenever you are about to enter plan mode or take any substantive action
35
+ - When multiple skills might apply and you need to pick the right order
36
+
37
+ ## Core idea
38
+
39
+ The fundamental discipline is: **check for and invoke relevant skills *before* taking any action — including before asking clarifying questions**. Even a 1% probability that a skill applies is enough to trigger an invocation. Skills describe *how* to approach a task; without checking them first, you may gather information, explore, or plan in a suboptimal or incorrect way. User instructions (project config files, direct requests) always take the highest precedence over skills, which in turn override default system behavior. When you invoke a skill and it turns out to be inapplicable to the situation, you are free to disregard it — but you must check first.
40
+
41
+ ## Steps
42
+
43
+ 1. **Receive user message or prepare to enter plan mode.**
44
+
45
+ 2. **Ask: "Might any skill apply — even with 1% probability?"**
46
+ - Yes → proceed to step 3.
47
+ - Definitely not → respond directly.
48
+
49
+ 3. **Invoke the Skill tool** (platform-specific name varies; see Platform notes below).
50
+ - Announce: *"Using [skill name] to [brief purpose]."*
51
+
52
+ 4. **Apply skill priority order** when multiple skills could apply:
53
+ - **Process skills first** (brainstorming, debugging, planning) — they determine *how* to approach the task.
54
+ - **Implementation skills second** (patterns, code generation, domain-specific guides) — they guide execution.
55
+ - Example: "Let's build X" → brainstorming skill first, then implementation skill.
56
+ - Example: "Fix this bug" → debugging skill first, then domain-specific skill.
57
+
58
+ 5. **If the invoked skill contains a checklist**, create a to-do item per checklist entry before proceeding.
59
+
60
+ 6. **Follow the skill exactly** (rigid skills) or adapt its principles to context (flexible skills). The skill itself declares which type it is.
61
+
62
+ 7. **Proceed with the task**, informed by the skill's guidance.
63
+
64
+ ## Skill types
65
+
66
+ | Type | Examples | How to follow |
67
+ |---|---|---|
68
+ | **Rigid** | TDD, debugging protocols | Follow exactly; do not adapt away the discipline |
69
+ | **Flexible** | Design patterns, code style | Adapt principles to context |
70
+
71
+ The skill document itself tells you which type it is.
72
+
73
+ ## Platform notes
74
+
75
+ | Platform | Tool name to invoke |
76
+ |---|---|
77
+ | Claude Code | `Skill` tool |
78
+ | Copilot CLI | `skill` tool |
79
+ | Gemini CLI | `activate_skill` tool |
80
+
81
+ Never use a file-read tool to load skill content — always use the platform's designated skill tool so that the correct version is loaded.
82
+
83
+ ## Instruction precedence
84
+
85
+ 1. **User's explicit instructions** (CLAUDE.md, AGENTS.md, GEMINI.md, direct requests) — highest priority
86
+ 2. **Invoked skills** — override default system behavior
87
+ 3. **Default system prompt** — lowest priority
88
+
89
+ If a user config file says "don't do X" and a skill says "always do X," follow the user's config.
90
+
91
+ ## Anti-patterns
92
+
93
+ - **"This is just a simple question."** → Questions are tasks. Check for skills before answering.
94
+ - **"I need more context first."** → Skill check comes *before* clarifying questions.
95
+ - **"Let me explore the codebase first."** → Skills tell you *how* to explore. Check first.
96
+ - **"I remember this skill from before."** → Skills evolve. Always read the current version via the tool.
97
+ - **"This skill seems like overkill."** → Simple tasks become complex. Invoke and decide afterward.
98
+ - **"I'll just do this one quick thing first."** → Check *before* doing anything.
99
+ - **"I know what that skill says."** → Knowing the concept ≠ using the skill. Invoke it.
100
+ - **"This doesn't count as a real task."** → Any action = task. Check for skills.
101
+
102
+ ## Decision flowchart (text form)
103
+
104
+ ```
105
+ User message received
106
+
107
+
108
+ Might any skill apply? (even 1%)
109
+ │ │
110
+ Yes No
111
+ │ └──► Respond directly
112
+
113
+ Invoke Skill tool
114
+
115
+
116
+ Announce: "Using [skill] to [purpose]"
117
+
118
+
119
+ Skill has a checklist?
120
+ │ │
121
+ Yes No
122
+ │ └──► Follow skill exactly
123
+
124
+ Create one todo per checklist item
125
+
126
+
127
+ Follow skill exactly
128
+
129
+
130
+ Respond / act
131
+ ```
132
+
133
+ ## References
134
+ - Upstream: https://github.com/obra/superpowers.git