bigpowers 2.86.5 → 2.86.7

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 (548) hide show
  1. package/.agents/skills/commit-message/SKILL.md +1 -1
  2. package/.agents/skills/evolve-skill/SKILL.md +1 -1
  3. package/.agents/skills/guard-git/SKILL.md +8 -8
  4. package/.agents/skills/kickoff-branch/SKILL.md +1 -1
  5. package/.agents/skills/migrate-spec/SKILL.md +52 -6
  6. package/.agents/skills/plan-work/SKILL.md +17 -5
  7. package/.agents/skills/publish-package/SKILL.md +15 -5
  8. package/.agents/skills/release-branch/SKILL.md +12 -8
  9. package/.agents/skills/seed-conventions/SKILL.md +20 -10
  10. package/.agents/skills/smoke-test/SKILL.md +9 -5
  11. package/.agents/skills/validate-contracts/SKILL.md +15 -6
  12. package/.agents/skills/wire-ci/SKILL.md +12 -5
  13. package/.agents/skills/write-document/SKILL.md +31 -5
  14. package/.cline/skills/align-grid/SKILL.md +110 -0
  15. package/.cline/skills/assess-impact/SKILL.md +91 -0
  16. package/.cline/skills/audit-code/SKILL.md +184 -0
  17. package/.cline/skills/audit-plan/SKILL.md +89 -0
  18. package/.cline/skills/build-epic/SKILL.md +105 -0
  19. package/.cline/skills/change-request/SKILL.md +121 -0
  20. package/.cline/skills/commit-message/SKILL.md +140 -0
  21. package/.cline/skills/compose-workflow/SKILL.md +82 -0
  22. package/.cline/skills/context7-mcp/SKILL.md +55 -0
  23. package/.cline/skills/craft-skill/SKILL.md +196 -0
  24. package/.cline/skills/deepen-architecture/SKILL.md +260 -0
  25. package/.cline/skills/define-language/SKILL.md +80 -0
  26. package/.cline/skills/define-success/SKILL.md +12 -0
  27. package/.cline/skills/delegate-task/SKILL.md +91 -0
  28. package/.cline/skills/deploy/SKILL.md +198 -0
  29. package/.cline/skills/design-interface/SKILL.md +97 -0
  30. package/.cline/skills/develop-tdd/SKILL.md +416 -0
  31. package/.cline/skills/diagnose-root/SKILL.md +24 -0
  32. package/.cline/skills/diagnose-stall/SKILL.md +54 -0
  33. package/.cline/skills/dispatch-agents/SKILL.md +118 -0
  34. package/.cline/skills/edit-document/SKILL.md +23 -0
  35. package/.cline/skills/elaborate-spec/SKILL.md +101 -0
  36. package/.cline/skills/enforce-first/SKILL.md +45 -0
  37. package/.cline/skills/evolve-skill/SKILL.md +55 -0
  38. package/.cline/skills/execute-plan/SKILL.md +61 -0
  39. package/.cline/skills/extract-design/SKILL.md +132 -0
  40. package/.cline/skills/find-way/SKILL.md +191 -0
  41. package/.cline/skills/fix-bug/SKILL.md +67 -0
  42. package/.cline/skills/gate-trace/SKILL.md +92 -0
  43. package/.cline/skills/generate-allure-report/SKILL.md +285 -0
  44. package/.cline/skills/grill-me/SKILL.md +108 -0
  45. package/.cline/skills/grill-with-docs/SKILL.md +53 -0
  46. package/.cline/skills/guard-git/SKILL.md +231 -0
  47. package/.cline/skills/harden-vps/SKILL.md +291 -0
  48. package/.cline/skills/hook-commits/SKILL.md +94 -0
  49. package/.cline/skills/inspect-quality/SKILL.md +106 -0
  50. package/.cline/skills/investigate-bug/SKILL.md +127 -0
  51. package/.cline/skills/kickoff-branch/SKILL.md +143 -0
  52. package/.cline/skills/maintain-wiki/SKILL.md +64 -0
  53. package/.cline/skills/map-codebase/SKILL.md +71 -0
  54. package/.cline/skills/migrate-spec/SKILL.md +908 -0
  55. package/.cline/skills/model-domain/SKILL.md +232 -0
  56. package/.cline/skills/orchestrate-project/SKILL.md +174 -0
  57. package/.cline/skills/organize-workspace/SKILL.md +164 -0
  58. package/.cline/skills/plan-refactor/SKILL.md +87 -0
  59. package/.cline/skills/plan-release/SKILL.md +145 -0
  60. package/.cline/skills/plan-tests/SKILL.md +75 -0
  61. package/.cline/skills/plan-work/SKILL.md +272 -0
  62. package/.cline/skills/publish-package/SKILL.md +338 -0
  63. package/.cline/skills/quick-fix/SKILL.md +114 -0
  64. package/.cline/skills/release-branch/SKILL.md +302 -0
  65. package/.cline/skills/request-review/SKILL.md +113 -0
  66. package/.cline/skills/research-first/SKILL.md +87 -0
  67. package/.cline/skills/reset-baseline/SKILL.md +21 -0
  68. package/.cline/skills/respond-review/SKILL.md +71 -0
  69. package/.cline/skills/run-benchmark/SKILL.md +85 -0
  70. package/.cline/skills/run-evals/SKILL.md +80 -0
  71. package/.cline/skills/run-planning/SKILL.md +101 -0
  72. package/.cline/skills/scope-work/SKILL.md +63 -0
  73. package/.cline/skills/search-skills/SKILL.md +73 -0
  74. package/.cline/skills/security-review/SKILL.md +384 -0
  75. package/.cline/skills/seed-conventions/SKILL.md +312 -0
  76. package/.cline/skills/session-state/SKILL.md +146 -0
  77. package/.cline/skills/setup-environment/SKILL.md +39 -0
  78. package/.cline/skills/simulate-agents/SKILL.md +26 -0
  79. package/.cline/skills/slice-tasks/SKILL.md +68 -0
  80. package/.cline/skills/smoke-test/SKILL.md +261 -0
  81. package/.cline/skills/spike-prototype/SKILL.md +95 -0
  82. package/.cline/skills/stocktake-skills/SKILL.md +74 -0
  83. package/.cline/skills/survey-context/SKILL.md +135 -0
  84. package/.cline/skills/terse-mode/SKILL.md +42 -0
  85. package/.cline/skills/trace-requirement/SKILL.md +69 -0
  86. package/.cline/skills/using-bigpowers/SKILL.md +111 -0
  87. package/.cline/skills/validate-contracts/SKILL.md +286 -0
  88. package/.cline/skills/validate-fix/SKILL.md +147 -0
  89. package/.cline/skills/verify-work/SKILL.md +191 -0
  90. package/.cline/skills/visual-dashboard/SKILL.md +50 -0
  91. package/.cline/skills/wire-ci/SKILL.md +381 -0
  92. package/.cline/skills/wire-observability/SKILL.md +97 -0
  93. package/.cline/skills/write-document/SKILL.md +281 -0
  94. package/.codebuddy/skills/commit-message/SKILL.md +1 -1
  95. package/.codebuddy/skills/evolve-skill/SKILL.md +1 -1
  96. package/.codebuddy/skills/guard-git/SKILL.md +8 -8
  97. package/.codebuddy/skills/kickoff-branch/SKILL.md +1 -1
  98. package/.codebuddy/skills/migrate-spec/SKILL.md +52 -6
  99. package/.codebuddy/skills/plan-work/SKILL.md +17 -5
  100. package/.codebuddy/skills/publish-package/SKILL.md +15 -5
  101. package/.codebuddy/skills/release-branch/SKILL.md +12 -8
  102. package/.codebuddy/skills/seed-conventions/SKILL.md +20 -10
  103. package/.codebuddy/skills/smoke-test/SKILL.md +9 -5
  104. package/.codebuddy/skills/validate-contracts/SKILL.md +15 -6
  105. package/.codebuddy/skills/wire-ci/SKILL.md +12 -5
  106. package/.codebuddy/skills/write-document/SKILL.md +31 -5
  107. package/.codex/skills/commit-message/SKILL.md +1 -1
  108. package/.codex/skills/evolve-skill/SKILL.md +1 -1
  109. package/.codex/skills/guard-git/SKILL.md +8 -8
  110. package/.codex/skills/kickoff-branch/SKILL.md +1 -1
  111. package/.codex/skills/migrate-spec/SKILL.md +52 -6
  112. package/.codex/skills/plan-work/SKILL.md +17 -5
  113. package/.codex/skills/publish-package/SKILL.md +15 -5
  114. package/.codex/skills/release-branch/SKILL.md +12 -8
  115. package/.codex/skills/seed-conventions/SKILL.md +20 -10
  116. package/.codex/skills/smoke-test/SKILL.md +9 -5
  117. package/.codex/skills/validate-contracts/SKILL.md +15 -6
  118. package/.codex/skills/wire-ci/SKILL.md +12 -5
  119. package/.codex/skills/write-document/SKILL.md +31 -5
  120. package/.copilot/skills/align-grid/SKILL.md +110 -0
  121. package/.copilot/skills/assess-impact/SKILL.md +91 -0
  122. package/.copilot/skills/audit-code/SKILL.md +184 -0
  123. package/.copilot/skills/audit-plan/SKILL.md +89 -0
  124. package/.copilot/skills/build-epic/SKILL.md +105 -0
  125. package/.copilot/skills/change-request/SKILL.md +121 -0
  126. package/.copilot/skills/commit-message/SKILL.md +140 -0
  127. package/.copilot/skills/compose-workflow/SKILL.md +82 -0
  128. package/.copilot/skills/context7-mcp/SKILL.md +55 -0
  129. package/.copilot/skills/craft-skill/SKILL.md +196 -0
  130. package/.copilot/skills/deepen-architecture/SKILL.md +260 -0
  131. package/.copilot/skills/define-language/SKILL.md +80 -0
  132. package/.copilot/skills/define-success/SKILL.md +12 -0
  133. package/.copilot/skills/delegate-task/SKILL.md +91 -0
  134. package/.copilot/skills/deploy/SKILL.md +198 -0
  135. package/.copilot/skills/design-interface/SKILL.md +97 -0
  136. package/.copilot/skills/develop-tdd/SKILL.md +416 -0
  137. package/.copilot/skills/diagnose-root/SKILL.md +24 -0
  138. package/.copilot/skills/diagnose-stall/SKILL.md +54 -0
  139. package/.copilot/skills/dispatch-agents/SKILL.md +118 -0
  140. package/.copilot/skills/edit-document/SKILL.md +23 -0
  141. package/.copilot/skills/elaborate-spec/SKILL.md +101 -0
  142. package/.copilot/skills/enforce-first/SKILL.md +45 -0
  143. package/.copilot/skills/evolve-skill/SKILL.md +55 -0
  144. package/.copilot/skills/execute-plan/SKILL.md +61 -0
  145. package/.copilot/skills/extract-design/SKILL.md +132 -0
  146. package/.copilot/skills/find-way/SKILL.md +191 -0
  147. package/.copilot/skills/fix-bug/SKILL.md +67 -0
  148. package/.copilot/skills/gate-trace/SKILL.md +92 -0
  149. package/.copilot/skills/generate-allure-report/SKILL.md +285 -0
  150. package/.copilot/skills/grill-me/SKILL.md +108 -0
  151. package/.copilot/skills/grill-with-docs/SKILL.md +53 -0
  152. package/.copilot/skills/guard-git/SKILL.md +231 -0
  153. package/.copilot/skills/harden-vps/SKILL.md +291 -0
  154. package/.copilot/skills/hook-commits/SKILL.md +94 -0
  155. package/.copilot/skills/inspect-quality/SKILL.md +106 -0
  156. package/.copilot/skills/investigate-bug/SKILL.md +127 -0
  157. package/.copilot/skills/kickoff-branch/SKILL.md +143 -0
  158. package/.copilot/skills/maintain-wiki/SKILL.md +64 -0
  159. package/.copilot/skills/map-codebase/SKILL.md +71 -0
  160. package/.copilot/skills/migrate-spec/SKILL.md +908 -0
  161. package/.copilot/skills/model-domain/SKILL.md +232 -0
  162. package/.copilot/skills/orchestrate-project/SKILL.md +174 -0
  163. package/.copilot/skills/organize-workspace/SKILL.md +164 -0
  164. package/.copilot/skills/plan-refactor/SKILL.md +87 -0
  165. package/.copilot/skills/plan-release/SKILL.md +145 -0
  166. package/.copilot/skills/plan-tests/SKILL.md +75 -0
  167. package/.copilot/skills/plan-work/SKILL.md +272 -0
  168. package/.copilot/skills/publish-package/SKILL.md +338 -0
  169. package/.copilot/skills/quick-fix/SKILL.md +114 -0
  170. package/.copilot/skills/release-branch/SKILL.md +302 -0
  171. package/.copilot/skills/request-review/SKILL.md +113 -0
  172. package/.copilot/skills/research-first/SKILL.md +87 -0
  173. package/.copilot/skills/reset-baseline/SKILL.md +21 -0
  174. package/.copilot/skills/respond-review/SKILL.md +71 -0
  175. package/.copilot/skills/run-benchmark/SKILL.md +85 -0
  176. package/.copilot/skills/run-evals/SKILL.md +80 -0
  177. package/.copilot/skills/run-planning/SKILL.md +101 -0
  178. package/.copilot/skills/scope-work/SKILL.md +63 -0
  179. package/.copilot/skills/search-skills/SKILL.md +73 -0
  180. package/.copilot/skills/security-review/SKILL.md +384 -0
  181. package/.copilot/skills/seed-conventions/SKILL.md +312 -0
  182. package/.copilot/skills/session-state/SKILL.md +146 -0
  183. package/.copilot/skills/setup-environment/SKILL.md +39 -0
  184. package/.copilot/skills/simulate-agents/SKILL.md +26 -0
  185. package/.copilot/skills/slice-tasks/SKILL.md +68 -0
  186. package/.copilot/skills/smoke-test/SKILL.md +261 -0
  187. package/.copilot/skills/spike-prototype/SKILL.md +95 -0
  188. package/.copilot/skills/stocktake-skills/SKILL.md +74 -0
  189. package/.copilot/skills/survey-context/SKILL.md +135 -0
  190. package/.copilot/skills/terse-mode/SKILL.md +42 -0
  191. package/.copilot/skills/trace-requirement/SKILL.md +69 -0
  192. package/.copilot/skills/using-bigpowers/SKILL.md +111 -0
  193. package/.copilot/skills/validate-contracts/SKILL.md +286 -0
  194. package/.copilot/skills/validate-fix/SKILL.md +147 -0
  195. package/.copilot/skills/verify-work/SKILL.md +191 -0
  196. package/.copilot/skills/visual-dashboard/SKILL.md +50 -0
  197. package/.copilot/skills/wire-ci/SKILL.md +381 -0
  198. package/.copilot/skills/wire-observability/SKILL.md +97 -0
  199. package/.copilot/skills/write-document/SKILL.md +281 -0
  200. package/.hermes/skills/commit-message/SKILL.md +1 -1
  201. package/.hermes/skills/evolve-skill/SKILL.md +1 -1
  202. package/.hermes/skills/guard-git/SKILL.md +8 -8
  203. package/.hermes/skills/kickoff-branch/SKILL.md +1 -1
  204. package/.hermes/skills/migrate-spec/SKILL.md +52 -6
  205. package/.hermes/skills/plan-work/SKILL.md +17 -5
  206. package/.hermes/skills/publish-package/SKILL.md +15 -5
  207. package/.hermes/skills/release-branch/SKILL.md +12 -8
  208. package/.hermes/skills/seed-conventions/SKILL.md +20 -10
  209. package/.hermes/skills/smoke-test/SKILL.md +9 -5
  210. package/.hermes/skills/validate-contracts/SKILL.md +15 -6
  211. package/.hermes/skills/wire-ci/SKILL.md +12 -5
  212. package/.hermes/skills/write-document/SKILL.md +31 -5
  213. package/.kilocode/rules/commit-message.md +1 -1
  214. package/.kilocode/rules/evolve-skill.md +1 -1
  215. package/.kilocode/rules/guard-git.md +8 -8
  216. package/.kilocode/rules/kickoff-branch.md +1 -1
  217. package/.kilocode/rules/migrate-spec.md +52 -6
  218. package/.kilocode/rules/plan-work.md +17 -5
  219. package/.kilocode/rules/publish-package.md +15 -5
  220. package/.kilocode/rules/release-branch.md +12 -8
  221. package/.kilocode/rules/seed-conventions.md +20 -10
  222. package/.kilocode/rules/smoke-test.md +9 -5
  223. package/.kilocode/rules/validate-contracts.md +15 -6
  224. package/.kilocode/rules/wire-ci.md +12 -5
  225. package/.kilocode/rules/write-document.md +31 -5
  226. package/.mimocode/skills/commit-message/SKILL.md +1 -1
  227. package/.mimocode/skills/evolve-skill/SKILL.md +1 -1
  228. package/.mimocode/skills/guard-git/SKILL.md +8 -8
  229. package/.mimocode/skills/kickoff-branch/SKILL.md +1 -1
  230. package/.mimocode/skills/migrate-spec/SKILL.md +52 -6
  231. package/.mimocode/skills/plan-work/SKILL.md +17 -5
  232. package/.mimocode/skills/publish-package/SKILL.md +15 -5
  233. package/.mimocode/skills/release-branch/SKILL.md +12 -8
  234. package/.mimocode/skills/seed-conventions/SKILL.md +20 -10
  235. package/.mimocode/skills/smoke-test/SKILL.md +9 -5
  236. package/.mimocode/skills/validate-contracts/SKILL.md +15 -6
  237. package/.mimocode/skills/wire-ci/SKILL.md +12 -5
  238. package/.mimocode/skills/write-document/SKILL.md +31 -5
  239. package/.opencode/skills/align-grid/SKILL.md +110 -0
  240. package/.opencode/skills/assess-impact/SKILL.md +91 -0
  241. package/.opencode/skills/audit-code/SKILL.md +184 -0
  242. package/.opencode/skills/audit-plan/SKILL.md +89 -0
  243. package/.opencode/skills/build-epic/SKILL.md +105 -0
  244. package/.opencode/skills/change-request/SKILL.md +121 -0
  245. package/.opencode/skills/commit-message/SKILL.md +140 -0
  246. package/.opencode/skills/compose-workflow/SKILL.md +82 -0
  247. package/.opencode/skills/context7-mcp/SKILL.md +55 -0
  248. package/.opencode/skills/craft-skill/SKILL.md +196 -0
  249. package/.opencode/skills/deepen-architecture/SKILL.md +260 -0
  250. package/.opencode/skills/define-language/SKILL.md +80 -0
  251. package/.opencode/skills/define-success/SKILL.md +12 -0
  252. package/.opencode/skills/delegate-task/SKILL.md +91 -0
  253. package/.opencode/skills/deploy/SKILL.md +198 -0
  254. package/.opencode/skills/design-interface/SKILL.md +97 -0
  255. package/.opencode/skills/develop-tdd/SKILL.md +416 -0
  256. package/.opencode/skills/diagnose-root/SKILL.md +24 -0
  257. package/.opencode/skills/diagnose-stall/SKILL.md +54 -0
  258. package/.opencode/skills/dispatch-agents/SKILL.md +118 -0
  259. package/.opencode/skills/edit-document/SKILL.md +23 -0
  260. package/.opencode/skills/elaborate-spec/SKILL.md +101 -0
  261. package/.opencode/skills/enforce-first/SKILL.md +45 -0
  262. package/.opencode/skills/evolve-skill/SKILL.md +55 -0
  263. package/.opencode/skills/execute-plan/SKILL.md +61 -0
  264. package/.opencode/skills/extract-design/SKILL.md +132 -0
  265. package/.opencode/skills/find-way/SKILL.md +191 -0
  266. package/.opencode/skills/fix-bug/SKILL.md +67 -0
  267. package/.opencode/skills/gate-trace/SKILL.md +92 -0
  268. package/.opencode/skills/generate-allure-report/SKILL.md +285 -0
  269. package/.opencode/skills/grill-me/SKILL.md +108 -0
  270. package/.opencode/skills/grill-with-docs/SKILL.md +53 -0
  271. package/.opencode/skills/guard-git/SKILL.md +231 -0
  272. package/.opencode/skills/harden-vps/SKILL.md +291 -0
  273. package/.opencode/skills/hook-commits/SKILL.md +94 -0
  274. package/.opencode/skills/inspect-quality/SKILL.md +106 -0
  275. package/.opencode/skills/investigate-bug/SKILL.md +127 -0
  276. package/.opencode/skills/kickoff-branch/SKILL.md +143 -0
  277. package/.opencode/skills/maintain-wiki/SKILL.md +64 -0
  278. package/.opencode/skills/map-codebase/SKILL.md +71 -0
  279. package/.opencode/skills/migrate-spec/SKILL.md +908 -0
  280. package/.opencode/skills/model-domain/SKILL.md +232 -0
  281. package/.opencode/skills/orchestrate-project/SKILL.md +174 -0
  282. package/.opencode/skills/organize-workspace/SKILL.md +164 -0
  283. package/.opencode/skills/plan-refactor/SKILL.md +87 -0
  284. package/.opencode/skills/plan-release/SKILL.md +145 -0
  285. package/.opencode/skills/plan-tests/SKILL.md +75 -0
  286. package/.opencode/skills/plan-work/SKILL.md +272 -0
  287. package/.opencode/skills/publish-package/SKILL.md +338 -0
  288. package/.opencode/skills/quick-fix/SKILL.md +114 -0
  289. package/.opencode/skills/release-branch/SKILL.md +302 -0
  290. package/.opencode/skills/request-review/SKILL.md +113 -0
  291. package/.opencode/skills/research-first/SKILL.md +87 -0
  292. package/.opencode/skills/reset-baseline/SKILL.md +21 -0
  293. package/.opencode/skills/respond-review/SKILL.md +71 -0
  294. package/.opencode/skills/run-benchmark/SKILL.md +85 -0
  295. package/.opencode/skills/run-evals/SKILL.md +80 -0
  296. package/.opencode/skills/run-planning/SKILL.md +101 -0
  297. package/.opencode/skills/scope-work/SKILL.md +63 -0
  298. package/.opencode/skills/search-skills/SKILL.md +73 -0
  299. package/.opencode/skills/security-review/SKILL.md +384 -0
  300. package/.opencode/skills/seed-conventions/SKILL.md +312 -0
  301. package/.opencode/skills/session-state/SKILL.md +146 -0
  302. package/.opencode/skills/setup-environment/SKILL.md +39 -0
  303. package/.opencode/skills/simulate-agents/SKILL.md +26 -0
  304. package/.opencode/skills/slice-tasks/SKILL.md +68 -0
  305. package/.opencode/skills/smoke-test/SKILL.md +261 -0
  306. package/.opencode/skills/spike-prototype/SKILL.md +95 -0
  307. package/.opencode/skills/stocktake-skills/SKILL.md +74 -0
  308. package/.opencode/skills/survey-context/SKILL.md +135 -0
  309. package/.opencode/skills/terse-mode/SKILL.md +42 -0
  310. package/.opencode/skills/trace-requirement/SKILL.md +69 -0
  311. package/.opencode/skills/using-bigpowers/SKILL.md +111 -0
  312. package/.opencode/skills/validate-contracts/SKILL.md +286 -0
  313. package/.opencode/skills/validate-fix/SKILL.md +147 -0
  314. package/.opencode/skills/verify-work/SKILL.md +191 -0
  315. package/.opencode/skills/visual-dashboard/SKILL.md +50 -0
  316. package/.opencode/skills/wire-ci/SKILL.md +381 -0
  317. package/.opencode/skills/wire-observability/SKILL.md +97 -0
  318. package/.opencode/skills/write-document/SKILL.md +281 -0
  319. package/.pi/package.json +1 -1
  320. package/.pi/prompts/commit-message.md +1 -1
  321. package/.pi/prompts/evolve-skill.md +1 -1
  322. package/.pi/prompts/guard-git.md +8 -8
  323. package/.pi/prompts/kickoff-branch.md +1 -1
  324. package/.pi/prompts/migrate-spec.md +52 -6
  325. package/.pi/prompts/plan-work.md +17 -5
  326. package/.pi/prompts/publish-package.md +15 -5
  327. package/.pi/prompts/release-branch.md +12 -8
  328. package/.pi/prompts/seed-conventions.md +20 -10
  329. package/.pi/prompts/smoke-test.md +9 -5
  330. package/.pi/prompts/validate-contracts.md +15 -6
  331. package/.pi/prompts/wire-ci.md +12 -5
  332. package/.pi/prompts/write-document.md +31 -5
  333. package/.pi/skills/commit-message/SKILL.md +1 -1
  334. package/.pi/skills/evolve-skill/SKILL.md +1 -1
  335. package/.pi/skills/guard-git/SKILL.md +8 -8
  336. package/.pi/skills/kickoff-branch/SKILL.md +1 -1
  337. package/.pi/skills/migrate-spec/SKILL.md +52 -6
  338. package/.pi/skills/plan-work/SKILL.md +17 -5
  339. package/.pi/skills/publish-package/SKILL.md +15 -5
  340. package/.pi/skills/release-branch/SKILL.md +12 -8
  341. package/.pi/skills/seed-conventions/SKILL.md +20 -10
  342. package/.pi/skills/smoke-test/SKILL.md +9 -5
  343. package/.pi/skills/validate-contracts/SKILL.md +15 -6
  344. package/.pi/skills/wire-ci/SKILL.md +12 -5
  345. package/.pi/skills/write-document/SKILL.md +31 -5
  346. package/.qwen/skills/align-grid/SKILL.md +110 -0
  347. package/.qwen/skills/assess-impact/SKILL.md +91 -0
  348. package/.qwen/skills/audit-code/SKILL.md +184 -0
  349. package/.qwen/skills/audit-plan/SKILL.md +89 -0
  350. package/.qwen/skills/build-epic/SKILL.md +105 -0
  351. package/.qwen/skills/change-request/SKILL.md +121 -0
  352. package/.qwen/skills/commit-message/SKILL.md +140 -0
  353. package/.qwen/skills/compose-workflow/SKILL.md +82 -0
  354. package/.qwen/skills/context7-mcp/SKILL.md +55 -0
  355. package/.qwen/skills/craft-skill/SKILL.md +196 -0
  356. package/.qwen/skills/deepen-architecture/SKILL.md +260 -0
  357. package/.qwen/skills/define-language/SKILL.md +80 -0
  358. package/.qwen/skills/define-success/SKILL.md +12 -0
  359. package/.qwen/skills/delegate-task/SKILL.md +91 -0
  360. package/.qwen/skills/deploy/SKILL.md +198 -0
  361. package/.qwen/skills/design-interface/SKILL.md +97 -0
  362. package/.qwen/skills/develop-tdd/SKILL.md +416 -0
  363. package/.qwen/skills/diagnose-root/SKILL.md +24 -0
  364. package/.qwen/skills/diagnose-stall/SKILL.md +54 -0
  365. package/.qwen/skills/dispatch-agents/SKILL.md +118 -0
  366. package/.qwen/skills/edit-document/SKILL.md +23 -0
  367. package/.qwen/skills/elaborate-spec/SKILL.md +101 -0
  368. package/.qwen/skills/enforce-first/SKILL.md +45 -0
  369. package/.qwen/skills/evolve-skill/SKILL.md +55 -0
  370. package/.qwen/skills/execute-plan/SKILL.md +61 -0
  371. package/.qwen/skills/extract-design/SKILL.md +132 -0
  372. package/.qwen/skills/find-way/SKILL.md +191 -0
  373. package/.qwen/skills/fix-bug/SKILL.md +67 -0
  374. package/.qwen/skills/gate-trace/SKILL.md +92 -0
  375. package/.qwen/skills/generate-allure-report/SKILL.md +285 -0
  376. package/.qwen/skills/grill-me/SKILL.md +108 -0
  377. package/.qwen/skills/grill-with-docs/SKILL.md +53 -0
  378. package/.qwen/skills/guard-git/SKILL.md +231 -0
  379. package/.qwen/skills/harden-vps/SKILL.md +291 -0
  380. package/.qwen/skills/hook-commits/SKILL.md +94 -0
  381. package/.qwen/skills/inspect-quality/SKILL.md +106 -0
  382. package/.qwen/skills/investigate-bug/SKILL.md +127 -0
  383. package/.qwen/skills/kickoff-branch/SKILL.md +143 -0
  384. package/.qwen/skills/maintain-wiki/SKILL.md +64 -0
  385. package/.qwen/skills/map-codebase/SKILL.md +71 -0
  386. package/.qwen/skills/migrate-spec/SKILL.md +908 -0
  387. package/.qwen/skills/model-domain/SKILL.md +232 -0
  388. package/.qwen/skills/orchestrate-project/SKILL.md +174 -0
  389. package/.qwen/skills/organize-workspace/SKILL.md +164 -0
  390. package/.qwen/skills/plan-refactor/SKILL.md +87 -0
  391. package/.qwen/skills/plan-release/SKILL.md +145 -0
  392. package/.qwen/skills/plan-tests/SKILL.md +75 -0
  393. package/.qwen/skills/plan-work/SKILL.md +272 -0
  394. package/.qwen/skills/publish-package/SKILL.md +338 -0
  395. package/.qwen/skills/quick-fix/SKILL.md +114 -0
  396. package/.qwen/skills/release-branch/SKILL.md +302 -0
  397. package/.qwen/skills/request-review/SKILL.md +113 -0
  398. package/.qwen/skills/research-first/SKILL.md +87 -0
  399. package/.qwen/skills/reset-baseline/SKILL.md +21 -0
  400. package/.qwen/skills/respond-review/SKILL.md +71 -0
  401. package/.qwen/skills/run-benchmark/SKILL.md +85 -0
  402. package/.qwen/skills/run-evals/SKILL.md +80 -0
  403. package/.qwen/skills/run-planning/SKILL.md +101 -0
  404. package/.qwen/skills/scope-work/SKILL.md +63 -0
  405. package/.qwen/skills/search-skills/SKILL.md +73 -0
  406. package/.qwen/skills/security-review/SKILL.md +384 -0
  407. package/.qwen/skills/seed-conventions/SKILL.md +312 -0
  408. package/.qwen/skills/session-state/SKILL.md +146 -0
  409. package/.qwen/skills/setup-environment/SKILL.md +39 -0
  410. package/.qwen/skills/simulate-agents/SKILL.md +26 -0
  411. package/.qwen/skills/slice-tasks/SKILL.md +68 -0
  412. package/.qwen/skills/smoke-test/SKILL.md +261 -0
  413. package/.qwen/skills/spike-prototype/SKILL.md +95 -0
  414. package/.qwen/skills/stocktake-skills/SKILL.md +74 -0
  415. package/.qwen/skills/survey-context/SKILL.md +135 -0
  416. package/.qwen/skills/terse-mode/SKILL.md +42 -0
  417. package/.qwen/skills/trace-requirement/SKILL.md +69 -0
  418. package/.qwen/skills/using-bigpowers/SKILL.md +111 -0
  419. package/.qwen/skills/validate-contracts/SKILL.md +286 -0
  420. package/.qwen/skills/validate-fix/SKILL.md +147 -0
  421. package/.qwen/skills/verify-work/SKILL.md +191 -0
  422. package/.qwen/skills/visual-dashboard/SKILL.md +50 -0
  423. package/.qwen/skills/wire-ci/SKILL.md +381 -0
  424. package/.qwen/skills/wire-observability/SKILL.md +97 -0
  425. package/.qwen/skills/write-document/SKILL.md +281 -0
  426. package/.trae/skills/commit-message/SKILL.md +1 -1
  427. package/.trae/skills/evolve-skill/SKILL.md +1 -1
  428. package/.trae/skills/guard-git/SKILL.md +8 -8
  429. package/.trae/skills/kickoff-branch/SKILL.md +1 -1
  430. package/.trae/skills/migrate-spec/SKILL.md +52 -6
  431. package/.trae/skills/plan-work/SKILL.md +17 -5
  432. package/.trae/skills/publish-package/SKILL.md +15 -5
  433. package/.trae/skills/release-branch/SKILL.md +12 -8
  434. package/.trae/skills/seed-conventions/SKILL.md +20 -10
  435. package/.trae/skills/smoke-test/SKILL.md +9 -5
  436. package/.trae/skills/validate-contracts/SKILL.md +15 -6
  437. package/.trae/skills/wire-ci/SKILL.md +12 -5
  438. package/.trae/skills/write-document/SKILL.md +31 -5
  439. package/.windsurf/rules/commit-message.md +1 -1
  440. package/.windsurf/rules/evolve-skill.md +1 -1
  441. package/.windsurf/rules/guard-git.md +8 -8
  442. package/.windsurf/rules/kickoff-branch.md +1 -1
  443. package/.windsurf/rules/migrate-spec.md +52 -6
  444. package/.windsurf/rules/plan-work.md +17 -5
  445. package/.windsurf/rules/publish-package.md +15 -5
  446. package/.windsurf/rules/release-branch.md +12 -8
  447. package/.windsurf/rules/seed-conventions.md +20 -10
  448. package/.windsurf/rules/smoke-test.md +9 -5
  449. package/.windsurf/rules/validate-contracts.md +15 -6
  450. package/.windsurf/rules/wire-ci.md +12 -5
  451. package/.windsurf/rules/write-document.md +31 -5
  452. package/.zcode/skills/commit-message/SKILL.md +1 -1
  453. package/.zcode/skills/evolve-skill/SKILL.md +1 -1
  454. package/.zcode/skills/guard-git/SKILL.md +8 -8
  455. package/.zcode/skills/kickoff-branch/SKILL.md +1 -1
  456. package/.zcode/skills/migrate-spec/SKILL.md +52 -6
  457. package/.zcode/skills/plan-work/SKILL.md +17 -5
  458. package/.zcode/skills/publish-package/SKILL.md +15 -5
  459. package/.zcode/skills/release-branch/SKILL.md +12 -8
  460. package/.zcode/skills/seed-conventions/SKILL.md +20 -10
  461. package/.zcode/skills/smoke-test/SKILL.md +9 -5
  462. package/.zcode/skills/validate-contracts/SKILL.md +15 -6
  463. package/.zcode/skills/wire-ci/SKILL.md +12 -5
  464. package/.zcode/skills/write-document/SKILL.md +31 -5
  465. package/CHANGELOG.md +14 -0
  466. package/CONVENTIONS.md +2 -0
  467. package/package.json +1 -1
  468. package/scripts/adapters/agy.sh +3 -0
  469. package/scripts/adapters/continue.sh +3 -0
  470. package/scripts/adapters/cursor.sh +3 -0
  471. package/scripts/adapters/gemini.sh +5 -24
  472. package/scripts/adapters/mimo.sh +3 -0
  473. package/scripts/adapters/omp.sh +3 -0
  474. package/scripts/adapters/pi.sh +6 -3
  475. package/scripts/adapters/zcode.sh +3 -0
  476. package/scripts/adapters/zed.sh +3 -0
  477. package/scripts/generate-context-bundle.sh +6 -0
  478. package/scripts/generate-reference-nav.sh +89 -0
  479. package/scripts/generate-viz-graph.sh +4 -0
  480. package/scripts/generate-workflow-diagrams.sh +102 -0
  481. package/scripts/golden-g13-script-orphans.sh +167 -0
  482. package/scripts/golden-g14-adapter-dispatch.sh +113 -0
  483. package/scripts/golden-g15-compliance-runner-selftest.sh +126 -0
  484. package/scripts/golden-g16-spec-version-gap.sh +72 -0
  485. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  486. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  487. package/scripts/lib/adapter-guard.sh +30 -0
  488. package/scripts/lib/audit-compliance-report.sh +32 -7
  489. package/scripts/lib/audit-compliance-runner.sh +14 -1
  490. package/scripts/lib/golden-suite-gates.sh +43 -3
  491. package/scripts/lib/install-targets-b.sh +0 -8
  492. package/scripts/lib/sync-render.sh +0 -43
  493. package/scripts/lib/test-assertions.sh +4 -0
  494. package/scripts/snapshot-catalog-baseline.sh +4 -0
  495. package/scripts/targets.yaml +35 -13
  496. package/scripts/test-adapter-render.sh +114 -0
  497. package/scripts/test-adapters.sh +10 -3
  498. package/scripts/test-completeness-critic-scope.sh +18 -19
  499. package/scripts/test-generate-epics-wiki-zero-stories.sh +12 -13
  500. package/scripts/test-golden-g11-worktree-venv.sh +16 -18
  501. package/scripts/test-install-distribute-only.sh +27 -26
  502. package/scripts/test-install-hub.sh +141 -0
  503. package/scripts/test-setup-no-pyyaml.sh +16 -17
  504. package/scripts/test-target-contracts.sh +15 -13
  505. package/scripts/test-tombstone-mechanism.sh +31 -33
  506. package/skills/commit-message/REFERENCE.md +1 -1
  507. package/skills/evolve-skill/REFERENCE.md +1 -1
  508. package/skills/guard-git/REFERENCE.md +8 -8
  509. package/skills/kickoff-branch/SKILL.md +1 -1
  510. package/skills/migrate-spec/REFERENCE.md +52 -6
  511. package/skills/plan-work/REFERENCE.md +17 -5
  512. package/skills/publish-package/REFERENCE.md +15 -5
  513. package/skills/release-branch/REFERENCE.md +12 -8
  514. package/skills/seed-conventions/REFERENCE.md +20 -10
  515. package/skills/smoke-test/REFERENCE.md +9 -5
  516. package/skills/validate-contracts/REFERENCE.md +15 -6
  517. package/skills/wire-ci/REFERENCE.md +12 -5
  518. package/skills/write-document/REFERENCE.md +31 -5
  519. package/skills-lock.json +1 -1
  520. package/scripts/add-model-frontmatter.sh +0 -32
  521. package/scripts/install-cursor-skills-local.sh +0 -15
  522. package/scripts/install-cursor-skills.sh +0 -24
  523. package/scripts/project-survey.sh +0 -63
  524. package/scripts/test-agy-hub.sh +0 -60
  525. package/scripts/test-cline-adapter.sh +0 -55
  526. package/scripts/test-cline-hub.sh +0 -48
  527. package/scripts/test-codebuddy-adapter.sh +0 -63
  528. package/scripts/test-codebuddy-hub.sh +0 -49
  529. package/scripts/test-codex-adapter.sh +0 -63
  530. package/scripts/test-codex-hub.sh +0 -49
  531. package/scripts/test-copilot-adapter.sh +0 -47
  532. package/scripts/test-copilot-hub.sh +0 -43
  533. package/scripts/test-gemini-adapter.sh +0 -70
  534. package/scripts/test-gemini-hub.sh +0 -56
  535. package/scripts/test-hermes-adapter.sh +0 -85
  536. package/scripts/test-hermes-hub.sh +0 -52
  537. package/scripts/test-kilocode-adapter.sh +0 -55
  538. package/scripts/test-kilocode-hub.sh +0 -48
  539. package/scripts/test-mimo-hub.sh +0 -52
  540. package/scripts/test-opencode-adapter.sh +0 -47
  541. package/scripts/test-opencode-hub.sh +0 -43
  542. package/scripts/test-qwen-adapter.sh +0 -63
  543. package/scripts/test-qwen-hub.sh +0 -49
  544. package/scripts/test-trae-adapter.sh +0 -63
  545. package/scripts/test-trae-hub.sh +0 -49
  546. package/scripts/test-windsurf-adapter.sh +0 -63
  547. package/scripts/test-windsurf-hub.sh +0 -49
  548. package/scripts/test-zcode-hub.sh +0 -52
