bigpowers 2.84.1 → 2.85.1

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 (480) hide show
  1. package/.agents/skills/assess-impact/SKILL.md +3 -3
  2. package/.agents/skills/audit-code/SKILL.md +1 -1
  3. package/.agents/skills/audit-plan/SKILL.md +1 -1
  4. package/.agents/skills/build-epic/SKILL.md +1 -1
  5. package/.agents/skills/change-request/SKILL.md +1 -1
  6. package/.agents/skills/compose-workflow/SKILL.md +1 -1
  7. package/.agents/skills/context7-mcp/SKILL.md +1 -1
  8. package/.agents/skills/craft-skill/SKILL.md +22 -5
  9. package/.agents/skills/deepen-architecture/SKILL.md +1 -1
  10. package/.agents/skills/deploy/SKILL.md +1 -1
  11. package/.agents/skills/diagnose-root/SKILL.md +1 -1
  12. package/.agents/skills/diagnose-stall/SKILL.md +1 -1
  13. package/.agents/skills/dispatch-agents/SKILL.md +1 -1
  14. package/.agents/skills/evolve-skill/SKILL.md +1 -1
  15. package/.agents/skills/grill-with-docs/SKILL.md +1 -1
  16. package/.agents/skills/harden-vps/SKILL.md +1 -1
  17. package/.agents/skills/maintain-wiki/SKILL.md +1 -1
  18. package/.agents/skills/migrate-spec/SKILL.md +2 -2
  19. package/.agents/skills/plan-tests/SKILL.md +1 -1
  20. package/.agents/skills/publish-package/SKILL.md +2 -2
  21. package/.agents/skills/release-branch/SKILL.md +1 -1
  22. package/.agents/skills/request-review/SKILL.md +1 -1
  23. package/.agents/skills/research-first/SKILL.md +1 -1
  24. package/.agents/skills/reset-baseline/SKILL.md +1 -1
  25. package/.agents/skills/run-evals/SKILL.md +1 -1
  26. package/.agents/skills/run-planning/SKILL.md +1 -1
  27. package/.agents/skills/scope-work/SKILL.md +1 -1
  28. package/.agents/skills/search-skills/SKILL.md +1 -1
  29. package/.agents/skills/security-review/SKILL.md +2 -4
  30. package/.agents/skills/seed-conventions/SKILL.md +21 -4
  31. package/.agents/skills/setup-environment/SKILL.md +1 -1
  32. package/.agents/skills/simulate-agents/SKILL.md +1 -1
  33. package/.agents/skills/slice-tasks/SKILL.md +1 -1
  34. package/.agents/skills/stocktake-skills/SKILL.md +3 -1
  35. package/.agents/skills/survey-context/SKILL.md +1 -1
  36. package/.agents/skills/trace-requirement/SKILL.md +2 -2
  37. package/.agents/skills/verify-work/SKILL.md +1 -1
  38. package/.agents/skills/wire-ci/SKILL.md +2 -2
  39. package/.agents/skills/write-document/SKILL.md +1 -1
  40. package/.codebuddy/skills/assess-impact/SKILL.md +3 -3
  41. package/.codebuddy/skills/audit-code/SKILL.md +1 -1
  42. package/.codebuddy/skills/audit-plan/SKILL.md +1 -1
  43. package/.codebuddy/skills/build-epic/SKILL.md +1 -1
  44. package/.codebuddy/skills/change-request/SKILL.md +1 -1
  45. package/.codebuddy/skills/compose-workflow/SKILL.md +1 -1
  46. package/.codebuddy/skills/context7-mcp/SKILL.md +1 -1
  47. package/.codebuddy/skills/craft-skill/SKILL.md +22 -5
  48. package/.codebuddy/skills/deepen-architecture/SKILL.md +1 -1
  49. package/.codebuddy/skills/deploy/SKILL.md +1 -1
  50. package/.codebuddy/skills/diagnose-root/SKILL.md +1 -1
  51. package/.codebuddy/skills/diagnose-stall/SKILL.md +1 -1
  52. package/.codebuddy/skills/dispatch-agents/SKILL.md +1 -1
  53. package/.codebuddy/skills/evolve-skill/SKILL.md +1 -1
  54. package/.codebuddy/skills/grill-with-docs/SKILL.md +1 -1
  55. package/.codebuddy/skills/harden-vps/SKILL.md +1 -1
  56. package/.codebuddy/skills/maintain-wiki/SKILL.md +1 -1
  57. package/.codebuddy/skills/migrate-spec/SKILL.md +2 -2
  58. package/.codebuddy/skills/plan-tests/SKILL.md +1 -1
  59. package/.codebuddy/skills/publish-package/SKILL.md +2 -2
  60. package/.codebuddy/skills/release-branch/SKILL.md +1 -1
  61. package/.codebuddy/skills/request-review/SKILL.md +1 -1
  62. package/.codebuddy/skills/research-first/SKILL.md +1 -1
  63. package/.codebuddy/skills/reset-baseline/SKILL.md +1 -1
  64. package/.codebuddy/skills/run-evals/SKILL.md +1 -1
  65. package/.codebuddy/skills/run-planning/SKILL.md +1 -1
  66. package/.codebuddy/skills/scope-work/SKILL.md +1 -1
  67. package/.codebuddy/skills/search-skills/SKILL.md +1 -1
  68. package/.codebuddy/skills/security-review/SKILL.md +2 -4
  69. package/.codebuddy/skills/seed-conventions/SKILL.md +21 -4
  70. package/.codebuddy/skills/setup-environment/SKILL.md +1 -1
  71. package/.codebuddy/skills/simulate-agents/SKILL.md +1 -1
  72. package/.codebuddy/skills/slice-tasks/SKILL.md +1 -1
  73. package/.codebuddy/skills/stocktake-skills/SKILL.md +3 -1
  74. package/.codebuddy/skills/survey-context/SKILL.md +1 -1
  75. package/.codebuddy/skills/trace-requirement/SKILL.md +2 -2
  76. package/.codebuddy/skills/verify-work/SKILL.md +1 -1
  77. package/.codebuddy/skills/wire-ci/SKILL.md +2 -2
  78. package/.codebuddy/skills/write-document/SKILL.md +1 -1
  79. package/.codex/skills/assess-impact/SKILL.md +3 -3
  80. package/.codex/skills/audit-code/SKILL.md +1 -1
  81. package/.codex/skills/audit-plan/SKILL.md +1 -1
  82. package/.codex/skills/build-epic/SKILL.md +1 -1
  83. package/.codex/skills/change-request/SKILL.md +1 -1
  84. package/.codex/skills/compose-workflow/SKILL.md +1 -1
  85. package/.codex/skills/context7-mcp/SKILL.md +1 -1
  86. package/.codex/skills/craft-skill/SKILL.md +22 -5
  87. package/.codex/skills/deepen-architecture/SKILL.md +1 -1
  88. package/.codex/skills/deploy/SKILL.md +1 -1
  89. package/.codex/skills/diagnose-root/SKILL.md +1 -1
  90. package/.codex/skills/diagnose-stall/SKILL.md +1 -1
  91. package/.codex/skills/dispatch-agents/SKILL.md +1 -1
  92. package/.codex/skills/evolve-skill/SKILL.md +1 -1
  93. package/.codex/skills/grill-with-docs/SKILL.md +1 -1
  94. package/.codex/skills/harden-vps/SKILL.md +1 -1
  95. package/.codex/skills/maintain-wiki/SKILL.md +1 -1
  96. package/.codex/skills/migrate-spec/SKILL.md +2 -2
  97. package/.codex/skills/plan-tests/SKILL.md +1 -1
  98. package/.codex/skills/publish-package/SKILL.md +2 -2
  99. package/.codex/skills/release-branch/SKILL.md +1 -1
  100. package/.codex/skills/request-review/SKILL.md +1 -1
  101. package/.codex/skills/research-first/SKILL.md +1 -1
  102. package/.codex/skills/reset-baseline/SKILL.md +1 -1
  103. package/.codex/skills/run-evals/SKILL.md +1 -1
  104. package/.codex/skills/run-planning/SKILL.md +1 -1
  105. package/.codex/skills/scope-work/SKILL.md +1 -1
  106. package/.codex/skills/search-skills/SKILL.md +1 -1
  107. package/.codex/skills/security-review/SKILL.md +2 -4
  108. package/.codex/skills/seed-conventions/SKILL.md +21 -4
  109. package/.codex/skills/setup-environment/SKILL.md +1 -1
  110. package/.codex/skills/simulate-agents/SKILL.md +1 -1
  111. package/.codex/skills/slice-tasks/SKILL.md +1 -1
  112. package/.codex/skills/stocktake-skills/SKILL.md +3 -1
  113. package/.codex/skills/survey-context/SKILL.md +1 -1
  114. package/.codex/skills/trace-requirement/SKILL.md +2 -2
  115. package/.codex/skills/verify-work/SKILL.md +1 -1
  116. package/.codex/skills/wire-ci/SKILL.md +2 -2
  117. package/.codex/skills/write-document/SKILL.md +1 -1
  118. package/.hermes/skills/assess-impact/SKILL.md +3 -3
  119. package/.hermes/skills/audit-code/SKILL.md +1 -1
  120. package/.hermes/skills/audit-plan/SKILL.md +1 -1
  121. package/.hermes/skills/build-epic/SKILL.md +1 -1
  122. package/.hermes/skills/change-request/SKILL.md +1 -1
  123. package/.hermes/skills/compose-workflow/SKILL.md +1 -1
  124. package/.hermes/skills/context7-mcp/SKILL.md +1 -1
  125. package/.hermes/skills/craft-skill/SKILL.md +22 -5
  126. package/.hermes/skills/deepen-architecture/SKILL.md +1 -1
  127. package/.hermes/skills/deploy/SKILL.md +1 -1
  128. package/.hermes/skills/diagnose-root/SKILL.md +1 -1
  129. package/.hermes/skills/diagnose-stall/SKILL.md +1 -1
  130. package/.hermes/skills/dispatch-agents/SKILL.md +1 -1
  131. package/.hermes/skills/evolve-skill/SKILL.md +1 -1
  132. package/.hermes/skills/grill-with-docs/SKILL.md +1 -1
  133. package/.hermes/skills/harden-vps/SKILL.md +1 -1
  134. package/.hermes/skills/maintain-wiki/SKILL.md +1 -1
  135. package/.hermes/skills/migrate-spec/SKILL.md +2 -2
  136. package/.hermes/skills/plan-tests/SKILL.md +1 -1
  137. package/.hermes/skills/publish-package/SKILL.md +2 -2
  138. package/.hermes/skills/release-branch/SKILL.md +1 -1
  139. package/.hermes/skills/request-review/SKILL.md +1 -1
  140. package/.hermes/skills/research-first/SKILL.md +1 -1
  141. package/.hermes/skills/reset-baseline/SKILL.md +1 -1
  142. package/.hermes/skills/run-evals/SKILL.md +1 -1
  143. package/.hermes/skills/run-planning/SKILL.md +1 -1
  144. package/.hermes/skills/scope-work/SKILL.md +1 -1
  145. package/.hermes/skills/search-skills/SKILL.md +1 -1
  146. package/.hermes/skills/security-review/SKILL.md +2 -4
  147. package/.hermes/skills/seed-conventions/SKILL.md +21 -4
  148. package/.hermes/skills/setup-environment/SKILL.md +1 -1
  149. package/.hermes/skills/simulate-agents/SKILL.md +1 -1
  150. package/.hermes/skills/slice-tasks/SKILL.md +1 -1
  151. package/.hermes/skills/stocktake-skills/SKILL.md +3 -1
  152. package/.hermes/skills/survey-context/SKILL.md +1 -1
  153. package/.hermes/skills/trace-requirement/SKILL.md +2 -2
  154. package/.hermes/skills/verify-work/SKILL.md +1 -1
  155. package/.hermes/skills/wire-ci/SKILL.md +2 -2
  156. package/.hermes/skills/write-document/SKILL.md +1 -1
  157. package/.kilocode/rules/assess-impact.md +3 -3
  158. package/.kilocode/rules/audit-code.md +1 -1
  159. package/.kilocode/rules/audit-plan.md +1 -1
  160. package/.kilocode/rules/build-epic.md +1 -1
  161. package/.kilocode/rules/change-request.md +1 -1
  162. package/.kilocode/rules/compose-workflow.md +1 -1
  163. package/.kilocode/rules/context7-mcp.md +1 -1
  164. package/.kilocode/rules/craft-skill.md +22 -5
  165. package/.kilocode/rules/deepen-architecture.md +1 -1
  166. package/.kilocode/rules/deploy.md +1 -1
  167. package/.kilocode/rules/diagnose-root.md +1 -1
  168. package/.kilocode/rules/diagnose-stall.md +1 -1
  169. package/.kilocode/rules/dispatch-agents.md +1 -1
  170. package/.kilocode/rules/evolve-skill.md +1 -1
  171. package/.kilocode/rules/grill-with-docs.md +1 -1
  172. package/.kilocode/rules/harden-vps.md +1 -1
  173. package/.kilocode/rules/maintain-wiki.md +1 -1
  174. package/.kilocode/rules/migrate-spec.md +2 -2
  175. package/.kilocode/rules/plan-tests.md +1 -1
  176. package/.kilocode/rules/publish-package.md +2 -2
  177. package/.kilocode/rules/release-branch.md +1 -1
  178. package/.kilocode/rules/request-review.md +1 -1
  179. package/.kilocode/rules/research-first.md +1 -1
  180. package/.kilocode/rules/reset-baseline.md +1 -1
  181. package/.kilocode/rules/run-evals.md +1 -1
  182. package/.kilocode/rules/run-planning.md +1 -1
  183. package/.kilocode/rules/scope-work.md +1 -1
  184. package/.kilocode/rules/search-skills.md +1 -1
  185. package/.kilocode/rules/security-review.md +2 -4
  186. package/.kilocode/rules/seed-conventions.md +21 -4
  187. package/.kilocode/rules/setup-environment.md +1 -1
  188. package/.kilocode/rules/simulate-agents.md +1 -1
  189. package/.kilocode/rules/slice-tasks.md +1 -1
  190. package/.kilocode/rules/stocktake-skills.md +3 -1
  191. package/.kilocode/rules/survey-context.md +1 -1
  192. package/.kilocode/rules/trace-requirement.md +2 -2
  193. package/.kilocode/rules/verify-work.md +1 -1
  194. package/.kilocode/rules/wire-ci.md +2 -2
  195. package/.kilocode/rules/write-document.md +1 -1
  196. package/.mimocode/skills/assess-impact/SKILL.md +3 -3
  197. package/.mimocode/skills/audit-code/SKILL.md +1 -1
  198. package/.mimocode/skills/audit-plan/SKILL.md +1 -1
  199. package/.mimocode/skills/build-epic/SKILL.md +1 -1
  200. package/.mimocode/skills/change-request/SKILL.md +1 -1
  201. package/.mimocode/skills/compose-workflow/SKILL.md +1 -1
  202. package/.mimocode/skills/context7-mcp/SKILL.md +1 -1
  203. package/.mimocode/skills/craft-skill/SKILL.md +22 -5
  204. package/.mimocode/skills/deepen-architecture/SKILL.md +1 -1
  205. package/.mimocode/skills/deploy/SKILL.md +1 -1
  206. package/.mimocode/skills/diagnose-root/SKILL.md +1 -1
  207. package/.mimocode/skills/diagnose-stall/SKILL.md +1 -1
  208. package/.mimocode/skills/dispatch-agents/SKILL.md +1 -1
  209. package/.mimocode/skills/evolve-skill/SKILL.md +1 -1
  210. package/.mimocode/skills/grill-with-docs/SKILL.md +1 -1
  211. package/.mimocode/skills/harden-vps/SKILL.md +1 -1
  212. package/.mimocode/skills/maintain-wiki/SKILL.md +1 -1
  213. package/.mimocode/skills/migrate-spec/SKILL.md +2 -2
  214. package/.mimocode/skills/plan-tests/SKILL.md +1 -1
  215. package/.mimocode/skills/publish-package/SKILL.md +2 -2
  216. package/.mimocode/skills/release-branch/SKILL.md +1 -1
  217. package/.mimocode/skills/request-review/SKILL.md +1 -1
  218. package/.mimocode/skills/research-first/SKILL.md +1 -1
  219. package/.mimocode/skills/reset-baseline/SKILL.md +1 -1
  220. package/.mimocode/skills/run-evals/SKILL.md +1 -1
  221. package/.mimocode/skills/run-planning/SKILL.md +1 -1
  222. package/.mimocode/skills/scope-work/SKILL.md +1 -1
  223. package/.mimocode/skills/search-skills/SKILL.md +1 -1
  224. package/.mimocode/skills/security-review/SKILL.md +2 -4
  225. package/.mimocode/skills/seed-conventions/SKILL.md +21 -4
  226. package/.mimocode/skills/setup-environment/SKILL.md +1 -1
  227. package/.mimocode/skills/simulate-agents/SKILL.md +1 -1
  228. package/.mimocode/skills/slice-tasks/SKILL.md +1 -1
  229. package/.mimocode/skills/stocktake-skills/SKILL.md +3 -1
  230. package/.mimocode/skills/survey-context/SKILL.md +1 -1
  231. package/.mimocode/skills/trace-requirement/SKILL.md +2 -2
  232. package/.mimocode/skills/verify-work/SKILL.md +1 -1
  233. package/.mimocode/skills/wire-ci/SKILL.md +2 -2
  234. package/.mimocode/skills/write-document/SKILL.md +1 -1
  235. package/.pi/package.json +1 -1
  236. package/.pi/prompts/assess-impact.md +3 -3
  237. package/.pi/prompts/audit-code.md +1 -1
  238. package/.pi/prompts/audit-plan.md +1 -1
  239. package/.pi/prompts/build-epic.md +1 -1
  240. package/.pi/prompts/change-request.md +1 -1
  241. package/.pi/prompts/compose-workflow.md +1 -1
  242. package/.pi/prompts/context7-mcp.md +1 -1
  243. package/.pi/prompts/craft-skill.md +22 -5
  244. package/.pi/prompts/deepen-architecture.md +1 -1
  245. package/.pi/prompts/deploy.md +1 -1
  246. package/.pi/prompts/diagnose-root.md +1 -1
  247. package/.pi/prompts/diagnose-stall.md +1 -1
  248. package/.pi/prompts/dispatch-agents.md +1 -1
  249. package/.pi/prompts/evolve-skill.md +1 -1
  250. package/.pi/prompts/grill-with-docs.md +1 -1
  251. package/.pi/prompts/harden-vps.md +1 -1
  252. package/.pi/prompts/maintain-wiki.md +1 -1
  253. package/.pi/prompts/migrate-spec.md +2 -2
  254. package/.pi/prompts/plan-tests.md +1 -1
  255. package/.pi/prompts/publish-package.md +2 -2
  256. package/.pi/prompts/release-branch.md +1 -1
  257. package/.pi/prompts/request-review.md +1 -1
  258. package/.pi/prompts/research-first.md +1 -1
  259. package/.pi/prompts/reset-baseline.md +1 -1
  260. package/.pi/prompts/run-evals.md +1 -1
  261. package/.pi/prompts/run-planning.md +1 -1
  262. package/.pi/prompts/scope-work.md +1 -1
  263. package/.pi/prompts/search-skills.md +1 -1
  264. package/.pi/prompts/security-review.md +2 -4
  265. package/.pi/prompts/seed-conventions.md +21 -4
  266. package/.pi/prompts/setup-environment.md +1 -1
  267. package/.pi/prompts/simulate-agents.md +1 -1
  268. package/.pi/prompts/slice-tasks.md +1 -1
  269. package/.pi/prompts/stocktake-skills.md +3 -1
  270. package/.pi/prompts/survey-context.md +1 -1
  271. package/.pi/prompts/trace-requirement.md +2 -2
  272. package/.pi/prompts/verify-work.md +1 -1
  273. package/.pi/prompts/wire-ci.md +2 -2
  274. package/.pi/prompts/write-document.md +1 -1
  275. package/.pi/skills/assess-impact/SKILL.md +3 -3
  276. package/.pi/skills/audit-code/SKILL.md +1 -1
  277. package/.pi/skills/audit-plan/SKILL.md +1 -1
  278. package/.pi/skills/build-epic/SKILL.md +1 -1
  279. package/.pi/skills/change-request/SKILL.md +1 -1
  280. package/.pi/skills/compose-workflow/SKILL.md +1 -1
  281. package/.pi/skills/context7-mcp/SKILL.md +1 -1
  282. package/.pi/skills/craft-skill/SKILL.md +22 -5
  283. package/.pi/skills/deepen-architecture/SKILL.md +1 -1
  284. package/.pi/skills/deploy/SKILL.md +1 -1
  285. package/.pi/skills/diagnose-root/SKILL.md +1 -1
  286. package/.pi/skills/diagnose-stall/SKILL.md +1 -1
  287. package/.pi/skills/dispatch-agents/SKILL.md +1 -1
  288. package/.pi/skills/evolve-skill/SKILL.md +1 -1
  289. package/.pi/skills/grill-with-docs/SKILL.md +1 -1
  290. package/.pi/skills/harden-vps/SKILL.md +1 -1
  291. package/.pi/skills/maintain-wiki/SKILL.md +1 -1
  292. package/.pi/skills/migrate-spec/SKILL.md +2 -2
  293. package/.pi/skills/plan-tests/SKILL.md +1 -1
  294. package/.pi/skills/publish-package/SKILL.md +2 -2
  295. package/.pi/skills/release-branch/SKILL.md +1 -1
  296. package/.pi/skills/request-review/SKILL.md +1 -1
  297. package/.pi/skills/research-first/SKILL.md +1 -1
  298. package/.pi/skills/reset-baseline/SKILL.md +1 -1
  299. package/.pi/skills/run-evals/SKILL.md +1 -1
  300. package/.pi/skills/run-planning/SKILL.md +1 -1
  301. package/.pi/skills/scope-work/SKILL.md +1 -1
  302. package/.pi/skills/search-skills/SKILL.md +1 -1
  303. package/.pi/skills/security-review/SKILL.md +2 -4
  304. package/.pi/skills/seed-conventions/SKILL.md +21 -4
  305. package/.pi/skills/setup-environment/SKILL.md +1 -1
  306. package/.pi/skills/simulate-agents/SKILL.md +1 -1
  307. package/.pi/skills/slice-tasks/SKILL.md +1 -1
  308. package/.pi/skills/stocktake-skills/SKILL.md +3 -1
  309. package/.pi/skills/survey-context/SKILL.md +1 -1
  310. package/.pi/skills/trace-requirement/SKILL.md +2 -2
  311. package/.pi/skills/verify-work/SKILL.md +1 -1
  312. package/.pi/skills/wire-ci/SKILL.md +2 -2
  313. package/.pi/skills/write-document/SKILL.md +1 -1
  314. package/.trae/skills/assess-impact/SKILL.md +3 -3
  315. package/.trae/skills/audit-code/SKILL.md +1 -1
  316. package/.trae/skills/audit-plan/SKILL.md +1 -1
  317. package/.trae/skills/build-epic/SKILL.md +1 -1
  318. package/.trae/skills/change-request/SKILL.md +1 -1
  319. package/.trae/skills/compose-workflow/SKILL.md +1 -1
  320. package/.trae/skills/context7-mcp/SKILL.md +1 -1
  321. package/.trae/skills/craft-skill/SKILL.md +22 -5
  322. package/.trae/skills/deepen-architecture/SKILL.md +1 -1
  323. package/.trae/skills/deploy/SKILL.md +1 -1
  324. package/.trae/skills/diagnose-root/SKILL.md +1 -1
  325. package/.trae/skills/diagnose-stall/SKILL.md +1 -1
  326. package/.trae/skills/dispatch-agents/SKILL.md +1 -1
  327. package/.trae/skills/evolve-skill/SKILL.md +1 -1
  328. package/.trae/skills/grill-with-docs/SKILL.md +1 -1
  329. package/.trae/skills/harden-vps/SKILL.md +1 -1
  330. package/.trae/skills/maintain-wiki/SKILL.md +1 -1
  331. package/.trae/skills/migrate-spec/SKILL.md +2 -2
  332. package/.trae/skills/plan-tests/SKILL.md +1 -1
  333. package/.trae/skills/publish-package/SKILL.md +2 -2
  334. package/.trae/skills/release-branch/SKILL.md +1 -1
  335. package/.trae/skills/request-review/SKILL.md +1 -1
  336. package/.trae/skills/research-first/SKILL.md +1 -1
  337. package/.trae/skills/reset-baseline/SKILL.md +1 -1
  338. package/.trae/skills/run-evals/SKILL.md +1 -1
  339. package/.trae/skills/run-planning/SKILL.md +1 -1
  340. package/.trae/skills/scope-work/SKILL.md +1 -1
  341. package/.trae/skills/search-skills/SKILL.md +1 -1
  342. package/.trae/skills/security-review/SKILL.md +2 -4
  343. package/.trae/skills/seed-conventions/SKILL.md +21 -4
  344. package/.trae/skills/setup-environment/SKILL.md +1 -1
  345. package/.trae/skills/simulate-agents/SKILL.md +1 -1
  346. package/.trae/skills/slice-tasks/SKILL.md +1 -1
  347. package/.trae/skills/stocktake-skills/SKILL.md +3 -1
  348. package/.trae/skills/survey-context/SKILL.md +1 -1
  349. package/.trae/skills/trace-requirement/SKILL.md +2 -2
  350. package/.trae/skills/verify-work/SKILL.md +1 -1
  351. package/.trae/skills/wire-ci/SKILL.md +2 -2
  352. package/.trae/skills/write-document/SKILL.md +1 -1
  353. package/.windsurf/rules/assess-impact.md +3 -3
  354. package/.windsurf/rules/audit-code.md +1 -1
  355. package/.windsurf/rules/audit-plan.md +1 -1
  356. package/.windsurf/rules/build-epic.md +1 -1
  357. package/.windsurf/rules/change-request.md +1 -1
  358. package/.windsurf/rules/compose-workflow.md +1 -1
  359. package/.windsurf/rules/context7-mcp.md +1 -1
  360. package/.windsurf/rules/craft-skill.md +22 -5
  361. package/.windsurf/rules/deepen-architecture.md +1 -1
  362. package/.windsurf/rules/deploy.md +1 -1
  363. package/.windsurf/rules/diagnose-root.md +1 -1
  364. package/.windsurf/rules/diagnose-stall.md +1 -1
  365. package/.windsurf/rules/dispatch-agents.md +1 -1
  366. package/.windsurf/rules/evolve-skill.md +1 -1
  367. package/.windsurf/rules/grill-with-docs.md +1 -1
  368. package/.windsurf/rules/harden-vps.md +1 -1
  369. package/.windsurf/rules/maintain-wiki.md +1 -1
  370. package/.windsurf/rules/migrate-spec.md +2 -2
  371. package/.windsurf/rules/plan-tests.md +1 -1
  372. package/.windsurf/rules/publish-package.md +2 -2
  373. package/.windsurf/rules/release-branch.md +1 -1
  374. package/.windsurf/rules/request-review.md +1 -1
  375. package/.windsurf/rules/research-first.md +1 -1
  376. package/.windsurf/rules/reset-baseline.md +1 -1
  377. package/.windsurf/rules/run-evals.md +1 -1
  378. package/.windsurf/rules/run-planning.md +1 -1
  379. package/.windsurf/rules/scope-work.md +1 -1
  380. package/.windsurf/rules/search-skills.md +1 -1
  381. package/.windsurf/rules/security-review.md +2 -4
  382. package/.windsurf/rules/seed-conventions.md +21 -4
  383. package/.windsurf/rules/setup-environment.md +1 -1
  384. package/.windsurf/rules/simulate-agents.md +1 -1
  385. package/.windsurf/rules/slice-tasks.md +1 -1
  386. package/.windsurf/rules/stocktake-skills.md +3 -1
  387. package/.windsurf/rules/survey-context.md +1 -1
  388. package/.windsurf/rules/trace-requirement.md +2 -2
  389. package/.windsurf/rules/verify-work.md +1 -1
  390. package/.windsurf/rules/wire-ci.md +2 -2
  391. package/.windsurf/rules/write-document.md +1 -1
  392. package/.zcode/skills/assess-impact/SKILL.md +3 -3
  393. package/.zcode/skills/audit-code/SKILL.md +1 -1
  394. package/.zcode/skills/audit-plan/SKILL.md +1 -1
  395. package/.zcode/skills/build-epic/SKILL.md +1 -1
  396. package/.zcode/skills/change-request/SKILL.md +1 -1
  397. package/.zcode/skills/compose-workflow/SKILL.md +1 -1
  398. package/.zcode/skills/context7-mcp/SKILL.md +1 -1
  399. package/.zcode/skills/craft-skill/SKILL.md +22 -5
  400. package/.zcode/skills/deepen-architecture/SKILL.md +1 -1
  401. package/.zcode/skills/deploy/SKILL.md +1 -1
  402. package/.zcode/skills/diagnose-root/SKILL.md +1 -1
  403. package/.zcode/skills/diagnose-stall/SKILL.md +1 -1
  404. package/.zcode/skills/dispatch-agents/SKILL.md +1 -1
  405. package/.zcode/skills/evolve-skill/SKILL.md +1 -1
  406. package/.zcode/skills/grill-with-docs/SKILL.md +1 -1
  407. package/.zcode/skills/harden-vps/SKILL.md +1 -1
  408. package/.zcode/skills/maintain-wiki/SKILL.md +1 -1
  409. package/.zcode/skills/migrate-spec/SKILL.md +2 -2
  410. package/.zcode/skills/plan-tests/SKILL.md +1 -1
  411. package/.zcode/skills/publish-package/SKILL.md +2 -2
  412. package/.zcode/skills/release-branch/SKILL.md +1 -1
  413. package/.zcode/skills/request-review/SKILL.md +1 -1
  414. package/.zcode/skills/research-first/SKILL.md +1 -1
  415. package/.zcode/skills/reset-baseline/SKILL.md +1 -1
  416. package/.zcode/skills/run-evals/SKILL.md +1 -1
  417. package/.zcode/skills/run-planning/SKILL.md +1 -1
  418. package/.zcode/skills/scope-work/SKILL.md +1 -1
  419. package/.zcode/skills/search-skills/SKILL.md +1 -1
  420. package/.zcode/skills/security-review/SKILL.md +2 -4
  421. package/.zcode/skills/seed-conventions/SKILL.md +21 -4
  422. package/.zcode/skills/setup-environment/SKILL.md +1 -1
  423. package/.zcode/skills/simulate-agents/SKILL.md +1 -1
  424. package/.zcode/skills/slice-tasks/SKILL.md +1 -1
  425. package/.zcode/skills/stocktake-skills/SKILL.md +3 -1
  426. package/.zcode/skills/survey-context/SKILL.md +1 -1
  427. package/.zcode/skills/trace-requirement/SKILL.md +2 -2
  428. package/.zcode/skills/verify-work/SKILL.md +1 -1
  429. package/.zcode/skills/wire-ci/SKILL.md +2 -2
  430. package/.zcode/skills/write-document/SKILL.md +1 -1
  431. package/CHANGELOG.md +23 -0
  432. package/CLAUDE.md +3 -2
  433. package/package.json +1 -1
  434. package/scripts/land-branch.sh +22 -9
  435. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  436. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  437. package/scripts/lib/land-branch-push.sh +106 -0
  438. package/scripts/run-skill-verify.sh +99 -24
  439. package/scripts/validate-agentic-ste.sh +229 -0
  440. package/skills/assess-impact/SKILL.md +3 -3
  441. package/skills/audit-code/SKILL.md +1 -1
  442. package/skills/audit-plan/SKILL.md +1 -1
  443. package/skills/build-epic/SKILL.md +1 -1
  444. package/skills/change-request/SKILL.md +1 -1
  445. package/skills/compose-workflow/SKILL.md +1 -1
  446. package/skills/context7-mcp/SKILL.md +1 -1
  447. package/skills/craft-skill/SKILL.md +23 -5
  448. package/skills/deepen-architecture/SKILL.md +1 -1
  449. package/skills/deploy/SKILL.md +1 -1
  450. package/skills/diagnose-root/SKILL.md +1 -1
  451. package/skills/diagnose-stall/SKILL.md +1 -1
  452. package/skills/dispatch-agents/SKILL.md +1 -1
  453. package/skills/evolve-skill/SKILL.md +1 -1
  454. package/skills/grill-with-docs/SKILL.md +1 -1
  455. package/skills/harden-vps/SKILL.md +1 -1
  456. package/skills/maintain-wiki/SKILL.md +1 -1
  457. package/skills/migrate-spec/SKILL.md +2 -2
  458. package/skills/plan-tests/SKILL.md +1 -1
  459. package/skills/publish-package/SKILL.md +2 -2
  460. package/skills/release-branch/SKILL.md +1 -1
  461. package/skills/request-review/SKILL.md +1 -1
  462. package/skills/research-first/SKILL.md +1 -1
  463. package/skills/reset-baseline/SKILL.md +1 -1
  464. package/skills/run-evals/SKILL.md +1 -1
  465. package/skills/run-planning/SKILL.md +1 -1
  466. package/skills/scope-work/SKILL.md +1 -1
  467. package/skills/search-skills/SKILL.md +1 -1
  468. package/skills/security-review/SKILL.md +2 -4
  469. package/skills/seed-conventions/SKILL.md +21 -4
  470. package/skills/setup-environment/SKILL.md +1 -1
  471. package/skills/simulate-agents/SKILL.md +1 -1
  472. package/skills/slice-tasks/SKILL.md +1 -1
  473. package/skills/stocktake-skills/SKILL.md +3 -1
  474. package/skills/survey-context/SKILL.md +1 -1
  475. package/skills/trace-requirement/SKILL.md +2 -2
  476. package/skills/verify-work/SKILL.md +1 -1
  477. package/skills/wire-ci/SKILL.md +2 -2
  478. package/skills/write-document/SKILL.md +1 -1
  479. package/skills-lock.json +39 -39
  480. package/tests/test-land-branch-protected.sh +222 -0
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env bash
2
+ # land-branch-push.sh — push + protected-branch fallback helpers for land-branch.sh
3
+ # story: BUG-2026-07-25-land-branch-protected
4
+ set -euo pipefail
5
+
6
+ if [[ -n "${LAND_BRANCH_PUSH_LOADED:-}" ]]; then return 0; fi
7
+ LAND_BRANCH_PUSH_LOADED=1
8
+
9
+ LAND_PR_FALLBACK=0
10
+
11
+ is_protected_branch_rejection() {
12
+ local output="$1"
13
+ echo "$output" | grep -qE '(^|[[:space:]])GH006|Changes must be made through a pull request'
14
+ }
15
+
16
+ land_recovery_branch_name() {
17
+ local feature_branch="$1"
18
+ echo "land-recovery/${feature_branch}"
19
+ }
20
+
21
+ land_print_recovery_commands() {
22
+ local recovery_branch="$1"
23
+ local land_sha="$2"
24
+ local default_branch="$3"
25
+ local commit_msg="$4"
26
+
27
+ {
28
+ echo "ERROR: Protected-branch fallback failed. Run these commands to recover manually:"
29
+ echo ""
30
+ echo " git branch $recovery_branch $land_sha"
31
+ echo " git checkout $default_branch"
32
+ echo " git fetch origin $default_branch"
33
+ echo " git reset --hard origin/$default_branch"
34
+ echo " git push -u origin $recovery_branch"
35
+ echo " gh pr create --base $default_branch --head $recovery_branch --title \"$commit_msg\""
36
+ } >&2
37
+ }
38
+
39
+ land_fallback_to_pr() {
40
+ local default_branch="$1"
41
+ local land_sha="$2"
42
+ local feature_branch="$3"
43
+ local commit_msg="$4"
44
+ local recovery_branch
45
+ recovery_branch="$(land_recovery_branch_name "$feature_branch")"
46
+ local full_sha
47
+ full_sha="$(git rev-parse "$land_sha")"
48
+
49
+ echo "==> Protected branch push rejected; falling back to PR workflow"
50
+ echo " Recovery branch: $recovery_branch @ $land_sha"
51
+
52
+ if git show-ref --verify --quiet "refs/heads/$recovery_branch"; then
53
+ git branch -D "$recovery_branch"
54
+ fi
55
+ git branch "$recovery_branch" "$full_sha"
56
+
57
+ git fetch origin "$default_branch"
58
+ git reset --hard "origin/$default_branch"
59
+
60
+ if ! git push -u origin "$recovery_branch"; then
61
+ land_print_recovery_commands "$recovery_branch" "$full_sha" "$default_branch" "$commit_msg"
62
+ return 1
63
+ fi
64
+
65
+ local pr_body
66
+ pr_body="Automated recovery from \`land-branch.sh\` after protected-branch push rejection on \`$default_branch\`.
67
+
68
+ Squash commit: \`$land_sha\`
69
+ Source feature branch: \`$feature_branch\`"
70
+
71
+ if ! gh pr create \
72
+ --base "$default_branch" \
73
+ --head "$recovery_branch" \
74
+ --title "$commit_msg" \
75
+ --body "$pr_body"; then
76
+ land_print_recovery_commands "$recovery_branch" "$full_sha" "$default_branch" "$commit_msg"
77
+ return 1
78
+ fi
79
+
80
+ LAND_PR_FALLBACK=1
81
+ echo "==> PR created via protected-branch fallback (local $default_branch reset to origin)"
82
+ return 0
83
+ }
84
+
85
+ land_push_default_branch() {
86
+ local default_branch="$1"
87
+ local land_sha="$2"
88
+ local feature_branch="$3"
89
+ local commit_msg="$4"
90
+ local push_output=""
91
+ local push_status=0
92
+
93
+ if push_output=$(git push origin "$default_branch" 2>&1); then
94
+ return 0
95
+ fi
96
+ push_status=$?
97
+
98
+ if is_protected_branch_rejection "$push_output"; then
99
+ echo "$push_output" >&2
100
+ land_fallback_to_pr "$default_branch" "$land_sha" "$feature_branch" "$commit_msg"
101
+ return $?
102
+ fi
103
+
104
+ echo "$push_output" >&2
105
+ return "$push_status"
106
+ }
@@ -3,8 +3,8 @@
3
3
  # Run all SKILL.md → verify: commands and report PASS/FAIL/SKIP.
4
4
  # Exit 0 only when zero FAILs.
5
5
  # Usage: bash scripts/run-skill-verify.sh [skill-name]
6
- # No args: runs all skills
7
- # With arg: runs only the named skill
6
+ # No args: runs all skills + negative-path self-test
7
+ # With arg: runs only the named skill (skips self-test)
8
8
 
9
9
  set -uo pipefail
10
10
 
@@ -19,56 +19,131 @@ fi
19
19
 
20
20
  REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
21
21
  cd "$REPO_ROOT"
22
- # SKILLS_ROOT: use skills/ when it exists, fall back to repo root
23
22
  SKILLS_ROOT="$REPO_ROOT"
24
23
  [[ -d "$REPO_ROOT/skills" ]] && SKILLS_ROOT="$REPO_ROOT/skills"
25
24
 
26
25
  PASS=0; FAIL=0; SKIP=0
27
26
  TARGET="${1:-}"
28
27
 
28
+ is_fail_open_directive() {
29
+ local cmd="$1"
30
+ echo "$cmd" | grep -qE '\|\|[[:space:]]*echo|\|[[:space:]]*awk'
31
+ }
32
+
33
+ normalize_verify_cmd() {
34
+ local raw="$1"
35
+ raw=$(echo "$raw" | sed 's/^> // ; s/^→ verify: *//')
36
+ raw=$(echo "$raw" | sed 's/^`//; s/`$//')
37
+ echo "$raw"
38
+ }
39
+
40
+ is_executable_verify() {
41
+ local cmd="$1"
42
+ echo "$cmd" | grep -qE '^[a-zA-Z][a-zA-Z0-9_.-]*\b|^\['
43
+ }
44
+
45
+ run_verify_cmd() {
46
+ local skill="$1"
47
+ local cmd="$2"
48
+ local label="${3:-$skill}"
49
+
50
+ if is_fail_open_directive "$cmd"; then
51
+ echo "FAIL: $label — fail-open pattern (|| echo or | awk): $cmd"
52
+ FAIL=$((FAIL + 1))
53
+ return 1
54
+ fi
55
+
56
+ local output
57
+ if output=$(run_with_timeout "$cmd"); then
58
+ echo "PASS: $label"
59
+ PASS=$((PASS + 1))
60
+ return 0
61
+ else
62
+ echo "FAIL: $label — $cmd"
63
+ echo " output: $(echo "$output" | head -1)"
64
+ FAIL=$((FAIL + 1))
65
+ return 1
66
+ fi
67
+ }
68
+
29
69
  run_skill() {
30
70
  local skill_md="$1"
31
71
  local skill
32
72
  skill=$(dirname "$skill_md")
33
73
 
34
- # Only match → verify: at line start (after optional blockquote "> " or numbered-list prefix)
35
- # This prevents false matches against description prose or template examples.
36
- local cmd
37
- cmd=$(grep -E '^(> )?→ verify:' "$skill_md" 2>/dev/null | head -1 | sed 's/^> // ; s/^→ verify: *//')
74
+ mapfile -t verify_lines < <(grep -E '^(> )?→ verify:' "$skill_md" 2>/dev/null || true)
38
75
 
39
- if [ -z "$cmd" ]; then
76
+ if [ "${#verify_lines[@]}" -eq 0 ]; then
40
77
  echo "SKIP: $skill"
41
78
  SKIP=$((SKIP + 1))
42
79
  return
43
80
  fi
44
81
 
45
- # Strip surrounding backticks — SKILL.md verify: commands use markdown code-span wrapping
46
- # but bash -c would interpret the backticks as command substitution, causing false FAILs.
47
- cmd=$(echo "$cmd" | sed 's/^`//; s/`$//')
48
-
49
- # Skip verify directives that are prose, not executable shell commands.
50
- # Heuristic: if the command doesn't start with a known command word or path,
51
- # it's likely descriptive text, not a runnable verification.
52
- if ! echo "$cmd" | grep -qE '^[a-zA-Z][a-zA-Z0-9_.-]*\b|^\['; then
82
+ local idx=0 ran=0
83
+ for line in "${verify_lines[@]}"; do
84
+ idx=$((idx + 1))
85
+ local cmd
86
+ cmd=$(normalize_verify_cmd "$line")
87
+ [ -z "$cmd" ] && continue
88
+ if ! is_executable_verify "$cmd"; then
89
+ if [ "$idx" -eq "${#verify_lines[@]}" ] && [ "$ran" -eq 0 ]; then
90
+ echo "SKIP: $skill (non-executable verify)"
91
+ SKIP=$((SKIP + 1))
92
+ fi
93
+ continue
94
+ fi
95
+ ran=1
96
+ local label="$skill"
97
+ [ "${#verify_lines[@]}" -gt 1 ] && label="$skill#$idx"
98
+ run_verify_cmd "$skill" "$cmd" "$label" || true
99
+ done
100
+ if [ "$ran" -eq 0 ] && [ "${#verify_lines[@]}" -gt 0 ]; then
53
101
  echo "SKIP: $skill (non-executable verify)"
54
102
  SKIP=$((SKIP + 1))
55
- return
56
103
  fi
104
+ }
57
105
 
