@chankov/agent-skills 0.3.0 → 0.3.3

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 (316) hide show
  1. package/.versions/0.3.2/.claude/commands/build.md +18 -0
  2. package/.versions/0.3.2/.claude/commands/code-simplify.md +22 -0
  3. package/.versions/0.3.2/.claude/commands/design-agent.md +14 -0
  4. package/.versions/0.3.2/.claude/commands/doctor-agent-skills.md +13 -0
  5. package/.versions/0.3.2/.claude/commands/plan.md +16 -0
  6. package/.versions/0.3.2/.claude/commands/prime.md +22 -0
  7. package/.versions/0.3.2/.claude/commands/review.md +16 -0
  8. package/.versions/0.3.2/.claude/commands/setup-agent-skills.md +19 -0
  9. package/.versions/0.3.2/.claude/commands/ship.md +17 -0
  10. package/.versions/0.3.2/.claude/commands/spec.md +15 -0
  11. package/.versions/0.3.2/.claude/commands/test.md +19 -0
  12. package/.versions/0.3.2/.opencode/commands/as-build.md +17 -0
  13. package/.versions/0.3.2/.opencode/commands/as-code-simplify.md +16 -0
  14. package/.versions/0.3.2/.opencode/commands/as-design-agent.md +15 -0
  15. package/.versions/0.3.2/.opencode/commands/as-doctor-agent-skills.md +11 -0
  16. package/.versions/0.3.2/.opencode/commands/as-plan.md +16 -0
  17. package/.versions/0.3.2/.opencode/commands/as-prime.md +22 -0
  18. package/.versions/0.3.2/.opencode/commands/as-review.md +15 -0
  19. package/.versions/0.3.2/.opencode/commands/as-setup-agent-skills.md +11 -0
  20. package/.versions/0.3.2/.opencode/commands/as-ship.md +16 -0
  21. package/.versions/0.3.2/.opencode/commands/as-spec.md +16 -0
  22. package/.versions/0.3.2/.opencode/commands/as-test.md +21 -0
  23. package/.versions/0.3.2/.pi/agents/agent-chain.yaml +49 -0
  24. package/.versions/0.3.2/.pi/agents/bowser.md +19 -0
  25. package/.versions/0.3.2/.pi/agents/pi-pi/agent-expert.md +98 -0
  26. package/.versions/0.3.2/.pi/agents/pi-pi/cli-expert.md +41 -0
  27. package/.versions/0.3.2/.pi/agents/pi-pi/config-expert.md +63 -0
  28. package/.versions/0.3.2/.pi/agents/pi-pi/ext-expert.md +43 -0
  29. package/.versions/0.3.2/.pi/agents/pi-pi/keybinding-expert.md +134 -0
  30. package/.versions/0.3.2/.pi/agents/pi-pi/pi-orchestrator.md +57 -0
  31. package/.versions/0.3.2/.pi/agents/pi-pi/prompt-expert.md +70 -0
  32. package/.versions/0.3.2/.pi/agents/pi-pi/skill-expert.md +42 -0
  33. package/.versions/0.3.2/.pi/agents/pi-pi/theme-expert.md +40 -0
  34. package/.versions/0.3.2/.pi/agents/pi-pi/tui-expert.md +85 -0
  35. package/.versions/0.3.2/.pi/agents/teams.yaml +31 -0
  36. package/.versions/0.3.2/.pi/damage-control-rules.yaml +278 -0
  37. package/.versions/0.3.2/.pi/extensions/agent-skills-update-check/README.md +58 -0
  38. package/.versions/0.3.2/.pi/extensions/agent-skills-update-check/index.ts +161 -0
  39. package/.versions/0.3.2/.pi/extensions/agent-skills-update-check/package.json +6 -0
  40. package/.versions/0.3.2/.pi/extensions/chrome-devtools-mcp/README.md +39 -0
  41. package/.versions/0.3.2/.pi/extensions/chrome-devtools-mcp/index.ts +61 -0
  42. package/.versions/0.3.2/.pi/extensions/chrome-devtools-mcp/package.json +6 -0
  43. package/.versions/0.3.2/.pi/extensions/compact-and-continue/README.md +42 -0
  44. package/.versions/0.3.2/.pi/extensions/compact-and-continue/index.ts +120 -0
  45. package/.versions/0.3.2/.pi/extensions/compact-and-continue/package.json +6 -0
  46. package/.versions/0.3.2/.pi/extensions/mcp-bridge/README.md +46 -0
  47. package/.versions/0.3.2/.pi/extensions/mcp-bridge/index.ts +206 -0
  48. package/.versions/0.3.2/.pi/extensions/mcp-bridge/package.json +6 -0
  49. package/.versions/0.3.2/.pi/extensions/package-lock.json +1143 -0
  50. package/.versions/0.3.2/.pi/extensions/package.json +9 -0
  51. package/.versions/0.3.2/.pi/harnesses/agent-chain/README.md +37 -0
  52. package/.versions/0.3.2/.pi/harnesses/agent-chain/index.ts +795 -0
  53. package/.versions/0.3.2/.pi/harnesses/agent-chain/package.json +6 -0
  54. package/.versions/0.3.2/.pi/harnesses/agent-team/README.md +38 -0
  55. package/.versions/0.3.2/.pi/harnesses/agent-team/index.ts +732 -0
  56. package/.versions/0.3.2/.pi/harnesses/agent-team/package.json +6 -0
  57. package/.versions/0.3.2/.pi/harnesses/coms/README.md +36 -0
  58. package/.versions/0.3.2/.pi/harnesses/coms/index.ts +1595 -0
  59. package/.versions/0.3.2/.pi/harnesses/coms/package.json +6 -0
  60. package/.versions/0.3.2/.pi/harnesses/coms-net/README.md +46 -0
  61. package/.versions/0.3.2/.pi/harnesses/coms-net/index.ts +1637 -0
  62. package/.versions/0.3.2/.pi/harnesses/coms-net/package.json +6 -0
  63. package/.versions/0.3.2/.pi/harnesses/damage-control/README.md +38 -0
  64. package/.versions/0.3.2/.pi/harnesses/damage-control/index.ts +207 -0
  65. package/.versions/0.3.2/.pi/harnesses/damage-control/package.json +6 -0
  66. package/.versions/0.3.2/.pi/harnesses/damage-control-continue/README.md +37 -0
  67. package/.versions/0.3.2/.pi/harnesses/damage-control-continue/index.ts +234 -0
  68. package/.versions/0.3.2/.pi/harnesses/damage-control-continue/package.json +6 -0
  69. package/.versions/0.3.2/.pi/harnesses/minimal/README.md +27 -0
  70. package/.versions/0.3.2/.pi/harnesses/minimal/index.ts +32 -0
  71. package/.versions/0.3.2/.pi/harnesses/minimal/package.json +6 -0
  72. package/.versions/0.3.2/.pi/harnesses/package-lock.json +35 -0
  73. package/.versions/0.3.2/.pi/harnesses/package.json +9 -0
  74. package/.versions/0.3.2/.pi/harnesses/pi-pi/README.md +39 -0
  75. package/.versions/0.3.2/.pi/harnesses/pi-pi/index.ts +631 -0
  76. package/.versions/0.3.2/.pi/harnesses/pi-pi/package.json +6 -0
  77. package/.versions/0.3.2/.pi/harnesses/purpose-gate/README.md +27 -0
  78. package/.versions/0.3.2/.pi/harnesses/purpose-gate/index.ts +82 -0
  79. package/.versions/0.3.2/.pi/harnesses/purpose-gate/package.json +6 -0
  80. package/.versions/0.3.2/.pi/harnesses/session-replay/README.md +28 -0
  81. package/.versions/0.3.2/.pi/harnesses/session-replay/index.ts +214 -0
  82. package/.versions/0.3.2/.pi/harnesses/session-replay/package.json +6 -0
  83. package/.versions/0.3.2/.pi/harnesses/subagent-widget/README.md +36 -0
  84. package/.versions/0.3.2/.pi/harnesses/subagent-widget/index.ts +479 -0
  85. package/.versions/0.3.2/.pi/harnesses/subagent-widget/package.json +6 -0
  86. package/.versions/0.3.2/.pi/harnesses/system-select/README.md +39 -0
  87. package/.versions/0.3.2/.pi/harnesses/system-select/index.ts +165 -0
  88. package/.versions/0.3.2/.pi/harnesses/system-select/package.json +6 -0
  89. package/.versions/0.3.2/.pi/harnesses/tilldone/README.md +35 -0
  90. package/.versions/0.3.2/.pi/harnesses/tilldone/index.ts +724 -0
  91. package/.versions/0.3.2/.pi/harnesses/tilldone/package.json +6 -0
  92. package/.versions/0.3.2/.pi/harnesses/tool-counter/README.md +31 -0
  93. package/.versions/0.3.2/.pi/harnesses/tool-counter/index.ts +100 -0
  94. package/.versions/0.3.2/.pi/harnesses/tool-counter/package.json +6 -0
  95. package/.versions/0.3.2/.pi/harnesses/tool-counter-widget/README.md +27 -0
  96. package/.versions/0.3.2/.pi/harnesses/tool-counter-widget/index.ts +66 -0
  97. package/.versions/0.3.2/.pi/harnesses/tool-counter-widget/package.json +6 -0
  98. package/.versions/0.3.2/.pi/prompts/build.md +24 -0
  99. package/.versions/0.3.2/.pi/prompts/code-simplify.md +22 -0
  100. package/.versions/0.3.2/.pi/prompts/doctor-agent-skills.md +13 -0
  101. package/.versions/0.3.2/.pi/prompts/plan.md +16 -0
  102. package/.versions/0.3.2/.pi/prompts/review.md +16 -0
  103. package/.versions/0.3.2/.pi/prompts/setup-agent-skills.md +19 -0
  104. package/.versions/0.3.2/.pi/prompts/ship.md +17 -0
  105. package/.versions/0.3.2/.pi/prompts/spec.md +15 -0
  106. package/.versions/0.3.2/.pi/prompts/test.md +19 -0
  107. package/.versions/0.3.2/.pi/skills/bowser/SKILL.md +114 -0
  108. package/.versions/0.3.2/.version +1 -0
  109. package/.versions/0.3.2/agents/builder.md +6 -0
  110. package/.versions/0.3.2/agents/code-reviewer.md +93 -0
  111. package/.versions/0.3.2/agents/documenter.md +6 -0
  112. package/.versions/0.3.2/agents/plan-reviewer.md +22 -0
  113. package/.versions/0.3.2/agents/planner.md +6 -0
  114. package/.versions/0.3.2/agents/scout.md +6 -0
  115. package/.versions/0.3.2/agents/security-auditor.md +97 -0
  116. package/.versions/0.3.2/agents/test-engineer.md +89 -0
  117. package/.versions/0.3.2/hooks/SIMPLIFY-IGNORE.md +90 -0
  118. package/.versions/0.3.2/hooks/hooks.json +14 -0
  119. package/.versions/0.3.2/hooks/session-start.sh +74 -0
  120. package/.versions/0.3.2/hooks/simplify-ignore-test.sh +247 -0
  121. package/.versions/0.3.2/hooks/simplify-ignore.sh +302 -0
  122. package/.versions/0.3.2/references/accessibility-checklist.md +159 -0
  123. package/.versions/0.3.2/references/performance-checklist.md +121 -0
  124. package/.versions/0.3.2/references/prompting-patterns.md +380 -0
  125. package/.versions/0.3.2/references/security-checklist.md +134 -0
  126. package/.versions/0.3.2/references/testing-patterns.md +236 -0
  127. package/.versions/0.3.2/skills/api-and-interface-design/SKILL.md +294 -0
  128. package/.versions/0.3.2/skills/browser-testing-with-devtools/SKILL.md +335 -0
  129. package/.versions/0.3.2/skills/ci-cd-and-automation/SKILL.md +390 -0
  130. package/.versions/0.3.2/skills/code-review-and-quality/SKILL.md +347 -0
  131. package/.versions/0.3.2/skills/code-simplification/SKILL.md +331 -0
  132. package/.versions/0.3.2/skills/context-engineering/SKILL.md +291 -0
  133. package/.versions/0.3.2/skills/debugging-and-error-recovery/SKILL.md +300 -0
  134. package/.versions/0.3.2/skills/deprecation-and-migration/SKILL.md +206 -0
  135. package/.versions/0.3.2/skills/designing-agents/SKILL.md +394 -0
  136. package/.versions/0.3.2/skills/designing-agents/pi-harness-authoring.md +213 -0
  137. package/.versions/0.3.2/skills/documentation-and-adrs/SKILL.md +278 -0
  138. package/.versions/0.3.2/skills/frontend-ui-engineering/SKILL.md +322 -0
  139. package/.versions/0.3.2/skills/git-workflow-and-versioning/SKILL.md +316 -0
  140. package/.versions/0.3.2/skills/guided-workspace-setup/SKILL.md +345 -0
  141. package/.versions/0.3.2/skills/idea-refine/SKILL.md +178 -0
  142. package/.versions/0.3.2/skills/idea-refine/examples.md +238 -0
  143. package/.versions/0.3.2/skills/idea-refine/frameworks.md +99 -0
  144. package/.versions/0.3.2/skills/idea-refine/refinement-criteria.md +113 -0
  145. package/.versions/0.3.2/skills/idea-refine/scripts/idea-refine.sh +15 -0
  146. package/.versions/0.3.2/skills/incremental-implementation/SKILL.md +279 -0
  147. package/.versions/0.3.2/skills/performance-optimization/SKILL.md +350 -0
  148. package/.versions/0.3.2/skills/planning-and-task-breakdown/SKILL.md +237 -0
  149. package/.versions/0.3.2/skills/security-and-hardening/SKILL.md +349 -0
  150. package/.versions/0.3.2/skills/shipping-and-launch/SKILL.md +309 -0
  151. package/.versions/0.3.2/skills/source-driven-development/SKILL.md +194 -0
  152. package/.versions/0.3.2/skills/spec-driven-development/SKILL.md +237 -0
  153. package/.versions/0.3.2/skills/test-driven-development/SKILL.md +379 -0
  154. package/.versions/0.3.2/skills/using-agent-skills/SKILL.md +176 -0
  155. package/.versions/0.3.3/.claude/commands/build.md +18 -0
  156. package/.versions/0.3.3/.claude/commands/code-simplify.md +22 -0
  157. package/.versions/0.3.3/.claude/commands/design-agent.md +14 -0
  158. package/.versions/0.3.3/.claude/commands/doctor-agent-skills.md +13 -0
  159. package/.versions/0.3.3/.claude/commands/plan.md +16 -0
  160. package/.versions/0.3.3/.claude/commands/prime.md +22 -0
  161. package/.versions/0.3.3/.claude/commands/review.md +16 -0
  162. package/.versions/0.3.3/.claude/commands/setup-agent-skills.md +19 -0
  163. package/.versions/0.3.3/.claude/commands/ship.md +17 -0
  164. package/.versions/0.3.3/.claude/commands/spec.md +15 -0
  165. package/.versions/0.3.3/.claude/commands/test.md +19 -0
  166. package/.versions/0.3.3/.opencode/commands/as-build.md +17 -0
  167. package/.versions/0.3.3/.opencode/commands/as-code-simplify.md +16 -0
  168. package/.versions/0.3.3/.opencode/commands/as-design-agent.md +15 -0
  169. package/.versions/0.3.3/.opencode/commands/as-doctor-agent-skills.md +11 -0
  170. package/.versions/0.3.3/.opencode/commands/as-plan.md +16 -0
  171. package/.versions/0.3.3/.opencode/commands/as-prime.md +22 -0
  172. package/.versions/0.3.3/.opencode/commands/as-review.md +15 -0
  173. package/.versions/0.3.3/.opencode/commands/as-setup-agent-skills.md +11 -0
  174. package/.versions/0.3.3/.opencode/commands/as-ship.md +16 -0
  175. package/.versions/0.3.3/.opencode/commands/as-spec.md +16 -0
  176. package/.versions/0.3.3/.opencode/commands/as-test.md +21 -0
  177. package/.versions/0.3.3/.pi/agents/agent-chain.yaml +49 -0
  178. package/.versions/0.3.3/.pi/agents/bowser.md +19 -0
  179. package/.versions/0.3.3/.pi/agents/pi-pi/agent-expert.md +98 -0
  180. package/.versions/0.3.3/.pi/agents/pi-pi/cli-expert.md +41 -0
  181. package/.versions/0.3.3/.pi/agents/pi-pi/config-expert.md +63 -0
  182. package/.versions/0.3.3/.pi/agents/pi-pi/ext-expert.md +43 -0
  183. package/.versions/0.3.3/.pi/agents/pi-pi/keybinding-expert.md +134 -0
  184. package/.versions/0.3.3/.pi/agents/pi-pi/pi-orchestrator.md +57 -0
  185. package/.versions/0.3.3/.pi/agents/pi-pi/prompt-expert.md +70 -0
  186. package/.versions/0.3.3/.pi/agents/pi-pi/skill-expert.md +42 -0
  187. package/.versions/0.3.3/.pi/agents/pi-pi/theme-expert.md +40 -0
  188. package/.versions/0.3.3/.pi/agents/pi-pi/tui-expert.md +85 -0
  189. package/.versions/0.3.3/.pi/agents/teams.yaml +31 -0
  190. package/.versions/0.3.3/.pi/damage-control-rules.yaml +278 -0
  191. package/.versions/0.3.3/.pi/extensions/agent-skills-update-check/README.md +58 -0
  192. package/.versions/0.3.3/.pi/extensions/agent-skills-update-check/index.ts +161 -0
  193. package/.versions/0.3.3/.pi/extensions/agent-skills-update-check/package.json +6 -0
  194. package/.versions/0.3.3/.pi/extensions/chrome-devtools-mcp/README.md +39 -0
  195. package/.versions/0.3.3/.pi/extensions/chrome-devtools-mcp/index.ts +61 -0
  196. package/.versions/0.3.3/.pi/extensions/chrome-devtools-mcp/package.json +6 -0
  197. package/.versions/0.3.3/.pi/extensions/compact-and-continue/README.md +42 -0
  198. package/.versions/0.3.3/.pi/extensions/compact-and-continue/index.ts +120 -0
  199. package/.versions/0.3.3/.pi/extensions/compact-and-continue/package.json +6 -0
  200. package/.versions/0.3.3/.pi/extensions/mcp-bridge/README.md +46 -0
  201. package/.versions/0.3.3/.pi/extensions/mcp-bridge/index.ts +206 -0
  202. package/.versions/0.3.3/.pi/extensions/mcp-bridge/package.json +6 -0
  203. package/.versions/0.3.3/.pi/extensions/package-lock.json +1143 -0
  204. package/.versions/0.3.3/.pi/extensions/package.json +9 -0
  205. package/.versions/0.3.3/.pi/harnesses/agent-chain/README.md +37 -0
  206. package/.versions/0.3.3/.pi/harnesses/agent-chain/index.ts +795 -0
  207. package/.versions/0.3.3/.pi/harnesses/agent-chain/package.json +6 -0
  208. package/.versions/0.3.3/.pi/harnesses/agent-team/README.md +38 -0
  209. package/.versions/0.3.3/.pi/harnesses/agent-team/index.ts +732 -0
  210. package/.versions/0.3.3/.pi/harnesses/agent-team/package.json +6 -0
  211. package/.versions/0.3.3/.pi/harnesses/coms/README.md +36 -0
  212. package/.versions/0.3.3/.pi/harnesses/coms/index.ts +1595 -0
  213. package/.versions/0.3.3/.pi/harnesses/coms/package.json +6 -0
  214. package/.versions/0.3.3/.pi/harnesses/coms-net/README.md +46 -0
  215. package/.versions/0.3.3/.pi/harnesses/coms-net/index.ts +1637 -0
  216. package/.versions/0.3.3/.pi/harnesses/coms-net/package.json +6 -0
  217. package/.versions/0.3.3/.pi/harnesses/damage-control/README.md +38 -0
  218. package/.versions/0.3.3/.pi/harnesses/damage-control/index.ts +207 -0
  219. package/.versions/0.3.3/.pi/harnesses/damage-control/package.json +6 -0
  220. package/.versions/0.3.3/.pi/harnesses/damage-control-continue/README.md +37 -0
  221. package/.versions/0.3.3/.pi/harnesses/damage-control-continue/index.ts +234 -0
  222. package/.versions/0.3.3/.pi/harnesses/damage-control-continue/package.json +6 -0
  223. package/.versions/0.3.3/.pi/harnesses/minimal/README.md +27 -0
  224. package/.versions/0.3.3/.pi/harnesses/minimal/index.ts +32 -0
  225. package/.versions/0.3.3/.pi/harnesses/minimal/package.json +6 -0
  226. package/.versions/0.3.3/.pi/harnesses/package-lock.json +35 -0
  227. package/.versions/0.3.3/.pi/harnesses/package.json +9 -0
  228. package/.versions/0.3.3/.pi/harnesses/pi-pi/README.md +39 -0
  229. package/.versions/0.3.3/.pi/harnesses/pi-pi/index.ts +631 -0
  230. package/.versions/0.3.3/.pi/harnesses/pi-pi/package.json +6 -0
  231. package/.versions/0.3.3/.pi/harnesses/purpose-gate/README.md +27 -0
  232. package/.versions/0.3.3/.pi/harnesses/purpose-gate/index.ts +82 -0
  233. package/.versions/0.3.3/.pi/harnesses/purpose-gate/package.json +6 -0
  234. package/.versions/0.3.3/.pi/harnesses/session-replay/README.md +28 -0
  235. package/.versions/0.3.3/.pi/harnesses/session-replay/index.ts +214 -0
  236. package/.versions/0.3.3/.pi/harnesses/session-replay/package.json +6 -0
  237. package/.versions/0.3.3/.pi/harnesses/subagent-widget/README.md +36 -0
  238. package/.versions/0.3.3/.pi/harnesses/subagent-widget/index.ts +479 -0
  239. package/.versions/0.3.3/.pi/harnesses/subagent-widget/package.json +6 -0
  240. package/.versions/0.3.3/.pi/harnesses/system-select/README.md +39 -0
  241. package/.versions/0.3.3/.pi/harnesses/system-select/index.ts +165 -0
  242. package/.versions/0.3.3/.pi/harnesses/system-select/package.json +6 -0
  243. package/.versions/0.3.3/.pi/harnesses/tilldone/README.md +35 -0
  244. package/.versions/0.3.3/.pi/harnesses/tilldone/index.ts +724 -0
  245. package/.versions/0.3.3/.pi/harnesses/tilldone/package.json +6 -0
  246. package/.versions/0.3.3/.pi/harnesses/tool-counter/README.md +31 -0
  247. package/.versions/0.3.3/.pi/harnesses/tool-counter/index.ts +100 -0
  248. package/.versions/0.3.3/.pi/harnesses/tool-counter/package.json +6 -0
  249. package/.versions/0.3.3/.pi/harnesses/tool-counter-widget/README.md +27 -0
  250. package/.versions/0.3.3/.pi/harnesses/tool-counter-widget/index.ts +66 -0
  251. package/.versions/0.3.3/.pi/harnesses/tool-counter-widget/package.json +6 -0
  252. package/.versions/0.3.3/.pi/prompts/build.md +24 -0
  253. package/.versions/0.3.3/.pi/prompts/code-simplify.md +22 -0
  254. package/.versions/0.3.3/.pi/prompts/doctor-agent-skills.md +13 -0
  255. package/.versions/0.3.3/.pi/prompts/plan.md +16 -0
  256. package/.versions/0.3.3/.pi/prompts/review.md +16 -0
  257. package/.versions/0.3.3/.pi/prompts/setup-agent-skills.md +19 -0
  258. package/.versions/0.3.3/.pi/prompts/ship.md +17 -0
  259. package/.versions/0.3.3/.pi/prompts/spec.md +15 -0
  260. package/.versions/0.3.3/.pi/prompts/test.md +19 -0
  261. package/.versions/0.3.3/.pi/skills/bowser/SKILL.md +114 -0
  262. package/.versions/0.3.3/.version +1 -0
  263. package/.versions/0.3.3/agents/builder.md +6 -0
  264. package/.versions/0.3.3/agents/code-reviewer.md +93 -0
  265. package/.versions/0.3.3/agents/documenter.md +6 -0
  266. package/.versions/0.3.3/agents/plan-reviewer.md +22 -0
  267. package/.versions/0.3.3/agents/planner.md +6 -0
  268. package/.versions/0.3.3/agents/scout.md +6 -0
  269. package/.versions/0.3.3/agents/security-auditor.md +97 -0
  270. package/.versions/0.3.3/agents/test-engineer.md +89 -0
  271. package/.versions/0.3.3/hooks/SIMPLIFY-IGNORE.md +90 -0
  272. package/.versions/0.3.3/hooks/hooks.json +14 -0
  273. package/.versions/0.3.3/hooks/session-start.sh +74 -0
  274. package/.versions/0.3.3/hooks/simplify-ignore-test.sh +247 -0
  275. package/.versions/0.3.3/hooks/simplify-ignore.sh +302 -0
  276. package/.versions/0.3.3/references/accessibility-checklist.md +159 -0
  277. package/.versions/0.3.3/references/performance-checklist.md +121 -0
  278. package/.versions/0.3.3/references/prompting-patterns.md +380 -0
  279. package/.versions/0.3.3/references/security-checklist.md +134 -0
  280. package/.versions/0.3.3/references/testing-patterns.md +236 -0
  281. package/.versions/0.3.3/scripts/coms-net-server.ts +1741 -0
  282. package/.versions/0.3.3/skills/api-and-interface-design/SKILL.md +294 -0
  283. package/.versions/0.3.3/skills/browser-testing-with-devtools/SKILL.md +335 -0
  284. package/.versions/0.3.3/skills/ci-cd-and-automation/SKILL.md +390 -0
  285. package/.versions/0.3.3/skills/code-review-and-quality/SKILL.md +347 -0
  286. package/.versions/0.3.3/skills/code-simplification/SKILL.md +331 -0
  287. package/.versions/0.3.3/skills/context-engineering/SKILL.md +291 -0
  288. package/.versions/0.3.3/skills/debugging-and-error-recovery/SKILL.md +300 -0
  289. package/.versions/0.3.3/skills/deprecation-and-migration/SKILL.md +206 -0
  290. package/.versions/0.3.3/skills/designing-agents/SKILL.md +394 -0
  291. package/.versions/0.3.3/skills/designing-agents/pi-harness-authoring.md +213 -0
  292. package/.versions/0.3.3/skills/documentation-and-adrs/SKILL.md +278 -0
  293. package/.versions/0.3.3/skills/frontend-ui-engineering/SKILL.md +322 -0
  294. package/.versions/0.3.3/skills/git-workflow-and-versioning/SKILL.md +316 -0
  295. package/.versions/0.3.3/skills/guided-workspace-setup/SKILL.md +345 -0
  296. package/.versions/0.3.3/skills/idea-refine/SKILL.md +178 -0
  297. package/.versions/0.3.3/skills/idea-refine/examples.md +238 -0
  298. package/.versions/0.3.3/skills/idea-refine/frameworks.md +99 -0
  299. package/.versions/0.3.3/skills/idea-refine/refinement-criteria.md +113 -0
  300. package/.versions/0.3.3/skills/idea-refine/scripts/idea-refine.sh +15 -0
  301. package/.versions/0.3.3/skills/incremental-implementation/SKILL.md +279 -0
  302. package/.versions/0.3.3/skills/performance-optimization/SKILL.md +350 -0
  303. package/.versions/0.3.3/skills/planning-and-task-breakdown/SKILL.md +237 -0
  304. package/.versions/0.3.3/skills/security-and-hardening/SKILL.md +349 -0
  305. package/.versions/0.3.3/skills/shipping-and-launch/SKILL.md +309 -0
  306. package/.versions/0.3.3/skills/source-driven-development/SKILL.md +194 -0
  307. package/.versions/0.3.3/skills/spec-driven-development/SKILL.md +237 -0
  308. package/.versions/0.3.3/skills/test-driven-development/SKILL.md +379 -0
  309. package/.versions/0.3.3/skills/using-agent-skills/SKILL.md +176 -0
  310. package/CHANGELOG.md +53 -0
  311. package/bin/lib/bootstrap.js +56 -1
  312. package/bin/snapshot-version.js +8 -1
  313. package/docs/npm-install.md +30 -0
  314. package/package.json +2 -1
  315. package/scripts/coms-net-server.ts +1741 -0
  316. package/skills/guided-workspace-setup/SKILL.md +16 -2