@@ -0,0 +1,141 @@
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
+ TA_PASS=0
23
+ TA_FAIL=0
24
+ TA_TMPDIR=""
25
+
26
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
27
+ trap ta_cleanup EXIT
28
+
29
+ INSTALL_SH="scripts/install.sh"
30
+ HELPERS_JS="scripts/lib/install-helpers.js"
31
+ SETUP_JS="bin/setup.js"
32
+ TARGETS_YAML="scripts/targets.yaml"
33
+ 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"
34
+
35
+ # setup.js registers Kilo under a shortened id; everything else matches 1:1.
36
+ setup_id_for() { [[ "$1" == "kilocode" ]] && echo "kilo" || echo "$1"; }
37
+
38
+ discover_targets() {
39
+ # shellcheck disable=SC2086
40
+ grep -hoE "^install_[a-z0-9]+\(\)" $INSTALL_SRC 2>/dev/null \
41
+ | sed 's/^install_//; s/()//' | sort -u
42
+ }
43
+
44
+ # Pull `echo "Label → ..."` out of the target's own install function body.
45
+ label_for() {
46
+ local id="$1"
47
+ # shellcheck disable=SC2086
48
+ # Strip around the arrow with sub() rather than substr()/RLENGTH — the arrow
49
+ # is multi-byte UTF-8 and byte-indexed slicing corrupts the trailing char.
50
+ awk -v fn="install_${id}()" '
51
+ $0 ~ "^" fn { inside = 1; next }
52
+ inside && /^}/ { exit }
53
+ inside && /echo "[^"]* →/ {
54
+ line = $0
55
+ sub(/^[^"]*"/, "", line)
56
+ sub(/ →.*$/, "", line)
57
+ print line; exit
58
+ }
59
+ ' $INSTALL_SRC 2>/dev/null | head -1
60
+ }
61
+
62
+ # Returns the delegate id when install_<id>() does nothing but call another
63
+ # install_<other>, otherwise empty.
64
+ alias_target_for() {
65
+ local id="$1"
66
+ # shellcheck disable=SC2086
67
+ awk -v fn="install_${id}()" '
68
+ $0 ~ "^" fn { inside = 1; body = ""; next }
69
+ inside && /^}/ { exit }
70
+ inside {
71
+ line = $0
72
+ gsub(/^[[:space:]]+|[[:space:]]+$/, "", line)
73
+ if (line != "") body = body line "\n"
74
+ }
75
+ END {
76
+ n = split(body, lines, "\n")
77
+ count = 0; only = ""
78
+ for (i = 1; i <= n; i++) if (lines[i] != "") { count++; only = lines[i] }
79
+ if (count == 1 && only ~ /^install_[a-z0-9]+$/) { sub(/^install_/, "", only); print only }
80
+ }
81
+ ' $INSTALL_SRC 2>/dev/null | head -1
82
+ }
83
+
84
+ echo "=== test-install-hub.sh ==="
85
+
86
+ TARGETS=$(discover_targets)
87
+ [[ -n "$TARGETS" ]] || { ta_fail "no install_<id>() functions discovered"; echo "test-install-hub: $TA_PASS passed, $TA_FAIL failed"; exit 1; }
88
+ echo "Discovered $(wc -w <<<"$TARGETS" | tr -d ' ') install targets"
89
+
90
+ DRY_OUT="$(bash "$INSTALL_SH" --dry-run 2>&1 || true)"
91
+ DRY_UNINSTALL="$(bash "$INSTALL_SH" --dry-run --uninstall 2>&1 || true)"
92
+ SETUP_IDS="$(sed -n '/SUPPORTED_IDS = new Set/,/);/p' "$SETUP_JS")"
93
+
94
+ for id in $TARGETS; do
95
+ # shellcheck disable=SC2086
96
+ grep -qE "^uninstall_${id}\(\)" $INSTALL_SRC \
97
+ && ta_pass "$id: uninstall_${id}() defined" \
98
+ || ta_fail "$id: uninstall_${id}() missing"
99
+
100
+ # Some targets are pure aliases (install_antigravity just calls install_agy).
101
+ # They own no label; the delegate's label is asserted on its own pass.
102
+ alias_of="$(alias_target_for "$id")"
103
+ label="$(label_for "$id")"
104
+ if [[ -z "$label" && -n "$alias_of" ]]; then
105
+ ta_pass "$id: alias of $alias_of (label asserted there)"
106
+ elif [[ -z "$label" ]]; then
107
+ ta_fail "$id: no 'Label →' line found inside install_${id}()"
108
+ else
109
+ grep -qF "$label →" <<<"$DRY_OUT" \
110
+ && ta_pass "$id: dry-run shows '$label'" \
111
+ || ta_fail "$id: dry-run missing '$label' section"
112
+ grep -qF "$label →" <<<"$DRY_UNINSTALL" \
113
+ && ta_pass "$id: dry-run --uninstall shows '$label'" \
114
+ || ta_fail "$id: dry-run --uninstall missing '$label' section"
115
+ fi
116
+
117
+ grep -q "case '${id}'" "$HELPERS_JS" \
118
+ && ta_pass "$id: install-helpers case" \
119
+ || ta_fail "$id: install-helpers missing case '${id}'"
120
+
121
+ sid="$(setup_id_for "$id")"
122
+ grep -q "'${sid}'" <<<"$SETUP_IDS" \
123
+ && ta_pass "$id: setup.js SUPPORTED_IDS carries '${sid}'" \
124
+ || ta_fail "$id: setup.js SUPPORTED_IDS missing '${sid}'"
125
+ done
126
+
127
+ # Global syntax gates — previously repeated in all 14 scripts.
128
+ bash -n "$INSTALL_SH" && ta_pass "bash -n install.sh" || ta_fail "bash -n install.sh"
129
+ node --check "$HELPERS_JS" >/dev/null 2>&1 && ta_pass "node --check install-helpers.js" || ta_fail "node --check install-helpers.js"
130
+ node --check "$SETUP_JS" >/dev/null 2>&1 && ta_pass "node --check setup.js" || ta_fail "node --check setup.js"
131
+ grep -q "SUPPORTED_IDS = new Set" "$SETUP_JS" && ta_pass "setup.js defines SUPPORTED_IDS" || ta_fail "setup.js missing SUPPORTED_IDS"
132
+
133
+ # Registry coverage is reported, not enforced: copilot, opencode, claude and
134
+ # antigravity ship install functions but have no targets.yaml row today.
135
+ # Failing on that here would block unrelated work; it is tracked separately.
136
+ for id in $TARGETS; do
137
+ grep -q "id: ${id}$" "$TARGETS_YAML" || echo " note: $id installs but has no targets.yaml row"
138
+ done
139
+
140
+ echo "test-install-hub: $TA_PASS passed, $TA_FAIL failed"
141
+ [[ "$TA_FAIL" -eq 0 ]] || exit 1
@@ -16,15 +16,17 @@ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
16
16
  resolve_repo_root
