bigpowers 2.88.10 → 2.88.12

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 (451) hide show
  1. package/.agents/skills/audit-code/SKILL.md +11 -3
  2. package/.agents/skills/build-epic/SKILL.md +1 -1
  3. package/.agents/skills/change-request/SKILL.md +2 -2
  4. package/.agents/skills/commit-message/SKILL.md +1 -1
  5. package/.agents/skills/compose-workflow/SKILL.md +3 -3
  6. package/.agents/skills/delegate-task/SKILL.md +1 -1
  7. package/.agents/skills/dispatch-agents/SKILL.md +3 -3
  8. package/.agents/skills/evolve-skill/SKILL.md +3 -3
  9. package/.agents/skills/kickoff-branch/SKILL.md +3 -3
  10. package/.agents/skills/migrate-spec/SKILL.md +6 -6
  11. package/.agents/skills/plan-work/SKILL.md +1 -1
  12. package/.agents/skills/request-review/SKILL.md +12 -1
  13. package/.agents/skills/research-first/SKILL.md +2 -2
  14. package/.agents/skills/run-planning/SKILL.md +1 -1
  15. package/.agents/skills/scope-work/SKILL.md +2 -2
  16. package/.agents/skills/search-skills/SKILL.md +2 -2
  17. package/.agents/skills/security-review/SKILL.md +9 -9
  18. package/.agents/skills/seed-conventions/SKILL.md +6 -6
  19. package/.agents/skills/session-state/SKILL.md +1 -1
  20. package/.agents/skills/slice-tasks/SKILL.md +1 -1
  21. package/.agents/skills/stocktake-skills/SKILL.md +1 -1
  22. package/.agents/skills/survey-context/SKILL.md +1 -1
  23. package/.cline/skills/audit-code/SKILL.md +11 -3
  24. package/.cline/skills/build-epic/SKILL.md +1 -1
  25. package/.cline/skills/change-request/SKILL.md +2 -2
  26. package/.cline/skills/commit-message/SKILL.md +1 -1
  27. package/.cline/skills/compose-workflow/SKILL.md +3 -3
  28. package/.cline/skills/delegate-task/SKILL.md +1 -1
  29. package/.cline/skills/dispatch-agents/SKILL.md +3 -3
  30. package/.cline/skills/evolve-skill/SKILL.md +3 -3
  31. package/.cline/skills/kickoff-branch/SKILL.md +3 -3
  32. package/.cline/skills/migrate-spec/SKILL.md +6 -6
  33. package/.cline/skills/plan-work/SKILL.md +1 -1
  34. package/.cline/skills/request-review/SKILL.md +12 -1
  35. package/.cline/skills/research-first/SKILL.md +2 -2
  36. package/.cline/skills/run-planning/SKILL.md +1 -1
  37. package/.cline/skills/scope-work/SKILL.md +2 -2
  38. package/.cline/skills/search-skills/SKILL.md +2 -2
  39. package/.cline/skills/security-review/SKILL.md +9 -9
  40. package/.cline/skills/seed-conventions/SKILL.md +6 -6
  41. package/.cline/skills/session-state/SKILL.md +1 -1
  42. package/.cline/skills/slice-tasks/SKILL.md +1 -1
  43. package/.cline/skills/stocktake-skills/SKILL.md +1 -1
  44. package/.cline/skills/survey-context/SKILL.md +1 -1
  45. package/.codebuddy/skills/audit-code/SKILL.md +11 -3
  46. package/.codebuddy/skills/build-epic/SKILL.md +1 -1
  47. package/.codebuddy/skills/change-request/SKILL.md +2 -2
  48. package/.codebuddy/skills/commit-message/SKILL.md +1 -1
  49. package/.codebuddy/skills/compose-workflow/SKILL.md +3 -3
  50. package/.codebuddy/skills/delegate-task/SKILL.md +1 -1
  51. package/.codebuddy/skills/dispatch-agents/SKILL.md +3 -3
  52. package/.codebuddy/skills/evolve-skill/SKILL.md +3 -3
  53. package/.codebuddy/skills/kickoff-branch/SKILL.md +3 -3
  54. package/.codebuddy/skills/migrate-spec/SKILL.md +6 -6
  55. package/.codebuddy/skills/plan-work/SKILL.md +1 -1
  56. package/.codebuddy/skills/request-review/SKILL.md +12 -1
  57. package/.codebuddy/skills/research-first/SKILL.md +2 -2
  58. package/.codebuddy/skills/run-planning/SKILL.md +1 -1
  59. package/.codebuddy/skills/scope-work/SKILL.md +2 -2
  60. package/.codebuddy/skills/search-skills/SKILL.md +2 -2
  61. package/.codebuddy/skills/security-review/SKILL.md +9 -9
  62. package/.codebuddy/skills/seed-conventions/SKILL.md +6 -6
  63. package/.codebuddy/skills/session-state/SKILL.md +1 -1
  64. package/.codebuddy/skills/slice-tasks/SKILL.md +1 -1
  65. package/.codebuddy/skills/stocktake-skills/SKILL.md +1 -1
  66. package/.codebuddy/skills/survey-context/SKILL.md +1 -1
  67. package/.codex/skills/audit-code/SKILL.md +11 -3
  68. package/.codex/skills/build-epic/SKILL.md +1 -1
  69. package/.codex/skills/change-request/SKILL.md +2 -2
  70. package/.codex/skills/commit-message/SKILL.md +1 -1
  71. package/.codex/skills/compose-workflow/SKILL.md +3 -3
  72. package/.codex/skills/delegate-task/SKILL.md +1 -1
  73. package/.codex/skills/dispatch-agents/SKILL.md +3 -3
  74. package/.codex/skills/evolve-skill/SKILL.md +3 -3
  75. package/.codex/skills/kickoff-branch/SKILL.md +3 -3
  76. package/.codex/skills/migrate-spec/SKILL.md +6 -6
  77. package/.codex/skills/plan-work/SKILL.md +1 -1
  78. package/.codex/skills/request-review/SKILL.md +12 -1
  79. package/.codex/skills/research-first/SKILL.md +2 -2
  80. package/.codex/skills/run-planning/SKILL.md +1 -1
  81. package/.codex/skills/scope-work/SKILL.md +2 -2
  82. package/.codex/skills/search-skills/SKILL.md +2 -2
  83. package/.codex/skills/security-review/SKILL.md +9 -9
  84. package/.codex/skills/seed-conventions/SKILL.md +6 -6
  85. package/.codex/skills/session-state/SKILL.md +1 -1
  86. package/.codex/skills/slice-tasks/SKILL.md +1 -1
  87. package/.codex/skills/stocktake-skills/SKILL.md +1 -1
  88. package/.codex/skills/survey-context/SKILL.md +1 -1
  89. package/.copilot/skills/audit-code/SKILL.md +11 -3
  90. package/.copilot/skills/build-epic/SKILL.md +1 -1
  91. package/.copilot/skills/change-request/SKILL.md +2 -2
  92. package/.copilot/skills/commit-message/SKILL.md +1 -1
  93. package/.copilot/skills/compose-workflow/SKILL.md +3 -3
  94. package/.copilot/skills/delegate-task/SKILL.md +1 -1
  95. package/.copilot/skills/dispatch-agents/SKILL.md +3 -3
  96. package/.copilot/skills/evolve-skill/SKILL.md +3 -3
  97. package/.copilot/skills/kickoff-branch/SKILL.md +3 -3
  98. package/.copilot/skills/migrate-spec/SKILL.md +6 -6
  99. package/.copilot/skills/plan-work/SKILL.md +1 -1
  100. package/.copilot/skills/request-review/SKILL.md +12 -1
  101. package/.copilot/skills/research-first/SKILL.md +2 -2
  102. package/.copilot/skills/run-planning/SKILL.md +1 -1
  103. package/.copilot/skills/scope-work/SKILL.md +2 -2
  104. package/.copilot/skills/search-skills/SKILL.md +2 -2
  105. package/.copilot/skills/security-review/SKILL.md +9 -9
  106. package/.copilot/skills/seed-conventions/SKILL.md +6 -6
  107. package/.copilot/skills/session-state/SKILL.md +1 -1
  108. package/.copilot/skills/slice-tasks/SKILL.md +1 -1
  109. package/.copilot/skills/stocktake-skills/SKILL.md +1 -1
  110. package/.copilot/skills/survey-context/SKILL.md +1 -1
  111. package/.cursor/rules/audit-code.mdc +11 -3
  112. package/.cursor/rules/build-epic.mdc +1 -1
  113. package/.cursor/rules/change-request.mdc +2 -2
  114. package/.cursor/rules/commit-message.mdc +1 -1
  115. package/.cursor/rules/compose-workflow.mdc +3 -3
  116. package/.cursor/rules/delegate-task.mdc +1 -1
  117. package/.cursor/rules/dispatch-agents.mdc +3 -3
  118. package/.cursor/rules/evolve-skill.mdc +3 -3
  119. package/.cursor/rules/kickoff-branch.mdc +3 -3
  120. package/.cursor/rules/migrate-spec.mdc +6 -6
  121. package/.cursor/rules/plan-work.mdc +1 -1
  122. package/.cursor/rules/request-review.mdc +12 -1
  123. package/.cursor/rules/research-first.mdc +2 -2
  124. package/.cursor/rules/run-planning.mdc +1 -1
  125. package/.cursor/rules/scope-work.mdc +2 -2
  126. package/.cursor/rules/search-skills.mdc +2 -2
  127. package/.cursor/rules/security-review.mdc +9 -9
  128. package/.cursor/rules/seed-conventions.mdc +6 -6
  129. package/.cursor/rules/session-state.mdc +1 -1
  130. package/.cursor/rules/slice-tasks.mdc +1 -1
  131. package/.cursor/rules/stocktake-skills.mdc +1 -1
  132. package/.cursor/rules/survey-context.mdc +1 -1
  133. package/.gemini/extensions/bigpowers/commands/prompts/audit-code.md +11 -3
  134. package/.gemini/extensions/bigpowers/commands/prompts/build-epic.md +1 -1
  135. package/.gemini/extensions/bigpowers/commands/prompts/change-request.md +2 -2
  136. package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +1 -1
  137. package/.gemini/extensions/bigpowers/commands/prompts/compose-workflow.md +3 -3
  138. package/.gemini/extensions/bigpowers/commands/prompts/delegate-task.md +1 -1
  139. package/.gemini/extensions/bigpowers/commands/prompts/dispatch-agents.md +3 -3
  140. package/.gemini/extensions/bigpowers/commands/prompts/evolve-skill.md +3 -3
  141. package/.gemini/extensions/bigpowers/commands/prompts/kickoff-branch.md +3 -3
  142. package/.gemini/extensions/bigpowers/commands/prompts/migrate-spec.md +6 -6
  143. package/.gemini/extensions/bigpowers/commands/prompts/plan-work.md +1 -1
  144. package/.gemini/extensions/bigpowers/commands/prompts/request-review.md +12 -1
  145. package/.gemini/extensions/bigpowers/commands/prompts/research-first.md +2 -2
  146. package/.gemini/extensions/bigpowers/commands/prompts/run-planning.md +1 -1
  147. package/.gemini/extensions/bigpowers/commands/prompts/scope-work.md +2 -2
  148. package/.gemini/extensions/bigpowers/commands/prompts/search-skills.md +2 -2
  149. package/.gemini/extensions/bigpowers/commands/prompts/security-review.md +9 -9
  150. package/.gemini/extensions/bigpowers/commands/prompts/seed-conventions.md +6 -6
  151. package/.gemini/extensions/bigpowers/commands/prompts/session-state.md +1 -1
  152. package/.gemini/extensions/bigpowers/commands/prompts/slice-tasks.md +1 -1
  153. package/.gemini/extensions/bigpowers/commands/prompts/stocktake-skills.md +1 -1
  154. package/.gemini/extensions/bigpowers/commands/prompts/survey-context.md +1 -1
  155. package/.gemini/extensions/bigpowers/gemini-extension.json +1 -1
  156. package/.gemini/extensions/bigpowers/skills/audit-code/SKILL.md +11 -3
  157. package/.gemini/extensions/bigpowers/skills/build-epic/SKILL.md +1 -1
  158. package/.gemini/extensions/bigpowers/skills/change-request/SKILL.md +2 -2
  159. package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +1 -1
  160. package/.gemini/extensions/bigpowers/skills/compose-workflow/SKILL.md +3 -3
  161. package/.gemini/extensions/bigpowers/skills/delegate-task/SKILL.md +1 -1
  162. package/.gemini/extensions/bigpowers/skills/dispatch-agents/SKILL.md +3 -3
  163. package/.gemini/extensions/bigpowers/skills/evolve-skill/SKILL.md +3 -3
  164. package/.gemini/extensions/bigpowers/skills/kickoff-branch/SKILL.md +3 -3
  165. package/.gemini/extensions/bigpowers/skills/migrate-spec/SKILL.md +6 -6
  166. package/.gemini/extensions/bigpowers/skills/plan-work/SKILL.md +1 -1
  167. package/.gemini/extensions/bigpowers/skills/request-review/SKILL.md +12 -1
  168. package/.gemini/extensions/bigpowers/skills/research-first/SKILL.md +2 -2
  169. package/.gemini/extensions/bigpowers/skills/run-planning/SKILL.md +1 -1
  170. package/.gemini/extensions/bigpowers/skills/scope-work/SKILL.md +2 -2
  171. package/.gemini/extensions/bigpowers/skills/search-skills/SKILL.md +2 -2
  172. package/.gemini/extensions/bigpowers/skills/security-review/SKILL.md +9 -9
  173. package/.gemini/extensions/bigpowers/skills/seed-conventions/SKILL.md +6 -6
  174. package/.gemini/extensions/bigpowers/skills/session-state/SKILL.md +1 -1
  175. package/.gemini/extensions/bigpowers/skills/slice-tasks/SKILL.md +1 -1
  176. package/.gemini/extensions/bigpowers/skills/stocktake-skills/SKILL.md +1 -1
  177. package/.gemini/extensions/bigpowers/skills/survey-context/SKILL.md +1 -1
  178. package/.hermes/skills/audit-code/SKILL.md +11 -3
  179. package/.hermes/skills/build-epic/SKILL.md +1 -1
  180. package/.hermes/skills/change-request/SKILL.md +2 -2
  181. package/.hermes/skills/commit-message/SKILL.md +1 -1
  182. package/.hermes/skills/compose-workflow/SKILL.md +3 -3
  183. package/.hermes/skills/delegate-task/SKILL.md +1 -1
  184. package/.hermes/skills/dispatch-agents/SKILL.md +3 -3
  185. package/.hermes/skills/evolve-skill/SKILL.md +3 -3
  186. package/.hermes/skills/kickoff-branch/SKILL.md +3 -3
  187. package/.hermes/skills/migrate-spec/SKILL.md +6 -6
  188. package/.hermes/skills/plan-work/SKILL.md +1 -1
  189. package/.hermes/skills/request-review/SKILL.md +12 -1
  190. package/.hermes/skills/research-first/SKILL.md +2 -2
  191. package/.hermes/skills/run-planning/SKILL.md +1 -1
  192. package/.hermes/skills/scope-work/SKILL.md +2 -2
  193. package/.hermes/skills/search-skills/SKILL.md +2 -2
  194. package/.hermes/skills/security-review/SKILL.md +9 -9
  195. package/.hermes/skills/seed-conventions/SKILL.md +6 -6
  196. package/.hermes/skills/session-state/SKILL.md +1 -1
  197. package/.hermes/skills/slice-tasks/SKILL.md +1 -1
  198. package/.hermes/skills/stocktake-skills/SKILL.md +1 -1
  199. package/.hermes/skills/survey-context/SKILL.md +1 -1
  200. package/.kilocode/rules/audit-code.md +11 -3
  201. package/.kilocode/rules/build-epic.md +1 -1
  202. package/.kilocode/rules/change-request.md +2 -2
  203. package/.kilocode/rules/commit-message.md +1 -1
  204. package/.kilocode/rules/compose-workflow.md +3 -3
  205. package/.kilocode/rules/delegate-task.md +1 -1
  206. package/.kilocode/rules/dispatch-agents.md +3 -3
  207. package/.kilocode/rules/evolve-skill.md +3 -3
  208. package/.kilocode/rules/kickoff-branch.md +3 -3
  209. package/.kilocode/rules/migrate-spec.md +6 -6
  210. package/.kilocode/rules/plan-work.md +1 -1
  211. package/.kilocode/rules/request-review.md +12 -1
  212. package/.kilocode/rules/research-first.md +2 -2
  213. package/.kilocode/rules/run-planning.md +1 -1
  214. package/.kilocode/rules/scope-work.md +2 -2
  215. package/.kilocode/rules/search-skills.md +2 -2
  216. package/.kilocode/rules/security-review.md +9 -9
  217. package/.kilocode/rules/seed-conventions.md +6 -6
  218. package/.kilocode/rules/session-state.md +1 -1
  219. package/.kilocode/rules/slice-tasks.md +1 -1
  220. package/.kilocode/rules/stocktake-skills.md +1 -1
  221. package/.kilocode/rules/survey-context.md +1 -1
  222. package/.mimocode/skills/audit-code/SKILL.md +11 -3
  223. package/.mimocode/skills/build-epic/SKILL.md +1 -1
  224. package/.mimocode/skills/change-request/SKILL.md +2 -2
  225. package/.mimocode/skills/commit-message/SKILL.md +1 -1
  226. package/.mimocode/skills/compose-workflow/SKILL.md +3 -3
  227. package/.mimocode/skills/delegate-task/SKILL.md +1 -1
  228. package/.mimocode/skills/dispatch-agents/SKILL.md +3 -3
  229. package/.mimocode/skills/evolve-skill/SKILL.md +3 -3
  230. package/.mimocode/skills/kickoff-branch/SKILL.md +3 -3
  231. package/.mimocode/skills/migrate-spec/SKILL.md +6 -6
  232. package/.mimocode/skills/plan-work/SKILL.md +1 -1
  233. package/.mimocode/skills/request-review/SKILL.md +12 -1
  234. package/.mimocode/skills/research-first/SKILL.md +2 -2
  235. package/.mimocode/skills/run-planning/SKILL.md +1 -1
  236. package/.mimocode/skills/scope-work/SKILL.md +2 -2
  237. package/.mimocode/skills/search-skills/SKILL.md +2 -2
  238. package/.mimocode/skills/security-review/SKILL.md +9 -9
  239. package/.mimocode/skills/seed-conventions/SKILL.md +6 -6
  240. package/.mimocode/skills/session-state/SKILL.md +1 -1
  241. package/.mimocode/skills/slice-tasks/SKILL.md +1 -1
  242. package/.mimocode/skills/stocktake-skills/SKILL.md +1 -1
  243. package/.mimocode/skills/survey-context/SKILL.md +1 -1
  244. package/.opencode/skills/audit-code/SKILL.md +11 -3
  245. package/.opencode/skills/build-epic/SKILL.md +1 -1
  246. package/.opencode/skills/change-request/SKILL.md +2 -2
  247. package/.opencode/skills/commit-message/SKILL.md +1 -1
  248. package/.opencode/skills/compose-workflow/SKILL.md +3 -3
  249. package/.opencode/skills/delegate-task/SKILL.md +1 -1
  250. package/.opencode/skills/dispatch-agents/SKILL.md +3 -3
  251. package/.opencode/skills/evolve-skill/SKILL.md +3 -3
  252. package/.opencode/skills/kickoff-branch/SKILL.md +3 -3
  253. package/.opencode/skills/migrate-spec/SKILL.md +6 -6
  254. package/.opencode/skills/plan-work/SKILL.md +1 -1
  255. package/.opencode/skills/request-review/SKILL.md +12 -1
  256. package/.opencode/skills/research-first/SKILL.md +2 -2
  257. package/.opencode/skills/run-planning/SKILL.md +1 -1
  258. package/.opencode/skills/scope-work/SKILL.md +2 -2
  259. package/.opencode/skills/search-skills/SKILL.md +2 -2
  260. package/.opencode/skills/security-review/SKILL.md +9 -9
  261. package/.opencode/skills/seed-conventions/SKILL.md +6 -6
  262. package/.opencode/skills/session-state/SKILL.md +1 -1
  263. package/.opencode/skills/slice-tasks/SKILL.md +1 -1
  264. package/.opencode/skills/stocktake-skills/SKILL.md +1 -1
  265. package/.opencode/skills/survey-context/SKILL.md +1 -1
  266. package/.pi/package.json +1 -1
  267. package/.pi/prompts/audit-code.md +11 -3
  268. package/.pi/prompts/build-epic.md +1 -1
  269. package/.pi/prompts/change-request.md +2 -2
  270. package/.pi/prompts/commit-message.md +1 -1
  271. package/.pi/prompts/compose-workflow.md +3 -3
  272. package/.pi/prompts/delegate-task.md +1 -1
  273. package/.pi/prompts/dispatch-agents.md +3 -3
  274. package/.pi/prompts/evolve-skill.md +3 -3
  275. package/.pi/prompts/kickoff-branch.md +3 -3
  276. package/.pi/prompts/migrate-spec.md +6 -6
  277. package/.pi/prompts/plan-work.md +1 -1
  278. package/.pi/prompts/request-review.md +12 -1
  279. package/.pi/prompts/research-first.md +2 -2
  280. package/.pi/prompts/run-planning.md +1 -1
  281. package/.pi/prompts/scope-work.md +2 -2
  282. package/.pi/prompts/search-skills.md +2 -2
  283. package/.pi/prompts/security-review.md +9 -9
  284. package/.pi/prompts/seed-conventions.md +6 -6
  285. package/.pi/prompts/session-state.md +1 -1
  286. package/.pi/prompts/slice-tasks.md +1 -1
  287. package/.pi/prompts/stocktake-skills.md +1 -1
  288. package/.pi/prompts/survey-context.md +1 -1
  289. package/.pi/skills/audit-code/SKILL.md +11 -3
  290. package/.pi/skills/build-epic/SKILL.md +1 -1
  291. package/.pi/skills/change-request/SKILL.md +2 -2
  292. package/.pi/skills/commit-message/SKILL.md +1 -1
  293. package/.pi/skills/compose-workflow/SKILL.md +3 -3
  294. package/.pi/skills/delegate-task/SKILL.md +1 -1
  295. package/.pi/skills/dispatch-agents/SKILL.md +3 -3
  296. package/.pi/skills/evolve-skill/SKILL.md +3 -3
  297. package/.pi/skills/kickoff-branch/SKILL.md +3 -3
  298. package/.pi/skills/migrate-spec/SKILL.md +6 -6
  299. package/.pi/skills/plan-work/SKILL.md +1 -1
  300. package/.pi/skills/request-review/SKILL.md +12 -1
  301. package/.pi/skills/research-first/SKILL.md +2 -2
  302. package/.pi/skills/run-planning/SKILL.md +1 -1
  303. package/.pi/skills/scope-work/SKILL.md +2 -2
  304. package/.pi/skills/search-skills/SKILL.md +2 -2
  305. package/.pi/skills/security-review/SKILL.md +9 -9
  306. package/.pi/skills/seed-conventions/SKILL.md +6 -6
  307. package/.pi/skills/session-state/SKILL.md +1 -1
  308. package/.pi/skills/slice-tasks/SKILL.md +1 -1
  309. package/.pi/skills/stocktake-skills/SKILL.md +1 -1
  310. package/.pi/skills/survey-context/SKILL.md +1 -1
  311. package/.qwen/skills/audit-code/SKILL.md +11 -3
  312. package/.qwen/skills/build-epic/SKILL.md +1 -1
  313. package/.qwen/skills/change-request/SKILL.md +2 -2
  314. package/.qwen/skills/commit-message/SKILL.md +1 -1
  315. package/.qwen/skills/compose-workflow/SKILL.md +3 -3
  316. package/.qwen/skills/delegate-task/SKILL.md +1 -1
  317. package/.qwen/skills/dispatch-agents/SKILL.md +3 -3
  318. package/.qwen/skills/evolve-skill/SKILL.md +3 -3
  319. package/.qwen/skills/kickoff-branch/SKILL.md +3 -3
  320. package/.qwen/skills/migrate-spec/SKILL.md +6 -6
  321. package/.qwen/skills/plan-work/SKILL.md +1 -1
  322. package/.qwen/skills/request-review/SKILL.md +12 -1
  323. package/.qwen/skills/research-first/SKILL.md +2 -2
  324. package/.qwen/skills/run-planning/SKILL.md +1 -1
  325. package/.qwen/skills/scope-work/SKILL.md +2 -2
  326. package/.qwen/skills/search-skills/SKILL.md +2 -2
  327. package/.qwen/skills/security-review/SKILL.md +9 -9
  328. package/.qwen/skills/seed-conventions/SKILL.md +6 -6
  329. package/.qwen/skills/session-state/SKILL.md +1 -1
  330. package/.qwen/skills/slice-tasks/SKILL.md +1 -1
  331. package/.qwen/skills/stocktake-skills/SKILL.md +1 -1
  332. package/.qwen/skills/survey-context/SKILL.md +1 -1
  333. package/.trae/skills/audit-code/SKILL.md +11 -3
  334. package/.trae/skills/build-epic/SKILL.md +1 -1
  335. package/.trae/skills/change-request/SKILL.md +2 -2
  336. package/.trae/skills/commit-message/SKILL.md +1 -1
  337. package/.trae/skills/compose-workflow/SKILL.md +3 -3
  338. package/.trae/skills/delegate-task/SKILL.md +1 -1
  339. package/.trae/skills/dispatch-agents/SKILL.md +3 -3
  340. package/.trae/skills/evolve-skill/SKILL.md +3 -3
  341. package/.trae/skills/kickoff-branch/SKILL.md +3 -3
  342. package/.trae/skills/migrate-spec/SKILL.md +6 -6
  343. package/.trae/skills/plan-work/SKILL.md +1 -1
  344. package/.trae/skills/request-review/SKILL.md +12 -1
  345. package/.trae/skills/research-first/SKILL.md +2 -2
  346. package/.trae/skills/run-planning/SKILL.md +1 -1
  347. package/.trae/skills/scope-work/SKILL.md +2 -2
  348. package/.trae/skills/search-skills/SKILL.md +2 -2
  349. package/.trae/skills/security-review/SKILL.md +9 -9
  350. package/.trae/skills/seed-conventions/SKILL.md +6 -6
  351. package/.trae/skills/session-state/SKILL.md +1 -1
  352. package/.trae/skills/slice-tasks/SKILL.md +1 -1
  353. package/.trae/skills/stocktake-skills/SKILL.md +1 -1
  354. package/.trae/skills/survey-context/SKILL.md +1 -1
  355. package/.windsurf/rules/audit-code.md +11 -3
  356. package/.windsurf/rules/build-epic.md +1 -1
  357. package/.windsurf/rules/change-request.md +2 -2
  358. package/.windsurf/rules/commit-message.md +1 -1
  359. package/.windsurf/rules/compose-workflow.md +3 -3
  360. package/.windsurf/rules/delegate-task.md +1 -1
  361. package/.windsurf/rules/dispatch-agents.md +3 -3
  362. package/.windsurf/rules/evolve-skill.md +3 -3
  363. package/.windsurf/rules/kickoff-branch.md +3 -3
  364. package/.windsurf/rules/migrate-spec.md +6 -6
  365. package/.windsurf/rules/plan-work.md +1 -1
  366. package/.windsurf/rules/request-review.md +12 -1
  367. package/.windsurf/rules/research-first.md +2 -2
  368. package/.windsurf/rules/run-planning.md +1 -1
  369. package/.windsurf/rules/scope-work.md +2 -2
  370. package/.windsurf/rules/search-skills.md +2 -2
  371. package/.windsurf/rules/security-review.md +9 -9
  372. package/.windsurf/rules/seed-conventions.md +6 -6
  373. package/.windsurf/rules/session-state.md +1 -1
  374. package/.windsurf/rules/slice-tasks.md +1 -1
  375. package/.windsurf/rules/stocktake-skills.md +1 -1
  376. package/.windsurf/rules/survey-context.md +1 -1
  377. package/.zcode/skills/audit-code/SKILL.md +11 -3
  378. package/.zcode/skills/build-epic/SKILL.md +1 -1
  379. package/.zcode/skills/change-request/SKILL.md +2 -2
  380. package/.zcode/skills/commit-message/SKILL.md +1 -1
  381. package/.zcode/skills/compose-workflow/SKILL.md +3 -3
  382. package/.zcode/skills/delegate-task/SKILL.md +1 -1
  383. package/.zcode/skills/dispatch-agents/SKILL.md +3 -3
  384. package/.zcode/skills/evolve-skill/SKILL.md +3 -3
  385. package/.zcode/skills/kickoff-branch/SKILL.md +3 -3
  386. package/.zcode/skills/migrate-spec/SKILL.md +6 -6
  387. package/.zcode/skills/plan-work/SKILL.md +1 -1
  388. package/.zcode/skills/request-review/SKILL.md +12 -1
  389. package/.zcode/skills/research-first/SKILL.md +2 -2
  390. package/.zcode/skills/run-planning/SKILL.md +1 -1
  391. package/.zcode/skills/scope-work/SKILL.md +2 -2
  392. package/.zcode/skills/search-skills/SKILL.md +2 -2
  393. package/.zcode/skills/security-review/SKILL.md +9 -9
  394. package/.zcode/skills/seed-conventions/SKILL.md +6 -6
  395. package/.zcode/skills/session-state/SKILL.md +1 -1
  396. package/.zcode/skills/slice-tasks/SKILL.md +1 -1
  397. package/.zcode/skills/stocktake-skills/SKILL.md +1 -1
  398. package/.zcode/skills/survey-context/SKILL.md +1 -1
  399. package/CHANGELOG.md +22 -0
  400. package/extensions/omp-hooks.ts +64 -9
  401. package/package.json +1 -1
  402. package/scripts/lib/__pycache__/link_utils.cpython-314.pyc +0 -0
  403. package/scripts/lib/__pycache__/srp_engine_links.cpython-314.pyc +0 -0
  404. package/scripts/lib/adapter-render-all.sh +74 -0
  405. package/scripts/lib/context-wire.sh +7 -1
  406. package/scripts/lib/install-helpers.js +4 -0
  407. package/scripts/lib/srp-engine.py +50 -7
  408. package/scripts/regenerate-lockfile.sh +2 -1
  409. package/scripts/verify-tdd-red-commit.sh +3 -1
  410. package/skills/audit-code/SKILL.md +14 -6
  411. package/skills/build-epic/SKILL.md +2 -2
  412. package/skills/change-request/SKILL.md +2 -2
  413. package/skills/commit-message/SKILL.md +1 -1
  414. package/skills/compose-workflow/SKILL.md +3 -3
  415. package/skills/context7-mcp/SKILL.md +1 -1
  416. package/skills/craft-skill/SKILL.md +3 -3
  417. package/skills/deepen-architecture/SKILL.md +2 -2
  418. package/skills/delegate-task/SKILL.md +1 -1
  419. package/skills/deploy/SKILL.md +1 -1
  420. package/skills/develop-tdd/SKILL.md +6 -6
  421. package/skills/diagnose-stall/SKILL.md +1 -1
  422. package/skills/dispatch-agents/SKILL.md +3 -3
  423. package/skills/elaborate-spec/SKILL.md +1 -1
  424. package/skills/enforce-first/SKILL.md +1 -1
  425. package/skills/evolve-skill/SKILL.md +3 -3
  426. package/skills/fix-bug/SKILL.md +1 -1
  427. package/skills/gate-trace/SKILL.md +4 -4
  428. package/skills/kickoff-branch/SKILL.md +3 -3
  429. package/skills/maintain-wiki/SKILL.md +1 -1
  430. package/skills/migrate-spec/SKILL.md +6 -6
  431. package/skills/plan-work/SKILL.md +6 -6
  432. package/skills/quick-fix/SKILL.md +1 -1
  433. package/skills/release-branch/SKILL.md +1 -1
  434. package/skills/request-review/SKILL.md +15 -4
  435. package/skills/research-first/SKILL.md +2 -2
  436. package/skills/run-benchmark/SKILL.md +2 -2
  437. package/skills/run-evals/SKILL.md +1 -1
  438. package/skills/run-planning/SKILL.md +1 -1
  439. package/skills/scope-work/SKILL.md +2 -2
  440. package/skills/search-skills/SKILL.md +2 -2
  441. package/skills/security-review/SKILL.md +9 -9
  442. package/skills/seed-conventions/SKILL.md +6 -6
  443. package/skills/session-state/SKILL.md +1 -1
  444. package/skills/slice-tasks/SKILL.md +1 -1
  445. package/skills/smoke-test/SKILL.md +1 -1
  446. package/skills/stocktake-skills/SKILL.md +3 -3
  447. package/skills/survey-context/SKILL.md +1 -1
  448. package/skills/validate-contracts/SKILL.md +1 -1
  449. package/skills/validate-fix/SKILL.md +3 -3
  450. package/skills-lock.json +121 -121
  451. package/tests/test_srp_engine.py +87 -0