106
+ run_negative_fixture_self_test() {
107
+ local fixture_md="$REPO_ROOT/specs/verifications/fixtures/skill-verify-fail-open/SKILL.md"
108
+ echo ""
109
+ echo "=== Skill-verify negative-path self-test ==="
110
+ if [[ ! -f "$fixture_md" ]]; then
111
+ echo "FAIL: negative fixture missing at $fixture_md"
112
+ FAIL=$((FAIL + 1))
113
+ return 1
114
+ fi
115
+ local fail_open_cmd='test -f /nonexistent/path/for/skill-verify-self-test && echo OK || echo FAIL'
116
+ if ! is_fail_open_directive "$fail_open_cmd"; then
117
+ echo "FAIL: self-test — fail-open detector did not match canonical || echo pattern"
118
+ FAIL=$((FAIL + 1))
119
+ return 1
120
+ fi
121
+ echo "PASS: self-test — fail-open detector rejects || echo pattern"
122
+ local real_fail_cmd='test -f /nonexistent/path/for/skill-verify-self-test'
58
123
  local output
59
- if output=$(run_with_timeout "$cmd"); then
60
- echo "PASS: $skill"
61
- PASS=$((PASS + 1))
62
- else
63
- echo "FAIL: $skill — $cmd"
64
- echo " output: $(echo "$output" | head -1)"
124
+ if output=$(run_with_timeout "$real_fail_cmd"); then
125
+ echo "FAIL: self-test — real failing check exited 0 (fail-open risk)"
126
+ FAIL=$((FAIL + 1))
127
+ return 1
128
+ fi
129
+ echo "PASS: self-test — real failing check exits non-zero"
130
+ local saved_fail=$FAIL saved_pass=$PASS
131
+ run_skill "$fixture_md"
132
+ if [ "$FAIL" -le "$saved_fail" ]; then
133
+ echo "FAIL: self-test — fixture skill did not register a failure"
65
134
  FAIL=$((FAIL + 1))
135
+ return 1
66
136
  fi
137
+ FAIL=$((FAIL - 1))
138
+ PASS=$saved_pass
139
+ echo "PASS: self-test — fixture skill correctly fails verification"
67
140
  }