17
17
  cd "$REPO_ROOT"
18
18
 
19
- GREEN='\033[0;32m'; RED='\033[0;31m'; NC='\033[0m'
20
- FAILURES=0
21
- pass() { echo -e "${GREEN}PASS${NC} $1"; }
22
- fail() { echo -e "${RED}FAIL${NC} $1"; FAILURES=$((FAILURES + 1)); }
19
+ TA_PASS=0
20
+ TA_FAIL=0
21
+ TA_TMPDIR=""
22
+
23
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
24
+ trap ta_cleanup EXIT
23
25
 
24
26
  # Build a throwaway PyYAML-free interpreter — a fresh venv has no PyYAML,
25
27
  # reproducing a stock macOS python3 without touching the caller's environment.
26
- NOYAML_DIR="$(mktemp -d)"
27
- trap 'rm -rf "$NOYAML_DIR"' EXIT
28
+ TA_TMPDIR="$(mktemp -d)"
29
+ NOYAML_DIR="$TA_TMPDIR"
28
30
  if ! python3 -m venv "$NOYAML_DIR/venv" >/dev/null 2>&1; then
29
31
  echo "test-setup-no-pyyaml: SKIP — cannot create venv"; exit 0
30
32
  fi
@@ -35,18 +37,18 @@ fi
35
37
 
