bigpowers 2.83.4 → 2.84.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 (528) hide show
  1. package/.agents/skills/audit-code/SKILL.md +4 -7
  2. package/.agents/skills/grill-me/SKILL.md +12 -0
  3. package/.agents/skills/grill-with-docs/SKILL.md +12 -0
  4. package/.agents/skills/request-review/SKILL.md +1 -0
  5. package/.agents/skills/wire-ci/SKILL.md +164 -181
  6. package/.codebuddy/skills/align-grid/SKILL.md +110 -0
  7. package/.codebuddy/skills/assess-impact/SKILL.md +91 -0
  8. package/.codebuddy/skills/audit-code/SKILL.md +184 -0
  9. package/.codebuddy/skills/audit-plan/SKILL.md +89 -0
  10. package/.codebuddy/skills/build-epic/SKILL.md +105 -0
  11. package/.codebuddy/skills/change-request/SKILL.md +121 -0
  12. package/.codebuddy/skills/commit-message/SKILL.md +140 -0
  13. package/.codebuddy/skills/compose-workflow/SKILL.md +82 -0
  14. package/.codebuddy/skills/context7-mcp/SKILL.md +55 -0
  15. package/.codebuddy/skills/craft-skill/SKILL.md +179 -0
  16. package/.codebuddy/skills/deepen-architecture/SKILL.md +260 -0
  17. package/.codebuddy/skills/define-language/SKILL.md +80 -0
  18. package/.codebuddy/skills/define-success/SKILL.md +65 -0
  19. package/.codebuddy/skills/delegate-task/SKILL.md +91 -0
  20. package/.codebuddy/skills/deploy/SKILL.md +198 -0
  21. package/.codebuddy/skills/design-interface/SKILL.md +97 -0
  22. package/.codebuddy/skills/develop-tdd/SKILL.md +406 -0
  23. package/.codebuddy/skills/diagnose-root/SKILL.md +24 -0
  24. package/.codebuddy/skills/diagnose-stall/SKILL.md +54 -0
  25. package/.codebuddy/skills/dispatch-agents/SKILL.md +118 -0
  26. package/.codebuddy/skills/edit-document/SKILL.md +23 -0
  27. package/.codebuddy/skills/elaborate-spec/SKILL.md +101 -0
  28. package/.codebuddy/skills/enforce-first/SKILL.md +32 -0
  29. package/.codebuddy/skills/evolve-skill/SKILL.md +55 -0
  30. package/.codebuddy/skills/execute-plan/SKILL.md +61 -0
  31. package/.codebuddy/skills/extract-design/SKILL.md +132 -0
  32. package/.codebuddy/skills/find-way/SKILL.md +191 -0
  33. package/.codebuddy/skills/fix-bug/SKILL.md +67 -0
  34. package/.codebuddy/skills/gate-trace/SKILL.md +88 -0
  35. package/.codebuddy/skills/generate-allure-report/SKILL.md +285 -0
  36. package/.codebuddy/skills/grill-me/SKILL.md +108 -0
  37. package/.codebuddy/skills/grill-with-docs/SKILL.md +53 -0
  38. package/.codebuddy/skills/guard-git/SKILL.md +231 -0
  39. package/.codebuddy/skills/harden-vps/SKILL.md +288 -0
  40. package/.codebuddy/skills/hook-commits/SKILL.md +94 -0
  41. package/.codebuddy/skills/inspect-quality/SKILL.md +106 -0
  42. package/.codebuddy/skills/investigate-bug/SKILL.md +127 -0
  43. package/.codebuddy/skills/kickoff-branch/SKILL.md +143 -0
  44. package/.codebuddy/skills/maintain-wiki/SKILL.md +64 -0
  45. package/.codebuddy/skills/map-codebase/SKILL.md +71 -0
  46. package/.codebuddy/skills/migrate-spec/SKILL.md +862 -0
  47. package/.codebuddy/skills/model-domain/SKILL.md +232 -0
  48. package/.codebuddy/skills/orchestrate-project/SKILL.md +174 -0
  49. package/.codebuddy/skills/organize-workspace/SKILL.md +164 -0
  50. package/.codebuddy/skills/plan-refactor/SKILL.md +87 -0
  51. package/.codebuddy/skills/plan-release/SKILL.md +145 -0
  52. package/.codebuddy/skills/plan-tests/SKILL.md +75 -0
  53. package/.codebuddy/skills/plan-work/SKILL.md +260 -0
  54. package/.codebuddy/skills/publish-package/SKILL.md +328 -0
  55. package/.codebuddy/skills/quick-fix/SKILL.md +114 -0
  56. package/.codebuddy/skills/release-branch/SKILL.md +298 -0
  57. package/.codebuddy/skills/request-review/SKILL.md +113 -0
  58. package/.codebuddy/skills/research-first/SKILL.md +87 -0
  59. package/.codebuddy/skills/reset-baseline/SKILL.md +21 -0
  60. package/.codebuddy/skills/respond-review/SKILL.md +71 -0
  61. package/.codebuddy/skills/run-benchmark/SKILL.md +85 -0
  62. package/.codebuddy/skills/run-evals/SKILL.md +80 -0
  63. package/.codebuddy/skills/run-planning/SKILL.md +101 -0
  64. package/.codebuddy/skills/scope-work/SKILL.md +63 -0
  65. package/.codebuddy/skills/search-skills/SKILL.md +73 -0
  66. package/.codebuddy/skills/security-review/SKILL.md +384 -0
  67. package/.codebuddy/skills/seed-conventions/SKILL.md +285 -0
  68. package/.codebuddy/skills/session-state/SKILL.md +146 -0
  69. package/.codebuddy/skills/setup-environment/SKILL.md +39 -0
  70. package/.codebuddy/skills/simulate-agents/SKILL.md +26 -0
  71. package/.codebuddy/skills/slice-tasks/SKILL.md +68 -0
  72. package/.codebuddy/skills/smoke-test/SKILL.md +242 -0
  73. package/.codebuddy/skills/spike-prototype/SKILL.md +95 -0
  74. package/.codebuddy/skills/stocktake-skills/SKILL.md +72 -0
  75. package/.codebuddy/skills/survey-context/SKILL.md +135 -0
  76. package/.codebuddy/skills/terse-mode/SKILL.md +42 -0
  77. package/.codebuddy/skills/trace-requirement/SKILL.md +69 -0
  78. package/.codebuddy/skills/using-bigpowers/SKILL.md +111 -0
  79. package/.codebuddy/skills/validate-contracts/SKILL.md +309 -0
  80. package/.codebuddy/skills/validate-fix/SKILL.md +106 -0
  81. package/.codebuddy/skills/verify-work/SKILL.md +191 -0
  82. package/.codebuddy/skills/visual-dashboard/SKILL.md +50 -0
  83. package/.codebuddy/skills/wire-ci/SKILL.md +358 -0
  84. package/.codebuddy/skills/wire-observability/SKILL.md +97 -0
  85. package/.codebuddy/skills/write-document/SKILL.md +255 -0
  86. package/.codex/skills/align-grid/SKILL.md +110 -0
  87. package/.codex/skills/assess-impact/SKILL.md +91 -0
  88. package/.codex/skills/audit-code/SKILL.md +184 -0
  89. package/.codex/skills/audit-plan/SKILL.md +89 -0
  90. package/.codex/skills/build-epic/SKILL.md +105 -0
  91. package/.codex/skills/change-request/SKILL.md +121 -0
  92. package/.codex/skills/commit-message/SKILL.md +140 -0
  93. package/.codex/skills/compose-workflow/SKILL.md +82 -0
  94. package/.codex/skills/context7-mcp/SKILL.md +55 -0
  95. package/.codex/skills/craft-skill/SKILL.md +179 -0
  96. package/.codex/skills/deepen-architecture/SKILL.md +260 -0
  97. package/.codex/skills/define-language/SKILL.md +80 -0
  98. package/.codex/skills/define-success/SKILL.md +65 -0
  99. package/.codex/skills/delegate-task/SKILL.md +91 -0
  100. package/.codex/skills/deploy/SKILL.md +198 -0
  101. package/.codex/skills/design-interface/SKILL.md +97 -0
  102. package/.codex/skills/develop-tdd/SKILL.md +406 -0
  103. package/.codex/skills/diagnose-root/SKILL.md +24 -0
  104. package/.codex/skills/diagnose-stall/SKILL.md +54 -0
  105. package/.codex/skills/dispatch-agents/SKILL.md +118 -0
  106. package/.codex/skills/edit-document/SKILL.md +23 -0
  107. package/.codex/skills/elaborate-spec/SKILL.md +101 -0
  108. package/.codex/skills/enforce-first/SKILL.md +32 -0
  109. package/.codex/skills/evolve-skill/SKILL.md +55 -0
  110. package/.codex/skills/execute-plan/SKILL.md +61 -0
  111. package/.codex/skills/extract-design/SKILL.md +132 -0
  112. package/.codex/skills/find-way/SKILL.md +191 -0
  113. package/.codex/skills/fix-bug/SKILL.md +67 -0
  114. package/.codex/skills/gate-trace/SKILL.md +88 -0
  115. package/.codex/skills/generate-allure-report/SKILL.md +285 -0
  116. package/.codex/skills/grill-me/SKILL.md +108 -0
  117. package/.codex/skills/grill-with-docs/SKILL.md +53 -0
  118. package/.codex/skills/guard-git/SKILL.md +231 -0
  119. package/.codex/skills/harden-vps/SKILL.md +288 -0
  120. package/.codex/skills/hook-commits/SKILL.md +94 -0
  121. package/.codex/skills/inspect-quality/SKILL.md +106 -0
  122. package/.codex/skills/investigate-bug/SKILL.md +127 -0
  123. package/.codex/skills/kickoff-branch/SKILL.md +143 -0
  124. package/.codex/skills/maintain-wiki/SKILL.md +64 -0
  125. package/.codex/skills/map-codebase/SKILL.md +71 -0
  126. package/.codex/skills/migrate-spec/SKILL.md +862 -0
  127. package/.codex/skills/model-domain/SKILL.md +232 -0
  128. package/.codex/skills/orchestrate-project/SKILL.md +174 -0
  129. package/.codex/skills/organize-workspace/SKILL.md +164 -0
  130. package/.codex/skills/plan-refactor/SKILL.md +87 -0
  131. package/.codex/skills/plan-release/SKILL.md +145 -0
  132. package/.codex/skills/plan-tests/SKILL.md +75 -0
  133. package/.codex/skills/plan-work/SKILL.md +260 -0
  134. package/.codex/skills/publish-package/SKILL.md +328 -0
  135. package/.codex/skills/quick-fix/SKILL.md +114 -0
  136. package/.codex/skills/release-branch/SKILL.md +298 -0
  137. package/.codex/skills/request-review/SKILL.md +113 -0
  138. package/.codex/skills/research-first/SKILL.md +87 -0
  139. package/.codex/skills/reset-baseline/SKILL.md +21 -0
  140. package/.codex/skills/respond-review/SKILL.md +71 -0
  141. package/.codex/skills/run-benchmark/SKILL.md +85 -0
  142. package/.codex/skills/run-evals/SKILL.md +80 -0
  143. package/.codex/skills/run-planning/SKILL.md +101 -0
  144. package/.codex/skills/scope-work/SKILL.md +63 -0
  145. package/.codex/skills/search-skills/SKILL.md +73 -0
  146. package/.codex/skills/security-review/SKILL.md +384 -0
  147. package/.codex/skills/seed-conventions/SKILL.md +285 -0
  148. package/.codex/skills/session-state/SKILL.md +146 -0
  149. package/.codex/skills/setup-environment/SKILL.md +39 -0
  150. package/.codex/skills/simulate-agents/SKILL.md +26 -0
  151. package/.codex/skills/slice-tasks/SKILL.md +68 -0
  152. package/.codex/skills/smoke-test/SKILL.md +242 -0
  153. package/.codex/skills/spike-prototype/SKILL.md +95 -0
  154. package/.codex/skills/stocktake-skills/SKILL.md +72 -0
  155. package/.codex/skills/survey-context/SKILL.md +135 -0
  156. package/.codex/skills/terse-mode/SKILL.md +42 -0
  157. package/.codex/skills/trace-requirement/SKILL.md +69 -0
  158. package/.codex/skills/using-bigpowers/SKILL.md +111 -0
  159. package/.codex/skills/validate-contracts/SKILL.md +309 -0
  160. package/.codex/skills/validate-fix/SKILL.md +106 -0
  161. package/.codex/skills/verify-work/SKILL.md +191 -0
  162. package/.codex/skills/visual-dashboard/SKILL.md +50 -0
  163. package/.codex/skills/wire-ci/SKILL.md +358 -0
  164. package/.codex/skills/wire-observability/SKILL.md +97 -0
  165. package/.codex/skills/write-document/SKILL.md +255 -0
  166. package/.hermes/skills/audit-code/SKILL.md +4 -7
  167. package/.hermes/skills/grill-me/SKILL.md +12 -0
  168. package/.hermes/skills/grill-with-docs/SKILL.md +12 -0
  169. package/.hermes/skills/request-review/SKILL.md +1 -0
  170. package/.hermes/skills/wire-ci/SKILL.md +164 -181
  171. package/.kilocode/rules/align-grid.md +110 -0
  172. package/.kilocode/rules/assess-impact.md +91 -0
  173. package/.kilocode/rules/audit-code.md +184 -0
  174. package/.kilocode/rules/audit-plan.md +89 -0
  175. package/.kilocode/rules/build-epic.md +105 -0
  176. package/.kilocode/rules/change-request.md +121 -0
  177. package/.kilocode/rules/commit-message.md +140 -0
  178. package/.kilocode/rules/compose-workflow.md +82 -0
  179. package/.kilocode/rules/context7-mcp.md +55 -0
  180. package/.kilocode/rules/craft-skill.md +179 -0
  181. package/.kilocode/rules/deepen-architecture.md +260 -0
  182. package/.kilocode/rules/define-language.md +80 -0
  183. package/.kilocode/rules/define-success.md +65 -0
  184. package/.kilocode/rules/delegate-task.md +91 -0
  185. package/.kilocode/rules/deploy.md +198 -0
  186. package/.kilocode/rules/design-interface.md +97 -0
  187. package/.kilocode/rules/develop-tdd.md +406 -0
  188. package/.kilocode/rules/diagnose-root.md +24 -0
  189. package/.kilocode/rules/diagnose-stall.md +54 -0
  190. package/.kilocode/rules/dispatch-agents.md +118 -0
  191. package/.kilocode/rules/edit-document.md +23 -0
  192. package/.kilocode/rules/elaborate-spec.md +101 -0
  193. package/.kilocode/rules/enforce-first.md +32 -0
  194. package/.kilocode/rules/evolve-skill.md +55 -0
  195. package/.kilocode/rules/execute-plan.md +61 -0
  196. package/.kilocode/rules/extract-design.md +132 -0
  197. package/.kilocode/rules/find-way.md +191 -0
  198. package/.kilocode/rules/fix-bug.md +67 -0
  199. package/.kilocode/rules/gate-trace.md +88 -0
  200. package/.kilocode/rules/generate-allure-report.md +285 -0
  201. package/.kilocode/rules/grill-me.md +108 -0
  202. package/.kilocode/rules/grill-with-docs.md +53 -0
  203. package/.kilocode/rules/guard-git.md +231 -0
  204. package/.kilocode/rules/harden-vps.md +288 -0
  205. package/.kilocode/rules/hook-commits.md +94 -0
  206. package/.kilocode/rules/inspect-quality.md +106 -0
  207. package/.kilocode/rules/investigate-bug.md +127 -0
  208. package/.kilocode/rules/kickoff-branch.md +143 -0
  209. package/.kilocode/rules/maintain-wiki.md +64 -0
  210. package/.kilocode/rules/map-codebase.md +71 -0
  211. package/.kilocode/rules/migrate-spec.md +862 -0
  212. package/.kilocode/rules/model-domain.md +232 -0
  213. package/.kilocode/rules/orchestrate-project.md +174 -0
  214. package/.kilocode/rules/organize-workspace.md +164 -0
  215. package/.kilocode/rules/plan-refactor.md +87 -0
  216. package/.kilocode/rules/plan-release.md +145 -0
  217. package/.kilocode/rules/plan-tests.md +75 -0
  218. package/.kilocode/rules/plan-work.md +260 -0
  219. package/.kilocode/rules/publish-package.md +328 -0
  220. package/.kilocode/rules/quick-fix.md +114 -0
  221. package/.kilocode/rules/release-branch.md +298 -0
  222. package/.kilocode/rules/request-review.md +113 -0
  223. package/.kilocode/rules/research-first.md +87 -0
  224. package/.kilocode/rules/reset-baseline.md +21 -0
  225. package/.kilocode/rules/respond-review.md +71 -0
  226. package/.kilocode/rules/run-benchmark.md +85 -0
  227. package/.kilocode/rules/run-evals.md +80 -0
  228. package/.kilocode/rules/run-planning.md +101 -0
  229. package/.kilocode/rules/scope-work.md +63 -0
  230. package/.kilocode/rules/search-skills.md +73 -0
  231. package/.kilocode/rules/security-review.md +384 -0
  232. package/.kilocode/rules/seed-conventions.md +285 -0
  233. package/.kilocode/rules/session-state.md +146 -0
  234. package/.kilocode/rules/setup-environment.md +39 -0
  235. package/.kilocode/rules/simulate-agents.md +26 -0
  236. package/.kilocode/rules/slice-tasks.md +68 -0
  237. package/.kilocode/rules/smoke-test.md +242 -0
  238. package/.kilocode/rules/spike-prototype.md +95 -0
  239. package/.kilocode/rules/stocktake-skills.md +72 -0
  240. package/.kilocode/rules/survey-context.md +135 -0
  241. package/.kilocode/rules/terse-mode.md +42 -0
  242. package/.kilocode/rules/trace-requirement.md +69 -0
  243. package/.kilocode/rules/using-bigpowers.md +111 -0
  244. package/.kilocode/rules/validate-contracts.md +309 -0
  245. package/.kilocode/rules/validate-fix.md +106 -0
  246. package/.kilocode/rules/verify-work.md +191 -0
  247. package/.kilocode/rules/visual-dashboard.md +50 -0
  248. package/.kilocode/rules/wire-ci.md +358 -0
  249. package/.kilocode/rules/wire-observability.md +97 -0
  250. package/.kilocode/rules/write-document.md +255 -0
  251. package/.mimocode/skills/audit-code/SKILL.md +4 -7
  252. package/.mimocode/skills/grill-me/SKILL.md +12 -0
  253. package/.mimocode/skills/grill-with-docs/SKILL.md +12 -0
  254. package/.mimocode/skills/request-review/SKILL.md +1 -0
  255. package/.mimocode/skills/wire-ci/SKILL.md +164 -181
  256. package/.pi/package.json +1 -1
  257. package/.pi/prompts/audit-code.md +4 -7
  258. package/.pi/prompts/grill-me.md +12 -0
  259. package/.pi/prompts/grill-with-docs.md +12 -0
  260. package/.pi/prompts/request-review.md +1 -0
  261. package/.pi/prompts/wire-ci.md +164 -181
  262. package/.pi/skills/audit-code/SKILL.md +4 -7
  263. package/.pi/skills/grill-me/SKILL.md +12 -0
  264. package/.pi/skills/grill-with-docs/SKILL.md +12 -0
  265. package/.pi/skills/request-review/SKILL.md +1 -0
  266. package/.pi/skills/wire-ci/SKILL.md +164 -181
  267. package/.trae/skills/align-grid/SKILL.md +110 -0
  268. package/.trae/skills/assess-impact/SKILL.md +91 -0
  269. package/.trae/skills/audit-code/SKILL.md +184 -0
  270. package/.trae/skills/audit-plan/SKILL.md +89 -0
  271. package/.trae/skills/build-epic/SKILL.md +105 -0
  272. package/.trae/skills/change-request/SKILL.md +121 -0
  273. package/.trae/skills/commit-message/SKILL.md +140 -0
  274. package/.trae/skills/compose-workflow/SKILL.md +82 -0
  275. package/.trae/skills/context7-mcp/SKILL.md +55 -0
  276. package/.trae/skills/craft-skill/SKILL.md +179 -0
  277. package/.trae/skills/deepen-architecture/SKILL.md +260 -0
  278. package/.trae/skills/define-language/SKILL.md +80 -0
  279. package/.trae/skills/define-success/SKILL.md +65 -0
  280. package/.trae/skills/delegate-task/SKILL.md +91 -0
  281. package/.trae/skills/deploy/SKILL.md +198 -0
  282. package/.trae/skills/design-interface/SKILL.md +97 -0
  283. package/.trae/skills/develop-tdd/SKILL.md +406 -0
  284. package/.trae/skills/diagnose-root/SKILL.md +24 -0
  285. package/.trae/skills/diagnose-stall/SKILL.md +54 -0
  286. package/.trae/skills/dispatch-agents/SKILL.md +118 -0
  287. package/.trae/skills/edit-document/SKILL.md +23 -0
  288. package/.trae/skills/elaborate-spec/SKILL.md +101 -0
  289. package/.trae/skills/enforce-first/SKILL.md +32 -0
  290. package/.trae/skills/evolve-skill/SKILL.md +55 -0
  291. package/.trae/skills/execute-plan/SKILL.md +61 -0
  292. package/.trae/skills/extract-design/SKILL.md +132 -0
  293. package/.trae/skills/find-way/SKILL.md +191 -0
  294. package/.trae/skills/fix-bug/SKILL.md +67 -0
  295. package/.trae/skills/gate-trace/SKILL.md +88 -0
  296. package/.trae/skills/generate-allure-report/SKILL.md +285 -0
  297. package/.trae/skills/grill-me/SKILL.md +108 -0
  298. package/.trae/skills/grill-with-docs/SKILL.md +53 -0
  299. package/.trae/skills/guard-git/SKILL.md +231 -0
  300. package/.trae/skills/harden-vps/SKILL.md +288 -0
  301. package/.trae/skills/hook-commits/SKILL.md +94 -0
  302. package/.trae/skills/inspect-quality/SKILL.md +106 -0
  303. package/.trae/skills/investigate-bug/SKILL.md +127 -0
  304. package/.trae/skills/kickoff-branch/SKILL.md +143 -0
  305. package/.trae/skills/maintain-wiki/SKILL.md +64 -0
  306. package/.trae/skills/map-codebase/SKILL.md +71 -0
  307. package/.trae/skills/migrate-spec/SKILL.md +862 -0
  308. package/.trae/skills/model-domain/SKILL.md +232 -0
  309. package/.trae/skills/orchestrate-project/SKILL.md +174 -0
  310. package/.trae/skills/organize-workspace/SKILL.md +164 -0
  311. package/.trae/skills/plan-refactor/SKILL.md +87 -0
  312. package/.trae/skills/plan-release/SKILL.md +145 -0
  313. package/.trae/skills/plan-tests/SKILL.md +75 -0
  314. package/.trae/skills/plan-work/SKILL.md +260 -0
  315. package/.trae/skills/publish-package/SKILL.md +328 -0
  316. package/.trae/skills/quick-fix/SKILL.md +114 -0
  317. package/.trae/skills/release-branch/SKILL.md +298 -0
  318. package/.trae/skills/request-review/SKILL.md +113 -0
  319. package/.trae/skills/research-first/SKILL.md +87 -0
  320. package/.trae/skills/reset-baseline/SKILL.md +21 -0
  321. package/.trae/skills/respond-review/SKILL.md +71 -0
  322. package/.trae/skills/run-benchmark/SKILL.md +85 -0
  323. package/.trae/skills/run-evals/SKILL.md +80 -0
  324. package/.trae/skills/run-planning/SKILL.md +101 -0
  325. package/.trae/skills/scope-work/SKILL.md +63 -0
  326. package/.trae/skills/search-skills/SKILL.md +73 -0
  327. package/.trae/skills/security-review/SKILL.md +384 -0
  328. package/.trae/skills/seed-conventions/SKILL.md +285 -0
  329. package/.trae/skills/session-state/SKILL.md +146 -0
  330. package/.trae/skills/setup-environment/SKILL.md +39 -0
  331. package/.trae/skills/simulate-agents/SKILL.md +26 -0
  332. package/.trae/skills/slice-tasks/SKILL.md +68 -0
  333. package/.trae/skills/smoke-test/SKILL.md +242 -0
  334. package/.trae/skills/spike-prototype/SKILL.md +95 -0
  335. package/.trae/skills/stocktake-skills/SKILL.md +72 -0
  336. package/.trae/skills/survey-context/SKILL.md +135 -0
  337. package/.trae/skills/terse-mode/SKILL.md +42 -0
  338. package/.trae/skills/trace-requirement/SKILL.md +69 -0
  339. package/.trae/skills/using-bigpowers/SKILL.md +111 -0
  340. package/.trae/skills/validate-contracts/SKILL.md +309 -0
  341. package/.trae/skills/validate-fix/SKILL.md +106 -0
  342. package/.trae/skills/verify-work/SKILL.md +191 -0
  343. package/.trae/skills/visual-dashboard/SKILL.md +50 -0
  344. package/.trae/skills/wire-ci/SKILL.md +358 -0
  345. package/.trae/skills/wire-observability/SKILL.md +97 -0
  346. package/.trae/skills/write-document/SKILL.md +255 -0
  347. package/.windsurf/rules/align-grid.md +110 -0
  348. package/.windsurf/rules/assess-impact.md +91 -0
  349. package/.windsurf/rules/audit-code.md +184 -0
  350. package/.windsurf/rules/audit-plan.md +89 -0
  351. package/.windsurf/rules/build-epic.md +105 -0
  352. package/.windsurf/rules/change-request.md +121 -0
  353. package/.windsurf/rules/commit-message.md +140 -0
  354. package/.windsurf/rules/compose-workflow.md +82 -0
  355. package/.windsurf/rules/context7-mcp.md +55 -0
  356. package/.windsurf/rules/craft-skill.md +179 -0
  357. package/.windsurf/rules/deepen-architecture.md +260 -0
  358. package/.windsurf/rules/define-language.md +80 -0
  359. package/.windsurf/rules/define-success.md +65 -0
  360. package/.windsurf/rules/delegate-task.md +91 -0
  361. package/.windsurf/rules/deploy.md +198 -0
  362. package/.windsurf/rules/design-interface.md +97 -0
  363. package/.windsurf/rules/develop-tdd.md +406 -0
  364. package/.windsurf/rules/diagnose-root.md +24 -0
  365. package/.windsurf/rules/diagnose-stall.md +54 -0
  366. package/.windsurf/rules/dispatch-agents.md +118 -0
  367. package/.windsurf/rules/edit-document.md +23 -0
  368. package/.windsurf/rules/elaborate-spec.md +101 -0
  369. package/.windsurf/rules/enforce-first.md +32 -0
  370. package/.windsurf/rules/evolve-skill.md +55 -0
  371. package/.windsurf/rules/execute-plan.md +61 -0
  372. package/.windsurf/rules/extract-design.md +132 -0
  373. package/.windsurf/rules/find-way.md +191 -0
  374. package/.windsurf/rules/fix-bug.md +67 -0
  375. package/.windsurf/rules/gate-trace.md +88 -0
  376. package/.windsurf/rules/generate-allure-report.md +285 -0
  377. package/.windsurf/rules/grill-me.md +108 -0
  378. package/.windsurf/rules/grill-with-docs.md +53 -0
  379. package/.windsurf/rules/guard-git.md +231 -0
  380. package/.windsurf/rules/harden-vps.md +288 -0
  381. package/.windsurf/rules/hook-commits.md +94 -0
  382. package/.windsurf/rules/inspect-quality.md +106 -0
  383. package/.windsurf/rules/investigate-bug.md +127 -0
  384. package/.windsurf/rules/kickoff-branch.md +143 -0
  385. package/.windsurf/rules/maintain-wiki.md +64 -0
  386. package/.windsurf/rules/map-codebase.md +71 -0
  387. package/.windsurf/rules/migrate-spec.md +862 -0
  388. package/.windsurf/rules/model-domain.md +232 -0
  389. package/.windsurf/rules/orchestrate-project.md +174 -0
  390. package/.windsurf/rules/organize-workspace.md +164 -0
  391. package/.windsurf/rules/plan-refactor.md +87 -0
  392. package/.windsurf/rules/plan-release.md +145 -0
  393. package/.windsurf/rules/plan-tests.md +75 -0
  394. package/.windsurf/rules/plan-work.md +260 -0
  395. package/.windsurf/rules/publish-package.md +328 -0
  396. package/.windsurf/rules/quick-fix.md +114 -0
  397. package/.windsurf/rules/release-branch.md +298 -0
  398. package/.windsurf/rules/request-review.md +113 -0
  399. package/.windsurf/rules/research-first.md +87 -0
  400. package/.windsurf/rules/reset-baseline.md +21 -0
  401. package/.windsurf/rules/respond-review.md +71 -0
  402. package/.windsurf/rules/run-benchmark.md +85 -0
  403. package/.windsurf/rules/run-evals.md +80 -0
  404. package/.windsurf/rules/run-planning.md +101 -0
  405. package/.windsurf/rules/scope-work.md +63 -0
  406. package/.windsurf/rules/search-skills.md +73 -0
  407. package/.windsurf/rules/security-review.md +384 -0
  408. package/.windsurf/rules/seed-conventions.md +285 -0
  409. package/.windsurf/rules/session-state.md +146 -0
  410. package/.windsurf/rules/setup-environment.md +39 -0
  411. package/.windsurf/rules/simulate-agents.md +26 -0
  412. package/.windsurf/rules/slice-tasks.md +68 -0
  413. package/.windsurf/rules/smoke-test.md +242 -0
  414. package/.windsurf/rules/spike-prototype.md +95 -0
  415. package/.windsurf/rules/stocktake-skills.md +72 -0
  416. package/.windsurf/rules/survey-context.md +135 -0
  417. package/.windsurf/rules/terse-mode.md +42 -0
  418. package/.windsurf/rules/trace-requirement.md +69 -0
  419. package/.windsurf/rules/using-bigpowers.md +111 -0
  420. package/.windsurf/rules/validate-contracts.md +309 -0
  421. package/.windsurf/rules/validate-fix.md +106 -0
  422. package/.windsurf/rules/verify-work.md +191 -0
  423. package/.windsurf/rules/visual-dashboard.md +50 -0
  424. package/.windsurf/rules/wire-ci.md +358 -0
  425. package/.windsurf/rules/wire-observability.md +97 -0
  426. package/.windsurf/rules/write-document.md +255 -0
  427. package/.zcode/skills/audit-code/SKILL.md +4 -7
  428. package/.zcode/skills/grill-me/SKILL.md +12 -0
  429. package/.zcode/skills/grill-with-docs/SKILL.md +12 -0
  430. package/.zcode/skills/request-review/SKILL.md +1 -0
  431. package/.zcode/skills/wire-ci/SKILL.md +164 -181
  432. package/CHANGELOG.md +37 -0
  433. package/CONVENTIONS.md +22 -0
  434. package/README.md +14 -1
  435. package/SKILL-INDEX.md +84 -76
  436. package/bin/setup.js +9 -1
  437. package/instructions +1 -0
  438. package/package.json +1 -1
  439. package/scripts/adapters/cline.sh +53 -3
  440. package/scripts/adapters/codebuddy.sh +58 -0
  441. package/scripts/adapters/codex.sh +58 -0
  442. package/scripts/adapters/copilot.sh +58 -0
  443. package/scripts/adapters/kilocode.sh +44 -3
  444. package/scripts/adapters/opencode.sh +58 -0
  445. package/scripts/adapters/qwen.sh +53 -1
  446. package/scripts/adapters/trae.sh +58 -0
  447. package/scripts/adapters/windsurf.sh +52 -0
  448. package/scripts/bp-yaml-set.sh +2 -0
  449. package/scripts/generate-skill-index.sh +20 -4
  450. package/scripts/generate-wave-b-hub.py +31 -0
  451. package/scripts/golden-g04-selftest.sh +19 -0
  452. package/scripts/hooks/cline/HOOKS.md +16 -0
  453. package/scripts/hooks/cline/hooks-manifest.json +12 -0
  454. package/scripts/hooks/cline/plugin/guard-git-plugin.ts +16 -0
  455. package/scripts/hooks/codebuddy/HOOKS.md +24 -0
  456. package/scripts/hooks/codebuddy/hooks-manifest.json +20 -0
  457. package/scripts/hooks/codebuddy/pre-tool-git-guard.sh +22 -0
  458. package/scripts/hooks/codebuddy/settings.example.json +16 -0
  459. package/scripts/hooks/codex/HOOKS.md +21 -0
  460. package/scripts/hooks/codex/hooks-manifest.json +17 -0
  461. package/scripts/hooks/codex/pre-tool-git-guard.sh +22 -0
  462. package/scripts/hooks/codex/settings.example.json +16 -0
  463. package/scripts/hooks/kilocode/HOOKS.md +16 -0
  464. package/scripts/hooks/kilocode/hooks-manifest.json +12 -0
  465. package/scripts/hooks/kilocode/plugin/guard-git-plugin.ts +16 -0
  466. package/scripts/hooks/qwen/HOOKS.md +27 -0
  467. package/scripts/hooks/qwen/hooks-manifest.json +23 -0
  468. package/scripts/hooks/qwen/pre-tool-git-guard.sh +22 -0
  469. package/scripts/hooks/qwen/settings.example.json +16 -0
  470. package/scripts/hooks/trae/HOOKS.md +17 -0
  471. package/scripts/hooks/trae/hooks-manifest.json +13 -0
  472. package/scripts/hooks/trae/pre-tool-git-guard.sh +22 -0
  473. package/scripts/hooks/trae/settings.example.json +16 -0
  474. package/scripts/hooks/windsurf/HOOKS.md +23 -0
  475. package/scripts/hooks/windsurf/hooks-manifest.json +19 -0
  476. package/scripts/hooks/windsurf/pre-tool-git-guard.sh +22 -0
  477. package/scripts/hooks/windsurf/settings.example.json +16 -0
  478. package/scripts/install.sh +33 -373
  479. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  480. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  481. package/scripts/lib/context-wire.sh +5 -0
  482. package/scripts/lib/install-grep.sh +18 -0
  483. package/scripts/lib/install-helpers.js +139 -2
  484. package/scripts/lib/install-targets-a.sh +227 -0
  485. package/scripts/lib/install-targets-b.sh +226 -0
  486. package/scripts/lib/install-targets-c.sh +128 -0
  487. package/scripts/lib/install-targets-d.sh +179 -0
  488. package/scripts/lib/srp-engine.py +2 -70
  489. package/scripts/lib/srp_engine_links.py +59 -0
  490. package/scripts/lib/wave_b_hub_codegen_helpers.py +273 -0
  491. package/scripts/lib/wave_b_hub_codegen_install.py +134 -0
  492. package/scripts/lib/wave_b_hub_config.py +130 -0
  493. package/scripts/lib/wave_b_hub_patch.py +213 -0
  494. package/scripts/record-cycle-time.sh +3 -14
  495. package/scripts/targets.yaml +75 -2
  496. package/scripts/test-agy-hub.sh +11 -10
  497. package/scripts/test-cline-adapter.sh +55 -0
  498. package/scripts/test-cline-hub.sh +48 -0
  499. package/scripts/test-codebuddy-adapter.sh +63 -0
  500. package/scripts/test-codebuddy-hub.sh +49 -0
  501. package/scripts/test-codex-adapter.sh +63 -0
  502. package/scripts/test-codex-hub.sh +49 -0
  503. package/scripts/test-copilot-adapter.sh +47 -0
  504. package/scripts/test-copilot-hub.sh +43 -0
  505. package/scripts/test-gemini-hub.sh +10 -9
  506. package/scripts/test-hermes-hub.sh +7 -6
  507. package/scripts/test-install-helpers.js +9 -3
  508. package/scripts/test-kilocode-adapter.sh +55 -0
  509. package/scripts/test-kilocode-hub.sh +48 -0
  510. package/scripts/test-mimo-hub.sh +7 -6
  511. package/scripts/test-opencode-adapter.sh +47 -0
  512. package/scripts/test-opencode-hub.sh +43 -0
  513. package/scripts/test-qwen-adapter.sh +63 -0
  514. package/scripts/test-qwen-hub.sh +49 -0
  515. package/scripts/test-trae-adapter.sh +63 -0
  516. package/scripts/test-trae-hub.sh +49 -0
  517. package/scripts/test-windsurf-adapter.sh +63 -0
  518. package/scripts/test-windsurf-hub.sh +49 -0
  519. package/scripts/test-zcode-hub.sh +7 -6
  520. package/scripts/verify-install.sh +83 -29
  521. package/skills/audit-code/SKILL.md +4 -7
  522. package/skills/grill-me/SKILL.md +12 -0
  523. package/skills/grill-with-docs/SKILL.md +12 -0
  524. package/skills/request-review/SKILL.md +1 -0
  525. package/skills/visual-dashboard/scripts/frame-template.html +1 -39
  526. package/skills/wire-ci/REFERENCE.md +137 -152
  527. package/skills/wire-ci/SKILL.md +28 -30
  528. package/skills-lock.json +5 -5