68
141
 
69
142
  if [ -n "$TARGET" ]; then
70
143
  if [ -f "$TARGET/SKILL.md" ]; then
71
144
  run_skill "$TARGET/SKILL.md"
145
+ elif [ -f "$SKILLS_ROOT/$TARGET/SKILL.md" ]; then
146
+ run_skill "$SKILLS_ROOT/$TARGET/SKILL.md"
72
147
  else
73
148
  echo "ERROR: $TARGET/SKILL.md not found"
74
149
  exit 1
@@ -77,9 +152,9 @@ else
77
152
  for skill_md in "$SKILLS_ROOT"/*/SKILL.md; do
78
153
  run_skill "$skill_md"
79
154
  done
155
+ run_negative_fixture_self_test
80
156
  fi
81
157
 
82
158
  echo ""
83
159
  echo "Results: $PASS PASS, $FAIL FAIL, $SKIP SKIP"
84
-
85
160
  [ "$FAIL" -eq 0 ]
@@ -0,0 +1,229 @@
1
+ #!/usr/bin/env bash
2
+ # story: e79s02
3
+ # validate-agentic-ste.sh — mechanical Agentic STE checks for instructional prose.
4
+ set -euo pipefail
5
+
6
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
8
+
9
+ MAX_WORDS=20
10
+ BANNED_RE='\b(should|might|could|may|consider|try|generally|typically)\b'
11
+
12
+ STRICT=false
13
+ AUDIT=false
14
+ SELF_TEST=false
15
+ TARGETS=()
16
+
17
+ ste_usage() {
18
+ echo "Usage: bash scripts/validate-agentic-ste.sh [--self-test|--strict|--audit] [file|dir ...]"
19
+ echo " (no args) Run built-in fixture self-test"
20
+ echo " --strict Exit 1 on violations (craft-skill gate)"
21
+ echo " --audit WARN-only catalog scan (stocktake)"
22
+ exit 2
23
+ }
24
+
25
+ while [[ $# -gt 0 ]]; do
26
+ case "$1" in
27
+ --strict) STRICT=true; shift ;;
28
+ --audit) AUDIT=true; shift ;;
29
+ --self-test) SELF_TEST=true; shift ;;
30
+ -h|--help) ste_usage ;;
31
+ --) shift; TARGETS+=("$@"); break ;;
32
+ -*) echo "Unknown flag: $1" >&2; ste_usage ;;
33
+ *) TARGETS+=("$1"); shift ;;
34
+ esac
35
+ done
36
+
37
+ VIOLATIONS=0
38
+ WARNINGS=0
39
+
40
+ ste_report_fail() {
41
+ echo "FAIL: $1" >&2
42
+ VIOLATIONS=$((VIOLATIONS + 1))
43
+ }
44
+
45
+ ste_report_warn() {
46
+ echo "WARN: $1" >&2
47
+ WARNINGS=$((WARNINGS + 1))
48
+ }
49
+
50
+ ste_strip_frontmatter() {
51
+ awk '
52
+ BEGIN { n=0; emit=0 }
53
+ /^---$/ { n++; if (n==1) next; if (n==2) { emit=1; next } }
54
+ emit { print }
55
+ ' "$1"
56
+ }
57
+
58
+ ste_extract_prose() {
59
+ local file="$1"
60
+ local body
61
+ if [[ "$(basename "$file")" == "SKILL.md" ]]; then
62
+ body="$(ste_strip_frontmatter "$file")"
63
+ else
64
+ body="$(cat "$file")"
65
+ fi
66
+ printf '%s\n' "$body" | awk '
67
+ BEGIN { in_code=0 }
68
+ /^```/ { in_code = !in_code; next }
69
+ in_code { next }
70
+ /^[[:space:]]*#/ { next }
71
+ /^[[:space:]]*\|/ { next }
72
+ /^[[:space:]]*<!--/ { next }
73
+ /^[[:space:]]*$/ { next }
74
+ /^# story:/ { next }
75
+ /^<!-- story:/ { next }
76
+ { print }
77
+ '
78
+ }
79
+
80
+ ste_count_words() {
81
+ # shellcheck disable=SC2207
82
+ local words=($1)
83
+ echo "${#words[@]}"
84
+ }
85
+
86
+ ste_audit_line() {
87
+ local file="$1"
88
+ local line_no="$2"
89
+ local line="$3"
90
+ local label="${file}:${line_no}"
91
+
92
+ if echo "$line" | grep -qiE "$BANNED_RE"; then
93
+ local word
94
+ word="$(echo "$line" | grep -oiE "$BANNED_RE" | head -1)"
95
+ if $STRICT; then
96
+ ste_report_fail "$label — banned hedge modal '$word'"
97
+ else
98
+ ste_report_warn "$label — banned hedge modal '$word'"
99
+ fi
100
+ fi
101
+
102
+ local sentence
103
+ while IFS= read -r sentence; do
104
+ [[ -z "$sentence" ]] && continue
105
+ local trimmed
106
+ trimmed="$(echo "$sentence" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')"
107
+ [[ -z "$trimmed" ]] && continue
108
+ local wc
109
+ wc="$(ste_count_words "$trimmed")"
110
+ if (( wc > MAX_WORDS )); then
111
+ if $STRICT; then
112
+ ste_report_fail "$label — sentence has ${wc} words (max ${MAX_WORDS}): ${trimmed:0:60}..."
113
+ else
114
+ ste_report_warn "$label — sentence has ${wc} words (max ${MAX_WORDS}): ${trimmed:0:60}..."
115
+ fi
116
+ fi
117
+ done < <(echo "$line" | sed 's/[.!?]/&\n/g')
118
+ }
119
+
120
+ ste_audit_file() {
121
+ local file="$1"
122
+ [[ -f "$file" ]] || { ste_report_fail "not found: $file"; return; }
123
+
124
+ local prose line_no=0
125
+ prose="$(ste_extract_prose "$file")"
126
+ while IFS= read -r line; do
127
+ line_no=$((line_no + 1))
128
+ ste_audit_line "$file" "$line_no" "$line"
129
+ done <<< "$prose"
130
+ }
131
+
132
+ ste_collect_files() {
133
+ local path="$1"
134
+ if [[ -f "$path" ]]; then
135
+ echo "$path"
136
+ elif [[ -d "$path" ]]; then
137
+ find "$path" -type f \( -name 'SKILL.md' -o -name 'CLAUDE.md' -o -name 'CONVENTIONS.md' -o -name 'AGENTS.md' \) | sort
138
+ fi
139
+ }
140
+
141
+ ste_run_self_test() {
142
+ local tmp
143
+ tmp="$(mktemp -d)"
144
+ trap 'rm -rf "$tmp"' RETURN
145
+
146
+ cat > "$tmp/good-skill.md" <<'EOF'
147
+ ---
148
+ name: fixture-good
149
+ description: Test fixture for Agentic STE validator. Use when running self-test.
150
+ ---
151
+ # Fixture Good
152
+ > **HARD GATE** — Run Preflight before forward work.
153
+ Run tests after every change.
154
+ Write specs to specs/ at project root.
155
+ EOF
156
+
157
+ cat > "$tmp/bad-hedge.md" <<'EOF'
158
+ ---
159
+ name: fixture-bad
160
+ description: Bad fixture.
161
+ ---
162
+ You should consider running tests generally.
163
+ EOF
164
+
165
+ cat > "$tmp/bad-long.md" <<'EOF'
166
+ ---
167
+ name: fixture-long
168
+ description: Long sentence fixture.
169
+ ---
170
+ Run the full local green stack including compliance verification gates sync skills trace stories and catalog drift check before any forward implementation work on this repository.
171
+ EOF
172
+
173
+ local saved_strict=$STRICT saved_audit=$AUDIT
174
+ STRICT=true
175
+ AUDIT=false
176
+ VIOLATIONS=0
177
+
178
+ ste_audit_file "$tmp/good-skill.md"
179
+ if (( VIOLATIONS > 0 )); then
180
+ echo "SELF-TEST FAIL: good fixture should pass" >&2
181
+ return 1
182
+ fi
183
+
184
+ VIOLATIONS=0
185
+ ste_audit_file "$tmp/bad-hedge.md"
186
+ if (( VIOLATIONS == 0 )); then
187
+ echo "SELF-TEST FAIL: hedge fixture should fail" >&2
188
+ return 1
189
+ fi
190
+
191
+ VIOLATIONS=0
192
+ ste_audit_file "$tmp/bad-long.md"
193
+ if (( VIOLATIONS == 0 )); then
194
+ echo "SELF-TEST FAIL: long-sentence fixture should fail" >&2
195
+ return 1
196
+ fi
197
+
198
+ STRICT=$saved_strict
199
+ AUDIT=$saved_audit
200
+ VIOLATIONS=0
201
+ echo "validate-agentic-ste: self-test PASS"
202
+ return 0
203
+ }
204
+
205
+ if $SELF_TEST || [[ ${#TARGETS[@]} -eq 0 ]]; then
206
+ ste_run_self_test
207
+ exit $?
208
+ fi
209
+
210
+ if $AUDIT; then
211
+ STRICT=false
212
+ fi
213
+
214
+ for target in "${TARGETS[@]}"; do
215
+ while IFS= read -r f; do
216
+ [[ -n "$f" ]] && ste_audit_file "$f"
217
+ done < <(ste_collect_files "$target")
218
+ done
219
+
220
+ if (( VIOLATIONS > 0 )); then
221
+ echo "validate-agentic-ste: $VIOLATIONS violation(s)" >&2
222
+ exit 1
223
+ fi
224
+
225
+ if $AUDIT; then
226
+ echo "validate-agentic-ste: audit complete ($WARNINGS warning(s))"
227
+ else
228
+ echo "validate-agentic-ste: PASS"
229
+ fi
@@ -29,13 +29,13 @@ grep -rn "[symbol-name]" . --include="*.ts" | grep -v node_modules
29
29
  git log --oneline -10 -- [file-path]
30
30
  ```
31
31
 
32
- → verify: `grep -rn "[target]" . | wc -l`
32
+ → verify: `test -f specs/IMPACT_LATEST.md || test -d specs/bugs`
33
33
 
34
34
  ### 3. Map to release plan stories
35
35
 
36
36
  Read `specs/release-plan.yaml + epic capsule directories` (if it exists). For each dependent found in Step 2, identify which story owns that module. List stories that will be affected by the change.
37
37
 
38
- → verify: `grep -c "Story" specs/release-plan.yaml + epic capsule directories 2>/dev/null || echo "no release plan"`
38
+ → verify: `grep -c "Story" specs/release-plan.yaml 2>/dev/null || echo "no release plan"`
39
39
 
40
40
  ### 4. List test coverage
41
41
 
@@ -45,7 +45,7 @@ Find tests that exercise the target:
45
45
  grep -rn "[symbol-name]" . --include="*.test.*" --include="*.spec.*"
46
46
  ```
47
47
 
48
- → verify: `grep -rn "[target]" . --include="*.test.*" | wc -l`
48
+ → verify: `test -d specs/epics || test -d skills`
49
49
 
50
50
  ### 5. Classify risk
51
51
 
@@ -129,7 +129,7 @@ In `--gate` mode, print one summary line per checklist section (`PASS Supply Cha
129
129
 
130
130
  ## Verify
131
131
 
132
- → verify: `test -f CONVENTIONS.md && test -d skills/enforce-first && test -d skills/request-review && echo "OK: audit-code dependencies present" || echo "FAIL"`
132
+ → verify: `test -f CONVENTIONS.md && test -d skills/enforce-first && test -d skills/request-review`
133
133
 
134
134
  ## Handoff
135
135
 
@@ -87,4 +87,4 @@ NOT READY — N gaps remain; close before proceeding
87
87
 
88
88
  ## Verify
89
89
 
90
- → verify: `test -f specs/PLAN-AUDIT_LATEST.md && grep -q 'Verdict' specs/PLAN-AUDIT_LATEST.md && echo OK || echo FAIL`
90
+ → verify: `test -f specs/PLAN-AUDIT_LATEST.md && grep -q Verdict specs/PLAN-AUDIT_LATEST.md`
@@ -101,7 +101,7 @@ Write `handoff.next_skill` and `handoff.context` in `state.yaml` when pausing mi
101
101
 
102
102
  ## Verify
103
103
 
104
- → verify: `test -f specs/state.yaml && test -f specs/execution-status.yaml && test -f specs/release-plan.yaml && test -d skills/assess-impact && test -d skills/audit-code && test -d skills/security-review && echo "OK: build-epic dependencies present" || echo "FAIL"`
104
+ → verify: `test -f specs/state.yaml && test -f specs/execution-status.yaml && test -f specs/release-plan.yaml && test -d skills/assess-impact && test -d skills/audit-code && test -d skills/security-review`
105
105
 
106
106
 
107
107
  <!-- story: e38s02 -->
@@ -12,7 +12,7 @@ description: Add a new requirement or reorder epics by WSJF against specs/releas
12
12
 
13
13
  > **HARD GATE** — `specs/release-plan.yaml` must exist before running either mode. If it doesn't, run `plan-release` first.
14
14
  >
15
- > → verify: `[ -f specs/release-plan.yaml ] && echo "ready" || echo "BLOCKED: run plan-release first"`
15
+ > → verify: `test -f specs/release-plan.yaml`
16
16
 
17
17
  Two modes. State which one you want or the skill will ask.
18
18
 
@@ -62,6 +62,6 @@ Add to `AGENTS.md`:
62
62
 
63
63
  ## Verify
64
64
 
65
- → verify: `ls specs/workflows/*.yaml 2>/dev/null | wc -l | awk '{if($1>=8) print "OK: " $1 " recipes"; else print "FAIL"}'`
65
+ → verify: `[ "$(ls specs/workflows/*.yaml 2>/dev/null | wc -l | tr -d ' ')" -ge 8 ]`
66
66
 
67
67
  See [REFERENCE.md](REFERENCE.md) for template.
@@ -54,4 +54,4 @@ Do NOT substitute training-data answers without labeling them UNVERIFIED.
54
54
 
55
55
  ## Verify
56
56
 
57
- → verify: `test -f scripts/lib/doc-fetch-cache.sh && grep -q CONTEXT7_UNAVAILABLE skills/context7-mcp/SKILL.md && echo OK || echo FAIL`
57
+ → verify: `test -f scripts/lib/doc-fetch-cache.sh`
@@ -1,5 +1,6 @@
1
1
  # story: e45s02
2
2
  <!-- story: e45s12 -->
3
+ <!-- story: e79s02 -->
3
4
  ---
4
5
  name: craft-skill
5
6
  model: sonnet
@@ -9,7 +10,7 @@ description: Create new bigpowers skills with proper structure, progressive disc
9
10
 
10
11
  # Craft Skill
11
12
 
12
- > **HARD GATE** — Do NOT name a skill without a two-word verb-noun pair. Do NOT merge a new skill without running `sync-skills.sh` — the generated `.cursor/rules/` and `.gemini/` artifacts must match the source SKILL.md.
13
+ > **HARD GATE** — Do NOT name a skill without a two-word verb-noun pair. Do NOT merge a new skill without running `sync-skills.sh`. Generated `.cursor/rules/` and `.gemini/` artifacts MUST match the source SKILL.md.
13
14
 
14
15
  ## CSO Description Discipline (e45s02)
15
16
 
@@ -24,11 +25,25 @@ The YAML `description` is the **Catalog Selection Object** — the only field ag
24
25
 
25
26
  Move process detail into the SKILL.md body or REFERENCE.md — never into `description`.
26
27
 
28
+ ## Agentic STE body discipline (e79s02)
29
+
30
+ Skill-body instructional prose MUST follow [AGENTIC-STE.md](../../docs/AGENTIC-STE.md).
31
+
32
+ | Rule | Limit |
33
+ |------|-------|
34
+ | Sentence length | ≤20 words per instruction sentence |
35
+ | Voice | Imperative, active |
36
+ | Directive terms | MUST, MUST NOT, NEVER, ALWAYS, DO, DO NOT |
37
+ | Banned modals | should, might, could, may, consider, try, generally, typically |
38
+ | Scope | SKILL.md body only — not YAML `description`, not `terse-mode` output |
39
+
40
+ > **HARD GATE** — Do NOT merge a new or edited skill until `bash scripts/validate-agentic-ste.sh --strict skills/<name>/SKILL.md` exits 0. Fix violations before `sync-skills.sh`.
41
+
27
42
  ## Process
28
43
 
29
44
  1. **Gather requirements** — ask user about:
30
45
  - What task/domain does the skill cover?
31
- - What specific use cases should it handle?
46
+ - Which use cases must the skill handle?
32
47
  - Does it need executable scripts or just instructions?
33
48
  - Any reference materials to include?
34
49
  - What specs/ output does it produce (if any)?
@@ -44,7 +59,8 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
44
59
  - Additional reference files if content exceeds 100 lines
45
60
  - Utility scripts if deterministic operations needed
46
61
 
47
- **Auto-skill from library README:** When user provides a library README or API docs URL, extract: triggers, HARD GATEs, verify commands, specs/ output — draft SKILL.md without inventing APIs not in the source.
62
+ **Auto-skill from library README:** When user provides a library README or API docs URL, extract triggers and HARD GATEs.
63
+ Draft verify commands and specs/ output into SKILL.md. Do NOT invent APIs not in the source.
48
64
 
49
65
  4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/model-profiles.md).
50
66
 
@@ -53,10 +69,11 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
53
69
  5. **Review with user** — present draft and ask:
54
70
  - Does this cover your use cases?
55
71
  - Anything missing or unclear?
56
- - Should any section be more/less detailed?
72
+ - Does any section need more or less detail?
57
73
 
58
74
  6. **Completion-honesty gate (HARD GATE — e45s02)** — Before declaring done:
59
75
  - Run `bash scripts/validate-skill-description.sh skills/<name>/SKILL.md` — must exit 0
76
+ - Run `bash scripts/validate-agentic-ste.sh --strict skills/<name>/SKILL.md` — must exit 0 (e79s02)
60
77
  - Run `bash scripts/sync-skills.sh` — must complete without error
61
78
  - Run `bash scripts/run-skill-verify.sh <name>` if the skill defines a verify command
62
79
  - Show terminal output for each — narration without evidence is rejected
@@ -81,6 +98,7 @@ After drafting, verify:
81
98
  - [ ] Consistent terminology with CONVENTIONS.md
82
99
  - [ ] specs/ output documented if applicable
83
100
  - [ ] `validate-skill-description.sh` exits 0
101
+ - [ ] `validate-agentic-ste.sh --strict` exits 0 (e79s02)
84
102
  - [ ] `sync-skills.sh` run to propagate to Cursor/Gemini
85
103
  - [ ] `bash scripts/validate-skill-catalog.sh` passes for the new skill (HARD GATE — completion honesty)
86
104
 
@@ -88,4 +106,4 @@ After drafting, verify:
88
106
 
89
107
  ## Verify
90
108
 
91
- → verify: `bash scripts/validate-skill-catalog.sh --strict --skill craft-skill && bash scripts/validate-skill-description.sh skills/craft-skill/SKILL.md && echo OK || echo FAIL`
109
+ → verify: `bash scripts/validate-skill-catalog.sh --strict --skill craft-skill && bash scripts/validate-skill-description.sh skills/craft-skill/SKILL.md`
@@ -113,7 +113,7 @@ Run the check before proposing cross-module `source` edges. Convention docs alon
113
113
 
114
114
  ## Verify
115
115
 
116
- → verify: `test -f specs/import-boundaries.json && bash scripts/check-import-boundaries.sh && echo OK || echo FAIL`
116
+ → verify: `test -f specs/import-boundaries.json && bash scripts/check-import-boundaries.sh`
117
117
 
118
118
 
119
119