36
38
  # 1. srp-engine.py must parse a skill's frontmatter without crashing.
37
39
  if "$NOPY" scripts/lib/srp-engine.py skills/fix-bug/SKILL.md >/dev/null 2>&1; then
38
- pass "srp-engine.py parses frontmatter without PyYAML"
40
+ ta_pass "srp-engine.py parses frontmatter without PyYAML"
39
41
  else
40
- fail "srp-engine.py crashed without PyYAML"
42
+ ta_fail "srp-engine.py crashed without PyYAML"
41
43
  fi
42
44
 
43
45
  # 2. validate-skill-yaml.py must not bail with exit 2 (the old PyYAML-required path).
44
46
  rc=0
45
47
  "$NOPY" scripts/validate-skill-yaml.py >/dev/null 2>&1 || rc=$?
46
48
  if [[ "$rc" -ne 2 ]]; then
47
- pass "validate-skill-yaml.py runs without PyYAML (exit $rc)"
49
+ ta_pass "validate-skill-yaml.py runs without PyYAML (exit $rc)"
48
50
  else
49
- fail "validate-skill-yaml.py bailed with exit 2 (PyYAML required)"
51
+ ta_fail "validate-skill-yaml.py bailed with exit 2 (PyYAML required)"
50
52
  fi
51
53
 