@@ -0,0 +1,128 @@
1
+ # ── CodeBuddy (e72s02) ───────────────────────────────────────────────────────
2
+
3
+ CODEBUDDY_CONFIG_DIR="$HOME/.codebuddy"
4
+ CODEBUDDY_SKILLS_DIR="$CODEBUDDY_CONFIG_DIR/skills"
5
+ CODEBUDDY_RENDERED="$REPO_ROOT/.codebuddy/skills"
6
+ CODEBUDDY_CONTEXT="$CODEBUDDY_CONFIG_DIR/AGENTS.md"
7
+ CODEBUDDY_HOOKS_DIR="$CODEBUDDY_CONFIG_DIR/hooks"
8
+ CODEBUDDY_HOOK_SRC="$REPO_ROOT/scripts/hooks/codebuddy/pre-tool-git-guard.sh"
9
+
10
+ install_codebuddy() {
11
+ echo ""
12
+ echo "CodeBuddy → $CODEBUDDY_SKILLS_DIR/"
13
+ if [[ ! -d "$CODEBUDDY_RENDERED" ]]; then
14
+ echo " WARNING: $CODEBUDDY_RENDERED not found — run sync-skills.sh first"
15
+ return
16
+ fi
17
+ local count=0
18
+ for skill_dir in "$CODEBUDDY_RENDERED"/*/; do
19
+ [[ -f "${skill_dir}SKILL.md" ]] || continue
20
+ local name; name="$(basename "$skill_dir")"
21
+ link "$skill_dir" "$CODEBUDDY_SKILLS_DIR/$name"
22
+ count=$((count + 1))
23
+ done
24
+ echo " $count skills installed"
25
+ echo "CodeBuddy → context symlink $CODEBUDDY_CONTEXT"
26
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
27
+ local agents_src="$REPO_ROOT/AGENTS.md"
28
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
29
+ wire_context_mode symlink "$CODEBUDDY_CONTEXT" "" read "$agents_src"
30
+ if [[ -f "$CODEBUDDY_HOOK_SRC" ]]; then
31
+ echo "CodeBuddy Hooks → $CODEBUDDY_HOOKS_DIR/"
32
+ link "$CODEBUDDY_HOOK_SRC" "$CODEBUDDY_HOOKS_DIR/pre-tool-git-guard.sh"
33
+ chmod +x "$CODEBUDDY_HOOK_SRC" 2>/dev/null || true
34
+ echo " NOTE: copy $REPO_ROOT/scripts/hooks/codebuddy/settings.example.json into tool config"
35
+ fi
36
+ }
37
+
38
+ uninstall_codebuddy() {
39
+ echo ""
40
+ echo "CodeBuddy → removing management from $CODEBUDDY_CONFIG_DIR/"
41
+ if [[ -d "$CODEBUDDY_SKILLS_DIR" ]]; then
42
+ for dst in "$CODEBUDDY_SKILLS_DIR"/*/; do
43
+ [[ -L "${dst%/}" ]] || continue
44
+ unlink_if_managed "${dst%/}" "$REPO_ROOT/"
45
+ done
46
+ fi
47
+ unlink_if_managed "$CODEBUDDY_CONTEXT" "$REPO_ROOT/"
48
+ unlink_if_managed "$CODEBUDDY_HOOKS_DIR/pre-tool-git-guard.sh" "$REPO_ROOT/"
49
+ }
50
+ # ── Cline (e66s02) ───────────────────────────────────────────────────────
51
+
52
+ CLINE_CONFIG_DIR="$HOME/.cline"
53
+ CLINE_SKILLS_DIR="$CLINE_CONFIG_DIR/skills"
54
+ CLINE_RENDERED="$REPO_ROOT/.cline/skills"
55
+
56
+ install_cline() {
57
+ echo ""
58
+ echo "Cline → $CLINE_SKILLS_DIR/"
59
+ if [[ ! -d "$CLINE_RENDERED" ]]; then
60
+ echo " WARNING: $CLINE_RENDERED not found — run sync-skills.sh first"
61
+ return
62
+ fi
63
+ local count=0
64
+ for skill_dir in "$CLINE_RENDERED"/*/; do
65
+ [[ -f "${skill_dir}SKILL.md" ]] || continue
66
+ local name; name="$(basename "$skill_dir")"
67
+ link "$skill_dir" "$CLINE_SKILLS_DIR/$name"
68
+ count=$((count + 1))
69
+ done
70
+ echo " $count skills installed"
71
+ if [[ -d "$REPO_ROOT/scripts/hooks/cline/plugin" ]]; then
72
+ echo "Cline → hook plugin template at scripts/hooks/cline/plugin/ (manual install)"
73
+ fi
74
+ }
75
+
76
+ uninstall_cline() {
77
+ echo ""
78
+ echo "Cline → removing management from $CLINE_CONFIG_DIR/"
79
+ if [[ -d "$CLINE_SKILLS_DIR" ]]; then
80
+ for dst in "$CLINE_SKILLS_DIR"/*/; do
81
+ [[ -L "${dst%/}" ]] || continue
82
+ unlink_if_managed "${dst%/}" "$REPO_ROOT/"
83
+ done
84
+ fi
85
+ }
86
+ # ── Kilo (e67s02) ───────────────────────────────────────────────────────
87
+
88
+ KILOCODE_CONFIG_DIR="$HOME/.kilocode"
89
+ KILOCODE_SKILLS_DIR="$KILOCODE_CONFIG_DIR/rules"
90
+ KILOCODE_RENDERED="$REPO_ROOT/.kilocode/rules"
91
+ KILOCODE_CONTEXT="$KILOCODE_CONFIG_DIR/AGENTS.md"
92
+
93
+ install_kilocode() {
94
+ echo ""
95
+ echo "Kilo → $KILOCODE_SKILLS_DIR/"
96
+ if [[ ! -d "$KILOCODE_RENDERED" ]]; then
97
+ echo " WARNING: $KILOCODE_RENDERED not found — run sync-skills.sh first"
98
+ return
99
+ fi
100
+ local count=0
101
+ for rule in "$KILOCODE_RENDERED"/*.md; do
102
+ [[ -f "$rule" ]] || continue
103
+ link "$rule" "$KILOCODE_SKILLS_DIR/$(basename "$rule")"
104
+ count=$((count + 1))
105
+ done
106
+ echo " $count rules installed"
107
+ echo "Kilo → context copy $KILOCODE_CONTEXT"
108
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
109
+ local agents_src="$REPO_ROOT/AGENTS.md"
110
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
111
+ run mkdir -p "$(dirname "$KILOCODE_CONTEXT")"
112
+ run cp "$agents_src" "$KILOCODE_CONTEXT"
113
+ if [[ -d "$REPO_ROOT/scripts/hooks/kilocode/plugin" ]]; then
114
+ echo "Kilo → hook plugin template at scripts/hooks/kilocode/plugin/ (manual install)"
115
+ fi
116
+ }
117
+
118
+ uninstall_kilocode() {
119
+ echo ""
120
+ echo "Kilo → removing management from $KILOCODE_CONFIG_DIR/"
121
+ if [[ -d "$KILOCODE_SKILLS_DIR" ]]; then
122
+ for dst in "$KILOCODE_SKILLS_DIR"/*.md; do
123
+ [[ -L "$dst" ]] || continue
124
+ unlink_if_managed "$dst" "$REPO_ROOT/"
125
+ done
126
+ fi
127
+ unlink_if_managed "$KILOCODE_CONTEXT" "$REPO_ROOT/"
128
+ }
@@ -0,0 +1,179 @@
1
+ # ── Trae (e70s02) ───────────────────────────────────────────────────────
2
+
3
+ TRAE_CONFIG_DIR="$HOME/.trae"
4
+ TRAE_SKILLS_DIR="$TRAE_CONFIG_DIR/skills"
5
+ TRAE_RENDERED="$REPO_ROOT/.trae/skills"
6
+ TRAE_CONTEXT="$TRAE_CONFIG_DIR/AGENTS.md"
7
+ TRAE_HOOKS_DIR="$TRAE_CONFIG_DIR/hooks"
8
+ TRAE_HOOK_SRC="$REPO_ROOT/scripts/hooks/trae/pre-tool-git-guard.sh"
9
+
10
+ install_trae() {
11
+ echo ""
12
+ echo "Trae → $TRAE_SKILLS_DIR/"
13
+ if [[ ! -d "$TRAE_RENDERED" ]]; then
14
+ echo " WARNING: $TRAE_RENDERED not found — run sync-skills.sh first"
15
+ return
16
+ fi
17
+ local count=0
18
+ for skill_dir in "$TRAE_RENDERED"/*/; do
19
+ [[ -f "${skill_dir}SKILL.md" ]] || continue
20
+ local name; name="$(basename "$skill_dir")"
21
+ link "$skill_dir" "$TRAE_SKILLS_DIR/$name"
22
+ count=$((count + 1))
23
+ done
24
+ echo " $count skills installed"
25
+ echo "Trae → context symlink $TRAE_CONTEXT"
26
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
27
+ local agents_src="$REPO_ROOT/AGENTS.md"
28
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
29
+ wire_context_mode symlink "$TRAE_CONTEXT" "" read "$agents_src"
30
+ if [[ -f "$TRAE_HOOK_SRC" ]]; then
31
+ echo "Trae Hooks → $TRAE_HOOKS_DIR/"
32
+ link "$TRAE_HOOK_SRC" "$TRAE_HOOKS_DIR/pre-tool-git-guard.sh"
33
+ chmod +x "$TRAE_HOOK_SRC" 2>/dev/null || true
34
+ echo " NOTE: copy $REPO_ROOT/scripts/hooks/trae/settings.example.json into tool config"
35
+ fi
36
+ }
37
+
38
+ uninstall_trae() {
39
+ echo ""
40
+ echo "Trae → removing management from $TRAE_CONFIG_DIR/"
41
+ if [[ -d "$TRAE_SKILLS_DIR" ]]; then
42
+ for dst in "$TRAE_SKILLS_DIR"/*/; do
43
+ [[ -L "${dst%/}" ]] || continue
44
+ unlink_if_managed "${dst%/}" "$REPO_ROOT/"
45
+ done
46
+ fi
47
+ unlink_if_managed "$TRAE_CONTEXT" "$REPO_ROOT/"
48
+ unlink_if_managed "$TRAE_HOOKS_DIR/pre-tool-git-guard.sh" "$REPO_ROOT/"
49
+ }
50
+ # ── Windsurf (e73s02) ───────────────────────────────────────────────────────
51
+
52
+ WINDSURF_CONFIG_DIR="$HOME/.codeium/windsurf"
53
+ WINDSURF_SKILLS_DIR="$WINDSURF_CONFIG_DIR/rules"
54
+ WINDSURF_RENDERED="$REPO_ROOT/.windsurf/rules"
55
+ WINDSURF_CONTEXT="$WINDSURF_CONFIG_DIR/AGENTS.md"
56
+ WINDSURF_HOOKS_DIR="$WINDSURF_CONFIG_DIR/hooks"
57
+ WINDSURF_HOOK_SRC="$REPO_ROOT/scripts/hooks/windsurf/pre-tool-git-guard.sh"
58
+
59
+ install_windsurf() {
60
+ echo ""
61
+ echo "Windsurf → $WINDSURF_SKILLS_DIR/"
62
+ if [[ ! -d "$WINDSURF_RENDERED" ]]; then
63
+ echo " WARNING: $WINDSURF_RENDERED not found — run sync-skills.sh first"
64
+ return
65
+ fi
66
+ local count=0
67
+ for rule in "$WINDSURF_RENDERED"/*.md; do
68
+ [[ -f "$rule" ]] || continue
69
+ link "$rule" "$WINDSURF_SKILLS_DIR/$(basename "$rule")"
70
+ count=$((count + 1))
71
+ done
72
+ echo " $count rules installed"
73
+ echo "Windsurf → context copy $WINDSURF_CONTEXT"
74
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
75
+ local agents_src="$REPO_ROOT/AGENTS.md"
76
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
77
+ run mkdir -p "$(dirname "$WINDSURF_CONTEXT")"
78
+ run cp "$agents_src" "$WINDSURF_CONTEXT"
79
+ if [[ -f "$WINDSURF_HOOK_SRC" ]]; then
80
+ echo "Windsurf Hooks → $WINDSURF_HOOKS_DIR/"
81
+ link "$WINDSURF_HOOK_SRC" "$WINDSURF_HOOKS_DIR/pre-tool-git-guard.sh"
82
+ chmod +x "$WINDSURF_HOOK_SRC" 2>/dev/null || true
83
+ echo " NOTE: copy $REPO_ROOT/scripts/hooks/windsurf/settings.example.json into tool config"
84
+ fi
85
+ }
86
+
87
+ uninstall_windsurf() {
88
+ echo ""
89
+ echo "Windsurf → removing management from $WINDSURF_CONFIG_DIR/"
90
+ if [[ -d "$WINDSURF_SKILLS_DIR" ]]; then
91
+ for dst in "$WINDSURF_SKILLS_DIR"/*.md; do
92
+ [[ -L "$dst" ]] || continue
93
+ unlink_if_managed "$dst" "$REPO_ROOT/"
94
+ done
95
+ fi
96
+ unlink_if_managed "$WINDSURF_CONTEXT" "$REPO_ROOT/"
97
+ unlink_if_managed "$WINDSURF_HOOKS_DIR/pre-tool-git-guard.sh" "$REPO_ROOT/"
98
+ }
99
+ # ── OpenCode (e62s02) ───────────────────────────────────────────────────────
100
+
101
+ OPENCODE_CONFIG_DIR="$HOME/.config/opencode"
102
+ OPENCODE_SKILLS_DIR="$OPENCODE_CONFIG_DIR/skills"
103
+ OPENCODE_RENDERED="$REPO_ROOT/.opencode/skills"
104
+ OPENCODE_CONTEXT="$OPENCODE_CONFIG_DIR/AGENTS.md"
105
+
106
+ install_opencode() {
107
+ echo ""
108
+ echo "OpenCode → $OPENCODE_SKILLS_DIR/"
109
+ if [[ ! -d "$OPENCODE_RENDERED" ]]; then
110
+ echo " WARNING: $OPENCODE_RENDERED not found — run sync-skills.sh first"
111
+ return
112
+ fi
113
+ local count=0
114
+ for skill_dir in "$OPENCODE_RENDERED"/*/; do
115
+ [[ -f "${skill_dir}SKILL.md" ]] || continue
116
+ local name; name="$(basename "$skill_dir")"
117
+ link "$skill_dir" "$OPENCODE_SKILLS_DIR/$name"
118
+ count=$((count + 1))
119
+ done
120
+ echo " $count skills installed"
121
+ echo "OpenCode → context symlink $OPENCODE_CONTEXT"
122
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
123
+ local agents_src="$REPO_ROOT/AGENTS.md"
124
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
125
+ wire_context_mode symlink "$OPENCODE_CONTEXT" "" read "$agents_src"
126
+ }
127
+
128
+ uninstall_opencode() {
129
+ echo ""
130
+ echo "OpenCode → removing management from $OPENCODE_CONFIG_DIR/"
131
+ if [[ -d "$OPENCODE_SKILLS_DIR" ]]; then
132
+ for dst in "$OPENCODE_SKILLS_DIR"/*/; do
133
+ [[ -L "${dst%/}" ]] || continue
134
+ unlink_if_managed "${dst%/}" "$REPO_ROOT/"
135
+ done
136
+ fi
137
+ unlink_if_managed "$OPENCODE_CONTEXT" "$REPO_ROOT/"
138
+ }
139
+ # ── Copilot CLI (e71s02) ───────────────────────────────────────────────────────
140
+
141
+ COPILOT_CONFIG_DIR="$HOME/.copilot"
142
+ COPILOT_SKILLS_DIR="$COPILOT_CONFIG_DIR/skills"
143
+ COPILOT_RENDERED="$REPO_ROOT/.copilot/skills"
144
+ COPILOT_CONTEXT="$COPILOT_CONFIG_DIR/AGENTS.md"
145
+
146
+ install_copilot() {
147
+ echo ""
148
+ echo "Copilot CLI → $COPILOT_SKILLS_DIR/"
149
+ if [[ ! -d "$COPILOT_RENDERED" ]]; then
150
+ echo " WARNING: $COPILOT_RENDERED not found — run sync-skills.sh first"
151
+ return
152
+ fi
153
+ local count=0
154
+ for skill_dir in "$COPILOT_RENDERED"/*/; do
155
+ [[ -f "${skill_dir}SKILL.md" ]] || continue
156
+ local name; name="$(basename "$skill_dir")"
157
+ link "$skill_dir" "$COPILOT_SKILLS_DIR/$name"
158
+ count=$((count + 1))
159
+ done
160
+ echo " $count skills installed"
161
+ echo "Copilot CLI → context copy $COPILOT_CONTEXT"
162
+ source "$REPO_ROOT/scripts/lib/context-wire.sh"
163
+ local agents_src="$REPO_ROOT/AGENTS.md"
164
+ [[ -f "$agents_src" ]] || agents_src="$REPO_ROOT/docs/templates/AGENTS.md"
165
+ run mkdir -p "$(dirname "$COPILOT_CONTEXT")"
166
+ run cp "$agents_src" "$COPILOT_CONTEXT"
167
+ }
168
+
169
+ uninstall_copilot() {
170
+ echo ""
171
+ echo "Copilot CLI → removing management from $COPILOT_CONFIG_DIR/"
172
+ if [[ -d "$COPILOT_SKILLS_DIR" ]]; then
173
+ for dst in "$COPILOT_SKILLS_DIR"/*/; do
174
+ [[ -L "${dst%/}" ]] || continue
175
+ unlink_if_managed "${dst%/}" "$REPO_ROOT/"
176
+ done
177
+ fi
178
+ unlink_if_managed "$COPILOT_CONTEXT" "$REPO_ROOT/"
179
+ }
@@ -13,7 +13,8 @@ _LIB_DIR = os.path.dirname(os.path.abspath(__file__))
13
13
  if _LIB_DIR not in sys.path:
14
14
  sys.path.insert(0, _LIB_DIR)
15
15
 
16
- from link_utils import LINK_RE, EXTERNAL_RE, strip_code_spans # noqa: E402
16
+ from link_utils import LINK_RE, EXTERNAL_RE # noqa: E402
17
+ from srp_engine_links import rewrite_links_for_pi # noqa: E402
17
18
 
18
19
  # End-user setup (bigpowers setup) may run on a python3 without PyYAML.
19
20
  # Prefer PyYAML for exact parsing; fall back to the dependency-free
@@ -25,75 +26,6 @@ except ModuleNotFoundError:
25
26
  from simple_yaml import parse_simple_yaml
26
27
  _load_yaml = parse_simple_yaml
27
28
 
28
- def rewrite_links_for_pi(body, name):
29
- """Repoint relative links so they resolve from .pi/skills/<name>/.
30
-
31
- Sibling *.md content is inlined into the rendered SKILL.md body, but the
32
- links to those files (and to repo-root docs) still point at paths relative
33
- to the source dir, so they dangle in the rendered tree. Repoint them at
34
- the shipped source tree (skills/, profiles/, repo-root files) so links
35
- resolve in repo checkouts and npm installs alike. External, anchor, and
36
- absolute links pass through untouched.
37
-
38
- Code fences and inline code are skipped — links inside them are examples,
39
- not navigation targets.
40
- """
41
- out_dir = os.path.join(".pi", "skills", name)
42
- # Build a "shadow" copy with code spans blanked out so LINK_RE never
43
- # matches inside ``` blocks or inline `code`.
44
- shadow = strip_code_spans(body)
45
-
46
- def repl(m):
47
- # If this match falls inside a code span the shadow char is a space;
48
- # the real body char at that position is not a '[' — so LINK_RE won't
49
- # match in the shadow at all. The sub() runs on the shadow but we
50
- # return the replacement for the real body using the captured groups.
51
- text, raw_target = m.group(1), m.group(2).strip()
52
- if EXTERNAL_RE.match(raw_target) or raw_target.startswith(('#', '/')):
53
- return m.group(0)
54
- # Split fragment before normpath to avoid mangling '#section/sub'.
55
- if '#' in raw_target:
56
- path_part, fragment = raw_target.split('#', 1)
57
- frag_suffix = '#' + fragment
58
- else:
59
- path_part, frag_suffix = raw_target, ''
60
- resolved = os.path.normpath(os.path.join("skills", name, path_part))
61
- if resolved.startswith(".."):
62
- return m.group(0) # escapes repo root; leave untouched
63
- new_target = os.path.relpath(resolved, out_dir).replace(os.sep, '/') + frag_suffix
64
- return f"[{text}]({new_target})"
65
-
66
- return LINK_RE.sub(repl, shadow).replace(shadow, body) if shadow == body else _apply_repl_on_real(body, shadow, name, out_dir)
67
-
68
-
69
- def _apply_repl_on_real(body, shadow, name, out_dir):
70
- """Apply link rewrites to *body* using *shadow* to skip code spans.
71
-
72
- Iterates LINK_RE matches on *shadow* (which has code spans blanked) and
73
- rebuilds body with only the matched positions replaced.
74
- """
75
- result = []
76
- last = 0
77
- for m in LINK_RE.finditer(shadow):
78
- result.append(body[last:m.start()])
79
- text, raw_target = m.group(1), m.group(2).strip()
80
- if EXTERNAL_RE.match(raw_target) or raw_target.startswith(('#', '/')):
81
- result.append(body[m.start():m.end()])
82
- else:
83
- if '#' in raw_target:
84
- path_part, fragment = raw_target.split('#', 1)
85
- frag_suffix = '#' + fragment
86
- else:
87
- path_part, frag_suffix = raw_target, ''
88
- resolved = os.path.normpath(os.path.join("skills", name, path_part))
89
- if resolved.startswith(".."):
90
- result.append(body[m.start():m.end()])
91
- else:
92
- new_target = os.path.relpath(resolved, out_dir).replace(os.sep, '/') + frag_suffix
93
- result.append(f"[{text}]({new_target})")
94
- last = m.end()
95
- result.append(body[last:])
96
- return ''.join(result)
97
29
 
98
30
  def resolve_repo_root():
99
31
  lib_dir = os.path.dirname(os.path.abspath(__file__))
@@ -0,0 +1,59 @@
1
+ """Pi adapter link rewriting for srp-engine."""
2
+ from __future__ import annotations
3
+
4
+ import os
5
+
6
+ from link_utils import EXTERNAL_RE, LINK_RE, strip_code_spans
7
+
8
+
9
+ def rewrite_links_for_pi(body, name):
10
+ """Repoint relative links so they resolve from .pi/skills/<name>/."""
11
+ out_dir = os.path.join(".pi", "skills", name)
12
+ shadow = strip_code_spans(body)
13
+
14
+ def repl(m):
15
+ text, raw_target = m.group(1), m.group(2).strip()
16
+ if EXTERNAL_RE.match(raw_target) or raw_target.startswith(('#', '/')):
17
+ return m.group(0)
18
+ if '#' in raw_target:
19
+ path_part, fragment = raw_target.split('#', 1)
20
+ frag_suffix = '#' + fragment
21
+ else:
22
+ path_part, frag_suffix = raw_target, ''
23
+ resolved = os.path.normpath(os.path.join("skills", name, path_part))
24
+ if resolved.startswith(".."):
25
+ return m.group(0)
26
+ new_target = os.path.relpath(resolved, out_dir).replace(os.sep, '/') + frag_suffix
27
+ return f"[{text}]({new_target})"
28
+
29
+ return (
30
+ LINK_RE.sub(repl, shadow).replace(shadow, body)
31
+ if shadow == body
32
+ else _apply_repl_on_real(body, shadow, name, out_dir)
33
+ )
34
+
35
+
36
+ def _apply_repl_on_real(body, shadow, name, out_dir):
37
+ """Apply link rewrites to body using shadow to skip code spans."""
38
+ result = []
39
+ last = 0
40
+ for m in LINK_RE.finditer(shadow):
41
+ result.append(body[last:m.start()])
42
+ text, raw_target = m.group(1), m.group(2).strip()
43
+ if EXTERNAL_RE.match(raw_target) or raw_target.startswith(('#', '/')):
44
+ result.append(body[m.start():m.end()])
45
+ else:
46
+ if '#' in raw_target:
47
+ path_part, fragment = raw_target.split('#', 1)
48
+ frag_suffix = '#' + fragment
49
+ else:
50
+ path_part, frag_suffix = raw_target, ''
51
+ resolved = os.path.normpath(os.path.join("skills", name, path_part))
52
+ if resolved.startswith(".."):
53
+ result.append(body[m.start():m.end()])
54
+ else:
55
+ new_target = os.path.relpath(resolved, out_dir).replace(os.sep, '/') + frag_suffix
56
+ result.append(f"[{text}]({new_target})")
57
+ last = m.end()
58
+ result.append(body[last:])
59
+ return ''.join(result)