@@ -4,8 +4,8 @@ model: sonnet
4
4
  description: "Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml and epic capsule directories. Modes Add and Reorder. Use when a new requirement arrives mid-release or the plan needs prioritization."
5
5
  ---
6
6
 
7
- # story: e45s29
8
- # story: e20s01
7
+ <!-- story: e45s29 -->
8
+ <!-- story: e20s01 -->
9
9
 
10
10
  # Change Request
11
11
 
@@ -4,7 +4,7 @@ model: haiku
4
4
  description: "Reviews working-tree changes, then drafts a Conventional Commits title/body and states the semantic-release version bump a single such commit would imply. Also notes which defensive-code categories were touched. Use when the user wants to commit recent work, prepare a Conventional Commits message, or asks for semantic-release / semver-consistent messaging before git commit."
5
5
  ---
6
6
 
7
- # story: e82s02
7
+ <!-- story: e82s02 -->
8
8
 
9
9
  # Commit Message
10
10
  > **HARD GATE** — **HARD GATE** — Commits must follow Conventional Commits spec (type(scope): description). Do NOT use vague messages like 'fix' or 'updates.' The message must explain the 'why,' not the 'what.'
@@ -4,9 +4,9 @@ model: sonnet
4
4
  description: "Chain multiple bigpowers skills into a custom workflow recipe saved in specs/. Use when a project repeats a non-standard skill sequence, or user wants a documented playbook beyond orchestrate-project modes."