52
54
  # 3. Fallback fidelity: simple_yaml must equal PyYAML for every skill's
@@ -71,13 +73,10 @@ if bad:
71
73
  print("mismatch: " + ", ".join(bad)); sys.exit(1)
72
74
  sys.exit(0)
73
75
  PY
74
- pass "simple_yaml matches PyYAML for all skill frontmatter"
76
+ ta_pass "simple_yaml matches PyYAML for all skill frontmatter"
75
77
  else
76
- fail "simple_yaml diverged from PyYAML for some skill frontmatter"
78
+ ta_fail "simple_yaml diverged from PyYAML for some skill frontmatter"
77
79
  fi
78
80
 
79
- if [[ "$FAILURES" -gt 0 ]]; then
80
- echo "test-setup-no-pyyaml: $FAILURES failure(s)" >&2
81
- exit 1
82
- fi
83
- echo "test-setup-no-pyyaml: PASS"
81
+ echo "test-setup-no-pyyaml: $TA_PASS passed, $TA_FAIL failed"
82
+ [[ "$TA_FAIL" -eq 0 ]] || exit 1
@@ -15,10 +15,12 @@ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
15
15
  resolve_repo_root
16
16
  cd "$REPO_ROOT"
17
17
 
18
- PASS=0
19
- FAIL=0
20
- pass() { echo "PASS: $1"; PASS=$((PASS + 1)); }
21
- fail() { echo "FAIL: $1" >&2; FAIL=$((FAIL + 1)); }
18
+ TA_PASS=0
19
+ TA_FAIL=0
20
+ TA_TMPDIR=""
21
+
22
+ source "$REPO_ROOT/scripts/lib/test-assertions.sh"
23
+ trap ta_cleanup EXIT
22
24
 
