bigpowers 2.86.4 → 2.86.6

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 (568) hide show
  1. package/.agents/skills/commit-message/SKILL.md +1 -1
  2. package/.agents/skills/craft-skill/SKILL.md +2 -2
  3. package/.agents/skills/define-success/SKILL.md +6 -59
  4. package/.agents/skills/deploy/SKILL.md +1 -1
  5. package/.agents/skills/elaborate-spec/SKILL.md +1 -1
  6. package/.agents/skills/evolve-skill/SKILL.md +1 -1
  7. package/.agents/skills/harden-vps/SKILL.md +63 -60
  8. package/.agents/skills/investigate-bug/SKILL.md +2 -2
  9. package/.agents/skills/orchestrate-project/SKILL.md +1 -1
  10. package/.agents/skills/plan-refactor/SKILL.md +2 -2
  11. package/.agents/skills/plan-release/SKILL.md +2 -2
  12. package/.agents/skills/plan-work/SKILL.md +1 -1
  13. package/.agents/skills/using-bigpowers/SKILL.md +2 -2
  14. package/.agents/skills/wire-ci/SKILL.md +11 -14
  15. package/.agents/skills/write-document/SKILL.md +1 -1
  16. package/.cline/skills/align-grid/SKILL.md +110 -0
  17. package/.cline/skills/assess-impact/SKILL.md +91 -0
  18. package/.cline/skills/audit-code/SKILL.md +184 -0
  19. package/.cline/skills/audit-plan/SKILL.md +89 -0
  20. package/.cline/skills/build-epic/SKILL.md +105 -0
  21. package/.cline/skills/change-request/SKILL.md +121 -0
  22. package/.cline/skills/commit-message/SKILL.md +140 -0
  23. package/.cline/skills/compose-workflow/SKILL.md +82 -0
  24. package/.cline/skills/context7-mcp/SKILL.md +55 -0
  25. package/.cline/skills/craft-skill/SKILL.md +196 -0
  26. package/.cline/skills/deepen-architecture/SKILL.md +260 -0
  27. package/.cline/skills/define-language/SKILL.md +80 -0
  28. package/.cline/skills/define-success/SKILL.md +12 -0
  29. package/.cline/skills/delegate-task/SKILL.md +91 -0
  30. package/.cline/skills/deploy/SKILL.md +198 -0
  31. package/.cline/skills/design-interface/SKILL.md +97 -0
  32. package/.cline/skills/develop-tdd/SKILL.md +416 -0
  33. package/.cline/skills/diagnose-root/SKILL.md +24 -0
  34. package/.cline/skills/diagnose-stall/SKILL.md +54 -0
  35. package/.cline/skills/dispatch-agents/SKILL.md +118 -0
  36. package/.cline/skills/edit-document/SKILL.md +23 -0
  37. package/.cline/skills/elaborate-spec/SKILL.md +101 -0
  38. package/.cline/skills/enforce-first/SKILL.md +45 -0
  39. package/.cline/skills/evolve-skill/SKILL.md +55 -0
  40. package/.cline/skills/execute-plan/SKILL.md +61 -0
  41. package/.cline/skills/extract-design/SKILL.md +132 -0
  42. package/.cline/skills/find-way/SKILL.md +191 -0
  43. package/.cline/skills/fix-bug/SKILL.md +67 -0
  44. package/.cline/skills/gate-trace/SKILL.md +92 -0
  45. package/.cline/skills/generate-allure-report/SKILL.md +285 -0
  46. package/.cline/skills/grill-me/SKILL.md +108 -0
  47. package/.cline/skills/grill-with-docs/SKILL.md +53 -0
  48. package/.cline/skills/guard-git/SKILL.md +231 -0
  49. package/.cline/skills/harden-vps/SKILL.md +291 -0
  50. package/.cline/skills/hook-commits/SKILL.md +94 -0
  51. package/.cline/skills/inspect-quality/SKILL.md +106 -0
  52. package/.cline/skills/investigate-bug/SKILL.md +127 -0
  53. package/.cline/skills/kickoff-branch/SKILL.md +143 -0
  54. package/.cline/skills/maintain-wiki/SKILL.md +64 -0
  55. package/.cline/skills/map-codebase/SKILL.md +71 -0
  56. package/.cline/skills/migrate-spec/SKILL.md +862 -0
  57. package/.cline/skills/model-domain/SKILL.md +232 -0
  58. package/.cline/skills/orchestrate-project/SKILL.md +174 -0
  59. package/.cline/skills/organize-workspace/SKILL.md +164 -0
  60. package/.cline/skills/plan-refactor/SKILL.md +87 -0
  61. package/.cline/skills/plan-release/SKILL.md +145 -0
  62. package/.cline/skills/plan-tests/SKILL.md +75 -0
  63. package/.cline/skills/plan-work/SKILL.md +260 -0
  64. package/.cline/skills/publish-package/SKILL.md +328 -0
  65. package/.cline/skills/quick-fix/SKILL.md +114 -0
  66. package/.cline/skills/release-branch/SKILL.md +298 -0
  67. package/.cline/skills/request-review/SKILL.md +113 -0
  68. package/.cline/skills/research-first/SKILL.md +87 -0
  69. package/.cline/skills/reset-baseline/SKILL.md +21 -0
  70. package/.cline/skills/respond-review/SKILL.md +71 -0
  71. package/.cline/skills/run-benchmark/SKILL.md +85 -0
  72. package/.cline/skills/run-evals/SKILL.md +80 -0
  73. package/.cline/skills/run-planning/SKILL.md +101 -0
  74. package/.cline/skills/scope-work/SKILL.md +63 -0
  75. package/.cline/skills/search-skills/SKILL.md +73 -0
  76. package/.cline/skills/security-review/SKILL.md +384 -0
  77. package/.cline/skills/seed-conventions/SKILL.md +302 -0
  78. package/.cline/skills/session-state/SKILL.md +146 -0
  79. package/.cline/skills/setup-environment/SKILL.md +39 -0
  80. package/.cline/skills/simulate-agents/SKILL.md +26 -0
  81. package/.cline/skills/slice-tasks/SKILL.md +68 -0
  82. package/.cline/skills/smoke-test/SKILL.md +257 -0
  83. package/.cline/skills/spike-prototype/SKILL.md +95 -0
  84. package/.cline/skills/stocktake-skills/SKILL.md +74 -0
  85. package/.cline/skills/survey-context/SKILL.md +135 -0
  86. package/.cline/skills/terse-mode/SKILL.md +42 -0
  87. package/.cline/skills/trace-requirement/SKILL.md +69 -0
  88. package/.cline/skills/using-bigpowers/SKILL.md +111 -0
  89. package/.cline/skills/validate-contracts/SKILL.md +277 -0
  90. package/.cline/skills/validate-fix/SKILL.md +147 -0
  91. package/.cline/skills/verify-work/SKILL.md +191 -0
  92. package/.cline/skills/visual-dashboard/SKILL.md +50 -0
  93. package/.cline/skills/wire-ci/SKILL.md +374 -0
  94. package/.cline/skills/wire-observability/SKILL.md +97 -0
  95. package/.cline/skills/write-document/SKILL.md +255 -0
  96. package/.codebuddy/skills/commit-message/SKILL.md +1 -1
  97. package/.codebuddy/skills/craft-skill/SKILL.md +2 -2
  98. package/.codebuddy/skills/define-success/SKILL.md +6 -59
  99. package/.codebuddy/skills/deploy/SKILL.md +1 -1
  100. package/.codebuddy/skills/elaborate-spec/SKILL.md +1 -1
  101. package/.codebuddy/skills/evolve-skill/SKILL.md +1 -1
  102. package/.codebuddy/skills/harden-vps/SKILL.md +63 -60
  103. package/.codebuddy/skills/investigate-bug/SKILL.md +2 -2
  104. package/.codebuddy/skills/orchestrate-project/SKILL.md +1 -1
  105. package/.codebuddy/skills/plan-refactor/SKILL.md +2 -2
  106. package/.codebuddy/skills/plan-release/SKILL.md +2 -2
  107. package/.codebuddy/skills/plan-work/SKILL.md +1 -1
  108. package/.codebuddy/skills/using-bigpowers/SKILL.md +2 -2
  109. package/.codebuddy/skills/wire-ci/SKILL.md +11 -14
  110. package/.codebuddy/skills/write-document/SKILL.md +1 -1
  111. package/.codex/skills/commit-message/SKILL.md +1 -1
  112. package/.codex/skills/craft-skill/SKILL.md +2 -2
  113. package/.codex/skills/define-success/SKILL.md +6 -59
  114. package/.codex/skills/deploy/SKILL.md +1 -1
  115. package/.codex/skills/elaborate-spec/SKILL.md +1 -1
  116. package/.codex/skills/evolve-skill/SKILL.md +1 -1
  117. package/.codex/skills/harden-vps/SKILL.md +63 -60
  118. package/.codex/skills/investigate-bug/SKILL.md +2 -2
  119. package/.codex/skills/orchestrate-project/SKILL.md +1 -1
  120. package/.codex/skills/plan-refactor/SKILL.md +2 -2
  121. package/.codex/skills/plan-release/SKILL.md +2 -2
  122. package/.codex/skills/plan-work/SKILL.md +1 -1
  123. package/.codex/skills/using-bigpowers/SKILL.md +2 -2
  124. package/.codex/skills/wire-ci/SKILL.md +11 -14
  125. package/.codex/skills/write-document/SKILL.md +1 -1
  126. package/.copilot/skills/align-grid/SKILL.md +110 -0
  127. package/.copilot/skills/assess-impact/SKILL.md +91 -0
  128. package/.copilot/skills/audit-code/SKILL.md +184 -0
  129. package/.copilot/skills/audit-plan/SKILL.md +89 -0
  130. package/.copilot/skills/build-epic/SKILL.md +105 -0
  131. package/.copilot/skills/change-request/SKILL.md +121 -0
  132. package/.copilot/skills/commit-message/SKILL.md +140 -0
  133. package/.copilot/skills/compose-workflow/SKILL.md +82 -0
  134. package/.copilot/skills/context7-mcp/SKILL.md +55 -0
  135. package/.copilot/skills/craft-skill/SKILL.md +196 -0
  136. package/.copilot/skills/deepen-architecture/SKILL.md +260 -0
  137. package/.copilot/skills/define-language/SKILL.md +80 -0
  138. package/.copilot/skills/define-success/SKILL.md +12 -0
  139. package/.copilot/skills/delegate-task/SKILL.md +91 -0
  140. package/.copilot/skills/deploy/SKILL.md +198 -0
  141. package/.copilot/skills/design-interface/SKILL.md +97 -0
  142. package/.copilot/skills/develop-tdd/SKILL.md +416 -0
  143. package/.copilot/skills/diagnose-root/SKILL.md +24 -0
  144. package/.copilot/skills/diagnose-stall/SKILL.md +54 -0
  145. package/.copilot/skills/dispatch-agents/SKILL.md +118 -0
  146. package/.copilot/skills/edit-document/SKILL.md +23 -0
  147. package/.copilot/skills/elaborate-spec/SKILL.md +101 -0
  148. package/.copilot/skills/enforce-first/SKILL.md +45 -0
  149. package/.copilot/skills/evolve-skill/SKILL.md +55 -0
  150. package/.copilot/skills/execute-plan/SKILL.md +61 -0
  151. package/.copilot/skills/extract-design/SKILL.md +132 -0
  152. package/.copilot/skills/find-way/SKILL.md +191 -0
  153. package/.copilot/skills/fix-bug/SKILL.md +67 -0
  154. package/.copilot/skills/gate-trace/SKILL.md +92 -0
  155. package/.copilot/skills/generate-allure-report/SKILL.md +285 -0
  156. package/.copilot/skills/grill-me/SKILL.md +108 -0
  157. package/.copilot/skills/grill-with-docs/SKILL.md +53 -0
  158. package/.copilot/skills/guard-git/SKILL.md +231 -0
  159. package/.copilot/skills/harden-vps/SKILL.md +291 -0
  160. package/.copilot/skills/hook-commits/SKILL.md +94 -0
  161. package/.copilot/skills/inspect-quality/SKILL.md +106 -0
  162. package/.copilot/skills/investigate-bug/SKILL.md +127 -0
  163. package/.copilot/skills/kickoff-branch/SKILL.md +143 -0
  164. package/.copilot/skills/maintain-wiki/SKILL.md +64 -0
  165. package/.copilot/skills/map-codebase/SKILL.md +71 -0
  166. package/.copilot/skills/migrate-spec/SKILL.md +862 -0
  167. package/.copilot/skills/model-domain/SKILL.md +232 -0
  168. package/.copilot/skills/orchestrate-project/SKILL.md +174 -0
  169. package/.copilot/skills/organize-workspace/SKILL.md +164 -0
  170. package/.copilot/skills/plan-refactor/SKILL.md +87 -0
  171. package/.copilot/skills/plan-release/SKILL.md +145 -0
  172. package/.copilot/skills/plan-tests/SKILL.md +75 -0
  173. package/.copilot/skills/plan-work/SKILL.md +260 -0
  174. package/.copilot/skills/publish-package/SKILL.md +328 -0
  175. package/.copilot/skills/quick-fix/SKILL.md +114 -0
  176. package/.copilot/skills/release-branch/SKILL.md +298 -0
  177. package/.copilot/skills/request-review/SKILL.md +113 -0
  178. package/.copilot/skills/research-first/SKILL.md +87 -0
  179. package/.copilot/skills/reset-baseline/SKILL.md +21 -0
  180. package/.copilot/skills/respond-review/SKILL.md +71 -0
  181. package/.copilot/skills/run-benchmark/SKILL.md +85 -0
  182. package/.copilot/skills/run-evals/SKILL.md +80 -0
  183. package/.copilot/skills/run-planning/SKILL.md +101 -0
  184. package/.copilot/skills/scope-work/SKILL.md +63 -0
  185. package/.copilot/skills/search-skills/SKILL.md +73 -0
  186. package/.copilot/skills/security-review/SKILL.md +384 -0
  187. package/.copilot/skills/seed-conventions/SKILL.md +302 -0
  188. package/.copilot/skills/session-state/SKILL.md +146 -0
  189. package/.copilot/skills/setup-environment/SKILL.md +39 -0
  190. package/.copilot/skills/simulate-agents/SKILL.md +26 -0
  191. package/.copilot/skills/slice-tasks/SKILL.md +68 -0
  192. package/.copilot/skills/smoke-test/SKILL.md +257 -0
  193. package/.copilot/skills/spike-prototype/SKILL.md +95 -0
  194. package/.copilot/skills/stocktake-skills/SKILL.md +74 -0
  195. package/.copilot/skills/survey-context/SKILL.md +135 -0
  196. package/.copilot/skills/terse-mode/SKILL.md +42 -0
  197. package/.copilot/skills/trace-requirement/SKILL.md +69 -0
  198. package/.copilot/skills/using-bigpowers/SKILL.md +111 -0
  199. package/.copilot/skills/validate-contracts/SKILL.md +277 -0
  200. package/.copilot/skills/validate-fix/SKILL.md +147 -0
  201. package/.copilot/skills/verify-work/SKILL.md +191 -0
  202. package/.copilot/skills/visual-dashboard/SKILL.md +50 -0
  203. package/.copilot/skills/wire-ci/SKILL.md +374 -0
  204. package/.copilot/skills/wire-observability/SKILL.md +97 -0
  205. package/.copilot/skills/write-document/SKILL.md +255 -0
  206. package/.hermes/skills/commit-message/SKILL.md +1 -1
  207. package/.hermes/skills/craft-skill/SKILL.md +2 -2
  208. package/.hermes/skills/define-success/SKILL.md +6 -59
  209. package/.hermes/skills/deploy/SKILL.md +1 -1
  210. package/.hermes/skills/elaborate-spec/SKILL.md +1 -1
  211. package/.hermes/skills/evolve-skill/SKILL.md +1 -1
  212. package/.hermes/skills/harden-vps/SKILL.md +63 -60
  213. package/.hermes/skills/investigate-bug/SKILL.md +2 -2
  214. package/.hermes/skills/orchestrate-project/SKILL.md +1 -1
  215. package/.hermes/skills/plan-refactor/SKILL.md +2 -2
  216. package/.hermes/skills/plan-release/SKILL.md +2 -2
  217. package/.hermes/skills/plan-work/SKILL.md +1 -1
  218. package/.hermes/skills/using-bigpowers/SKILL.md +2 -2
  219. package/.hermes/skills/wire-ci/SKILL.md +11 -14
  220. package/.hermes/skills/write-document/SKILL.md +1 -1
  221. package/.kilocode/rules/commit-message.md +1 -1
  222. package/.kilocode/rules/craft-skill.md +2 -2
  223. package/.kilocode/rules/define-success.md +6 -59
  224. package/.kilocode/rules/deploy.md +1 -1
  225. package/.kilocode/rules/elaborate-spec.md +1 -1
  226. package/.kilocode/rules/evolve-skill.md +1 -1
  227. package/.kilocode/rules/harden-vps.md +63 -60
  228. package/.kilocode/rules/investigate-bug.md +2 -2
  229. package/.kilocode/rules/orchestrate-project.md +1 -1
  230. package/.kilocode/rules/plan-refactor.md +2 -2
  231. package/.kilocode/rules/plan-release.md +2 -2
  232. package/.kilocode/rules/plan-work.md +1 -1
  233. package/.kilocode/rules/using-bigpowers.md +2 -2
  234. package/.kilocode/rules/wire-ci.md +11 -14
  235. package/.kilocode/rules/write-document.md +1 -1
  236. package/.mimocode/skills/commit-message/SKILL.md +1 -1
  237. package/.mimocode/skills/craft-skill/SKILL.md +2 -2
  238. package/.mimocode/skills/define-success/SKILL.md +6 -59
  239. package/.mimocode/skills/deploy/SKILL.md +1 -1
  240. package/.mimocode/skills/elaborate-spec/SKILL.md +1 -1
  241. package/.mimocode/skills/evolve-skill/SKILL.md +1 -1
  242. package/.mimocode/skills/harden-vps/SKILL.md +63 -60
  243. package/.mimocode/skills/investigate-bug/SKILL.md +2 -2
  244. package/.mimocode/skills/orchestrate-project/SKILL.md +1 -1
  245. package/.mimocode/skills/plan-refactor/SKILL.md +2 -2
  246. package/.mimocode/skills/plan-release/SKILL.md +2 -2
  247. package/.mimocode/skills/plan-work/SKILL.md +1 -1
  248. package/.mimocode/skills/using-bigpowers/SKILL.md +2 -2
  249. package/.mimocode/skills/wire-ci/SKILL.md +11 -14
  250. package/.mimocode/skills/write-document/SKILL.md +1 -1
  251. package/.opencode/skills/align-grid/SKILL.md +110 -0
  252. package/.opencode/skills/assess-impact/SKILL.md +91 -0
  253. package/.opencode/skills/audit-code/SKILL.md +184 -0
  254. package/.opencode/skills/audit-plan/SKILL.md +89 -0
  255. package/.opencode/skills/build-epic/SKILL.md +105 -0
  256. package/.opencode/skills/change-request/SKILL.md +121 -0
  257. package/.opencode/skills/commit-message/SKILL.md +140 -0
  258. package/.opencode/skills/compose-workflow/SKILL.md +82 -0
  259. package/.opencode/skills/context7-mcp/SKILL.md +55 -0
  260. package/.opencode/skills/craft-skill/SKILL.md +196 -0
  261. package/.opencode/skills/deepen-architecture/SKILL.md +260 -0
  262. package/.opencode/skills/define-language/SKILL.md +80 -0
  263. package/.opencode/skills/define-success/SKILL.md +12 -0
  264. package/.opencode/skills/delegate-task/SKILL.md +91 -0
  265. package/.opencode/skills/deploy/SKILL.md +198 -0
  266. package/.opencode/skills/design-interface/SKILL.md +97 -0
  267. package/.opencode/skills/develop-tdd/SKILL.md +416 -0
  268. package/.opencode/skills/diagnose-root/SKILL.md +24 -0
  269. package/.opencode/skills/diagnose-stall/SKILL.md +54 -0
  270. package/.opencode/skills/dispatch-agents/SKILL.md +118 -0
  271. package/.opencode/skills/edit-document/SKILL.md +23 -0
  272. package/.opencode/skills/elaborate-spec/SKILL.md +101 -0
  273. package/.opencode/skills/enforce-first/SKILL.md +45 -0
  274. package/.opencode/skills/evolve-skill/SKILL.md +55 -0
  275. package/.opencode/skills/execute-plan/SKILL.md +61 -0
  276. package/.opencode/skills/extract-design/SKILL.md +132 -0
  277. package/.opencode/skills/find-way/SKILL.md +191 -0
  278. package/.opencode/skills/fix-bug/SKILL.md +67 -0
  279. package/.opencode/skills/gate-trace/SKILL.md +92 -0
  280. package/.opencode/skills/generate-allure-report/SKILL.md +285 -0
  281. package/.opencode/skills/grill-me/SKILL.md +108 -0
  282. package/.opencode/skills/grill-with-docs/SKILL.md +53 -0
  283. package/.opencode/skills/guard-git/SKILL.md +231 -0
  284. package/.opencode/skills/harden-vps/SKILL.md +291 -0
  285. package/.opencode/skills/hook-commits/SKILL.md +94 -0
  286. package/.opencode/skills/inspect-quality/SKILL.md +106 -0
  287. package/.opencode/skills/investigate-bug/SKILL.md +127 -0
  288. package/.opencode/skills/kickoff-branch/SKILL.md +143 -0
  289. package/.opencode/skills/maintain-wiki/SKILL.md +64 -0
  290. package/.opencode/skills/map-codebase/SKILL.md +71 -0
  291. package/.opencode/skills/migrate-spec/SKILL.md +862 -0
  292. package/.opencode/skills/model-domain/SKILL.md +232 -0
  293. package/.opencode/skills/orchestrate-project/SKILL.md +174 -0
  294. package/.opencode/skills/organize-workspace/SKILL.md +164 -0
  295. package/.opencode/skills/plan-refactor/SKILL.md +87 -0
  296. package/.opencode/skills/plan-release/SKILL.md +145 -0
  297. package/.opencode/skills/plan-tests/SKILL.md +75 -0
  298. package/.opencode/skills/plan-work/SKILL.md +260 -0
  299. package/.opencode/skills/publish-package/SKILL.md +328 -0
  300. package/.opencode/skills/quick-fix/SKILL.md +114 -0
  301. package/.opencode/skills/release-branch/SKILL.md +298 -0
  302. package/.opencode/skills/request-review/SKILL.md +113 -0
  303. package/.opencode/skills/research-first/SKILL.md +87 -0
  304. package/.opencode/skills/reset-baseline/SKILL.md +21 -0
  305. package/.opencode/skills/respond-review/SKILL.md +71 -0
  306. package/.opencode/skills/run-benchmark/SKILL.md +85 -0
  307. package/.opencode/skills/run-evals/SKILL.md +80 -0
  308. package/.opencode/skills/run-planning/SKILL.md +101 -0
  309. package/.opencode/skills/scope-work/SKILL.md +63 -0
  310. package/.opencode/skills/search-skills/SKILL.md +73 -0
  311. package/.opencode/skills/security-review/SKILL.md +384 -0
  312. package/.opencode/skills/seed-conventions/SKILL.md +302 -0
  313. package/.opencode/skills/session-state/SKILL.md +146 -0
  314. package/.opencode/skills/setup-environment/SKILL.md +39 -0
  315. package/.opencode/skills/simulate-agents/SKILL.md +26 -0
  316. package/.opencode/skills/slice-tasks/SKILL.md +68 -0
  317. package/.opencode/skills/smoke-test/SKILL.md +257 -0
  318. package/.opencode/skills/spike-prototype/SKILL.md +95 -0
  319. package/.opencode/skills/stocktake-skills/SKILL.md +74 -0
  320. package/.opencode/skills/survey-context/SKILL.md +135 -0
  321. package/.opencode/skills/terse-mode/SKILL.md +42 -0
  322. package/.opencode/skills/trace-requirement/SKILL.md +69 -0
  323. package/.opencode/skills/using-bigpowers/SKILL.md +111 -0
  324. package/.opencode/skills/validate-contracts/SKILL.md +277 -0
  325. package/.opencode/skills/validate-fix/SKILL.md +147 -0
  326. package/.opencode/skills/verify-work/SKILL.md +191 -0
  327. package/.opencode/skills/visual-dashboard/SKILL.md +50 -0
  328. package/.opencode/skills/wire-ci/SKILL.md +374 -0
  329. package/.opencode/skills/wire-observability/SKILL.md +97 -0
  330. package/.opencode/skills/write-document/SKILL.md +255 -0
  331. package/.pi/package.json +1 -1
  332. package/.pi/prompts/commit-message.md +1 -1
  333. package/.pi/prompts/craft-skill.md +2 -2
  334. package/.pi/prompts/define-success.md +5 -58
  335. package/.pi/prompts/deploy.md +1 -1
  336. package/.pi/prompts/elaborate-spec.md +1 -1
  337. package/.pi/prompts/evolve-skill.md +1 -1
  338. package/.pi/prompts/harden-vps.md +63 -60
  339. package/.pi/prompts/investigate-bug.md +2 -2
  340. package/.pi/prompts/orchestrate-project.md +1 -1
  341. package/.pi/prompts/plan-refactor.md +2 -2
  342. package/.pi/prompts/plan-release.md +2 -2
  343. package/.pi/prompts/plan-work.md +1 -1
  344. package/.pi/prompts/using-bigpowers.md +2 -2
  345. package/.pi/prompts/wire-ci.md +11 -14
  346. package/.pi/prompts/write-document.md +1 -1
  347. package/.pi/skills/commit-message/SKILL.md +1 -1
  348. package/.pi/skills/craft-skill/SKILL.md +2 -2
  349. package/.pi/skills/define-success/SKILL.md +6 -59
  350. package/.pi/skills/deploy/SKILL.md +1 -1
  351. package/.pi/skills/elaborate-spec/SKILL.md +1 -1
  352. package/.pi/skills/evolve-skill/SKILL.md +1 -1
  353. package/.pi/skills/harden-vps/SKILL.md +63 -60
  354. package/.pi/skills/investigate-bug/SKILL.md +2 -2
  355. package/.pi/skills/orchestrate-project/SKILL.md +1 -1
  356. package/.pi/skills/plan-refactor/SKILL.md +2 -2
  357. package/.pi/skills/plan-release/SKILL.md +2 -2
  358. package/.pi/skills/plan-work/SKILL.md +1 -1
  359. package/.pi/skills/using-bigpowers/SKILL.md +2 -2
  360. package/.pi/skills/wire-ci/SKILL.md +11 -14
  361. package/.pi/skills/write-document/SKILL.md +1 -1
  362. package/.qwen/skills/align-grid/SKILL.md +110 -0
  363. package/.qwen/skills/assess-impact/SKILL.md +91 -0
  364. package/.qwen/skills/audit-code/SKILL.md +184 -0
  365. package/.qwen/skills/audit-plan/SKILL.md +89 -0
  366. package/.qwen/skills/build-epic/SKILL.md +105 -0
  367. package/.qwen/skills/change-request/SKILL.md +121 -0
  368. package/.qwen/skills/commit-message/SKILL.md +140 -0
  369. package/.qwen/skills/compose-workflow/SKILL.md +82 -0
  370. package/.qwen/skills/context7-mcp/SKILL.md +55 -0
  371. package/.qwen/skills/craft-skill/SKILL.md +196 -0
  372. package/.qwen/skills/deepen-architecture/SKILL.md +260 -0
  373. package/.qwen/skills/define-language/SKILL.md +80 -0
  374. package/.qwen/skills/define-success/SKILL.md +12 -0
  375. package/.qwen/skills/delegate-task/SKILL.md +91 -0
  376. package/.qwen/skills/deploy/SKILL.md +198 -0
  377. package/.qwen/skills/design-interface/SKILL.md +97 -0
  378. package/.qwen/skills/develop-tdd/SKILL.md +416 -0
  379. package/.qwen/skills/diagnose-root/SKILL.md +24 -0
  380. package/.qwen/skills/diagnose-stall/SKILL.md +54 -0
  381. package/.qwen/skills/dispatch-agents/SKILL.md +118 -0
  382. package/.qwen/skills/edit-document/SKILL.md +23 -0
  383. package/.qwen/skills/elaborate-spec/SKILL.md +101 -0
  384. package/.qwen/skills/enforce-first/SKILL.md +45 -0
  385. package/.qwen/skills/evolve-skill/SKILL.md +55 -0
  386. package/.qwen/skills/execute-plan/SKILL.md +61 -0
  387. package/.qwen/skills/extract-design/SKILL.md +132 -0
  388. package/.qwen/skills/find-way/SKILL.md +191 -0
  389. package/.qwen/skills/fix-bug/SKILL.md +67 -0
  390. package/.qwen/skills/gate-trace/SKILL.md +92 -0
  391. package/.qwen/skills/generate-allure-report/SKILL.md +285 -0
  392. package/.qwen/skills/grill-me/SKILL.md +108 -0
  393. package/.qwen/skills/grill-with-docs/SKILL.md +53 -0
  394. package/.qwen/skills/guard-git/SKILL.md +231 -0
  395. package/.qwen/skills/harden-vps/SKILL.md +291 -0
  396. package/.qwen/skills/hook-commits/SKILL.md +94 -0
  397. package/.qwen/skills/inspect-quality/SKILL.md +106 -0
  398. package/.qwen/skills/investigate-bug/SKILL.md +127 -0
  399. package/.qwen/skills/kickoff-branch/SKILL.md +143 -0
  400. package/.qwen/skills/maintain-wiki/SKILL.md +64 -0
  401. package/.qwen/skills/map-codebase/SKILL.md +71 -0
  402. package/.qwen/skills/migrate-spec/SKILL.md +862 -0
  403. package/.qwen/skills/model-domain/SKILL.md +232 -0
  404. package/.qwen/skills/orchestrate-project/SKILL.md +174 -0
  405. package/.qwen/skills/organize-workspace/SKILL.md +164 -0
  406. package/.qwen/skills/plan-refactor/SKILL.md +87 -0
  407. package/.qwen/skills/plan-release/SKILL.md +145 -0
  408. package/.qwen/skills/plan-tests/SKILL.md +75 -0
  409. package/.qwen/skills/plan-work/SKILL.md +260 -0
  410. package/.qwen/skills/publish-package/SKILL.md +328 -0
  411. package/.qwen/skills/quick-fix/SKILL.md +114 -0
  412. package/.qwen/skills/release-branch/SKILL.md +298 -0
  413. package/.qwen/skills/request-review/SKILL.md +113 -0
  414. package/.qwen/skills/research-first/SKILL.md +87 -0
  415. package/.qwen/skills/reset-baseline/SKILL.md +21 -0
  416. package/.qwen/skills/respond-review/SKILL.md +71 -0
  417. package/.qwen/skills/run-benchmark/SKILL.md +85 -0
  418. package/.qwen/skills/run-evals/SKILL.md +80 -0
  419. package/.qwen/skills/run-planning/SKILL.md +101 -0
  420. package/.qwen/skills/scope-work/SKILL.md +63 -0
  421. package/.qwen/skills/search-skills/SKILL.md +73 -0
  422. package/.qwen/skills/security-review/SKILL.md +384 -0
  423. package/.qwen/skills/seed-conventions/SKILL.md +302 -0
  424. package/.qwen/skills/session-state/SKILL.md +146 -0
  425. package/.qwen/skills/setup-environment/SKILL.md +39 -0
  426. package/.qwen/skills/simulate-agents/SKILL.md +26 -0
  427. package/.qwen/skills/slice-tasks/SKILL.md +68 -0
  428. package/.qwen/skills/smoke-test/SKILL.md +257 -0
  429. package/.qwen/skills/spike-prototype/SKILL.md +95 -0
  430. package/.qwen/skills/stocktake-skills/SKILL.md +74 -0
  431. package/.qwen/skills/survey-context/SKILL.md +135 -0
  432. package/.qwen/skills/terse-mode/SKILL.md +42 -0
  433. package/.qwen/skills/trace-requirement/SKILL.md +69 -0
  434. package/.qwen/skills/using-bigpowers/SKILL.md +111 -0
  435. package/.qwen/skills/validate-contracts/SKILL.md +277 -0
  436. package/.qwen/skills/validate-fix/SKILL.md +147 -0
  437. package/.qwen/skills/verify-work/SKILL.md +191 -0
  438. package/.qwen/skills/visual-dashboard/SKILL.md +50 -0
  439. package/.qwen/skills/wire-ci/SKILL.md +374 -0
  440. package/.qwen/skills/wire-observability/SKILL.md +97 -0
  441. package/.qwen/skills/write-document/SKILL.md +255 -0
  442. package/.trae/skills/commit-message/SKILL.md +1 -1
  443. package/.trae/skills/craft-skill/SKILL.md +2 -2
  444. package/.trae/skills/define-success/SKILL.md +6 -59
  445. package/.trae/skills/deploy/SKILL.md +1 -1
  446. package/.trae/skills/elaborate-spec/SKILL.md +1 -1
  447. package/.trae/skills/evolve-skill/SKILL.md +1 -1
  448. package/.trae/skills/harden-vps/SKILL.md +63 -60
  449. package/.trae/skills/investigate-bug/SKILL.md +2 -2
  450. package/.trae/skills/orchestrate-project/SKILL.md +1 -1
  451. package/.trae/skills/plan-refactor/SKILL.md +2 -2
  452. package/.trae/skills/plan-release/SKILL.md +2 -2
  453. package/.trae/skills/plan-work/SKILL.md +1 -1
  454. package/.trae/skills/using-bigpowers/SKILL.md +2 -2
  455. package/.trae/skills/wire-ci/SKILL.md +11 -14
  456. package/.trae/skills/write-document/SKILL.md +1 -1
  457. package/.windsurf/rules/commit-message.md +1 -1
  458. package/.windsurf/rules/craft-skill.md +2 -2
  459. package/.windsurf/rules/define-success.md +6 -59
  460. package/.windsurf/rules/deploy.md +1 -1
  461. package/.windsurf/rules/elaborate-spec.md +1 -1
  462. package/.windsurf/rules/evolve-skill.md +1 -1
  463. package/.windsurf/rules/harden-vps.md +63 -60
  464. package/.windsurf/rules/investigate-bug.md +2 -2
  465. package/.windsurf/rules/orchestrate-project.md +1 -1
  466. package/.windsurf/rules/plan-refactor.md +2 -2
  467. package/.windsurf/rules/plan-release.md +2 -2
  468. package/.windsurf/rules/plan-work.md +1 -1
  469. package/.windsurf/rules/using-bigpowers.md +2 -2
  470. package/.windsurf/rules/wire-ci.md +11 -14
  471. package/.windsurf/rules/write-document.md +1 -1
  472. package/.zcode/skills/commit-message/SKILL.md +1 -1
  473. package/.zcode/skills/craft-skill/SKILL.md +2 -2
  474. package/.zcode/skills/define-success/SKILL.md +6 -59
  475. package/.zcode/skills/deploy/SKILL.md +1 -1
  476. package/.zcode/skills/elaborate-spec/SKILL.md +1 -1
  477. package/.zcode/skills/evolve-skill/SKILL.md +1 -1
  478. package/.zcode/skills/harden-vps/SKILL.md +63 -60
  479. package/.zcode/skills/investigate-bug/SKILL.md +2 -2
  480. package/.zcode/skills/orchestrate-project/SKILL.md +1 -1
  481. package/.zcode/skills/plan-refactor/SKILL.md +2 -2
  482. package/.zcode/skills/plan-release/SKILL.md +2 -2
  483. package/.zcode/skills/plan-work/SKILL.md +1 -1
  484. package/.zcode/skills/using-bigpowers/SKILL.md +2 -2
  485. package/.zcode/skills/wire-ci/SKILL.md +11 -14
  486. package/.zcode/skills/write-document/SKILL.md +1 -1
  487. package/CHANGELOG.md +14 -0
  488. package/SKILL-INDEX.md +2 -2
  489. package/package.json +1 -1
  490. package/scripts/adapters/agy.sh +3 -0
  491. package/scripts/adapters/continue.sh +3 -0
  492. package/scripts/adapters/cursor.sh +3 -0
  493. package/scripts/adapters/gemini.sh +5 -24
  494. package/scripts/adapters/mimo.sh +3 -0
  495. package/scripts/adapters/omp.sh +3 -0
  496. package/scripts/adapters/pi.sh +6 -3
  497. package/scripts/adapters/zcode.sh +3 -0
  498. package/scripts/adapters/zed.sh +3 -0
  499. package/scripts/check-skill-links.py +35 -0
  500. package/scripts/generate-workflow-diagrams.sh +102 -0
  501. package/scripts/golden-g13-test-orphans.sh +70 -0
  502. package/scripts/golden-g14-adapter-dispatch.sh +113 -0
  503. package/scripts/land-branch.sh +9 -3
  504. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  505. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  506. package/scripts/lib/adapter-guard.sh +30 -0
  507. package/scripts/lib/golden-suite-gates.sh +28 -0
  508. package/scripts/lib/install-targets-b.sh +0 -8
  509. package/scripts/lib/sync-render.sh +0 -43
  510. package/scripts/lib/target-contracts.sh +37 -1
  511. package/scripts/targets.yaml +35 -13
  512. package/scripts/test-adapter-render.sh +116 -0
  513. package/scripts/test-adapters.sh +10 -3
  514. package/scripts/test-install-hub.sh +139 -0
  515. package/scripts/test-target-contracts.sh +73 -0
  516. package/scripts/tombstone-skill.sh +6 -0
  517. package/skills/commit-message/REFERENCE.md +1 -1
  518. package/skills/craft-skill/SKILL.md +2 -2
  519. package/skills/define-success/SKILL.md +7 -61
  520. package/skills/deploy/SKILL.md +1 -1
  521. package/skills/elaborate-spec/SKILL.md +1 -1
  522. package/skills/evolve-skill/REFERENCE.md +1 -1
  523. package/skills/harden-vps/REFERENCE.md +39 -36
  524. package/skills/harden-vps/SKILL.md +24 -24
  525. package/skills/investigate-bug/SKILL.md +2 -2
  526. package/skills/orchestrate-project/REFERENCE.md +1 -1
  527. package/skills/plan-refactor/SKILL.md +2 -2
  528. package/skills/plan-release/SKILL.md +2 -2
  529. package/skills/plan-work/SKILL.md +1 -1
  530. package/skills/security-review/fixtures/CWE-639-idor-negative.go +1 -1
  531. package/skills/security-review/fixtures/CWE-639-idor-positive.go +1 -1
  532. package/skills/using-bigpowers/SKILL.md +2 -2
  533. package/skills/wire-ci/REFERENCE.md +11 -14
  534. package/skills/write-document/REFERENCE.md +1 -1
  535. package/skills-lock.json +12 -12
  536. package/.fix_regex.sh +0 -16
  537. package/.hermes-verify-sed-fix.py +0 -53
  538. package/_test_e28s01.sh +0 -2
  539. package/audit-independent-unwaived-2026-07-06.md +0 -49
  540. package/hermes-verify-sed-fix.py +0 -30
  541. package/instructions +0 -1
  542. package/scripts/hermes-verify-e39s02.sh +0 -28
  543. package/scripts/test-agy-hub.sh +0 -60
  544. package/scripts/test-cline-adapter.sh +0 -55
  545. package/scripts/test-cline-hub.sh +0 -48
  546. package/scripts/test-codebuddy-adapter.sh +0 -63
  547. package/scripts/test-codebuddy-hub.sh +0 -49
  548. package/scripts/test-codex-adapter.sh +0 -63
  549. package/scripts/test-codex-hub.sh +0 -49
  550. package/scripts/test-copilot-adapter.sh +0 -47
  551. package/scripts/test-copilot-hub.sh +0 -43
  552. package/scripts/test-gemini-adapter.sh +0 -70
  553. package/scripts/test-gemini-hub.sh +0 -56
  554. package/scripts/test-hermes-adapter.sh +0 -85
  555. package/scripts/test-hermes-hub.sh +0 -52
  556. package/scripts/test-kilocode-adapter.sh +0 -55
  557. package/scripts/test-kilocode-hub.sh +0 -48
  558. package/scripts/test-mimo-hub.sh +0 -52
  559. package/scripts/test-opencode-adapter.sh +0 -47
  560. package/scripts/test-opencode-hub.sh +0 -43
  561. package/scripts/test-qwen-adapter.sh +0 -63
  562. package/scripts/test-qwen-hub.sh +0 -49
  563. package/scripts/test-trae-adapter.sh +0 -63
  564. package/scripts/test-trae-hub.sh +0 -49
  565. package/scripts/test-windsurf-adapter.sh +0 -63
  566. package/scripts/test-windsurf-hub.sh +0 -49
  567. package/scripts/test-zcode-hub.sh +0 -52
  568. package/test_figlet.py +0 -17
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env bash
2
+ # story: e37s05
3
+ # test-adapter-render.sh — render, path-traversal and hook-guard checks for
4
+ # every adapter, replacing 11 hand-written test-<target>-adapter.sh scripts.
5
+ #
6
+ # The 11 originals were the same five assertions with the target name
7
+ # substituted, none of them reachable from any gate, and they covered 11 of the
8
+ # 18 adapters that define render_skill(). Their fifth assertion was pure
9
+ # delegation to test-adapters.sh, which is already registry-driven.
10
+ #
11
+ # Adapters are discovered from scripts/adapters/*.sh, and each adapter's output
12
+ # directory variable is read out of its own source (they vary: *_SKILLS,
13
+ # *_RULES, *_EXT_DIR), so adding an adapter needs no edit here.
14
+ #
15
+ # Usage: bash scripts/test-adapter-render.sh
16
+ set -euo pipefail
17
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
18
+ resolve_repo_root
19
+ cd "$REPO_ROOT"
20
+
21
+ PASS=0
22
+ FAIL=0
23
+ pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
24
+ fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
25
+
26
+ TMP_ROOT=$(mktemp -d)
27
+ trap 'rm -rf "$TMP_ROOT"' EXIT
28
+
29
+
30
+
31
+
32
+ echo "=== test-adapter-render.sh ==="
33
+
34
+ for adapter in scripts/adapters/*.sh; do
35
+ id="$(basename "$adapter" .sh)"
36
+
37
+ grep -q "^render_skill()" "$adapter" || continue
38
+
39
+ # Adapters are sourced, not executed: several (continue, omp, zed) are stubs
40
+ # with no stdin entrypoint and would silently no-op — and exit 0 — if run as
41
+ # scripts. Sourcing and calling render_skill directly is how test-adapters.sh
42
+ # drives them, and it exercises every adapter the same way.
43
+ #
44
+ # An adapter may read more than one output variable (gemini uses GEMINI_SKILLS
45
+ # and GEMINI_EXT_DIR), so point all of them at the sandbox rather than
46
+ # guessing which one matters.
47
+ mapfile -t outvars < <(grep -oE '\$\{?[A-Z][A-Z0-9_]*_(SKILLS|RULES|EXT_DIR|OUT|COMMANDS|PROMPTS|HOOKS_DIR)[:-]' "$adapter" \
48
+ | tr -d '${:-' | sort -u)
49
+ if [[ ${#outvars[@]} -eq 0 ]]; then
50
+ echo " skip: $id — no output directory variable found"
51
+ continue
52
+ fi
53
+
54
+ render_into() { # $1 = destination dir, $2 = skill name
55
+ local dir="$1" nm="$2" v
56
+ local -a envs=()
57
+ for v in "${outvars[@]}"; do envs+=("$v=$dir"); done
58
+ ( set +e
59
+ env "${envs[@]}" bash -c '
60
+ source "$1" 2>/dev/null || exit 1
61
+ IR_NAME="$2"; IR_DESCRIPTION="test desc"; IR_BODY="test body"
62
+ IR_DESC_ESCAPED="test desc"; IR_MODEL=""
63
+ declare -f render_skill >/dev/null || exit 1
64
+ render_skill
65
+ ' _ "$PWD/$adapter" "$nm" >/dev/null 2>&1 )
66
+ }
67
+
68
+ dest="$TMP_ROOT/$id"
69
+ mkdir -p "$dest"
70
+ if render_into "$dest" "test-skill" && [[ -n "$(find "$dest" -mindepth 1 2>/dev/null)" ]]; then
71
+ pass "$id: render_skill writes an artifact from a SkillIR"
72
+ else
73
+ fail "$id: render_skill produced no artifact (${outvars[*]})"
74
+ fi
75
+
76
+ # Path traversal must be refused — this is the security assertion the
77
+ # per-target scripts carried and nothing else covers.
78
+ #
79
+ # Each adapter gets its own sandbox parent so the escape probe is isolated:
80
+ # ../escape from <sandbox>/out lands in <sandbox>, and a single shared parent
81
+ # would make one adapter's artifact fail every later adapter.
82
+ sandbox="$TMP_ROOT/sandbox-$id"
83
+ mkdir -p "$sandbox/out"
84
+ if render_into "$sandbox/out" "../escape"; then
85
+ fail "$id: accepted a path-traversal skill name"
86
+ else
87
+ pass "$id: rejects path traversal in skill name"
88
+ fi
89
+ if [[ -e "$sandbox/escape" ]]; then
90
+ fail "$id: path traversal escaped into $sandbox"
91
+ else
92
+ pass "$id: traversal wrote nothing outside the destination"
93
+ fi
94
+
95
+ # Hook bundle + guard behaviour, only where the target ships hooks.
96
+ hookdir="scripts/hooks/$id"
97
+ guard="$hookdir/pre-tool-git-guard.sh"
98
+ if [[ -f "$guard" ]]; then
99
+ out="$(echo '{"tool_input":{"command":"git push --force origin main"}}' \
100
+ | bash "$guard" 2>/dev/null || true)"
101
+ grep -q 'block' <<<"$out" \
102
+ && pass "$id: pre-tool guard blocks a dangerous git command" \
103
+ || fail "$id: pre-tool guard did not block git push --force"
104
+ fi
105
+ done
106
+
107
+ # The generic adapter-contract runner stays the source of truth for
108
+ # render_skill/wire_context wiring; assert it is green rather than restating it.
109
+ if bash scripts/test-adapters.sh 2>&1 | grep -q '0 failed'; then
110
+ pass "test-adapters.sh reports 0 failed across the registry"
111
+ else
112
+ fail "test-adapters.sh reported failures"
113
+ fi
114
+
115
+ echo "test-adapter-render: $PASS passed, $FAIL failed"
116
+ [[ "$FAIL" -eq 0 ]] || exit 1
@@ -40,8 +40,13 @@ test_adapter() {
40
40
  [[ -f "$adapter_file" ]] || { ta_fail "$id: adapter missing"; return; }
41
41
  ta_pass "$id: exists"
42
42
 
43
+ # </dev/null is load-bearing. The caller feeds the target list into a
44
+ # `while read` loop, so a sourced adapter inherits it on fd 0 — and every
45
+ # adapter ends in a main block that reads stdin. agy.sh was consuming the
46
+ # remaining target list and running render_skill with an empty IR_NAME, so
47
+ # this "registry-driven" runner silently tested exactly one adapter.
43
48
  # shellcheck source=/dev/null
44
- source "$adapter_file" 2>/dev/null && ta_pass "$id: sourceable" || { ta_fail "$id: source error"; return; }
49
+ source "$adapter_file" </dev/null 2>/dev/null && ta_pass "$id: sourceable" || { ta_fail "$id: source error"; return; }
45
50
 
46
51
  local has_skill has_context mode
47
52
  has_skill=$(yq -r ".targets[] | select(.id==\"$id\") | .skill != null" "$TARGETS_FILE")
@@ -62,11 +67,13 @@ test_adapter() {
62
67
  # to print 5 PASS lines and report 4. Capture the status, tally in-process.
63
68
  if (
64
69
  cd "$TA_TMPDIR"
70
+ # </dev/null for the same reason as above — this subshell also inherits
71
+ # the caller's target list on fd 0.
65
72
  # shellcheck source=/dev/null
66
- source "$adapter_file"
73
+ source "$adapter_file" </dev/null
67
74
  wire_context >/dev/null 2>&1 || true
68
75
  wire_context >/dev/null 2>&1
69
- ); then
76
+ ) </dev/null; then
70
77
  ta_pass "$id: idempotent wire_context"
71
78
  else
72
79
  ta_fail "$id: wire_context failed"
@@ -0,0 +1,139 @@
1
+ #!/usr/bin/env bash
2
+ # story: e37s05
3
+ # test-install-hub.sh — one registry-driven check of install-hub wiring for
4
+ # every target, replacing 14 hand-written test-<target>-hub.sh scripts.
5
+ #
6
+ # Those 14 were line-for-line identical apart from three substituted tokens, and
7
+ # none of them were reachable from any gate. They also covered only 14 of the 18
8
+ # targets install.sh actually defines, so antigravity, claude, cursor and pi had
9
+ # no hub coverage at all.
10
+ #
11
+ # Targets are discovered from install.sh's own install_<id>() definitions —
12
+ # the authoritative statement of what the hub installs — rather than from a
13
+ # table that would drift. Each target's display label is read out of its
14
+ # install function body, so adding a target needs no edit here.
15
+ #
16
+ # Usage: bash scripts/test-install-hub.sh [--self-test]
17
+ set -euo pipefail
18
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
19
+ resolve_repo_root
20
+ cd "$REPO_ROOT"
21
+
22
+ PASS=0
23
+ FAIL=0
24
+ pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
25
+ fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
26
+
27
+ INSTALL_SH="scripts/install.sh"
28
+ HELPERS_JS="scripts/lib/install-helpers.js"
29
+ SETUP_JS="bin/setup.js"
30
+ TARGETS_YAML="scripts/targets.yaml"
31
+ INSTALL_SRC="$INSTALL_SH scripts/lib/install-targets-a.sh scripts/lib/install-targets-b.sh scripts/lib/install-targets-c.sh scripts/lib/install-targets-d.sh"
32
+
33
+ # setup.js registers Kilo under a shortened id; everything else matches 1:1.
34
+ setup_id_for() { [[ "$1" == "kilocode" ]] && echo "kilo" || echo "$1"; }
35
+
36
+ discover_targets() {
37
+ # shellcheck disable=SC2086
38
+ grep -hoE "^install_[a-z0-9]+\(\)" $INSTALL_SRC 2>/dev/null \
39
+ | sed 's/^install_//; s/()//' | sort -u
40
+ }
41
+
42
+ # Pull `echo "Label → ..."` out of the target's own install function body.
43
+ label_for() {
44
+ local id="$1"
45
+ # shellcheck disable=SC2086
46
+ # Strip around the arrow with sub() rather than substr()/RLENGTH — the arrow
47
+ # is multi-byte UTF-8 and byte-indexed slicing corrupts the trailing char.
48
+ awk -v fn="install_${id}()" '
49
+ $0 ~ "^" fn { inside = 1; next }
50
+ inside && /^}/ { exit }
51
+ inside && /echo "[^"]* →/ {
52
+ line = $0
53
+ sub(/^[^"]*"/, "", line)
54
+ sub(/ →.*$/, "", line)
55
+ print line; exit
56
+ }
57
+ ' $INSTALL_SRC 2>/dev/null | head -1
58
+ }
59
+
60
+ # Returns the delegate id when install_<id>() does nothing but call another
61
+ # install_<other>, otherwise empty.
62
+ alias_target_for() {
63
+ local id="$1"
64
+ # shellcheck disable=SC2086
65
+ awk -v fn="install_${id}()" '
66
+ $0 ~ "^" fn { inside = 1; body = ""; next }
67
+ inside && /^}/ { exit }
68
+ inside {
69
+ line = $0
70
+ gsub(/^[[:space:]]+|[[:space:]]+$/, "", line)
71
+ if (line != "") body = body line "\n"
72
+ }
73
+ END {
74
+ n = split(body, lines, "\n")
75
+ count = 0; only = ""
76
+ for (i = 1; i <= n; i++) if (lines[i] != "") { count++; only = lines[i] }
77
+ if (count == 1 && only ~ /^install_[a-z0-9]+$/) { sub(/^install_/, "", only); print only }
78
+ }
79
+ ' $INSTALL_SRC 2>/dev/null | head -1
80
+ }
81
+
82
+ echo "=== test-install-hub.sh ==="
83
+
84
+ TARGETS=$(discover_targets)
85
+ [[ -n "$TARGETS" ]] || { fail "no install_<id>() functions discovered"; echo "test-install-hub: $PASS passed, $FAIL failed"; exit 1; }
86
+ echo "Discovered $(wc -w <<<"$TARGETS" | tr -d ' ') install targets"
87
+
88
+ DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1 || true)"
89
+ DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1 || true)"
90
+ SETUP_IDS="$(sed -n '/SUPPORTED_IDS = new Set/,/);/p' "$SETUP_JS")"
91
+
92
+ for id in $TARGETS; do
93
+ # shellcheck disable=SC2086
94
+ grep -qE "^uninstall_${id}\(\)" $INSTALL_SRC \
95
+ && pass "$id: uninstall_${id}() defined" \
96
+ || fail "$id: uninstall_${id}() missing"
97
+
98
+ # Some targets are pure aliases (install_antigravity just calls install_agy).
99
+ # They own no label; the delegate's label is asserted on its own pass.
100
+ alias_of="$(alias_target_for "$id")"
101
+ label="$(label_for "$id")"
102
+ if [[ -z "$label" && -n "$alias_of" ]]; then
103
+ pass "$id: alias of $alias_of (label asserted there)"
104
+ elif [[ -z "$label" ]]; then
105
+ fail "$id: no 'Label →' line found inside install_${id}()"
106
+ else
107
+ grep -qF "$label →" <<<"$DRY_OUT" \
108
+ && pass "$id: dry-run shows '$label'" \
109
+ || fail "$id: dry-run missing '$label' section"
110
+ grep -qF "$label →" <<<"$DRY_UNINSTALL" \
111
+ && pass "$id: dry-run --uninstall shows '$label'" \
112
+ || fail "$id: dry-run --uninstall missing '$label' section"
113
+ fi
114
+
115
+ grep -q "case '${id}'" "$HELPERS_JS" \
116
+ && pass "$id: install-helpers case" \
117
+ || fail "$id: install-helpers missing case '${id}'"
118
+
119
+ sid="$(setup_id_for "$id")"
120
+ grep -q "'${sid}'" <<<"$SETUP_IDS" \
121
+ && pass "$id: setup.js SUPPORTED_IDS carries '${sid}'" \
122
+ || fail "$id: setup.js SUPPORTED_IDS missing '${sid}'"
123
+ done
124
+
125
+ # Global syntax gates — previously repeated in all 14 scripts.
126
+ bash -n "$INSTALL_SH" && pass "bash -n install.sh" || fail "bash -n install.sh"
127
+ node --check "$HELPERS_JS" >/dev/null 2>&1 && pass "node --check install-helpers.js" || fail "node --check install-helpers.js"
128
+ node --check "$SETUP_JS" >/dev/null 2>&1 && pass "node --check setup.js" || fail "node --check setup.js"
129
+ grep -q "SUPPORTED_IDS = new Set" "$SETUP_JS" && pass "setup.js defines SUPPORTED_IDS" || fail "setup.js missing SUPPORTED_IDS"
130
+
131
+ # Registry coverage is reported, not enforced: copilot, opencode, claude and
132
+ # antigravity ship install functions but have no targets.yaml row today.
133
+ # Failing on that here would block unrelated work; it is tracked separately.
134
+ for id in $TARGETS; do
135
+ grep -q "id: ${id}$" "$TARGETS_YAML" || echo " note: $id installs but has no targets.yaml row"
136
+ done
137
+
138
+ echo "test-install-hub: $PASS passed, $FAIL failed"
139
+ [[ "$FAIL" -eq 0 ]] || exit 1
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env bash
2
+ # story: e37s08
3
+ # test-target-contracts.sh — anti-vacuity guard for run_contract.
4
+ #
5
+ # Every contract named in scripts/targets.yaml must have a real assertion behind
6
+ # it. run_contract used to end in `*) echo "SKIP ..."; return 0`, so seven
7
+ # declared contracts (cline/codebuddy/codex/kilocode/qwen/trae/windsurf
8
+ # _hooks_manifest) silently passed forever. This test fails if that default ever
9
+ # returns to being permissive, or if targets.yaml declares a contract nothing
10
+ # implements.
11
+ #
12
+ # Usage: bash scripts/test-target-contracts.sh
13
+ set -euo pipefail
14
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
15
+ resolve_repo_root
16
+ cd "$REPO_ROOT"
17
+
18
+ PASS=0
19
+ FAIL=0
20
+ pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
21
+ fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
22
+
23
+ echo "=== test-target-contracts.sh ==="
24
+
25
+ # shellcheck source=lib/target-contracts.sh
26
+ source "$REPO_ROOT/scripts/lib/target-contracts.sh"
27
+
28
+ # 1. An unknown contract MUST fail. This is the anti-vacuity assertion.
29
+ set +e
30
+ out=$(run_contract "faketarget" "definitely_not_a_real_contract" 2>&1)
31
+ rc=$?
32
+ set -e
33
+ if [[ $rc -ne 0 ]]; then
34
+ pass "unknown contract fails (exit $rc)"
35
+ else
36
+ fail "unknown contract returned 0 — run_contract is fail-open again: $out"
37
+ fi
38
+
39
+ # 2. Every contract declared in targets.yaml must resolve to an assertion.
40
+ # Probing with a nonexistent target id means a real assertion returns 1 with
41
+ # a FAIL line, while a missing implementation hits the default branch and
42
+ # reports "unknown contract".
43
+ declared=$(grep -E "^ - [a-z0-9_]+$" scripts/targets.yaml | sed 's/^ - //' | sort -u)
44
+ [[ -n "$declared" ]] || fail "no contracts parsed from targets.yaml"
45
+
46
+ for c in $declared; do
47
+ set +e
48
+ out=$(run_contract "__probe__" "$c" 2>&1)
49
+ set -e
50
+ if grep -q "unknown contract" <<<"$out"; then
51
+ fail "$c declared in targets.yaml but no assertion implements it"
52
+ else
53
+ pass "$c has an implementation"
54
+ fi
55
+ done
56
+
57
+ # 3. Every *_hooks_manifest target must actually ship a parseable manifest.
58
+ for c in $declared; do
59
+ case "$c" in
60
+ gemini_hooks_manifest) continue ;; # adapter-level validator, not a file check
61
+ *_hooks_manifest)
62
+ t="${c%_hooks_manifest}"
63
+ if [[ -f "scripts/hooks/${t}/hooks-manifest.json" ]]; then
64
+ pass "$t ships hooks-manifest.json"
65
+ else
66
+ fail "$t declares $c but scripts/hooks/${t}/hooks-manifest.json is missing"
67
+ fi
68
+ ;;
69
+ esac
70
+ done
71
+
72
+ echo "test-target-contracts: $PASS passed, $FAIL failed"
73
+ [[ "$FAIL" -eq 0 ]] || exit 1
@@ -54,9 +54,15 @@ STORY_TAGS=$(grep -E '^#\s*story:' "$OLD_SKILL_MD" || true)
54
54
  CURRENT_VERSION=$(jq -r '.version' package.json 2>/dev/null)
55
55
  CREATED_AT=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
56
56
 
57
+ # A tombstone is still a live SKILL.md for its transition window, so it must
58
+ # carry the same required frontmatter as any other skill. Omitting `model:`
59
+ # made docs/references/model-profiles.md count one fewer skill than there are
60
+ # skill directories, which fails validate-doctrine's skill-count check.
57
61
  cat > "$OLD_SKILL_MD" <<STUBEOF
58
62
  ---
59
63
  name: ${OLD_NAME}
64
+ model: haiku
65
+ effort: light
60
66
  description: "TOMBSTONE — renamed/merged to ${NEW_NAME}. This stub resolves for one release then is removed."
61
67
  ---
62
68
 
@@ -78,4 +78,4 @@ This table reflects the **out-of-the-box** behavior of `semantic-release` using
78
78
 
79
79
  - [Conventional Commits — specification](https://www.conventionalcommits.org/en/v1.0.0/#specification)
80
80
  - [semantic-release — README (commit format & flow)](https://github.com/semantic-release/semantic-release#commit-message-format)
81
- - Fork pointer: [semantic-release-baby](https://github.com/danielvm-git/semantic-release-baby) (automation and docs align with upstream semantic-release)
81
+ - Automation and docs align with [semantic-release](https://github.com/semantic-release/semantic-release) upstream; a fork may be substituted without changing this guidance.
@@ -48,7 +48,7 @@ Skill-body instructional prose MUST follow [AGENTIC-STE.md](../../docs/AGENTIC-S
48
48
  - Any reference materials to include?
49
49
  - What specs/ output does it produce (if any)?
50
50
 
51
- 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/PRINCIPLES.md):
51
+ 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](../../docs/PRINCIPLES.md):
52
52
  - Is it atomic (verb-noun)?
53
53
  - Is it "deep" (simple interface, complex internal logic)?
54
54
  - Does it include Hard Gates?
@@ -62,7 +62,7 @@ Skill-body instructional prose MUST follow [AGENTIC-STE.md](../../docs/AGENTIC-S
62
62
  **Auto-skill from library README:** When user provides a library README or API docs URL, extract triggers and HARD GATEs.
63
63
  Draft verify commands and specs/ output into SKILL.md. Do NOT invent APIs not in the source.
64
64
 
65
- 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/model-profiles.md).
65
+ 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](../../docs/references/model-profiles.md).
66
66
 
67
67
  > **STREAM CONTINUITY** — When writing file content, output in continuous chunks of ~200 lines. Do not pause. Continue immediately until complete. If you need time, emit a placeholder comment rather than going silent.
68
68
 
@@ -1,69 +1,15 @@
1
- ARCHIVED: content absorbed into plan-work
2
-
3
1
  ---
4
2
  name: define-success
5
- model: sonnet
6
- effort: standard
7
- description: 'Convert an imperative task statement into explicit "step → verify: <cmd>" pairs before implementation begins. Use before plan-work when success criteria are unclear, when a task lacks verifiable checkpoints, or when user says "how will we know this is done?".'
3
+ model: haiku
4
+ effort: light
5
+ description: "TOMBSTONE — renamed/merged to plan-work. This stub resolves for one release then is removed."
8
6
  ---
9
7
 
10
- # Define Success
11
-
12
- Transform "do X" into "step → verify: <cmd>" pairs. This is the pre-flight check before `plan-work` or `develop-tdd` — it makes success observable and removes ambiguity about when you're done.
13
-
14
- > **HARD GATE** — Success criteria must be testable and user-observable. "Code should be fast" is not testable. "Pageload latency < 2s" is testable.
15
-
16
- ## Why this matters
17
-
18
- "Implement user authentication" is not a plan. It has no checkpoints, no evidence requirement, and no way to know if you're done. The Karpathy principle: every step must be independently verifiable with a runnable command. If you can't verify it, you can't prove it works.
19
-
20
- ## Process
21
-
22
- ### 1. Read the task statement
23
-
24
- Take the task as stated (from conversation, or from `specs/epics/ (see slice-tasks)`, or from `specs/product/SCOPE_LATEST.yaml`).
25
-
26
- ### 2. Break into observable outcomes
27
-
28
- For each thing the task requires, identify:
29
- - The smallest unit of observable behavior that proves something works
30
- - The command that proves it
31
-
32
- Work at the level of behaviors (what the system does) not implementation steps (how you'll write the code).
33
-
34
- ### 3. Write the pairs
35
-
36
- Format each pair as:
37
- ```
38
- N. [What must be true] → verify: <runnable command>
39
- ```
40
-
41
- Examples:
42
-
43
- ```
44
- Task: "Add user registration to the API"
45
-
46
- 1. POST /users accepts {email, name} and returns {id, email, name} → verify: curl -s -X POST http://localhost:3000/users -H 'Content-Type: application/json' -d '{"email":"test@test.com","name":"Test"}' | jq .id
47
- 2. Duplicate email is rejected with 409 → verify: npm test -- user-registration.test.ts
48
- 3. Missing email is rejected with 400 and descriptive error → verify: npm test -- user-validation.test.ts
49
- 4. Password is hashed (never stored in plaintext) → verify: npm test -- user-security.test.ts
50
- 5. All existing tests still pass → verify: npm test
51
- ```
52
-
53
- ### 4. Challenge completeness
54
-
55
- Ask yourself:
56
- - Is there any behavior the task requires that isn't covered by a verify step?
57
- - Is every verify step runnable right now without additional setup?
58
- - Does the final step verify the whole thing end-to-end?
59
-
60
- Add any missing pairs.
61
-
62
- ### 5. Output
8
+ # define-success (tombstoned)
63
9
 
64
- Present the pairs to the user and ask: "Does this capture everything the task requires? Anything missing?"
10
+ This skill has been renamed or merged into `plan-work`. Use `plan-work` instead.
65
11
 
66
- Once confirmed, these pairs become the skeleton for `plan-work`'s steps. Pass them along when calling `plan-work`.
12
+ This stub exists for one release as a transition aid, then is removed once
13
+ `scripts/validate-tombstones.sh` flags it as expired.
67
14
 
68
- ## Verify
69
15
 
@@ -74,7 +74,7 @@ Platform-agnostic — supports multiple deployment targets via environment varia
74
74
  |----------|---------|---------|
75
75
  | Vercel | `VERCEL_TOKEN`, `VERCEL_PROJECT_ID` | `vercel deploy --prod --token $VERCEL_TOKEN` |
76
76
  | Netlify | `NETLIFY_AUTH_TOKEN`, `NETLIFY_SITE_ID` | `netlify deploy --prod --auth $NETLIFY_AUTH_TOKEN --dir $ARTIFACT_DIR` |
77
- | BigBase MCP | MCP tool call | `mcp deploy` via BigBase server |
77
+ | Platform MCP | MCP tool call | `mcp deploy` via your platform MCP server |
78
78
  | rsync/SSH | `DEPLOY_SSH_USER`, `DEPLOY_SSH_HOST`, `DEPLOY_SSH_PATH` | `rsync -avz $ARTIFACT_DIR/ $DEPLOY_SSH_USER@$DEPLOY_SSH_HOST:$DEPLOY_SSH_PATH` |
79
79
  | Custom | `DEPLOY_COMMAND` | Run any deploy command string |
80
80
 
@@ -65,7 +65,7 @@ Once the user has answered the main questions, probe for assumptions:
65
65
 
66
66
  ### 4. Synthesize and confirm
67
67
 
68
- Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/countable-story-format.md):
68
+ Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](../../docs/countable-story-format.md):
69
69
  - The problem (feeds into §1 Business narrative)
70
70
  - The solution and main flow (feeds into §5)
71
71
  - The key constraints and alternative flows (feeds into §6)
@@ -9,4 +9,4 @@
9
9
  **Evidence:** path/to/benchmark-report.md
10
10
  ```
11
11
 
12
- Benchmark repo: `bigpowers-benchmark` — resolve the local clone on this machine (e.g. `gh repo clone danielvm-git/bigpowers-benchmark` if absent); never assume a hard-coded absolute path.
12
+ Benchmark repo: `bigpowers-benchmark` — resolve the local clone on this machine; clone it from wherever your fork lives if absent. Never assume a hard-coded absolute path or a specific owner.