5
5
  ---
6
6
 
7
- # story: e09s01
8
- # story: e45s27
9
- # story: e21s04
7
+ <!-- story: e09s01 -->
8
+ <!-- story: e45s27 -->
9
+ <!-- story: e21s04 -->
10
10
 
11
11
  # Compose Workflow
12
12
  > **HARD GATE** — **HARD GATE** — Workflows are orchestration, not automation. Do NOT create workflows for tasks that should be single skills. Workflow complexity must be justified.
@@ -4,7 +4,7 @@ model: sonnet
4
4
  description: "Delegate one complex task to a single subagent, review its work in two stages before merging back. Sequential — one agent at a time, with oversight. Use when a task is complex and requires careful review before the result is accepted. Distinct from dispatch-agents (no parallelism here; reviewer sees full diff before proceeding)."
5
5
  ---
6
6
 
7
- # story: e45s30
7
+ <!-- story: e45s30 -->
8
8
 
9
9
  # Delegate Task
10
10
  > **HARD GATE** — **HARD GATE** — Delegated work must have clear success criteria and verification commands. The delegate must be able to verify completion independently.
@@ -4,12 +4,12 @@ model: sonnet
4
4
  description: "Dispatch multiple subagents in parallel on independent tasks. No waiting between them — all run concurrently. Use when tasks are truly decoupled and speed matters. Distinct from delegate-task (concurrent here, no inter-task review gate)."