23
25
  echo "=== test-target-contracts.sh ==="
24
26
 
@@ -31,9 +33,9 @@ out=$(run_contract "faketarget" "definitely_not_a_real_contract" 2>&1)
31
33
  rc=$?
32
34
  set -e
33
35
  if [[ $rc -ne 0 ]]; then
34
- pass "unknown contract fails (exit $rc)"
36
+ ta_pass "unknown contract fails (exit $rc)"
35
37
  else
36
- fail "unknown contract returned 0 — run_contract is fail-open again: $out"
38
+ ta_fail "unknown contract returned 0 — run_contract is fail-open again: $out"
37
39
  fi
38
40
 
39
41
  # 2. Every contract declared in targets.yaml must resolve to an assertion.
@@ -41,16 +43,16 @@ fi
41
43
  # a FAIL line, while a missing implementation hits the default branch and
42
44
  # reports "unknown contract".
43
45
  declared=$(grep -E "^ - [a-z0-9_]+$" scripts/targets.yaml | sed 's/^ - //' | sort -u)
44
- [[ -n "$declared" ]] || fail "no contracts parsed from targets.yaml"
46
+ [[ -n "$declared" ]] || ta_fail "no contracts parsed from targets.yaml"
45
47
 
46
48
  for c in $declared; do
47
49
  set +e
48
50
  out=$(run_contract "__probe__" "$c" 2>&1)
49
51
  set -e
50
52
  if grep -q "unknown contract" <<<"$out"; then
51
- fail "$c declared in targets.yaml but no assertion implements it"
53
+ ta_fail "$c declared in targets.yaml but no assertion implements it"
52
54
  else
53
- pass "$c has an implementation"
55
+ ta_pass "$c has an implementation"
54
56
  fi
55
57
  done
56
58
 
@@ -61,13 +63,13 @@ for c in $declared; do
61
63
  *_hooks_manifest)
62
64
  t="${c%_hooks_manifest}"
63
65
  if [[ -f "scripts/hooks/${t}/hooks-manifest.json" ]]; then
64
- pass "$t ships hooks-manifest.json"
66
+ ta_pass "$t ships hooks-manifest.json"
65
67
  else
66
- fail "$t declares $c but scripts/hooks/${t}/hooks-manifest.json is missing"
68
+ ta_fail "$t declares $c but scripts/hooks/${t}/hooks-manifest.json is missing"
67
69
  fi
68
70
  ;;
69
71
  esac
70
72
  done
71
73
 
72
- echo "test-target-contracts: $PASS passed, $FAIL failed"
73
- [[ "$FAIL" -eq 0 ]] || exit 1
74
+ echo "test-target-contracts: $TA_PASS passed, $TA_FAIL failed"
75
+ [[ "$TA_FAIL" -eq 0 ]] || exit 1
@@ -14,10 +14,12 @@ RED='\033[0;31m'
14
14
  GREEN='\033[0;32m'
15
15
  NC='\033[0m'
16
16
 
17
- FAILURES=0
18
- tt_pass() { echo -e "${GREEN}PASS${NC} $1"; }
19
- tt_fail() { echo -e "${RED}FAIL${NC} $1"; FAILURES=$((FAILURES + 1)); }
20
- strip_ansi() { sed -E 's/\x1b\[[0-9;]*m//g'; }
17
+ TA_PASS=0
18
+ TA_FAIL=0
19
+ TA_TMPDIR=""
20
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
21
+ # NOT `trap ta_cleanup EXIT` — this script's cleanup restores a backed-up
22
+ # specs/tombstones.yaml and removes named fixture dirs, not a TA_TMPDIR.
21
23
 
22
24
  FIXTURE_OLD="test-tombstone-fixture"
23
25
  FIXTURE_NEW="test-tombstone-target"
@@ -25,7 +27,7 @@ FIXTURE_DIR="skills/${FIXTURE_OLD}"
25
27
  TOMBSTONES_FILE="specs/tombstones.yaml"
26
28
  TOMBSTONES_BACKUP=""
27
29
 