@@ -0,0 +1,206 @@
1
+ ---
2
+ name: deprecation-and-migration
3
+ description: Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
4
+ ---
5
+
6
+ # Deprecation and Migration
7
+
8
+ ## Overview
9
+
10
+ Code is a liability, not an asset. Every line of code has ongoing maintenance cost — bugs to fix, dependencies to update, security patches to apply, and new engineers to onboard. Deprecation is the discipline of removing code that no longer earns its keep, and migration is the process of moving users safely from the old to the new.
11
+
12
+ Most engineering organizations are good at building things. Few are good at removing them. This skill addresses that gap.
13
+
14
+ ## When to Use
15
+
16
+ - Replacing an old system, API, or library with a new one
17
+ - Sunsetting a feature that's no longer needed
18
+ - Consolidating duplicate implementations
19
+ - Removing dead code that nobody owns but everybody depends on
20
+ - Planning the lifecycle of a new system (deprecation planning starts at design time)
21
+ - Deciding whether to maintain a legacy system or invest in migration
22
+
23
+ ## Core Principles
24
+
25
+ ### Code Is a Liability
26
+
27
+ Every line of code has ongoing cost: it needs tests, documentation, security patches, dependency updates, and mental overhead for anyone working nearby. The value of code is the functionality it provides, not the code itself. When the same functionality can be provided with less code, less complexity, or better abstractions — the old code should go.
28
+
29
+ ### Hyrum's Law Makes Removal Hard
30
+
31
+ With enough users, every observable behavior becomes depended on — including bugs, timing quirks, and undocumented side effects. This is why deprecation requires active migration, not just announcement. Users can't "just switch" when they depend on behaviors the replacement doesn't replicate.
32
+
33
+ ### Deprecation Planning Starts at Design Time
34
+
35
+ When building something new, ask: "How would we remove this in 3 years?" Systems designed with clean interfaces, feature flags, and minimal surface area are easier to deprecate than systems that leak implementation details everywhere.
36
+
37
+ ## The Deprecation Decision
38
+
39
+ Before deprecating anything, answer these questions:
40
+
41
+ ```
42
+ 1. Does this system still provide unique value?
43
+ → If yes, maintain it. If no, proceed.
44
+
45
+ 2. How many users/consumers depend on it?
46
+ → Quantify the migration scope.
47
+
48
+ 3. Does a replacement exist?
49
+ → If no, build the replacement first. Don't deprecate without an alternative.
50
+
51
+ 4. What's the migration cost for each consumer?
52
+ → If trivially automated, do it. If manual and high-effort, weigh against maintenance cost.
53
+
54
+ 5. What's the ongoing maintenance cost of NOT deprecating?
55
+ → Security risk, engineer time, opportunity cost of complexity.
56
+ ```
57
+
58
+ ## Compulsory vs Advisory Deprecation
59
+
60
+ | Type | When to Use | Mechanism |
61
+ |------|-------------|-----------|
62
+ | **Advisory** | Migration is optional, old system is stable | Warnings, documentation, nudges. Users migrate on their own timeline. |
63
+ | **Compulsory** | Old system has security issues, blocks progress, or maintenance cost is unsustainable | Hard deadline. Old system will be removed by date X. Provide migration tooling. |
64
+
65
+ **Default to advisory.** Use compulsory only when the maintenance cost or risk justifies forcing migration. Compulsory deprecation requires providing migration tooling, documentation, and support — you can't just announce a deadline.
66
+
67
+ ## The Migration Process
68
+
69
+ ### Step 1: Build the Replacement
70
+
71
+ Don't deprecate without a working alternative. The replacement must:
72
+
73
+ - Cover all critical use cases of the old system
74
+ - Have documentation and migration guides
75
+ - Be proven in production (not just "theoretically better")
76
+
77
+ ### Step 2: Announce and Document
78
+
79
+ ```markdown
80
+ ## Deprecation Notice: OldService
81
+
82
+ **Status:** Deprecated as of 2025-03-01
83
+ **Replacement:** NewService (see migration guide below)
84
+ **Removal date:** Advisory — no hard deadline yet
85
+ **Reason:** OldService requires manual scaling and lacks observability.
86
+ NewService handles both automatically.
87
+
88
+ ### Migration Guide
89
+ 1. Replace `import { client } from 'old-service'` with `import { client } from 'new-service'`
90
+ 2. Update configuration (see examples below)
91
+ 3. Run the migration verification script: `npx migrate-check`
92
+ ```
93
+
94
+ ### Step 3: Migrate Incrementally
95
+
96
+ Migrate consumers one at a time, not all at once. For each consumer:
97
+
98
+ ```
99
+ 1. Identify all touchpoints with the deprecated system
100
+ 2. Update to use the replacement
101
+ 3. Verify behavior matches (tests, integration checks)
102
+ 4. Remove references to the old system
103
+ 5. Confirm no regressions
104
+ ```
105
+
106
+ **The Churn Rule:** If you own the infrastructure being deprecated, you are responsible for migrating your users — or providing backward-compatible updates that require no migration. Don't announce deprecation and leave users to figure it out.
107
+
108
+ ### Step 4: Remove the Old System
109
+
110
+ Only after all consumers have migrated:
111
+
112
+ ```
113
+ 1. Verify zero active usage (metrics, logs, dependency analysis)
114
+ 2. Remove the code
115
+ 3. Remove associated tests, documentation, and configuration
116
+ 4. Remove the deprecation notices
117
+ 5. Celebrate — removing code is an achievement
118
+ ```
119
+
120
+ ## Migration Patterns
121
+
122
+ ### Strangler Pattern
123
+
124
+ Run old and new systems in parallel. Route traffic incrementally from old to new. When the old system handles 0% of traffic, remove it.
125
+
126
+ ```
127
+ Phase 1: New system handles 0%, old handles 100%
128
+ Phase 2: New system handles 10% (canary)
129
+ Phase 3: New system handles 50%
130
+ Phase 4: New system handles 100%, old system idle
131
+ Phase 5: Remove old system
132
+ ```
133
+
134
+ ### Adapter Pattern
135
+
136
+ Create an adapter that translates calls from the old interface to the new implementation. Consumers keep using the old interface while you migrate the backend.
137
+
138
+ ```typescript
139
+ // Adapter: old interface, new implementation
140
+ class LegacyTaskService implements OldTaskAPI {
141
+ constructor(private newService: NewTaskService) {}
142
+
143
+ // Old method signature, delegates to new implementation
144
+ getTask(id: number): OldTask {
145
+ const task = this.newService.findById(String(id));
146
+ return this.toOldFormat(task);
147
+ }
148
+ }
149
+ ```
150
+
151
+ ### Feature Flag Migration
152
+
153
+ Use feature flags to switch consumers from old to new system one at a time:
154
+
155
+ ```typescript
156
+ function getTaskService(userId: string): TaskService {
157
+ if (featureFlags.isEnabled('new-task-service', { userId })) {
158
+ return new NewTaskService();
159
+ }
160
+ return new LegacyTaskService();
161
+ }
162
+ ```
163
+
164
+ ## Zombie Code
165
+
166
+ Zombie code is code that nobody owns but everybody depends on. It's not actively maintained, has no clear owner, and accumulates security vulnerabilities and compatibility issues. Signs:
167
+
168
+ - No commits in 6+ months but active consumers exist
169
+ - No assigned maintainer or team
170
+ - Failing tests that nobody fixes
171
+ - Dependencies with known vulnerabilities that nobody updates
172
+ - Documentation that references systems that no longer exist
173
+
174
+ **Response:** Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan. Zombie code cannot stay in limbo — it either gets investment or removal.
175
+
176
+ ## Common Rationalizations
177
+
178
+ | Rationalization | Reality |
179
+ |---|---|
180
+ | "It still works, why remove it?" | Working code that nobody maintains accumulates security debt and complexity. Maintenance cost grows silently. |
181
+ | "Someone might need it later" | If it's needed later, it can be rebuilt. Keeping unused code "just in case" costs more than rebuilding. |
182
+ | "The migration is too expensive" | Compare migration cost to ongoing maintenance cost over 2-3 years. Migration is usually cheaper long-term. |
183
+ | "We'll deprecate it after we finish the new system" | Deprecation planning starts at design time. By the time the new system is done, you'll have new priorities. Plan now. |
184
+ | "Users will migrate on their own" | They won't. Provide tooling, documentation, and incentives — or do the migration yourself (the Churn Rule). |
185
+ | "We can maintain both systems indefinitely" | Two systems doing the same thing is double the maintenance, testing, documentation, and onboarding cost. |
186
+
187
+ ## Red Flags
188
+
189
+ - Deprecated systems with no replacement available
190
+ - Deprecation announcements with no migration tooling or documentation
191
+ - "Soft" deprecation that's been advisory for years with no progress
192
+ - Zombie code with no owner and active consumers
193
+ - New features added to a deprecated system (invest in the replacement instead)
194
+ - Deprecation without measuring current usage
195
+ - Removing code without verifying zero active consumers
196
+
197
+ ## Verification
198
+
199
+ After completing a deprecation:
200
+
201
+ - [ ] Replacement is production-proven and covers all critical use cases
202
+ - [ ] Migration guide exists with concrete steps and examples
203
+ - [ ] All active consumers have been migrated (verified by metrics/logs)
204
+ - [ ] Old code, tests, documentation, and configuration are fully removed
205
+ - [ ] No references to the deprecated system remain in the codebase
206
+ - [ ] Deprecation notices are removed (they served their purpose)
@@ -0,0 +1,394 @@
1
+ ---
2
+ name: designing-agents
3
+ description: Designs and writes a focused artifact another agent runs — an agent persona in agents/, a workflow skill in skills/, or a pi session harness in .pi/harnesses/. Use when authoring a reviewer or specialist persona, a repeatable process skill, or a pi extension that reshapes a session — or when rewriting one that is under-specified, overlapping, or being ignored.
4
+ ---
5
+
6
+ # Designing Agents
7
+
8
+ ## Overview
9
+
10
+ This repo has three kinds of artifacts that shape how an agent works. Each is authored, versioned, and invoked deliberately:
11
+
12
+ - **Agent personas** live in `agents/<name>.md`. They define a *role* another agent adopts when it needs specialized review, audit, or analysis. Example: `code-reviewer`, `security-auditor`, `test-engineer`.
13
+ - **Skills** live in `skills/<name>/SKILL.md`. They define a *workflow* — a repeatable process with gated steps, anti-rationalization guardrails, and verification. Example: `spec-driven-development`, `test-driven-development`, `context-engineering`.
14
+ - **pi harnesses** live in `.pi/harnesses/<name>/`. They define a *session environment* — a TypeScript pi extension that reshapes the whole session: replacing the footer, gating tool calls, registering new tools or commands, or orchestrating sub-agents. Example: `minimal`, `tilldone`, `damage-control`, `agent-team`.
15
+
16
+ Personas and skills are prose that change an agent's *judgment*. A harness is code that changes the agent's *environment* — what it can do and what it sees. All three fail the same way: a persona that reads like general advice gets cited but ignored; a skill that skips its guardrails becomes a suggestion; a harness built without studying the existing ones collides with pi's auto-discovery or fights another extension. This skill is the workflow for authoring any of the three so the result measurably changes behavior.
17
+
18
+ ## When to Use
19
+
20
+ - Creating a new persona file in `agents/` (reviewer, auditor, domain specialist)
21
+ - Creating a new skill directory in `skills/` (a process, checklist, or workflow)
22
+ - Creating a new pi harness in `.pi/harnesses/` (a footer, focus gate, safety check, orchestrator, or messaging layer)
23
+ - An existing persona, skill, or harness is vague, overlaps another, or is being ignored in practice
24
+ - A recurring review, workflow, or session-shaping need has emerged and deserves its own artifact
25
+ - Rewriting an older artifact to align with current writing standards
26
+
27
+ **NOT for:**
28
+ - One-off prompts — just write the instruction inline.
29
+ - Claude Code `.claude/agents/` sub-agents — those use a different frontmatter (`tools`, `model`, `color`). The persona workflow in this skill still applies; only the frontmatter shape differs.
30
+ - Reference material (long checklists, pattern catalogs) — those belong in `references/`, not in skills or personas.
31
+ - An always-on pi *utility* extension under `.pi/extensions/` — this skill covers the selectable, mutually-exclusive *harnesses* under `.pi/harnesses/`. Adding an auto-discovered utility is a different decision; see `docs/pi-extensions.md`.
32
+
33
+ ## The Workflow
34
+
35
+ This workflow is abstracted from the three reference personas (`agents/code-reviewer.md`, `agents/security-auditor.md`, `agents/test-engineer.md`), from `docs/skill-anatomy.md`, and from the 15 ported harnesses under `.pi/harnesses/` (catalogued in `docs/pi-extensions.md`). Do not advance to the next step until the current one is settled.
36
+
37
+ ### 1. Choose the target type
38
+
39
+ Ask: is this a *role* the agent should adopt, a *process* it should follow, or an *environment* it should run inside?
40
+
41
+ | Target | Choose when | Output |
42
+ |---|---|---|
43
+ | Persona | The agent needs to evaluate or review through a specific lens (correctness, security, test strategy, accessibility, migration safety…) | `agents/<name>.md` |
44
+ | Skill | The agent needs to follow a repeatable process with gated steps, verification, and anti-rationalization guards | `skills/<name>/SKILL.md` |
45
+ | pi harness | The session itself must change — footer, status, a blocking gate on tool calls, a new tool or `/command`, or sub-agent orchestration | `.pi/harnesses/<name>/` (a directory) |
46
+
47
+ If more than one applies, split them: a harness can *enforce* a workflow that a skill *describes*, and a persona can supply the lens. Do not merge the formats — each has its own structure and verification.
48
+
49
+ ### 2. Clarify intent
50
+
51
+ Ask the requester for:
52
+ - **One-sentence purpose** — what does this artifact do that a general agent cannot?
53
+ - **Primary tasks or steps** — 2-4 concrete things it will be invoked to do.
54
+ - **Explicit non-goals** — what it should refuse or redirect.
55
+ - **Invocation trigger** — when should the calling agent delegate to this vs. handle the task itself? For a harness: how is it launched, and does it stack with another harness?
56
+
57
+ Do not proceed until the one-sentence purpose is locked. If the requester cannot state it in one sentence, the artifact is not ready to exist yet.
58
+
59
+ ### 3. Scan for overlap
60
+
61
+ Read every existing artifact of the target type:
62
+ - For a persona: every file under `agents/`.
63
+ - For a skill: every `skills/*/SKILL.md` (start with the Quick Reference table in `skills/using-agent-skills/SKILL.md`).
64
+ - For a harness: the catalog table in `docs/pi-extensions.md`, then the `README.md` of each `.pi/harnesses/*` that looks close.
65
+
66
+ If the new artifact overlaps an existing one by more than ~30% (same scope, same output, same session surface), choose one of:
67
+ - **Extend** the existing artifact
68
+ - **Tighten scope** so the new artifact covers ground the existing one does not
69
+ - **Abandon** the new artifact — duplication is worse than absence
70
+
71
+ Two personas covering similar ground produce inconsistent reviews. Two skills produce conflicting advice. Two harnesses that both replace the footer, or both register the same CLI flag, collide at load time.
72
+
73
+ ### 4. Pick a kebab-case name
74
+
75
+ Follow the existing pattern:
76
+ - **Persona**: `<role>` or `<role>-<specialty>` (`code-reviewer`, `security-auditor`, `accessibility-reviewer`)
77
+ - **Skill**: verb-phrase or noun-phrase describing the process (`spec-driven-development`, `context-engineering`, `planning-and-task-breakdown`)
78
+ - **Harness**: short noun describing the session surface (`minimal`, `tilldone`, `damage-control`, `agent-team`)
79
+ - Bad for any: `helper`, `assistant`, `smart-agent`, `codeReviewer`
80
+
81
+ The name must match across: the directory/file name, the frontmatter or `package.json` `name`, and the H1 title (persona/skill) or README H1 (harness).
82
+
83
+ ### 5. Write the discovery surface
84
+
85
+ How the artifact is found and delegated to.
86
+
87
+ **Personas & skills** — the frontmatter `description`. Action-oriented; says *when*, not *how*.
88
+ - Persona structure: `<Role noun> <that does what>. Use for <concrete trigger>.`
89
+ - Good: `Senior code reviewer that evaluates changes across five dimensions — correctness, readability, architecture, security, and performance. Use for thorough code review before merge.`
90
+ - Skill structure: `<Verb phrase describing what the skill does>. Use when <specific trigger conditions>.`
91
+ - Good: `Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear, ambiguous, or only exist as a vague idea.`
92
+
93
+ **Harnesses** — a harness has no frontmatter. Its discovery surface is the `README.md` (H1 matching the directory name, a one-line subtitle, a "What it does" section) plus the catalog row in `docs/pi-extensions.md`. That row is what an agent actually scans — write it as `| name | Category | one-line what-it-does | run command |`.
94
+
95
+ **Bad for any** (avoid):
96
+ - Starts with "Helps with…" or "Assists in…" — vague, not delegation-friendly.
97
+ - Summarizes the full workflow — the description says *when*, not *how*.
98
+ - Over 280 characters — gets truncated in discovery.
99
+
100
+ ### 6. Draft the body
101
+
102
+ This step branches by target type.
103
+
104
+ #### 6a. Persona body (four-block structure)
105
+
106
+ Used by every persona in `agents/`. See the Persona Template below.
107
+
108
+ ```markdown
109
+ # <Role Heading>
110
+
111
+ You are a <experienced | senior | staff> <role title> focused on <scope>. Your role is to <primary tasks>. <One-sentence differentiator — what you prioritize vs. what you ignore.>
112
+
113
+ ## <Framework / Review Dimensions / Approach>
114
+ <Numbered sections, each with 3-6 concrete questions this persona asks.>
115
+
116
+ ## Output Format
117
+ <Concrete markdown template showing how findings are reported.>
118
+
119
+ ## Rules
120
+ 1. <Non-negotiable behavior>
121
+ ```
122
+
123
+ #### 6b. Skill body (per `docs/skill-anatomy.md`)
124
+
125
+ Every skill in this repo follows the same section order. Do not invent new section names. See the Skill Template below.
126
+
127
+ ```markdown
128
+ # <Skill Title>
129
+
130
+ ## Overview
131
+ <One-two sentences on what the skill does and why it matters.>
132
+
133
+ ## When to Use
134
+ - <Triggering conditions>
135
+ - NOT for: <Exclusions>
136
+
137
+ ## The Workflow (or Core Process / Steps)
138
+ <Numbered steps or phases. Specific and actionable — run commands, not vague advice.>
139
+
140
+ ## Common Rationalizations
141
+ | Rationalization | Reality |
142
+ |---|---|
143
+ | <Excuse to skip a step> | <Factual rebuttal> |
144
+
145
+ ## Red Flags
146
+ - <Observable sign the skill is being violated>
147
+
148
+ ## Verification
149
+ - [ ] <Checklist of exit criteria with evidence requirements>
150
+ ```
151
+
152
+ Skills have one mandatory section personas don't: **Common Rationalizations**. This table is the anti-rationalization lever that prevents the agent from talking itself out of following the process. Personas don't need it because a persona is a lens, not a workflow with skippable steps.
153
+
154
+ #### 6c. Harness body (a TypeScript pi extension)
155
+
156
+ A harness is code, not prose. It is a directory with three files:
157
+
158
+ - `index.ts` — the extension: `export default function (pi: ExtensionAPI) { … }`
159
+ - `package.json` — four fields: `name`, `private: true`, `type: "module"`, `main: "index.ts"`
160
+ - `README.md` — the discovery surface (see step 5)
161
+
162
+ The `index.ts` hooks pi session events (`session_start`, `tool_call`, `agent_end`, `input`, `before_agent_start`, …) and may register tools, commands, footers, widgets, and status text. **Read `pi-harness-authoring.md` in this skill's directory before writing any harness** — it documents the `ExtensionAPI` surface, the directory anatomy, the `index.ts` and `README.md` templates, and which existing harness to copy the closest pattern from. Do not write a harness from memory of this section alone.
163
+
164
+ A harness also has wiring steps that personas and skills do not — step 9 covers them: a `just ext-<name>` recipe in the `justfile` and a row in the `docs/pi-extensions.md` catalog.
165
+
166
+ ### 7. Apply prompting-patterns
167
+
168
+ Before finalizing, read `references/prompting-patterns.md` and check the artifact against these sections. This applies to all three types — for a harness, to the prose it injects (system-prompt text, tool descriptions, block reasons), not the TypeScript itself.
169
+
170
+ - **§2.2** — Positive instructions, not prohibitions. Rewrite every "don't do X" as "do Y".
171
+ - **§2.3** — Explain *why* for any non-obvious rule. One short clause is enough.
172
+ - **§2.4** — Scan for contradictions. "Be thorough" + "be concise" must be resolved.
173
+ - **§2.5** — Remove ALL-CAPS and reward/punishment language ("CRITICAL", "you MUST", "never ever").
174
+ - **§3.1** — First sentence sets the role (persona) or the overview (skill). Make it specific, not generic.
175
+ - **§6.4** — Include anti-overengineering guards if the artifact produces or modifies code.
176
+
177
+ ### 8. Minimize surface area
178
+
179
+ Cut every sentence that does not change behavior. Read each rule and ask: "If I removed this, would an invocation of this artifact produce different output?" If no, remove it.
180
+
181
+ - A 90-line focused persona beats a 200-line comprehensive one.
182
+ - A 150-line focused skill beats a 300-line exhaustive one.
183
+ - A harness that does one thing beats one that does five — stack two harnesses instead of merging them.
184
+ - The comprehensive version gets skimmed and its rules get skipped.
185
+
186
+ ### 9. Write the file(s)
187
+
188
+ - Persona → `agents/<name>.md`.
189
+ - Skill → `skills/<name>/SKILL.md` (create the directory; supporting files only if the skill exceeds ~300 lines or needs separate reference material).
190
+ - Harness → `.pi/harnesses/<name>/` with `index.ts`, `package.json`, and `README.md`. Then add a `just ext-<name>` recipe to the `justfile` under the matching category header, add a catalog row to `docs/pi-extensions.md`, and add any new runtime dependency to `.pi/harnesses/package.json`. Never place a harness under `.pi/extensions/` — pi auto-discovers that directory and would load every harness at once.
191
+
192
+ ### 10. Verify
193
+
194
+ Walk the Verification section below. Use the shared checklist plus the target-specific checklist. Do not ship an artifact that fails any item.
195
+
196
+ ## Persona Template
197
+
198
+ Minimal skeleton — keep placeholders in angle brackets until the content is concrete.
199
+
200
+ ```markdown
201
+ ---
202
+ name: <kebab-case-name>
203
+ description: <Role noun> that <what it does>. Use for <concrete trigger>.
204
+ ---
205
+
206
+ # <Role Title>
207
+
208
+ You are a <seniority level> <role> focused on <narrow scope>. Your role is to <2-3 primary tasks>. <What you prioritize vs. what you intentionally ignore.>
209
+
210
+ ## <Framework Section Title>
211
+
212
+ ### 1. <Dimension>
213
+ - <Concrete question>
214
+ - <Concrete question>
215
+
216
+ ### 2. <Dimension>
217
+ - <Concrete question>
218
+
219
+ ### 3. <Dimension>
220
+ - <Concrete question>
221
+
222
+ ## <Severity or Classification — if applicable>
223
+
224
+ | Severity | Criteria | Action |
225
+ |---|---|---|
226
+ | Critical | <What makes it critical> | <Required response> |
227
+ | Important | <What makes it important> | <Required response> |
228
+ | Suggestion | <What makes it optional> | <Required response> |
229
+
230
+ ## Output Format
231
+
232
+ \`\`\`markdown
233
+ ## <Report Title>
234
+
235
+ **Verdict:** <APPROVE | REQUEST CHANGES | whatever fits>
236
+
237
+ ### <Category 1>
238
+ - [file:line] <Finding and recommendation>
239
+
240
+ ### <Category 2>
241
+ - [file:line] <Finding and recommendation>
242
+
243
+ ### What's Done Well
244
+ - <At least one positive observation>
245
+ \`\`\`
246
+
247
+ ## Rules
248
+
249
+ 1. <Behavior this persona must always follow>
250
+ 2. <Behavior this persona must always follow>
251
+ 3. <Behavior this persona must always follow>
252
+ ```
253
+
254
+ ## Skill Template
255
+
256
+ Minimal skeleton — the canonical format is documented in `docs/skill-anatomy.md`; do not deviate from its section order.
257
+
258
+ ```markdown
259
+ ---
260
+ name: <kebab-case-name>
261
+ description: <What the skill does>. Use when <specific trigger conditions, ideally 2-4 clauses>.
262
+ ---
263
+
264
+ # <Skill Title>
265
+
266
+ ## Overview
267
+ <One-two sentences: what does this skill do, and why does it matter?>
268
+
269
+ ## When to Use
270
+ - <Triggering condition>
271
+ - <Triggering condition>
272
+
273
+ **NOT for:** <Clear exclusion so the skill isn't over-triggered.>
274
+
275
+ ## The Workflow
276
+
277
+ ### 1. <First step>
278
+ <Specific, actionable. Include commands or concrete questions. No vague advice.>
279
+
280
+ ### 2. <Second step>
281
+ <...>
282
+
283
+ ### 3. <Third step>
284
+ <...>
285
+
286
+ ## Common Rationalizations
287
+
288
+ | Rationalization | Reality |
289
+ |---|---|
290
+ | "<Excuse an agent might use to skip a step>" | <Factual rebuttal grounded in why the step exists> |
291
+ | "<Another excuse>" | <Another rebuttal> |
292
+
293
+ ## Red Flags
294
+
295
+ - <Observable sign the skill is being violated>
296
+ - <Observable sign the skill is being violated>
297
+
298
+ ## Verification
299
+
300
+ After completing the workflow, confirm:
301
+
302
+ - [ ] <Exit criterion with evidence requirement>
303
+ - [ ] <Exit criterion with evidence requirement>
304
+ - [ ] <Exit criterion with evidence requirement>
305
+ ```
306
+
307
+ ## Harness Structure
308
+
309
+ A harness is a directory, not a single file. The `ExtensionAPI` surface, the `index.ts` skeleton, the `package.json` shape, the `README.md` template, and the `justfile` / catalog wiring are all in `pi-harness-authoring.md` alongside this skill — that file is the harness equivalent of `docs/skill-anatomy.md`. Do not start a harness without reading it; copy the closest existing harness it points you to rather than writing `index.ts` from memory.
310
+
311
+ ## Common Rationalizations
312
+
313
+ | Rationalization | Reality |
314
+ |---|---|
315
+ | "I'll make it general-purpose so it's reusable everywhere" | General artifacts get cited but never change behavior. Narrow scope creates measurable change. Scope is a feature, not a limit. |
316
+ | "I'll skip the Output Format section — the agent will figure it out" (persona) | Without a template, outputs drift across invocations and become uncomparable. Reviewers cannot triage findings that don't share a shape. |
317
+ | "I'll skip the Common Rationalizations table — the steps are obvious" (skill) | Every step that gets skipped had an excuse attached. The table is the only place in the skill that directly blocks those excuses. Skipping it is how skills become suggestions. |
318
+ | "I'll skip the Verification checklist — the user will know when it's done" (skill) | Without evidence requirements, 'seems right' becomes the completion signal. The checklist is what forces proof. |
319
+ | "I'll drop the harness in `.pi/extensions/` so it loads automatically" | pi auto-discovers `.pi/extensions/` and loads everything there at once. Harnesses are mutually exclusive — footers fight, duplicate CLI flags abort startup. Harnesses live in `.pi/harnesses/` and load one at a time. |
320
+ | "I'll write the harness `index.ts` from memory — I've seen the pattern" | The `ExtensionAPI` surface is specific and unforgiving; a misspelled event name fails silently. Read `pi-harness-authoring.md` and copy the closest existing harness. |
321
+ | "I'll skip the harness README and catalog row — `index.ts` is the real artifact" | A harness with no row in `docs/pi-extensions.md` is undiscoverable; no agent will load it. The README is its discovery surface — the same role frontmatter plays for a skill. |
322
+ | "I'll copy an existing artifact and tweak it" | For prose artifacts, copy-paste creates silent duplication and drift — read the existing files to learn the pattern, then write fresh. For a harness, copying the nearest `index.ts` *is* the recommended start; just rename it cleanly and cut what you don't use. |
323
+ | "I don't need to read prompting-patterns, I know how to write prompts" | Every author thinks this. The reference exists because recurring, measurable mistakes happen anyway. Spend 3 minutes skimming §2 and §6. |
324
+ | "I'll add every tool and capability — flexibility is good" | This repo's `agents/*.md` don't declare tools at all; scope creep happens through the prompt body. Skills and harnesses that try to cover many domains lose their force. Bloated artifacts get skimmed. |
325
+ | "The purpose is hard to state in one sentence because it covers a lot" | If you cannot state it in one sentence, the artifact covers too much. Split it or scope it down. |
326
+ | "I'll leave the rules/steps section light so the artifact can be flexible" | Empty Rules or vague steps become empty behavior. The specifics are what differentiate this artifact from a general agent. |
327
+ | "My skill is mostly reference material — I'll inline a 200-line checklist" | Reference material belongs in `references/`. Skills are workflows, not reference docs. Move the long content out and cite it. |
328
+
329
+ ## Red Flags
330
+
331
+ **Shared (all three types):**
332
+ - Description or README subtitle starts with "Helps with…" or "Assists in…" (vague, non-delegating).
333
+ - Uses ALL-CAPS or reward/punishment language in the body or injected prompt text.
334
+ - Name in frontmatter / `package.json`, filename (or directory), and H1 title do not all match.
335
+ - Overlaps more than ~30% with an existing artifact of the same type.
336
+ - First sentence is a generic "You are a helpful assistant that…" or "This skill helps you…".
337
+
338
+ **Persona-specific:**
339
+ - No Output Format section (no comparability across runs).
340
+ - Rules section is empty, contains only platitudes, or repeats content from the Framework section.
341
+ - File exceeds 150 lines — scope is probably too broad.
342
+
343
+ **Skill-specific:**
344
+ - No Common Rationalizations table, or the table contains rationalizations that are too generic to block real excuses.
345
+ - No Verification checklist, or checkboxes that cannot be verified with evidence.
346
+ - Steps are vague ("make sure the tests pass") instead of specific ("run `npm test` and verify exit code 0").
347
+ - Sections appear in a different order from `docs/skill-anatomy.md`.
348
+ - The skill is a reference catalog with no workflow — the body is bullets of facts, not steps.
349
+
350
+ **Harness-specific:**
351
+ - Placed under `.pi/extensions/` instead of `.pi/harnesses/` — it would load on every plain `pi` run and collide with other harnesses.
352
+ - No `README.md`, or no row added to the `docs/pi-extensions.md` catalog — the harness is undiscoverable.
353
+ - `index.ts` uses invented `ExtensionAPI` method or event names — written without reading `pi-harness-authoring.md` or studying an existing harness.
354
+ - Registers a footer, status, or CLI flag without checking whether a commonly-stacked harness (`minimal`) already owns it.
355
+ - No `just ext-<name>` recipe, so the harness can only be launched by typing the full `pi -e` path.
356
+
357
+ ## Verification
358
+
359
+ ### Shared checklist (all three types)
360
+
361
+ - [ ] Name is kebab-case and matches the file/directory, the `name` field (frontmatter or `package.json`), and the H1 title.
362
+ - [ ] The discovery surface (description, or README + catalog row) is action-oriented and ends with a concrete trigger.
363
+ - [ ] Cross-checked against `references/prompting-patterns.md` §2.2, §2.3, §2.4, §2.5, §3.1, §6.4 — no prohibitions, no contradictions, no ALL-CAPS, role/overview is specific.
364
+ - [ ] Scanned against existing files of the same type — no >30% overlap.
365
+ - [ ] Every sentence, if removed, would visibly change the artifact's behavior.
366
+
367
+ ### Persona-specific checklist
368
+
369
+ - [ ] File exists at `agents/<name>.md`.
370
+ - [ ] Body has: Role opening paragraph, Framework/Approach, Output Format, Rules.
371
+ - [ ] Output Format contains a concrete markdown template, not a description of one.
372
+ - [ ] If the persona classifies findings (Critical / High / etc.), the severity table is present with explicit criteria and required action.
373
+ - [ ] Under 150 lines total.
374
+
375
+ ### Skill-specific checklist
376
+
377
+ - [ ] File exists at `skills/<name>/SKILL.md`.
378
+ - [ ] Section order follows `docs/skill-anatomy.md`: Overview → When to Use → Workflow/Process → Common Rationalizations → Red Flags → Verification.
379
+ - [ ] `When to Use` includes at least one explicit **NOT for** exclusion.
380
+ - [ ] `Common Rationalizations` table has at least three rows, each blocking a specific excuse.
381
+ - [ ] `Verification` checklist has at least three items, each verifiable with evidence (command output, file existence, passing test).
382
+ - [ ] Steps are specific enough to execute (commands, concrete questions, file paths) — not vague advice.
383
+ - [ ] Under ~300 lines total; if longer, long reference material has been moved to `references/`.
384
+
385
+ ### Harness-specific checklist
386
+
387
+ - [ ] Directory exists at `.pi/harnesses/<name>/` with `index.ts`, `package.json`, and `README.md`.
388
+ - [ ] `package.json` has `name`, `private: true`, `type: "module"`, and `main: "index.ts"`.
389
+ - [ ] `index.ts` exports `default function (pi: ExtensionAPI)` and uses only real `ExtensionAPI` events and methods, cross-checked against `pi-harness-authoring.md` or an existing harness.
390
+ - [ ] `README.md` has an H1 matching the directory name, a one-line subtitle, and "What it does", "Commands & tools", and "Usage" sections.
391
+ - [ ] A `just ext-<name>` recipe is added to the `justfile` under the matching category header.
392
+ - [ ] A catalog row is added to the table in `docs/pi-extensions.md`.
393
+ - [ ] Any new runtime dependency is added to `.pi/harnesses/package.json`.
394
+ - [ ] `pi -e .pi/harnesses/<name>/index.ts` launches without error.