5
5
  ---
6
6
 
7
- # story: e09s04
8
- # story: e45s38
7
+ <!-- story: e09s04 -->
8
+ <!-- story: e45s38 -->
9
9
  <!-- story: e45s11 -->
10
10
 
11
11
 
12
- # story: e45s30
12
+ <!-- story: e45s30 -->
13
13
 
14
14
  # Dispatch Agents
15
15
  > **HARD GATE** — **HARD GATE** — Agent work must be parallelizable and have explicit synchronization points. Do NOT dispatch work that has hidden dependencies between agents.
@@ -4,10 +4,10 @@ model: opus
4
4
  description: "Benchmark-gated skill evolution — consume bigpowers-benchmark report, propose plan-work change, edit skill via craft-skill, re-run benchmark, record ADR. Use when a skill underperforms on benchmark or stocktake finds systemic gap."
5
5
  ---
6
6
 
7
- # story: e23s03
7
+ <!-- story: e23s03 -->
8
8
 
9
- # story: e09s01
10
- # story: e09s05
9
+ <!-- story: e09s01 -->
10
+ <!-- story: e09s05 -->
11
11
 
12
12
  # Evolve Skill
13
13
 
@@ -4,9 +4,9 @@ model: haiku
4
4
  description: "Create an isolated Git worktree/branch or Jujutsu workspace, then verify a clean test baseline before code. Use when starting a feature or task."