28
- cleanup() {
30
+ tombstone_test_cleanup() {
29
31
  rm -rf "$FIXTURE_DIR" "skills/${FIXTURE_NEW}"
30
32
  if [[ -n "$TOMBSTONES_BACKUP" ]]; then
31
33
  mv "$TOMBSTONES_BACKUP" "$TOMBSTONES_FILE"
@@ -33,7 +35,7 @@ cleanup() {
33
35
  rm -f "$TOMBSTONES_FILE"
34
36
  fi
35
37
  }
36
- trap cleanup EXIT
38
+ trap tombstone_test_cleanup EXIT
37
39
 
38
40
  if [[ -f "$TOMBSTONES_FILE" ]]; then
39
41
  TOMBSTONES_BACKUP=$(mktemp)
@@ -43,9 +45,9 @@ fi
43
45
 
44
46
  # --- Scenario: zero tombstones registered (6a) ---
45
47
  if bash scripts/validate-tombstones.sh 2>&1 | grep -qi "no tombstones"; then
46
- tt_pass "validate-tombstones.sh reports clean when zero tombstones registered"
48
+ ta_pass "validate-tombstones.sh reports clean when zero tombstones registered"
47
49
  else
48
- tt_fail "validate-tombstones.sh did not report 'no tombstones' with an empty ledger"
50
+ ta_fail "validate-tombstones.sh did not report 'no tombstones' with an empty ledger"
49
51
  fi
50
52
 
51
53
  # --- Scenario: tombstone-skill.sh generates a stub ---
@@ -62,28 +64,28 @@ FIXTUREEOF
62
64
  bash scripts/tombstone-skill.sh "$FIXTURE_OLD" "$FIXTURE_NEW"
63
65
 
64
66
  if grep -q "TOMBSTONE" "${FIXTURE_DIR}/SKILL.md"; then
65
- tt_pass "tombstone-skill.sh replaced SKILL.md with a stub"
67
+ ta_pass "tombstone-skill.sh replaced SKILL.md with a stub"
66
68
  else
67
- tt_fail "SKILL.md was not replaced with a tombstone stub"
69
+ ta_fail "SKILL.md was not replaced with a tombstone stub"
68
70
  fi
69
71
 
70
72
  if grep -q "story: e00s00" "${FIXTURE_DIR}/SKILL.md"; then
71
- tt_pass "tombstone-skill.sh preserved the old story tag"
73
+ ta_pass "tombstone-skill.sh preserved the old story tag"
72
74
  else
73
- tt_fail "story tag was not preserved in the stub"
75
+ ta_fail "story tag was not preserved in the stub"
74
76
  fi
75
77
 
76
78
  if [[ -f "$TOMBSTONES_FILE" ]] && grep -q "$FIXTURE_OLD" "$TOMBSTONES_FILE"; then
77
- tt_pass "tombstone-skill.sh registered the mapping in ${TOMBSTONES_FILE}"
79
+ ta_pass "tombstone-skill.sh registered the mapping in ${TOMBSTONES_FILE}"
78
80
  else
79
- tt_fail "mapping not registered in ${TOMBSTONES_FILE}"
81
+ ta_fail "mapping not registered in ${TOMBSTONES_FILE}"
80
82
  fi
81
83
 
82
84
  # --- Scenario: fresh tombstone resolves cleanly ---
83
- if bash scripts/validate-tombstones.sh 2>&1 | strip_ansi | grep -q "OK: ${FIXTURE_OLD}"; then
84
- tt_pass "validate-tombstones.sh confirms the fresh stub resolves"
85
+ if bash scripts/validate-tombstones.sh 2>&1 | ta_strip_ansi | grep -q "OK: ${FIXTURE_OLD}"; then
86
+ ta_pass "validate-tombstones.sh confirms the fresh stub resolves"
85
87
  else
86
- tt_fail "validate-tombstones.sh did not confirm the fresh stub"
88
+ ta_fail "validate-tombstones.sh did not confirm the fresh stub"
87
89
  fi
88
90
 
89
91
  # --- Scenario: expired tombstone flagged (6b) ---
@@ -96,10 +98,10 @@ for t in d['tombstones']:
96
98
  yaml.dump(d, open('$TOMBSTONES_FILE', 'w'), default_flow_style=False)
97
99
  "
98
100
 
99
- if bash scripts/validate-tombstones.sh 2>&1 | strip_ansi | grep -qi "EXPIRED: ${FIXTURE_OLD}"; then
100
- tt_pass "validate-tombstones.sh flags a tombstone whose expiry window has passed"
101
+ if bash scripts/validate-tombstones.sh 2>&1 | ta_strip_ansi | grep -qi "EXPIRED: ${FIXTURE_OLD}"; then
102
+ ta_pass "validate-tombstones.sh flags a tombstone whose expiry window has passed"
101
103
  else
102
- tt_fail "expired tombstone was not flagged"
104
+ ta_fail "expired tombstone was not flagged"
103
105
  fi
104
106
 
105
107
  # --- Scenario: rejects path-traversal / invalid skill names (threat model CWE-22) ---
@@ -108,16 +110,16 @@ fi
108
110
  # status doesn't mask the grep check below.
109
111
  output=$(bash scripts/tombstone-skill.sh "../../etc/passwd" "target" 2>&1 || true)
110
112
  if echo "$output" | grep -qi "not a valid skill name"; then
111
- tt_pass "tombstone-skill.sh rejects a path-traversal old-name"
113
+ ta_pass "tombstone-skill.sh rejects a path-traversal old-name"
112
114
  else
113
- tt_fail "tombstone-skill.sh did not reject a path-traversal old-name"
115
+ ta_fail "tombstone-skill.sh did not reject a path-traversal old-name"
114
116
  fi
115
117
 
116
118
  output=$(bash scripts/tombstone-skill.sh "$FIXTURE_OLD" "../../etc/passwd" 2>&1 || true)
117
119
  if echo "$output" | grep -qi "not a valid skill name"; then
118
- tt_pass "tombstone-skill.sh rejects a path-traversal new-name"
120
+ ta_pass "tombstone-skill.sh rejects a path-traversal new-name"
119
121
  else
120
- tt_fail "tombstone-skill.sh did not reject a path-traversal new-name"
122
+ ta_fail "tombstone-skill.sh did not reject a path-traversal new-name"
121
123
  fi
122
124
 
123
125
  # --- Scenario: validate-tombstones.sh rejects an invalid name read back from the ledger ---
@@ -131,11 +133,11 @@ d.setdefault('tombstones', []).append({
131
133
  })
132
134
  yaml.dump(d, open('$TOMBSTONES_FILE', 'w'), default_flow_style=False)
133
135
  "
134
- output=$(bash scripts/validate-tombstones.sh 2>&1 | strip_ansi || true)
136
+ output=$(bash scripts/validate-tombstones.sh 2>&1 | ta_strip_ansi || true)
135
137
  if echo "$output" | grep -qi "FAIL.*not a valid skill name"; then
136
- tt_pass "validate-tombstones.sh rejects a path-traversal name read from the ledger"
138
+ ta_pass "validate-tombstones.sh rejects a path-traversal name read from the ledger"
137
139
  else
138
- tt_fail "validate-tombstones.sh did not reject a path-traversal name read from the ledger"
140
+ ta_fail "validate-tombstones.sh did not reject a path-traversal name read from the ledger"
139
141
  fi
140
142
  python3 -c "
141
143
  import yaml
@@ -145,9 +147,5 @@ yaml.dump(d, open('$TOMBSTONES_FILE', 'w'), default_flow_style=False)
145
147
  "
146
148
 
147
149
  echo "---"
148
- if [[ "$FAILURES" -eq 0 ]]; then
149
- echo -e "${GREEN}test-tombstone-mechanism: ALL PASS${NC}"
150
- else
151
- echo -e "${RED}test-tombstone-mechanism: $FAILURES failure(s)${NC}"
152
- fi
153
- exit "$FAILURES"
150
+ echo "test-tombstone-mechanism: $TA_PASS passed, $TA_FAIL failed"
151
+ exit "$TA_FAIL"
@@ -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.
@@ -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.
@@ -5,14 +5,14 @@
5
5
  | Lines | Section |
6
6
  |-------|---------|
7
7
  | 1 | Title |
8
- | 3–14 | Navigation |
9
- | 16–24 | Secret patterns |
10
- | 26–44 | Copy layout |
11
- | 46–72 | Claude Code |
12
- | 74–92 | Cursor and Cursor CLI |
13
- | 94–120 | Gemini CLI |
14
- | 122–135 | Google Antigravity |
15
- | 137–178 | Verify (local tests) |
8
+ | 3–16 | Navigation |
9
+ | 17–28 | Secret patterns (audit + pre-commit) |
10
+ | 29–46 | Copy layout |
11
+ | 47–72 | Claude Code |
12
+ | 73–94 | Cursor and Cursor CLI |
13
+ | 95–122 | Gemini CLI |
14
+ | 123–137 | Google Antigravity |
15
+ | 138–180 | Verify (local tests) |
16
16
 
17
17
  ## Secret patterns (audit + pre-commit)
18
18
 
@@ -82,7 +82,7 @@ git worktree list | grep "<task-slug>"
82
82
  **Handling Conflicts:**
83
83
  - **Directory exists:** If `../<task-slug>` already exists, ask the user if they want to use it or delete it.
84
84
  - **Branch exists:** If the branch exists but no worktree is attached, ask to use the existing branch (`git worktree add ../<task-slug> <task-slug>`) or delete it.
85
- - **Ghost worktree:** If `git worktree list` shows the path but the directory is missing, run `git worktree prune` to clear the stale metadata.
85
+ - **Ghost worktree:** If `git worktree list` shows the path but the directory is missing, run `git worktree prune` to clear the stale metadata. `bash scripts/cleanup-worktrees.sh` does this plus reports any worktree whose branch is already merged or deleted — advisory only, it prints the `git worktree remove`/`git branch -d` commands rather than running them, so review before acting.
86
86
 
87
87
  ### 4. Create worktree + branch
88
88
 
@@ -5,12 +5,58 @@
5
5
  | Lines | Section |
6
6
  |-------|---------|
7
7
  | 1 | Title |
8
- | 3–22 | Navigation |
9
- | 24–62 | spec-kit → bigpowers Mapping |
10
- | 64–130 | BMAD → bigpowers Mapping |
11
- | 132–154 | Learnings to Adopt |
12
- | 156–350 | Output Formats + state.yaml template |
13
- | 352–620 | Reference blocks 1–2 + extended mappings |
8
+ | 3–68 | Navigation |
9
+ | 69–70 | spec-kit → bigpowers Mapping |
10
+ | 71–84 | Artifact Locations |
11
+ | 85–94 | `spec.md` → `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/TECH_STACK_LATEST.md` |
12
+ | 95–105 | `plan.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/release-plan.yaml` + `specs/epics/` |
13
+ | 106–114 | `tasks.md` → `specs/epics/` (via slice-tasks) |
14
+ | 115–120 | `.specify/` state |
15
+ | 121–122 | BMAD → bigpowers Mapping |
16
+ | 123–141 | Artifact Locations |
17
+ | 142–148 | `product-brief.md` / `prfaq-{project}.md` → `specs/product/VISION_LATEST.yaml` |
18
+ | 149–160 | `prd.md` → `specs/product/SCOPE_LATEST.yaml` + `GLOSSARY_LATEST.yaml` |
19
+ | 161–167 | `addendum.md` + `decision-log.md` → `specs/adr/` + `specs/DECISION-LOG_LATEST.md` |
20
+ | 168–174 | `architecture.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/` |
21
+ | 175–178 | `epic-*.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml` |
22
+ | 179–182 | `story-*.md` → `specs/epics/` stories |
23
+ | 183–188 | `project-context.md` → `CLAUDE.md` |
24
+ | 189–192 | Learnings to Adopt |
25
+ | 193–198 | From GSD |
26
+ | 199–204 | From spec-kit |
27
+ | 205–212 | From BMAD |
28
+ | 213–214 | Output Formats |
29
+ | 215–224 | ADR format (bigpowers) |
30
+ | 225–227 | Context |
31
+ | 228–230 | Decision |
32
+ | 231–234 | Consequences |
33
+ | 235–246 | DECISION-LOG.md format |
34
+ | 247–257 | MIGRATION-AUDIT.md format |
35
+ | 258–264 | Summary |
36
+ | 265–274 | High Priority Findings |
37
+ | 275–278 | Information |
38
+ | 279–285 | Next Steps |
39
+ | 286–306 | in_scope format with ID tracking |
40
+ | 307–341 | REQUIREMENTS_TRACE.yaml format |
41
+ | 342–397 | `specs/state.yaml` template format |
42
+ | 398–416 | Reference block 1 |
43
+ | 417–432 | Reference block 2 |
44
+ | 433–451 | Reference block 3 |
45
+ | 452–474 | Reference block 4 |
46
+ | 475–482 | Reference block 5 |
47
+ | 483–484 | Findings |
48
+ | 485–489 | High Priority |
49
+ | 490–495 | Information |
50
+ | 496–509 | Reference block 6 |
51
+ | 510–542 | Step 7 — Post-migration: Optional two-pass spec writing gate |
52
+ | 543–574 | Step 8 — Post-migration: Optional methodology doc template |
53
+ | 575–600 | Artifact Mapping Summary |
54
+ | 601–610 | Rules |
55
+ | 611–621 | Step 5 — Surface learnings (optional) |
56
+ | 622–644 | Step 6 — Adversarial review (optional) |
57
+ | 645–646 | Findings |
58
+ | 647–651 | High Priority |
59
+ | 652–660 | Information |
14
60
 
15
61
  # migrate-spec Reference — spec-kit, BMAD, Learnings
16
62
 
@@ -5,11 +5,23 @@
5
5
  | Lines | Section |
6
6
  |-------|---------|
7
7
  | 1 | Title |
8
- | 3–14 | Navigation |
9
- | 16–38 | Output file formats |
10
- | 40–71 | Plan template |
11
- | 73–91 | Verify step format rules |
12
- | 93–131 | Sub-operations (risk, define-success, zoom-out, slopcheck, delta tags) |
8
+ | 3–25 | Navigation |
9
+ | 26–27 | Output file formats |
10
+ | 28–31 | Story spec: `specs/epics/<capsule>/eNNsYY-<slug>.md` |
11
+ | 32–61 | Task checklist: `specs/epics/<capsule>/eNNsYY-tasks.yaml` |
12
+ | 62–64 | Plan template |
13
+ | 65–71 | Story [X.Y]: [title] — Implementation Steps |
14
+ | 72–77 | Steps |
15
+ | 78–85 | Verification Script (Step-by-Step) |
16
+ | 86–89 | Out of scope |
17
+ | 90–94 | Risks |
18
+ | 95–114 | Verify step format rules |
19
+ | 115–116 | Sub-operations |
20
+ | 117–127 | Risk Assignment Heuristics |
21
+ | 128–143 | Requirement delta tags (e45s29) |
22
+ | 144–152 | Define Success |
23
+ | 153–161 | Zoom-Out Check |
24
+ | 162–169 | Slopcheck |
13
25
 
14
26
  ## Output file formats
15
27
 
@@ -5,11 +5,21 @@
5
5
  | Lines | Section |
6
6
  |-------|---------|
7
7
  | 1 | Title |
8
- | 3–18 | Navigation |
9
- | 20–28 | Options |
10
- | 30–60 | Examples |
11
- | 62–72 | Integration with release-branch |
12
- | 74–252 | Reference blocks 1–8 |
8
+ | 3–23 | Navigation |
9
+ | 24–35 | Options |
10
+ | 36–37 | Examples |
11
+ | 38–51 | Publish an npm package |
12
+ | 52–59 | Publish a Rust crate |
13
+ | 60–69 | Missing token scenario |
14
+ | 70–80 | Integration with release-branch |
15
+ | 81–121 | Reference block 1 |
16
+ | 122–143 | Reference block 2 |
17
+ | 144–162 | Reference block 3 |
18
+ | 163–180 | Reference block 4 |
19
+ | 181–195 | Reference block 5 |
20
+ | 196–230 | Reference block 6 |
21
+ | 231–248 | Reference block 7 |
22
+ | 249–260 | Reference block 8 |
13
23
 
14
24
  ## Options
15
25
 
@@ -4,15 +4,19 @@
4
4
 
5
5
  | Lines | Section |
6
6
  |-------|---------|
7
- | 1–3 | Title |
8
- | 5–16 | Navigation |
9
- | 18–41 | PR body template |
10
- | 43–54 | Worktree cleanup |
11
- | 56–96 | Cycle-time recording |
12
- | 98–119 | CI verification |
13
- | 121–126 | Solo-local fallback |
7
+ | 1 | Title |
8
+ | 3–22 | Navigation |
9
+ | 23–31 | PR body template (team-pr mode) |
10
+ | 32–35 | Summary |
11
+ | 36–41 | Verify |
12
+ | 42–47 | specs/ artifacts |
13
+ | 48–58 | Worktree cleanup details |
14
+ | 59–81 | Cycle-time recording |
15
+ | 82–100 | Why not story_start minus story_end? |
16
+ | 101–121 | CI verification |
17
+ | 122–127 | Solo-local fallback detail |
14
18
  | 128–134 | Handoff |
15
- | 136–155 | Reference block 1 (manual squash) |
19
+ | 135–159 | Reference block 1 |
16
20
 
17
21
  # Release Branch — Reference
18
22
 
@@ -6,16 +6,26 @@
6
6
 
7
7
  | Lines | Section |
8
8
  |-------|---------|
9
- | 1–4 | Title + story tags |
10
- | 6–22 | Navigation (this table) |
11
- | 24–35 | AGENTS.md spine |
12
- | 37–76 | Agent config template |
13
- | 78–85 | opencode.json template |
14
- | 87–96 | Aider bridge |
15
- | 98–108 | Codex CLI wiring |
16
- | 110–118 | CONVENTIONS.md |
17
- | 120–122 | Stack profile fragments |
18
- | 124–153 | Local tool wiring |
9
+ | 1 | Title |
10
+ | 5–29 | Navigation |
11
+ | 30–53 | Fenced markers (e45s21) |
12
+ | 54–65 | AGENTS.md spine (Reach Template — e37s01) |
13
+ | 66–77 | Agent config template (legacy — prefer AGENTS.md spine) |
14
+ | 78–81 | Project |
15
+ | 82–91 | Commands |
16
+ | 92–94 | Architecture |
17
+ | 95–98 | Conventions |
18
+ | 99–104 | Never |
19
+ | 105–114 | Agent Rules |
20
+ | 115–123 | opencode.json template |
21
+ | 124–133 | Aider — `.aider.conf.yml` bridge (e37s03) |
22
+ | 134–146 | Codex CLI — project-local `.codex/config.toml` + AGENTS.md (e37s14) |
23
+ | 147–156 | CONVENTIONS.md |
24
+ | 157–160 | Stack profile fragments |
25
+ | 161–164 | Local tool wiring (optional interview step 8) |
26
+ | 165–173 | Cursor — project-local `.cursor/rules` symlink |
27
+ | 174–187 | OpenCode — project-local `opencode.json` + `AGENTS.md` |
28
+ | 188–190 | When to offer |
19
29
 
20
30
  ## Fenced markers (e45s21)
21
31