5
5
  ---
6
6
 
7
- # story: e51s03
8
- # story: e20s03
9
- # story: e82s02
7
+ <!-- story: e51s03 -->
8
+ <!-- story: e20s03 -->
9
+ <!-- story: e82s02 -->
10
10
 
11
11
 
12
12
  # Kickoff Branch
@@ -4,12 +4,12 @@ model: sonnet
4
4
  description: "Detect GSD, spec-kit, or BMAD spec artifacts and transform them into bigpowers YAML layout (state.yaml, release-plan.yaml, epics/, requirements/, plans/, ADRs). Use when migrating foreign spec docs."
5
5
  ---
6
6
 
7
- # story: e25s01
8
- # story: e25s02
9
- # story: e25s03
10
- # story: e25s04
11
- # story: e25s05
12
- # story: e25s06
7
+ <!-- story: e25s01 -->
8
+ <!-- story: e25s02 -->
9
+ <!-- story: e25s03 -->
10
+ <!-- story: e25s04 -->
11
+ <!-- story: e25s05 -->
12
+ <!-- story: e25s06 -->
13
13
 
14
14
  # Migrate Spec
15
15
 
@@ -4,7 +4,7 @@ model: opus
4
4
  description: "PLANNING SPINE STEP 3 of 3 — Plan the work: write detailed implementation tasks into the active epic capsule (specs/epics/eNN-slug/). Produces countable-story-format .md specs and runnable -tasks.yaml files. Use after slice-tasks (step 2). Not a substitute for scope-work (step 1) or slice-tasks (step 2)."
5
5
  ---
6
6
 
7
- # story: e45s29
7
+ <!-- story: e45s29 -->
8
8
 
9
9
  # Plan Work
10
10
 
@@ -4,12 +4,23 @@ model: opus
4
4
  description: "Dispatch a fresh reviewer agent with a clean context to critique the code after audit-code passes. The reviewer has no shared state with the coding agent and gives a genuine second opinion. Use after audit-code passes, before committing, or when user wants an independent code review."
5
5
  ---
6
6
 
7
- # story: e45s28
7
+ <!-- story: e45s28 -->
8
8
 
9
9
  # Request Review
10
10
 
11
11
  Dispatch fresh reviewer agents with clean contexts. Reviewers have no shared state — they find what the coding agent missed.
12
12
 
13
+ ## Target (argument)
14
+
15
+ If an argument was passed after `/request-review` (e.g. `/request-review abc1234` or `/request-review HEAD~3..HEAD`), use it as the diff target when building the reviewer brief:
16
+
17
+ ```bash
18
+ git diff <arg> # range: abc..def, HEAD~3..HEAD
19
+ git show <arg> # single commit: abc1234
20
+ ```
21
+
22
+ If no argument was given, review uncommitted working-tree changes.
23
+
13
24
  **Distinct from `audit-code`:** `audit-code` is self-review (internal). This skill dispatches external agents.
14
25
 
15
26
  **Solo developer note:** Reviewer agents replace the human reviewer.
@@ -4,8 +4,8 @@ model: sonnet
4
4
  description: "Look-before-build — search registries, repo, existing skills, and web for prior art before implementing. Appends Prior Art to the spec. Use after survey-context and before elaborate-spec, when adding dependencies, or when the task may already be solved."
5
5
  ---
6
6
 
7
- # story: e03s01
8
- # story: e21s02
7
+ <!-- story: e03s01 -->
8
+ <!-- story: e21s02 -->
9
9
 
10
10
  # Research First
11
11
 
@@ -4,7 +4,7 @@ model: sonnet
4
4
  description: "DISCOVER-PHASE ADVANCER — Drive the discover-phase checklist (specs/planning-status.yaml) through survey-context → scope-work → research-first → elaborate-spec → plan-release → slice-tasks. NOT a duplicate of plan-work or the planning spine; it orchestrates the pre-coding discover phase only."
5
5
  ---
6
6
 
7
- # story: e24s03
7
+ <!-- story: e24s03 -->
8
8
 
9
9
  # Run Planning
10
10
 
@@ -4,8 +4,8 @@ model: sonnet
4
4
  description: "PLANNING SPINE STEP 1 of 3 — Scope the work: define what is in and out of scope and save as specs/product/SCOPE_LATEST.yaml. Use before slice-tasks or plan-release on any new initiative. Not a substitute for slice-tasks (step 2) or plan-work (step 3)."
5
5
  ---
6
6
 
7
- # story: e03s01
8
- # story: e24s02
7
+ <!-- story: e03s01 -->
8
+ <!-- story: e24s02 -->
9
9
 
10
10
  # Scope Work
11
11
 
@@ -4,8 +4,8 @@ model: haiku
4
4
  description: "Find the right bigpowers skill from natural-language intent using a local lexical index over SKILL.md frontmatter. Use when unsure which skill to invoke, or at start of research-first."
5
5
  ---
6
6
 
7
- # story: e09s01
8
- # story: e21s01
7
+ <!-- story: e09s01 -->
8
+ <!-- story: e21s01 -->
9
9
 
10
10
  # Search Skills
11
11
 
@@ -4,16 +4,16 @@ model: sonnet
4
4
  description: "AI-powered security analysis of code changes — traces data flow, detects injection, auth bypass, secrets exposure, and unsafe deserialization across files. Use when reviewing pending changes, before release-branch, during verify-work Phase 5, during build-epic Step 0 threat modeling, or when the user says \"security review\" or \"scan for vulns\"."
5
5
  ---
6
6
 
7
- # story: e45s41
7
+ <!-- story: e45s41 -->
8
8
  <!-- story: e45s18 -->
9
- # story: e26s01
10
- # story: e26s02
11
- # story: e26s03
12
- # story: e26s04
13
- # story: e26s05
14
- # story: e26s06
15
- # story: e26s07
16
- # story: e45s26
9
+ <!-- story: e26s01 -->
10
+ <!-- story: e26s02 -->
11
+ <!-- story: e26s03 -->
12
+ <!-- story: e26s04 -->
13
+ <!-- story: e26s05 -->
14
+ <!-- story: e26s06 -->
15
+ <!-- story: e26s07 -->
16
+ <!-- story: e45s26 -->
17
17
 
18
18
  # Security Review
19
19
 
@@ -4,12 +4,12 @@ model: sonnet
4
4
  description: "Generate CLAUDE.md and CONVENTIONS.md for a brand-new project through a brief interview, and create the specs/ directory with evolved bigpowers structure (product/, tech-architecture/, verifications/, epics/archive/). Entry point for greenfield projects. Use when starting a new project from scratch, when user asks to set up AI agent conventions, or when there is no CLAUDE.md yet."
5
5
  ---
6
6
 
7
- # story: e10s01
8
- # story: e47s02
9
- # story: e10s02
10
- # story: e51s02
11
- # story: e45s21
12
- # story: e79s03
7
+ <!-- story: e10s01 -->
8
+ <!-- story: e47s02 -->
9
+ <!-- story: e10s02 -->
10
+ <!-- story: e51s02 -->
11
+ <!-- story: e45s21 -->
12
+ <!-- story: e79s03 -->
13
13
 
14
14
 
15
15
  # Seed Conventions
@@ -4,7 +4,7 @@ model: haiku
4
4
  description: "Track implementation decisions and progress in specs/state.yaml to prevent context rot. Use at the start of a session to load context, and whenever a significant decision is made or a milestone is reached."
5
5
  ---
6
6
 
7
- # story: e45s23
7
+ <!-- story: e45s23 -->
8
8
 
9
9
  # Session State
10
10
  > **HARD GATE** — **HARD GATE** — Session state must be synchronized with git state. If state.yaml conflicts with the working tree, halt and ask for clarification. Do NOT assume state is correct.
@@ -4,7 +4,7 @@ model: sonnet
4
4
  description: "PLANNING SPINE STEP 2 of 3 — Slice the work: break a scoped PRD into vertical-slice stories in specs/epics/. Use after scope-work (step 1), before plan-work (step 3). Not a substitute for scope-work or plan-work."
5
5
  ---
6
6
 
7
- # story: e45s29
7
+ <!-- story: e45s29 -->
8
8
 
9
9
  # Slice Tasks
10
10
 
@@ -4,7 +4,7 @@ model: sonnet
4
4
  description: "Sequential subagent batch audit of the bigpowers skill catalog — Quick Scan (changed only) or Full (all skills). Use during sustain phase, before a major release, or when catalog drift is suspected."
5
5
  ---
6
6
 
7
- # story: e09s01
7
+ <!-- story: e09s01 -->
8
8
  <!-- story: e45s12 -->
9
9
  <!-- story: e79s04 -->
10
10
 
@@ -4,7 +4,7 @@ model: haiku
4
4
  description: "Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first."
5
5
  ---
6
6
 
7
- # story: e82s02
7
+ <!-- story: e82s02 -->
8
8
 
9
9
  # Survey Context
10
10
 
package/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [2.88.12](https://github.com/danielvm-git/bigpowers/compare/v2.88.11...v2.88.12) (2026-10-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **install,skills:** config bridge append, worktree TDD gate, story tags, audit args ([#158](https://github.com/danielvm-git/bigpowers/issues/158)) ([120a0d9](https://github.com/danielvm-git/bigpowers/commit/120a0d993df3af671c1e3acdeb78934830ee7ddd)), closes [#149](https://github.com/danielvm-git/bigpowers/issues/149) [#142](https://github.com/danielvm-git/bigpowers/issues/142) [#140](https://github.com/danielvm-git/bigpowers/issues/140) [#141](https://github.com/danielvm-git/bigpowers/issues/141)
7
+ * live receipts page data + restore green CI on main ([#159](https://github.com/danielvm-git/bigpowers/issues/159)) ([6136322](https://github.com/danielvm-git/bigpowers/commit/6136322a0f436be22c96f4a7a005d4744de29c29)), closes [#158](https://github.com/danielvm-git/bigpowers/issues/158)
8
+
9
+ ## [2.88.11](https://github.com/danielvm-git/bigpowers/compare/v2.88.10...v2.88.11) (2026-10-25)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **guard:** resolve git branch per command target, not process cwd ([#154](https://github.com/danielvm-git/bigpowers/issues/154)) ([07c7498](https://github.com/danielvm-git/bigpowers/commit/07c749803c4d5d1c2499c01255fad138ce88e870))
15
+ * **lockfile:** add missing slash in skill path + self-contained resolve_repo_root ([#156](https://github.com/danielvm-git/bigpowers/issues/156)) ([04bda15](https://github.com/danielvm-git/bigpowers/commit/04bda157195f39816cd388a2fb4b0829ca19b20f))
16
+ * **omp-hooks:** inGitRepo bail-early, accept type!(scope) form, echo subject ([#157](https://github.com/danielvm-git/bigpowers/issues/157)) ([9e1b11a](https://github.com/danielvm-git/bigpowers/commit/9e1b11aaf4c63fa951c6916fabda13a836b56f2d)), closes [#147](https://github.com/danielvm-git/bigpowers/issues/147) [#151](https://github.com/danielvm-git/bigpowers/issues/151) [#151](https://github.com/danielvm-git/bigpowers/issues/151)
17
+
18
+
19
+ ### Performance Improvements
20
+
21
+ * **sync:** render all skills in one bash process per adapter ([#155](https://github.com/danielvm-git/bigpowers/issues/155)) ([1b56463](https://github.com/danielvm-git/bigpowers/commit/1b564639771c39c3d4bc712f09912751a56ab8ee)), closes [#137](https://github.com/danielvm-git/bigpowers/issues/137)
22
+
1
23
  ## [2.88.10](https://github.com/danielvm-git/bigpowers/compare/v2.88.9...v2.88.10) (2026-10-25)
2
24
 
3
25
 
@@ -7,7 +7,7 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
7
7
  import { Type } from "typebox";
8
8
  import { execSync } from "node:child_process";
9
9
  import { readdirSync, readFileSync, statSync } from "node:fs";
10
- import { dirname, join } from "node:path";
10
+ import { dirname, join, resolve } from "node:path";
11
11
  import { fileURLToPath } from "node:url";
12
12
 
13
13
  // ---------------------------------------------------------------------------
@@ -28,8 +28,10 @@ const DANGEROUS_PATTERNS = [
28
28
  /push\s+-f(?:\s|$)/,
29
29
  ];
30
30
 
31
+ // Conventional Commits specifies `type(scope)!:`, but many repositories write
32
+ // `type!(scope):`. Accept both; the leading type is what matters.
31
33
  const CONVENTIONAL_RE =
32
- /^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\([^)]+\))?!?:\s.+/;
34
+ /^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)!?(?:\([^)]+\))?!?:\s.+/;
33
35
 
34
36
  const PROTECTED_BRANCH_RE = /(?:^|\s|[:])(?:main|master)(?:\s|$)/;
35
37
  const PROTECTED_BRANCHES = ["main", "master"] as const;
@@ -157,11 +159,57 @@ function pluginRoot(): string {
157
159
  // Git safety helpers
158
160
  // ---------------------------------------------------------------------------
159
161
 
160
- function currentBranch(): string {
162
+ // Command-aware branch resolution: `git commit|push` in a bash command must
163
+ // be judged against the repo it will actually run in, not the agent process
164
+ // cwd (which is the session root — often a different repository).
165
+ // Resolve the directory: the last `cd <path>` before it (within the command
166
+ // prefix), overridden by the last `git -C <path>` anywhere in the command.
167
+ // Fail-closed: unresolvable paths fall back to the process cwd — previous
168
+ // behavior, over-blocks, never under-blocks.
169
+ function commandGitCwd(command: string, upTo: number, fallback: string): string {
170
+ const head = command.slice(0, upTo);
171
+ const cdMatches = [
172
+ ...head.matchAll(/\bcd\s+(?:"([^"]+)"|'([^']+)'|([^&|;<(`$][^\s&|;<>]*))/g),
173
+ ];
174
+ const cMatches = [
175
+ ...command.matchAll(/\bgit\s+-C\s+(?:"([^"]+)"|'([^']+)'|([^&|;<(`$][^\s&|;<>]*))/g),
176
+ ];
177
+ const m = cMatches.length
178
+ ? cMatches[cMatches.length - 1]
179
+ : cdMatches.length
180
+ ? cdMatches[cdMatches.length - 1]
181
+ : null;
182
+ if (!m) return fallback;
183
+ const p = m[1] ?? m[2] ?? m[3];
184
+ if (!p || p.includes("$") || p.includes("`")) return fallback;
185
+ try {
186
+ const abs = resolve(fallback, p);
187
+ return statSync(abs).isDirectory() ? abs : fallback;
188
+ } catch {
189
+ return fallback;
190
+ }
191
+ }
192
+
193
+ function inGitRepo(cwd?: string): boolean {
194
+ try {
195
+ execSync("git rev-parse --git-dir", {
196
+ cwd,
197
+ encoding: "utf-8",
198
+ timeout: 3000,
199
+ stdio: "ignore",
200
+ });
201
+ return true;
202
+ } catch {
203
+ return false;
204
+ }
205
+ }
206
+
207
+ function currentBranch(cwd: string): string {
161
208
  try {
162
209
  return execSync("git rev-parse --abbrev-ref HEAD", {
163
210
  encoding: "utf-8",
164
211
  timeout: 3000,
212
+ cwd,
165
213
  }).trim();
166
214
  } catch {
167
215
  return "unknown";
@@ -367,9 +415,11 @@ export default function bigpowers(pi: ExtensionAPI) {
367
415
  }
368
416
  }
369
417
 
370
- const branch = currentBranch();
418
+ const sessionRoot = process.cwd();
419
+ if (!inGitRepo(sessionRoot)) return;
420
+ const pushBranch = currentBranch(commandGitCwd(command, command.length, sessionRoot));
371
421
 
372
- if (/git\s+push/.test(command) && protectedPushTarget(command, branch)) {
422
+ if (/git\s+push/.test(command) && protectedPushTarget(command, pushBranch)) {
373
423
  return {
374
424
  block: true,
375
425
  reason:
@@ -378,10 +428,16 @@ export default function bigpowers(pi: ExtensionAPI) {
378
428
  }
379
429
 
380
430
  if (/git\s+commit/.test(command)) {
381
- if ((PROTECTED_BRANCHES as readonly string[]).includes(branch)) {
431
+ const commitBranches = [...command.matchAll(/\bgit\s+commit\b/g)].map((m) =>
432
+ currentBranch(commandGitCwd(command, m.index ?? 0, sessionRoot)),
433
+ );
434
+ const hit = commitBranches.find((b) =>
435
+ (PROTECTED_BRANCHES as readonly string[]).includes(b),
436
+ );
437
+ if (hit) {
382
438
  return {
383
439
  block: true,
384
- reason: `BLOCKED: Direct commits to '${branch}' are forbidden. Use a feature branch.`,
440
+ reason: `BLOCKED: Direct commits to '${hit}' are forbidden. Use a feature branch.`,
385
441
  };
386
442
  }
387
443
  const msg = extractCommitMessage(command);
@@ -389,8 +445,7 @@ export default function bigpowers(pi: ExtensionAPI) {
389
445
  if (!CONVENTIONAL_RE.test(msg)) {
390
446
  return {
391
447
  block: true,
392
- reason:
393
- "BLOCKED: Commit message must follow Conventional Commits: <type>(<scope>): <subject>.",
448
+ reason: `BLOCKED: Commit subject '${msg.split("\n")[0]}' must follow Conventional Commits: <type>(<scope>): <subject>.`,
394
449
  };
395
450
  }
396
451
  if (msg.split("\n")[0].length > 72) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.88.10",
3
+ "version": "2.88.12",
4
4
  "description": "73 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env bash
2
+ # story: #138
3
+ # adapter-render-all.sh — render every skill through one adapter in a single
4
+ # bash process.
5
+ #
6
+ # srp-engine.py --all used to spawn one `bash` (plus three `jq`) per
7
+ # skill×adapter — ~1,539 bash and ~4,600 jq processes from one Python process.
8
+ # On constrained Windows sessions that exhausts process-creation resources: the
9
+ # run dies with STATUS_DLL_INIT_FAILED (0xC0000142) and then hangs on orphaned
10
+ # children. Sourcing the adapter once and calling render_skill() in a loop keeps
11
+ # the exact same rendering code while collapsing the process count to one per
12
+ # adapter and removing the per-render jq calls.
13
+ #
14
+ # Input is a NUL-delimited stream written by srp-engine.py, five fields per
15
+ # skill in order — name, description, model, body, pi body — each NUL-terminated
16
+ # so field content may contain newlines.
17
+ #
18
+ # Adapters without a stdin entrypoint (continue, omp, zed) define render_skill
19
+ # but were never driven by srp-engine; they are skipped so behaviour is
20
+ # unchanged.
21
+ #
22
+ # Usage: adapter-render-all.sh <path-to-adapter.sh> <ir-stream-file>
23
+ set -u
24
+
25
+ adapter="$1"
26
+ stream="$2"
27
+
28
+ if [[ ! -f "$adapter" ]]; then
29
+ echo "adapter-render-all: adapter not found: $adapter" >&2
30
+ exit 1
31
+ fi
32
+ if [[ ! -f "$stream" ]]; then
33
+ echo "adapter-render-all: IR stream not found: $stream" >&2
34
+ exit 1
35
+ fi
36
+
37
+ # A spawned adapter with no stdin entrypoint is a no-op; match that.
38
+ if ! grep -q '\[\[ ! -t 0 \]\]' "$adapter"; then
39
+ exit 0
40
+ fi
41
+
42
+ adapter_id="$(basename "$adapter" .sh)"
43
+
44
+ # Sourcing the adapter runs its stdin entrypoint; point stdin at /dev/null so
45
+ # `[[ ! -t 0 ]]` is true but `cat` yields nothing and the entrypoint no-ops.
46
+ # shellcheck disable=SC1090
47
+ source "$adapter" < /dev/null
48
+
49
+ if ! declare -f render_skill >/dev/null 2>&1; then
50
+ exit 0
51
+ fi
52
+
53
+ exec 3< "$stream"
54
+ status=0
55
+ while IFS= read -r -d '' IR_NAME <&3; do
56
+ IFS= read -r -d '' IR_DESCRIPTION <&3
57
+ IFS= read -r -d '' IR_MODEL <&3
58
+ IFS= read -r -d '' IR_BODY <&3
59
+ IFS= read -r -d '' IR_BODY_PI <&3
60
+
61
+ IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/"/\\"/g')
62
+ if [[ "$adapter_id" == "pi" ]]; then
63
+ IR_BODY_SKILL="$IR_BODY_PI"
64
+ else
65
+ IR_BODY_SKILL="$IR_BODY"
66
+ fi
67
+
68
+ if ! render_skill; then
69
+ status=1
70
+ break
71
+ fi
72
+ done
73
+ exec 3<&-
74
+ exit "$status"
@@ -34,7 +34,13 @@ wire_config_bridge() {
34
34
  if [[ -f "$bridge_file" ]] && grep -q "^${bridge_key}:" "$bridge_file" 2>/dev/null; then
35
35
  return 0
36
36
  fi
37
- printf '%s: %s\n' "$bridge_key" "$agents_path" > "$bridge_file"
37
+ if [[ -f "$bridge_file" ]]; then
38
+ cp "$bridge_file" "${bridge_file}.bak"
39
+ printf '%s: %s\n' "$bridge_key" "$agents_path" >> "$bridge_file"
40
+ echo "install: appended ${bridge_key} to ${bridge_file} (existing content preserved; backup at ${bridge_file}.bak)"
41
+ else
42
+ printf '%s: %s\n' "$bridge_key" "$agents_path" > "$bridge_file"
43
+ fi
38
44
  }
39
45
 
40
46
  wire_context_mode() {
@@ -142,6 +142,10 @@ function bridgeHermesConfig(configPath) {
142
142
  if (fs.existsSync(configPath)) {
143
143
  const existing = fs.readFileSync(configPath, 'utf8');
144
144
  if (/^instructions:/m.test(existing)) return;
145
+ fs.copyFileSync(configPath, configPath + '.bak');
146
+ fs.appendFileSync(configPath, 'instructions: AGENTS.md\n');
147
+ console.log(`install: appended instructions to ${configPath} (existing content preserved; backup at ${configPath}.bak)`);
148
+ return;
145
149
  }
146
150
  fs.writeFileSync(configPath, 'instructions: AGENTS.md\n');
147
151
  }
@@ -7,6 +7,7 @@ import json
7
7
  import glob
8
8
  import shutil
9
9
  import subprocess
10
+ import tempfile
10
11
 
11
12
  # Ensure scripts/lib is on the path so sibling modules (link_utils, and the
12
13
  # simple_yaml fallback below) resolve regardless of cwd.
@@ -231,6 +232,50 @@ def dispatch_to_adapter(skill_data, target, repo_root):
231
232
  print(f"Error: adapter {target} failed with exit code {proc.returncode}", file=sys.stderr)
232
233
  sys.exit(proc.returncode)
233
234
 
235
+ def _write_ir_stream(records):
236
+ fd, stream_path = tempfile.mkstemp(prefix="bigpowers-ir-", suffix=".bin")
237
+ with os.fdopen(fd, "wb") as stream:
238
+ for data in records:
239
+ pi_body = rewrite_links_for_pi(data['body'], data['name'])
240
+ for field in (data['name'], data['description'], data['model'], data['body'], pi_body):
241
+ stream.write(field.encode("utf-8"))
242
+ stream.write(b"\x00")
243
+ return stream_path
244
+
245
+
246
+ def render_all(records, adapters, repo_root):
247
+ """Render every skill through each adapter with one bash process per adapter.
248
+
249
+ The previous path spawned one bash (plus three jq) per skill×adapter — about
250
+ 1,539 bash and 4,600 jq processes from a single Python process. On constrained
251
+ Windows sessions that exhausts process-creation resources, so the run dies
252
+ with STATUS_DLL_INIT_FAILED (0xC0000142) and then hangs on orphaned children.
253
+ Writing the IR once and letting a small bash driver source the adapter keeps
254
+ the same rendering code while dropping to one process per adapter.
255
+ """
256
+ if not records:
257
+ return
258
+
259
+ driver = os.path.join(repo_root, "scripts", "lib", "adapter-render-all.sh")
260
+ bash = resolve_bash()
261
+ stream_path = _write_ir_stream(records)
262
+ try:
263
+ for adapter in adapters:
264
+ adapter_path = os.path.join(repo_root, "scripts", "adapters", f"{adapter}.sh")
265
+ if not os.path.isfile(adapter_path):
266
+ print(f"Error: adapter not found: {adapter_path}", file=sys.stderr)
267
+ sys.exit(1)
268
+ proc = subprocess.run([bash, driver, adapter_path, stream_path])
269
+ if proc.returncode != 0:
270
+ print(f"Error: adapter {adapter} failed with exit code {proc.returncode}", file=sys.stderr)
271
+ sys.exit(1)
272
+ finally:
273
+ try:
274
+ os.unlink(stream_path)
275
+ except OSError:
276
+ pass
277
+
278
+
234
279
  def main():
235
280
  repo_root = resolve_repo_root()
236
281
 
@@ -241,19 +286,17 @@ def main():
241
286
 
242
287
  okf_wiki_skills = os.environ.get("OKF_WIKI_SKILLS", os.path.join(repo_root, "specs", "skills-wiki", "skills"))
243
288
 
289
+ records = []
244
290
  for skill_md in skills:
245
291
  skill_data = parse_skill(skill_md)
246
292
  if not skill_data['name']:
247
293
  continue
294
+ records.append(skill_data)
248
295
 
249
- for adapter in adapters:
250
- data = skill_data
251
- if adapter == "pi":
252
- data = dict(skill_data)
253
- data["body_pi_skill"] = rewrite_links_for_pi(skill_data['body'], skill_data['name'])
254
- dispatch_to_adapter(data, adapter, repo_root)
296
+ render_all(records, adapters, repo_root)
255
297
 
256
- if okf_mode:
298
+ if okf_mode:
299
+ for skill_data in records:
257
300
  render_okf_concept(skill_data, okf_wiki_skills)
258
301
  return
259
302
 
@@ -3,6 +3,7 @@
3
3
  # regenerate-lockfile.sh — Scan all SKILL.md files and regenerate skills-lock.json
4
4
  set -euo pipefail
5
5
  source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
6
+ resolve_repo_root
6
7
  LOCKFILE="$REPO_ROOT/skills-lock.json"
7
8
  records=()
8
9
  while IFS= read -r skill_dir; do
@@ -12,7 +13,7 @@ while IFS= read -r skill_dir; do
12
13
  description="$_PF_DESCRIPTION"
13
14
  if command -v sha256sum &>/dev/null; then sha256=$(sha256sum "$skill_md" | cut -c1-16)
14
15
  else sha256=$(shasum -a 256 "$skill_md" | cut -c1-16); fi
15
- relpath="${skill_dir#$REPO_ROOT/}SKILL.md"
16
+ relpath="${skill_dir#$REPO_ROOT/}/SKILL.md"
16
17
  records+=("$(jq -n --arg name "$name" --arg desc "$description" --arg sha "$sha256" --arg path "$relpath" \
17
18
  '{($name): {description: $desc, sha256: $sha, path: $path}}')")
18
19
  done < <(iterate_skills)