@chankov/agent-skills 0.1.0

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 (320) hide show
  1. package/.claude/commands/build.md +18 -0
  2. package/.claude/commands/code-simplify.md +22 -0
  3. package/.claude/commands/design-agent.md +14 -0
  4. package/.claude/commands/doctor.md +13 -0
  5. package/.claude/commands/plan.md +16 -0
  6. package/.claude/commands/prime.md +22 -0
  7. package/.claude/commands/review.md +16 -0
  8. package/.claude/commands/setup.md +19 -0
  9. package/.claude/commands/ship.md +17 -0
  10. package/.claude/commands/spec.md +15 -0
  11. package/.claude/commands/test.md +19 -0
  12. package/.opencode/commands/as-build.md +17 -0
  13. package/.opencode/commands/as-code-simplify.md +16 -0
  14. package/.opencode/commands/as-design-agent.md +15 -0
  15. package/.opencode/commands/as-doctor.md +11 -0
  16. package/.opencode/commands/as-plan.md +16 -0
  17. package/.opencode/commands/as-prime.md +22 -0
  18. package/.opencode/commands/as-review.md +15 -0
  19. package/.opencode/commands/as-setup.md +11 -0
  20. package/.opencode/commands/as-ship.md +16 -0
  21. package/.opencode/commands/as-spec.md +16 -0
  22. package/.opencode/commands/as-test.md +21 -0
  23. package/.pi/agents/agent-chain.yaml +49 -0
  24. package/.pi/agents/bowser.md +19 -0
  25. package/.pi/agents/pi-pi/agent-expert.md +98 -0
  26. package/.pi/agents/pi-pi/cli-expert.md +41 -0
  27. package/.pi/agents/pi-pi/config-expert.md +63 -0
  28. package/.pi/agents/pi-pi/ext-expert.md +43 -0
  29. package/.pi/agents/pi-pi/keybinding-expert.md +134 -0
  30. package/.pi/agents/pi-pi/pi-orchestrator.md +57 -0
  31. package/.pi/agents/pi-pi/prompt-expert.md +70 -0
  32. package/.pi/agents/pi-pi/skill-expert.md +42 -0
  33. package/.pi/agents/pi-pi/theme-expert.md +40 -0
  34. package/.pi/agents/pi-pi/tui-expert.md +85 -0
  35. package/.pi/agents/teams.yaml +31 -0
  36. package/.pi/damage-control-rules.yaml +278 -0
  37. package/.pi/extensions/chrome-devtools-mcp/README.md +39 -0
  38. package/.pi/extensions/chrome-devtools-mcp/index.ts +61 -0
  39. package/.pi/extensions/chrome-devtools-mcp/package.json +6 -0
  40. package/.pi/extensions/compact-and-continue/README.md +42 -0
  41. package/.pi/extensions/compact-and-continue/index.ts +120 -0
  42. package/.pi/extensions/compact-and-continue/package.json +6 -0
  43. package/.pi/extensions/mcp-bridge/README.md +46 -0
  44. package/.pi/extensions/mcp-bridge/index.ts +206 -0
  45. package/.pi/extensions/mcp-bridge/package.json +6 -0
  46. package/.pi/extensions/package-lock.json +1143 -0
  47. package/.pi/extensions/package.json +9 -0
  48. package/.pi/harnesses/agent-chain/README.md +37 -0
  49. package/.pi/harnesses/agent-chain/index.ts +795 -0
  50. package/.pi/harnesses/agent-chain/package.json +6 -0
  51. package/.pi/harnesses/agent-team/README.md +38 -0
  52. package/.pi/harnesses/agent-team/index.ts +732 -0
  53. package/.pi/harnesses/agent-team/package.json +6 -0
  54. package/.pi/harnesses/coms/README.md +36 -0
  55. package/.pi/harnesses/coms/index.ts +1595 -0
  56. package/.pi/harnesses/coms/package.json +6 -0
  57. package/.pi/harnesses/coms-net/README.md +46 -0
  58. package/.pi/harnesses/coms-net/index.ts +1637 -0
  59. package/.pi/harnesses/coms-net/package.json +6 -0
  60. package/.pi/harnesses/damage-control/README.md +38 -0
  61. package/.pi/harnesses/damage-control/index.ts +207 -0
  62. package/.pi/harnesses/damage-control/package.json +6 -0
  63. package/.pi/harnesses/damage-control-continue/README.md +37 -0
  64. package/.pi/harnesses/damage-control-continue/index.ts +234 -0
  65. package/.pi/harnesses/damage-control-continue/package.json +6 -0
  66. package/.pi/harnesses/minimal/README.md +27 -0
  67. package/.pi/harnesses/minimal/index.ts +32 -0
  68. package/.pi/harnesses/minimal/package.json +6 -0
  69. package/.pi/harnesses/package-lock.json +35 -0
  70. package/.pi/harnesses/package.json +9 -0
  71. package/.pi/harnesses/pi-pi/README.md +39 -0
  72. package/.pi/harnesses/pi-pi/index.ts +631 -0
  73. package/.pi/harnesses/pi-pi/package.json +6 -0
  74. package/.pi/harnesses/purpose-gate/README.md +27 -0
  75. package/.pi/harnesses/purpose-gate/index.ts +82 -0
  76. package/.pi/harnesses/purpose-gate/package.json +6 -0
  77. package/.pi/harnesses/session-replay/README.md +28 -0
  78. package/.pi/harnesses/session-replay/index.ts +214 -0
  79. package/.pi/harnesses/session-replay/package.json +6 -0
  80. package/.pi/harnesses/subagent-widget/README.md +36 -0
  81. package/.pi/harnesses/subagent-widget/index.ts +479 -0
  82. package/.pi/harnesses/subagent-widget/package.json +6 -0
  83. package/.pi/harnesses/system-select/README.md +39 -0
  84. package/.pi/harnesses/system-select/index.ts +165 -0
  85. package/.pi/harnesses/system-select/package.json +6 -0
  86. package/.pi/harnesses/tilldone/README.md +35 -0
  87. package/.pi/harnesses/tilldone/index.ts +724 -0
  88. package/.pi/harnesses/tilldone/package.json +6 -0
  89. package/.pi/harnesses/tool-counter/README.md +31 -0
  90. package/.pi/harnesses/tool-counter/index.ts +100 -0
  91. package/.pi/harnesses/tool-counter/package.json +6 -0
  92. package/.pi/harnesses/tool-counter-widget/README.md +27 -0
  93. package/.pi/harnesses/tool-counter-widget/index.ts +66 -0
  94. package/.pi/harnesses/tool-counter-widget/package.json +6 -0
  95. package/.pi/prompts/build.md +24 -0
  96. package/.pi/prompts/code-simplify.md +22 -0
  97. package/.pi/prompts/doctor.md +13 -0
  98. package/.pi/prompts/plan.md +16 -0
  99. package/.pi/prompts/review.md +16 -0
  100. package/.pi/prompts/setup.md +19 -0
  101. package/.pi/prompts/ship.md +17 -0
  102. package/.pi/prompts/spec.md +15 -0
  103. package/.pi/prompts/test.md +19 -0
  104. package/.pi/skills/bowser/SKILL.md +114 -0
  105. package/.versions/0.1.0/.claude/commands/build.md +18 -0
  106. package/.versions/0.1.0/.claude/commands/code-simplify.md +22 -0
  107. package/.versions/0.1.0/.claude/commands/design-agent.md +14 -0
  108. package/.versions/0.1.0/.claude/commands/doctor.md +13 -0
  109. package/.versions/0.1.0/.claude/commands/plan.md +16 -0
  110. package/.versions/0.1.0/.claude/commands/prime.md +22 -0
  111. package/.versions/0.1.0/.claude/commands/review.md +16 -0
  112. package/.versions/0.1.0/.claude/commands/setup.md +19 -0
  113. package/.versions/0.1.0/.claude/commands/ship.md +17 -0
  114. package/.versions/0.1.0/.claude/commands/spec.md +15 -0
  115. package/.versions/0.1.0/.claude/commands/test.md +19 -0
  116. package/.versions/0.1.0/.opencode/commands/as-build.md +17 -0
  117. package/.versions/0.1.0/.opencode/commands/as-code-simplify.md +16 -0
  118. package/.versions/0.1.0/.opencode/commands/as-design-agent.md +15 -0
  119. package/.versions/0.1.0/.opencode/commands/as-doctor.md +11 -0
  120. package/.versions/0.1.0/.opencode/commands/as-plan.md +16 -0
  121. package/.versions/0.1.0/.opencode/commands/as-prime.md +22 -0
  122. package/.versions/0.1.0/.opencode/commands/as-review.md +15 -0
  123. package/.versions/0.1.0/.opencode/commands/as-setup.md +11 -0
  124. package/.versions/0.1.0/.opencode/commands/as-ship.md +16 -0
  125. package/.versions/0.1.0/.opencode/commands/as-spec.md +16 -0
  126. package/.versions/0.1.0/.opencode/commands/as-test.md +21 -0
  127. package/.versions/0.1.0/.pi/agents/agent-chain.yaml +49 -0
  128. package/.versions/0.1.0/.pi/agents/bowser.md +19 -0
  129. package/.versions/0.1.0/.pi/agents/pi-pi/agent-expert.md +98 -0
  130. package/.versions/0.1.0/.pi/agents/pi-pi/cli-expert.md +41 -0
  131. package/.versions/0.1.0/.pi/agents/pi-pi/config-expert.md +63 -0
  132. package/.versions/0.1.0/.pi/agents/pi-pi/ext-expert.md +43 -0
  133. package/.versions/0.1.0/.pi/agents/pi-pi/keybinding-expert.md +134 -0
  134. package/.versions/0.1.0/.pi/agents/pi-pi/pi-orchestrator.md +57 -0
  135. package/.versions/0.1.0/.pi/agents/pi-pi/prompt-expert.md +70 -0
  136. package/.versions/0.1.0/.pi/agents/pi-pi/skill-expert.md +42 -0
  137. package/.versions/0.1.0/.pi/agents/pi-pi/theme-expert.md +40 -0
  138. package/.versions/0.1.0/.pi/agents/pi-pi/tui-expert.md +85 -0
  139. package/.versions/0.1.0/.pi/agents/teams.yaml +31 -0
  140. package/.versions/0.1.0/.pi/damage-control-rules.yaml +278 -0
  141. package/.versions/0.1.0/.pi/extensions/chrome-devtools-mcp/README.md +39 -0
  142. package/.versions/0.1.0/.pi/extensions/chrome-devtools-mcp/index.ts +61 -0
  143. package/.versions/0.1.0/.pi/extensions/chrome-devtools-mcp/package.json +6 -0
  144. package/.versions/0.1.0/.pi/extensions/compact-and-continue/README.md +42 -0
  145. package/.versions/0.1.0/.pi/extensions/compact-and-continue/index.ts +120 -0
  146. package/.versions/0.1.0/.pi/extensions/compact-and-continue/package.json +6 -0
  147. package/.versions/0.1.0/.pi/extensions/mcp-bridge/README.md +46 -0
  148. package/.versions/0.1.0/.pi/extensions/mcp-bridge/index.ts +206 -0
  149. package/.versions/0.1.0/.pi/extensions/mcp-bridge/package.json +6 -0
  150. package/.versions/0.1.0/.pi/extensions/package-lock.json +1143 -0
  151. package/.versions/0.1.0/.pi/extensions/package.json +9 -0
  152. package/.versions/0.1.0/.pi/harnesses/agent-chain/README.md +37 -0
  153. package/.versions/0.1.0/.pi/harnesses/agent-chain/index.ts +795 -0
  154. package/.versions/0.1.0/.pi/harnesses/agent-chain/package.json +6 -0
  155. package/.versions/0.1.0/.pi/harnesses/agent-team/README.md +38 -0
  156. package/.versions/0.1.0/.pi/harnesses/agent-team/index.ts +732 -0
  157. package/.versions/0.1.0/.pi/harnesses/agent-team/package.json +6 -0
  158. package/.versions/0.1.0/.pi/harnesses/coms/README.md +36 -0
  159. package/.versions/0.1.0/.pi/harnesses/coms/index.ts +1595 -0
  160. package/.versions/0.1.0/.pi/harnesses/coms/package.json +6 -0
  161. package/.versions/0.1.0/.pi/harnesses/coms-net/README.md +46 -0
  162. package/.versions/0.1.0/.pi/harnesses/coms-net/index.ts +1637 -0
  163. package/.versions/0.1.0/.pi/harnesses/coms-net/package.json +6 -0
  164. package/.versions/0.1.0/.pi/harnesses/damage-control/README.md +38 -0
  165. package/.versions/0.1.0/.pi/harnesses/damage-control/index.ts +207 -0
  166. package/.versions/0.1.0/.pi/harnesses/damage-control/package.json +6 -0
  167. package/.versions/0.1.0/.pi/harnesses/damage-control-continue/README.md +37 -0
  168. package/.versions/0.1.0/.pi/harnesses/damage-control-continue/index.ts +234 -0
  169. package/.versions/0.1.0/.pi/harnesses/damage-control-continue/package.json +6 -0
  170. package/.versions/0.1.0/.pi/harnesses/minimal/README.md +27 -0
  171. package/.versions/0.1.0/.pi/harnesses/minimal/index.ts +32 -0
  172. package/.versions/0.1.0/.pi/harnesses/minimal/package.json +6 -0
  173. package/.versions/0.1.0/.pi/harnesses/package-lock.json +35 -0
  174. package/.versions/0.1.0/.pi/harnesses/package.json +9 -0
  175. package/.versions/0.1.0/.pi/harnesses/pi-pi/README.md +39 -0
  176. package/.versions/0.1.0/.pi/harnesses/pi-pi/index.ts +631 -0
  177. package/.versions/0.1.0/.pi/harnesses/pi-pi/package.json +6 -0
  178. package/.versions/0.1.0/.pi/harnesses/purpose-gate/README.md +27 -0
  179. package/.versions/0.1.0/.pi/harnesses/purpose-gate/index.ts +82 -0
  180. package/.versions/0.1.0/.pi/harnesses/purpose-gate/package.json +6 -0
  181. package/.versions/0.1.0/.pi/harnesses/session-replay/README.md +28 -0
  182. package/.versions/0.1.0/.pi/harnesses/session-replay/index.ts +214 -0
  183. package/.versions/0.1.0/.pi/harnesses/session-replay/package.json +6 -0
  184. package/.versions/0.1.0/.pi/harnesses/subagent-widget/README.md +36 -0
  185. package/.versions/0.1.0/.pi/harnesses/subagent-widget/index.ts +479 -0
  186. package/.versions/0.1.0/.pi/harnesses/subagent-widget/package.json +6 -0
  187. package/.versions/0.1.0/.pi/harnesses/system-select/README.md +39 -0
  188. package/.versions/0.1.0/.pi/harnesses/system-select/index.ts +165 -0
  189. package/.versions/0.1.0/.pi/harnesses/system-select/package.json +6 -0
  190. package/.versions/0.1.0/.pi/harnesses/tilldone/README.md +35 -0
  191. package/.versions/0.1.0/.pi/harnesses/tilldone/index.ts +724 -0
  192. package/.versions/0.1.0/.pi/harnesses/tilldone/package.json +6 -0
  193. package/.versions/0.1.0/.pi/harnesses/tool-counter/README.md +31 -0
  194. package/.versions/0.1.0/.pi/harnesses/tool-counter/index.ts +100 -0
  195. package/.versions/0.1.0/.pi/harnesses/tool-counter/package.json +6 -0
  196. package/.versions/0.1.0/.pi/harnesses/tool-counter-widget/README.md +27 -0
  197. package/.versions/0.1.0/.pi/harnesses/tool-counter-widget/index.ts +66 -0
  198. package/.versions/0.1.0/.pi/harnesses/tool-counter-widget/package.json +6 -0
  199. package/.versions/0.1.0/.pi/prompts/build.md +24 -0
  200. package/.versions/0.1.0/.pi/prompts/code-simplify.md +22 -0
  201. package/.versions/0.1.0/.pi/prompts/doctor.md +13 -0
  202. package/.versions/0.1.0/.pi/prompts/plan.md +16 -0
  203. package/.versions/0.1.0/.pi/prompts/review.md +16 -0
  204. package/.versions/0.1.0/.pi/prompts/setup.md +19 -0
  205. package/.versions/0.1.0/.pi/prompts/ship.md +17 -0
  206. package/.versions/0.1.0/.pi/prompts/spec.md +15 -0
  207. package/.versions/0.1.0/.pi/prompts/test.md +19 -0
  208. package/.versions/0.1.0/.pi/skills/bowser/SKILL.md +114 -0
  209. package/.versions/0.1.0/.version +1 -0
  210. package/.versions/0.1.0/agents/builder.md +6 -0
  211. package/.versions/0.1.0/agents/code-reviewer.md +93 -0
  212. package/.versions/0.1.0/agents/documenter.md +6 -0
  213. package/.versions/0.1.0/agents/plan-reviewer.md +22 -0
  214. package/.versions/0.1.0/agents/planner.md +6 -0
  215. package/.versions/0.1.0/agents/scout.md +6 -0
  216. package/.versions/0.1.0/agents/security-auditor.md +97 -0
  217. package/.versions/0.1.0/agents/test-engineer.md +89 -0
  218. package/.versions/0.1.0/hooks/SIMPLIFY-IGNORE.md +90 -0
  219. package/.versions/0.1.0/hooks/hooks.json +14 -0
  220. package/.versions/0.1.0/hooks/session-start.sh +20 -0
  221. package/.versions/0.1.0/hooks/simplify-ignore-test.sh +247 -0
  222. package/.versions/0.1.0/hooks/simplify-ignore.sh +302 -0
  223. package/.versions/0.1.0/references/accessibility-checklist.md +159 -0
  224. package/.versions/0.1.0/references/performance-checklist.md +121 -0
  225. package/.versions/0.1.0/references/prompting-patterns.md +380 -0
  226. package/.versions/0.1.0/references/security-checklist.md +134 -0
  227. package/.versions/0.1.0/references/testing-patterns.md +236 -0
  228. package/.versions/0.1.0/skills/api-and-interface-design/SKILL.md +294 -0
  229. package/.versions/0.1.0/skills/browser-testing-with-devtools/SKILL.md +335 -0
  230. package/.versions/0.1.0/skills/ci-cd-and-automation/SKILL.md +390 -0
  231. package/.versions/0.1.0/skills/code-review-and-quality/SKILL.md +347 -0
  232. package/.versions/0.1.0/skills/code-simplification/SKILL.md +331 -0
  233. package/.versions/0.1.0/skills/context-engineering/SKILL.md +291 -0
  234. package/.versions/0.1.0/skills/debugging-and-error-recovery/SKILL.md +300 -0
  235. package/.versions/0.1.0/skills/deprecation-and-migration/SKILL.md +206 -0
  236. package/.versions/0.1.0/skills/designing-agents/SKILL.md +394 -0
  237. package/.versions/0.1.0/skills/designing-agents/pi-harness-authoring.md +213 -0
  238. package/.versions/0.1.0/skills/documentation-and-adrs/SKILL.md +278 -0
  239. package/.versions/0.1.0/skills/frontend-ui-engineering/SKILL.md +322 -0
  240. package/.versions/0.1.0/skills/git-workflow-and-versioning/SKILL.md +316 -0
  241. package/.versions/0.1.0/skills/guided-workspace-setup/SKILL.md +293 -0
  242. package/.versions/0.1.0/skills/idea-refine/SKILL.md +178 -0
  243. package/.versions/0.1.0/skills/idea-refine/examples.md +238 -0
  244. package/.versions/0.1.0/skills/idea-refine/frameworks.md +99 -0
  245. package/.versions/0.1.0/skills/idea-refine/refinement-criteria.md +113 -0
  246. package/.versions/0.1.0/skills/idea-refine/scripts/idea-refine.sh +15 -0
  247. package/.versions/0.1.0/skills/incremental-implementation/SKILL.md +279 -0
  248. package/.versions/0.1.0/skills/performance-optimization/SKILL.md +350 -0
  249. package/.versions/0.1.0/skills/planning-and-task-breakdown/SKILL.md +237 -0
  250. package/.versions/0.1.0/skills/security-and-hardening/SKILL.md +349 -0
  251. package/.versions/0.1.0/skills/shipping-and-launch/SKILL.md +309 -0
  252. package/.versions/0.1.0/skills/source-driven-development/SKILL.md +194 -0
  253. package/.versions/0.1.0/skills/spec-driven-development/SKILL.md +237 -0
  254. package/.versions/0.1.0/skills/test-driven-development/SKILL.md +379 -0
  255. package/.versions/0.1.0/skills/using-agent-skills/SKILL.md +176 -0
  256. package/CHANGELOG.md +14 -0
  257. package/LICENSE +21 -0
  258. package/README.md +359 -0
  259. package/agents/builder.md +6 -0
  260. package/agents/code-reviewer.md +93 -0
  261. package/agents/documenter.md +6 -0
  262. package/agents/plan-reviewer.md +22 -0
  263. package/agents/planner.md +6 -0
  264. package/agents/scout.md +6 -0
  265. package/agents/security-auditor.md +97 -0
  266. package/agents/test-engineer.md +89 -0
  267. package/bin/cli.js +375 -0
  268. package/bin/lib/detect-agent.js +37 -0
  269. package/bin/lib/doctor.js +209 -0
  270. package/bin/snapshot-version.js +71 -0
  271. package/docs/agent-skills-setup.md +187 -0
  272. package/docs/copilot-setup.md +94 -0
  273. package/docs/cursor-setup.md +67 -0
  274. package/docs/gemini-cli-setup.md +113 -0
  275. package/docs/getting-started.md +162 -0
  276. package/docs/npm-install.md +169 -0
  277. package/docs/opencode-setup.md +241 -0
  278. package/docs/pi-extensions.md +163 -0
  279. package/docs/pi-setup.md +416 -0
  280. package/docs/skill-anatomy.md +129 -0
  281. package/docs/windsurf-setup.md +48 -0
  282. package/hooks/SIMPLIFY-IGNORE.md +90 -0
  283. package/hooks/hooks.json +14 -0
  284. package/hooks/session-start.sh +20 -0
  285. package/hooks/simplify-ignore-test.sh +247 -0
  286. package/hooks/simplify-ignore.sh +302 -0
  287. package/package.json +86 -0
  288. package/references/accessibility-checklist.md +159 -0
  289. package/references/performance-checklist.md +121 -0
  290. package/references/prompting-patterns.md +380 -0
  291. package/references/security-checklist.md +134 -0
  292. package/references/testing-patterns.md +236 -0
  293. package/skills/api-and-interface-design/SKILL.md +294 -0
  294. package/skills/browser-testing-with-devtools/SKILL.md +335 -0
  295. package/skills/ci-cd-and-automation/SKILL.md +390 -0
  296. package/skills/code-review-and-quality/SKILL.md +347 -0
  297. package/skills/code-simplification/SKILL.md +331 -0
  298. package/skills/context-engineering/SKILL.md +291 -0
  299. package/skills/debugging-and-error-recovery/SKILL.md +300 -0
  300. package/skills/deprecation-and-migration/SKILL.md +206 -0
  301. package/skills/designing-agents/SKILL.md +394 -0
  302. package/skills/designing-agents/pi-harness-authoring.md +213 -0
  303. package/skills/documentation-and-adrs/SKILL.md +278 -0
  304. package/skills/frontend-ui-engineering/SKILL.md +322 -0
  305. package/skills/git-workflow-and-versioning/SKILL.md +316 -0
  306. package/skills/guided-workspace-setup/SKILL.md +293 -0
  307. package/skills/idea-refine/SKILL.md +178 -0
  308. package/skills/idea-refine/examples.md +238 -0
  309. package/skills/idea-refine/frameworks.md +99 -0
  310. package/skills/idea-refine/refinement-criteria.md +113 -0
  311. package/skills/idea-refine/scripts/idea-refine.sh +15 -0
  312. package/skills/incremental-implementation/SKILL.md +279 -0
  313. package/skills/performance-optimization/SKILL.md +350 -0
  314. package/skills/planning-and-task-breakdown/SKILL.md +237 -0
  315. package/skills/security-and-hardening/SKILL.md +349 -0
  316. package/skills/shipping-and-launch/SKILL.md +309 -0
  317. package/skills/source-driven-development/SKILL.md +194 -0
  318. package/skills/spec-driven-development/SKILL.md +237 -0
  319. package/skills/test-driven-development/SKILL.md +379 -0
  320. package/skills/using-agent-skills/SKILL.md +176 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "agent-skills-pi-tilldone",
3
+ "private": true,
4
+ "type": "module",
5
+ "main": "index.ts"
6
+ }
@@ -0,0 +1,31 @@
1
+ # tool-counter
2
+
3
+ Rich two-line custom footer.
4
+
5
+ > Ported from [`pi-vs-claude-code`](https://github.com/disler/pi-vs-claude-code) by [disler](https://github.com/disler) (MIT). See the [extension catalog](../../../docs/pi-extensions.md).
6
+
7
+ ## What it does
8
+
9
+ Replaces the pi footer with two information-dense lines:
10
+
11
+ - **Line 1** — model + context meter on the left; tokens in/out + cost on the right
12
+ - **Line 2** — cwd (and git branch) on the left; a per-tool call tally on the right
13
+
14
+ It accumulates token and cost figures by traversing the session branch, and updates the
15
+ branch display on `onBranchChange`.
16
+
17
+ ## Commands & tools
18
+
19
+ None — footer only.
20
+
21
+ ## Usage
22
+
23
+ ```bash
24
+ pi -e .pi/harnesses/tool-counter/index.ts
25
+ ```
26
+
27
+ ## Upstream changes
28
+
29
+ - Theme integration removed — the `themeMap.ts` import and the `applyExtensionDefaults()`
30
+ call were stripped (this repo does not ship pi themes). The footer renders against pi's
31
+ active theme.
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Tool Counter — Rich two-line custom footer
3
+ *
4
+ * Line 1: model + context meter on left, tokens in/out + cost on right
5
+ * Line 2: cwd (branch) on left, tool call tally on right
6
+ *
7
+ * Demonstrates: setFooter, footerData.getGitBranch(), onBranchChange(),
8
+ * session branch traversal for token/cost accumulation.
9
+ *
10
+ * Usage: pi -e extensions/tool-counter.ts
11
+ */
12
+
13
+ import type { AssistantMessage } from "@mariozechner/pi-ai";
14
+ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
15
+ import { truncateToWidth, visibleWidth } from "@mariozechner/pi-tui";
16
+ import { basename } from "node:path";
17
+
18
+ export default function (pi: ExtensionAPI) {
19
+ const counts: Record<string, number> = {};
20
+
21
+ pi.on("tool_execution_end", async (event) => {
22
+ counts[event.toolName] = (counts[event.toolName] || 0) + 1;
23
+ });
24
+
25
+ pi.on("session_start", async (_event, ctx) => {
26
+ ctx.ui.setFooter((tui, theme, footerData) => {
27
+ const unsub = footerData.onBranchChange(() => tui.requestRender());
28
+
29
+ return {
30
+ dispose: unsub,
31
+ invalidate() {},
32
+ render(width: number): string[] {
33
+ // --- Line 1: cwd + branch (left), tokens + cost (right) ---
34
+ let tokIn = 0;
35
+ let tokOut = 0;
36
+ let cost = 0;
37
+ for (const entry of ctx.sessionManager.getBranch()) {
38
+ if (entry.type === "message" && entry.message.role === "assistant") {
39
+ const m = entry.message as AssistantMessage;
40
+ tokIn += m.usage.input;
41
+ tokOut += m.usage.output;
42
+ cost += m.usage.cost.total;
43
+ }
44
+ }
45
+
46
+ const fmt = (n: number) => n < 1000 ? `${n}` : `${(n / 1000).toFixed(1)}k`;
47
+ const dir = basename(ctx.cwd);
48
+ const branch = footerData.getGitBranch();
49
+
50
+ // --- Line 1: model + context meter (left), tokens + cost (right) ---
51
+ const usage = ctx.getContextUsage();
52
+ const pct = usage ? usage.percent : 0;
53
+ const filled = Math.round(pct / 10) || 1;
54
+ const bar = "#".repeat(filled) + "-".repeat(10 - filled);
55
+ const model = ctx.model?.id || "no-model";
56
+
57
+ const l1Left =
58
+ theme.fg("dim", ` ${model} `) +
59
+ theme.fg("warning", "[") +
60
+ theme.fg("success", "#".repeat(filled)) +
61
+ theme.fg("dim", "-".repeat(10 - filled)) +
62
+ theme.fg("warning", "]") +
63
+ theme.fg("dim", " ") +
64
+ theme.fg("accent", `${Math.round(pct)}%`);
65
+
66
+ const l1Right =
67
+ theme.fg("success", `${fmt(tokIn)}`) +
68
+ theme.fg("dim", " in ") +
69
+ theme.fg("accent", `${fmt(tokOut)}`) +
70
+ theme.fg("dim", " out ") +
71
+ theme.fg("warning", `$${cost.toFixed(4)}`) +
72
+ theme.fg("dim", " ");
73
+
74
+ const pad1 = " ".repeat(Math.max(1, width - visibleWidth(l1Left) - visibleWidth(l1Right)));
75
+ const line1 = truncateToWidth(l1Left + pad1 + l1Right, width, "");
76
+
77
+ // --- Line 2: cwd + branch (left), tool tally (right) ---
78
+ const l2Left =
79
+ theme.fg("dim", ` ${dir}`) +
80
+ (branch
81
+ ? theme.fg("dim", " ") + theme.fg("warning", "(") + theme.fg("success", branch) + theme.fg("warning", ")")
82
+ : "");
83
+
84
+ const entries = Object.entries(counts);
85
+ const l2Right = entries.length === 0
86
+ ? theme.fg("dim", "waiting for tools ")
87
+ : entries.map(
88
+ ([name, count]) =>
89
+ theme.fg("accent", name) + theme.fg("dim", " ") + theme.fg("success", `${count}`)
90
+ ).join(theme.fg("warning", " | ")) + theme.fg("dim", " ");
91
+
92
+ const pad2 = " ".repeat(Math.max(1, width - visibleWidth(l2Left) - visibleWidth(l2Right)));
93
+ const line2 = truncateToWidth(l2Left + pad2 + l2Right, width, "");
94
+
95
+ return [line1, line2];
96
+ },
97
+ };
98
+ });
99
+ });
100
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "agent-skills-pi-tool-counter",
3
+ "private": true,
4
+ "type": "module",
5
+ "main": "index.ts"
6
+ }
@@ -0,0 +1,27 @@
1
+ # tool-counter-widget
2
+
3
+ Tool-call counts in a widget above the editor.
4
+
5
+ > Ported from [`pi-vs-claude-code`](https://github.com/disler/pi-vs-claude-code) by [disler](https://github.com/disler) (MIT). See the [extension catalog](../../../docs/pi-extensions.md).
6
+
7
+ ## What it does
8
+
9
+ Shows a persistent, live-updating widget above the editor with per-tool call counts, each
10
+ tool tinted with its own background colour — e.g. `Tools (12): [Bash 3] [Read 7] [Write 2]`.
11
+ Unlike [`tool-counter`](../tool-counter/README.md), which is a full footer, this is a
12
+ compact widget you can stack with other footers.
13
+
14
+ ## Commands & tools
15
+
16
+ None — widget only.
17
+
18
+ ## Usage
19
+
20
+ ```bash
21
+ pi -e .pi/harnesses/tool-counter-widget/index.ts
22
+ ```
23
+
24
+ ## Upstream changes
25
+
26
+ - Theme integration removed — the `themeMap.ts` import and the `applyExtensionDefaults()`
27
+ call were stripped (this repo does not ship pi themes).
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Tool Counter Widget — Tool call counts in a widget above the editor
3
+ *
4
+ * Shows a persistent, live-updating widget with per-tool background colors.
5
+ * Format: Tools (N): [Bash 3] [Read 7] [Write 2]
6
+ *
7
+ * Usage: pi -e extensions/tool-counter-widget.ts
8
+ */
9
+
10
+ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
11
+ import { Box, Text } from "@mariozechner/pi-tui";
12
+
13
+ const palette = [
14
+ [12, 40, 80], // deep navy
15
+ [50, 20, 70], // dark purple
16
+ [10, 55, 45], // dark teal
17
+ [70, 30, 10], // dark rust
18
+ [55, 15, 40], // dark plum
19
+ [15, 50, 65], // dark ocean
20
+ [45, 45, 15], // dark olive
21
+ [65, 18, 25], // dark wine
22
+ ];
23
+
24
+ function bg(rgb: number[], s: string): string {
25
+ return `\x1b[48;2;${rgb[0]};${rgb[1]};${rgb[2]}m${s}\x1b[49m`;
26
+ }
27
+
28
+ export default function (pi: ExtensionAPI) {
29
+ const counts: Record<string, number> = {};
30
+ const toolColors: Record<string, number[]> = {};
31
+ let total = 0;
32
+ let colorIdx = 0;
33
+
34
+ pi.on("tool_execution_end", async (event) => {
35
+ if (!(event.toolName in toolColors)) {
36
+ toolColors[event.toolName] = palette[colorIdx % palette.length];
37
+ colorIdx++;
38
+ }
39
+ counts[event.toolName] = (counts[event.toolName] || 0) + 1;
40
+ total++;
41
+ });
42
+
43
+ pi.on("session_start", async (_event, ctx) => {
44
+ ctx.ui.setWidget("tool-counter", (_tui, theme) => {
45
+ const text = new Text("", 1, 1);
46
+
47
+ return {
48
+ render(width: number): string[] {
49
+ const entries = Object.entries(counts);
50
+ const parts = entries.map(([name, count]) => {
51
+ const rgb = toolColors[name];
52
+ return bg(rgb, `\x1b[38;2;220;220;220m ${name} ${count} \x1b[39m`);
53
+ });
54
+ text.setText(
55
+ theme.fg("accent", `Tools (${total}):`) +
56
+ (entries.length > 0 ? " " + parts.join(" ") : "")
57
+ );
58
+ return text.render(width);
59
+ },
60
+ invalidate() {
61
+ text.invalidate();
62
+ },
63
+ };
64
+ });
65
+ });
66
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "agent-skills-pi-tool-counter-widget",
3
+ "private": true,
4
+ "type": "module",
5
+ "main": "index.ts"
6
+ }
@@ -0,0 +1,24 @@
1
+ ---
2
+ description: Implement the next task incrementally — build, test, verify, request review
3
+ ---
4
+
5
+ Load and follow the `incremental-implementation` and `test-driven-development` skills before proceeding.
6
+
7
+ Pick the next pending task from the plan. For each task:
8
+
9
+ 1. Read the task's acceptance criteria
10
+ 2. Load relevant context (existing code, patterns, types)
11
+ 3. Write a failing test for the expected behavior (RED)
12
+ 4. Implement the minimum code to pass the test (GREEN)
13
+ 5. Run the full test suite to check for regressions
14
+ 6. Run the build to verify compilation
15
+ 7. Present the Standard Slice Summary and ask the user to choose between:
16
+ - **Approve & continue** — proceed to the next slice
17
+ - **Request changes** — revise within the same slice, then re-summarize and re-ask
18
+ - **Compact & continue** — call `request_compaction` (from the `compact-and-continue` extension) with a self-contained `continuationPrompt` describing the remaining slices and the next concrete action, then end the turn so compaction runs; pi will auto-resume from the continuation prompt
19
+ - **Stop here** — leave changes unstaged and end the session
20
+ Use the `ask_user` tool (from `pi-ask-user`) when available; otherwise ask in chat. Wait for an explicit choice — do not proceed on silence. If the `request_compaction` tool is not registered (extension not installed), omit the "Compact & continue" option.
21
+ 8. Leave changes unstaged; the user handles staging and commits manually
22
+ 9. Mark the task complete and move to the next one only after approval
23
+
24
+ If any step fails, load and follow the `debugging-and-error-recovery` skill.
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Simplify code for clarity and maintainability — reduce complexity without changing behavior
3
+ ---
4
+
5
+ Load and follow the `code-simplification` skill before proceeding.
6
+
7
+ Simplify recently changed code (or the specified scope) while preserving exact behavior:
8
+
9
+ 1. Read the repository agent guide and study project conventions
10
+ 2. Identify the target code — recent changes unless a broader scope is specified
11
+ 3. Understand the code's purpose, callers, edge cases, and test coverage before touching it
12
+ 4. Scan for simplification opportunities:
13
+ - Deep nesting → guard clauses or extracted helpers
14
+ - Long functions → split by responsibility
15
+ - Nested ternaries → if/else or switch
16
+ - Generic names → descriptive names
17
+ - Duplicated logic → shared functions
18
+ - Dead code → remove after confirming
19
+ 5. Apply each simplification incrementally — run tests after each change
20
+ 6. Verify all tests pass, the build succeeds, and the diff is clean
21
+
22
+ If tests fail after a simplification, revert that change and reconsider. Load and follow `code-review-and-quality` to review the result.
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: Scan agent-skills install targets for broken symlinks and stale persona references, then offer repairs
3
+ ---
4
+
5
+ Load and follow Step 5 (Doctor preflight) of the `guided-workspace-setup` skill — without running the rest of the install flow. Use this when the user wants the repair pass on its own; the full `/setup` flow runs the same scan automatically as soon as it detects prior install state.
6
+
7
+ Walk every install-target directory the chosen coding agent uses (`agents/`, `.claude/agents/`, `.opencode/agents/`, `.codex/agents/`, `.gemini/agents/`, `.github/agents/`, `.pi/agents/` and `pi-pi/`, `.claude/skills/`, `.opencode/skills/`, `.pi/skills/`, `.agents/skills`, `.claude/commands/`, `.opencode/commands/`, `.pi/prompts/`, `.claude/references/`, `.claude/hooks/`). For each broken symlink, resolve where it pointed, look for a canonical replacement in the source `agents/` and `skills/` trees, and offer to repoint or delete. Common stale names from the pre-merge persona layout: `reviewer` → `code-reviewer`, `red-team` → `security-auditor`.
8
+
9
+ Also flag and offer to rewrite any YAML configs (`teams.yaml`, `agent-chain.yaml`, etc.) that still reference removed persona names.
10
+
11
+ Present findings as a `# | Path | Issue | Suggested fix` table and ask the user to pick which fixes to apply.
12
+
13
+ Never overwrite a regular file — only act on symlinks whose target is missing. Report `repaired`, `deleted`, and `skipped` counts, and append a `## doctor-runs` line to `.ai/agent-skills-setup.md` with the date, agent, phase (`standalone`), and counts.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Break work into small verifiable tasks with acceptance criteria and dependency ordering
3
+ ---
4
+
5
+ Load and follow the `planning-and-task-breakdown` skill before proceeding.
6
+
7
+ Read the existing spec (SPEC.md or equivalent) and the relevant codebase sections. Then:
8
+
9
+ 1. Enter plan mode — read only, no code changes
10
+ 2. Identify the dependency graph between components
11
+ 3. Slice work vertically (one complete path per task, not horizontal layers)
12
+ 4. Write tasks with acceptance criteria and verification steps
13
+ 5. Add checkpoints between phases
14
+ 6. Present the plan for human review
15
+
16
+ Save the plan to the location the `planning-and-task-breakdown` skill defines (default `docs/plans/{area}/PLAN-{prd-name}-{phase}.md`, with the task list embedded — no separate todo file; overridable per project via `.ai/agent-skills-overrides.md`). Match the project's existing `docs`/`Docs` capitalization.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Conduct a five-axis code review — correctness, readability, architecture, security, performance
3
+ ---
4
+
5
+ Load and follow the `code-review-and-quality` skill before proceeding.
6
+
7
+ Review the current changes (staged or recent commits) across all five axes:
8
+
9
+ 1. **Correctness** — Does it match the spec? Edge cases handled? Tests adequate?
10
+ 2. **Readability** — Clear names? Straightforward logic? Well-organized?
11
+ 3. **Architecture** — Follows existing patterns? Clean boundaries? Right abstraction level?
12
+ 4. **Security** — Input validated? Secrets safe? Auth checked? Load and follow the `security-and-hardening` skill where relevant.
13
+ 5. **Performance** — No N+1 queries? No unbounded ops? Load and follow the `performance-optimization` skill where relevant.
14
+
15
+ Categorize findings as Critical, Important, or Suggestion.
16
+ Output a structured review with specific file:line references and fix recommendations.
@@ -0,0 +1,19 @@
1
+ ---
2
+ description: Guided setup — install agent-skills artifacts into a workspace for a chosen coding agent
3
+ ---
4
+
5
+ Load and follow the `guided-workspace-setup` skill before proceeding.
6
+
7
+ Run the guided install for a target workspace. If the user passed a workspace path, use it; otherwise ask for it. Detect the running coding agent and confirm it with the user.
8
+
9
+ Analyse the workspace. If prior install state is found (`.ai/agent-skills-setup.md` or a populated agent directory), run the **Doctor preflight** first (Step 5) — scan for broken symlinks and stale persona references, present findings as a table, and apply the fixes the user picks before continuing.
10
+
11
+ Then present the install menu as **one multi-select per group** (18 groups across skills, personas, commands, pi extensions/harnesses, references, hooks) with `★` marking recommendations. Each group renders as a `Pick | Item | Status | Rec | Purpose` table; every row carries an explicit status text — `installed · up to date`, `installed · outdated`, `installed · modified`, `not installed`, or `broken · skipped in preflight`. Installed items are **pre-checked `[x]`** so unchecking = remove; not-installed items start `[ ]`. Per-group reply shortcuts: `all`, `recommended` (adds `★` items on top of the pre-selection — never unticks installed ones), `none`, `keep` (accept the pre-selection unchanged), or a list of picks. Never offer `setup`, `doctor`, or `guided-workspace-setup` — those are installer-only and live in the source agent-skills repo.
12
+
13
+ Unchecking an installed item means *remove it*, but **removal is scoped**: only act on items whose name is in the agent-skills inventory **and** that are recorded in `## install-status` (or are symlinks resolving into the source repo). User-authored skills, custom commands, third-party plugins, and unrelated settings/env keys are left untouched and logged as "Skipped — not owned by agent-skills".
14
+
15
+ **No cross-tool substitution.** Each row is offered only when the source file the chosen agent needs already exists — for `pi`, that means `.pi/prompts/<name>.md`, `.pi/extensions/<name>/`, etc. Never fall back to `.claude/commands/` (or another agent's tree) to satisfy a pi prompt request; items missing their per-agent source are filtered out of the menu entirely.
16
+
17
+ **No mid-apply overwrite prompts.** The Step 6 status text already warns that `installed · modified` rows will have local edits overwritten if kept ticked. The user's tick is the consent; the Step 9 confirmation is the single gate. During apply, refresh ticked items unconditionally — never pause to ask "should I overwrite this file?". Genuine errors (permission denied, missing source) still stop and report.
18
+
19
+ Offer override sections for the workspace's `.ai/agent-skills-overrides.md` based on the analysis, and record what was installed in `.ai/agent-skills-setup.md`. Summarise the full plan and wait for explicit confirmation before writing anything, then perform the setup, re-scan for any new breakage, and report what changed.
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Run the pre-launch checklist and prepare for production deployment
3
+ ---
4
+
5
+ Load and follow the `shipping-and-launch` skill before proceeding.
6
+
7
+ Run through the complete pre-launch checklist:
8
+
9
+ 1. **Code Quality** — Tests pass, build clean, lint clean, no TODOs, no console.logs
10
+ 2. **Security** — npm audit clean, no secrets in code, auth in place, headers configured
11
+ 3. **Performance** — Core Web Vitals good, no N+1 queries, images optimized, bundle sized
12
+ 4. **Accessibility** — Keyboard nav works, screen reader compatible, contrast adequate
13
+ 5. **Infrastructure** — Env vars set, migrations ready, monitoring configured
14
+ 6. **Documentation** — README current, ADRs written, changelog updated
15
+
16
+ Report any failing checks and help resolve them before deployment.
17
+ Define the rollback plan before proceeding.
@@ -0,0 +1,15 @@
1
+ ---
2
+ description: Start spec-driven development — write a structured specification before writing code
3
+ ---
4
+
5
+ Load and follow the `spec-driven-development` skill before proceeding.
6
+
7
+ Begin by understanding what the user wants to build. Ask clarifying questions about:
8
+ 1. The objective and target users
9
+ 2. Core features and acceptance criteria
10
+ 3. Tech stack preferences and constraints
11
+ 4. Known boundaries (what to always do, ask first about, and never do)
12
+
13
+ Then generate a structured spec covering all six core areas: objective, commands, project structure, code style, testing strategy, and boundaries.
14
+
15
+ Save the spec to the location the `spec-driven-development` skill defines (default `docs/prds/{area}/PRD{n}-{topic}.md`; overridable per project via `.ai/agent-skills-overrides.md`). Confirm with the user before proceeding.
@@ -0,0 +1,19 @@
1
+ ---
2
+ description: Run TDD workflow — write failing tests, implement, verify. For bugs, use the Prove-It pattern.
3
+ ---
4
+
5
+ Load and follow the `test-driven-development` skill before proceeding.
6
+
7
+ For new features:
8
+ 1. Write tests that describe the expected behavior (they should FAIL)
9
+ 2. Implement the code to make them pass
10
+ 3. Refactor while keeping tests green
11
+
12
+ For bug fixes (Prove-It pattern):
13
+ 1. Write a test that reproduces the bug (must FAIL)
14
+ 2. Confirm the test fails
15
+ 3. Implement the fix
16
+ 4. Confirm the test passes
17
+ 5. Run the full test suite for regressions
18
+
19
+ For browser-related issues, also load and follow the `browser-testing-with-devtools` skill and verify with Chrome DevTools MCP.
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: bowser
3
+ description: Headless browser automation using Playwright CLI. Use when you need headless browsing, parallel browser sessions, UI testing, screenshots, web scraping, or browser automation that can run in the background. Keywords - playwright, headless, browser, test, screenshot, scrape, parallel.
4
+ allowed-tools: Bash
5
+ ---
6
+
7
+ # Playwright Bowser
8
+
9
+ ## Purpose
10
+
11
+ Automate browsers using `playwright-cli` — a token-efficient CLI for Playwright. Runs headless by default, supports parallel sessions via named sessions (`-s=`), and doesn't load tool schemas into context.
12
+
13
+ ## Key Details
14
+
15
+ - **Headless by default** — pass `--headed` to `open` to see the browser
16
+ - **Parallel sessions** — use `-s=<name>` to run multiple independent browser instances
17
+ - **Persistent profiles** — cookies and storage state preserved between calls
18
+ - **Token-efficient** — CLI-based, no accessibility trees or tool schemas in context
19
+ - **Vision mode** (opt-in) — set `PLAYWRIGHT_MCP_CAPS=vision` to receive screenshots as image responses in context instead of just saving to disk
20
+
21
+ ## Sessions
22
+
23
+ **Always use a named session.** Derive a short, descriptive kebab-case name from the user's prompt. This gives each task a persistent browser profile (cookies, localStorage, history) that accumulates across calls.
24
+
25
+ ```bash
26
+ # Derive session name from prompt context:
27
+ # "test the checkout flow on mystore.com" → -s=mystore-checkout
28
+ # "scrape pricing from competitor.com" → -s=competitor-pricing
29
+ # "UI test the login page" → -s=login-ui-test
30
+
31
+ playwright-cli -s=mystore-checkout open https://mystore.com --persistent
32
+ playwright-cli -s=mystore-checkout snapshot
33
+ playwright-cli -s=mystore-checkout click e12
34
+ ```
35
+
36
+ Managing sessions:
37
+ ```bash
38
+ playwright-cli list # list all sessions
39
+ playwright-cli close-all # close all sessions
40
+ playwright-cli -s=<name> close # close specific session
41
+ playwright-cli -s=<name> delete-data # wipe session profile
42
+ ```
43
+
44
+ ## Quick Reference
45
+
46
+ ```
47
+ Core: open [url], goto <url>, click <ref>, fill <ref> <text>, type <text>, snapshot, screenshot [ref], close
48
+ Navigate: go-back, go-forward, reload
49
+ Keyboard: press <key>, keydown <key>, keyup <key>
50
+ Mouse: mousemove <x> <y>, mousedown, mouseup, mousewheel <dx> <dy>
51
+ Tabs: tab-list, tab-new [url], tab-close [index], tab-select <index>
52
+ Save: screenshot [ref], pdf, screenshot --filename=f
53
+ Storage: state-save, state-load, cookie-*, localstorage-*, sessionstorage-*
54
+ Network: route <pattern>, route-list, unroute, network
55
+ DevTools: console, run-code <code>, tracing-start/stop, video-start/stop
56
+ Sessions: -s=<name> <cmd>, list, close-all, kill-all
57
+ Config: open --headed, open --browser=chrome, resize <w> <h>
58
+ ```
59
+
60
+ ## Workflow
61
+
62
+ 1. Derive a session name from the user's prompt and open with `--persistent` to preserve cookies/state. Always set the viewport via env var at launch:
63
+ ```bash
64
+ PLAYWRIGHT_MCP_VIEWPORT_SIZE=1440x900 playwright-cli -s=<session-name> open <url> --persistent
65
+ # or headed:
66
+ PLAYWRIGHT_MCP_VIEWPORT_SIZE=1440x900 playwright-cli -s=<session-name> open <url> --persistent --headed
67
+ # or with vision (screenshots returned as image responses in context):
68
+ PLAYWRIGHT_MCP_VIEWPORT_SIZE=1440x900 PLAYWRIGHT_MCP_CAPS=vision playwright-cli -s=<session-name> open <url> --persistent
69
+ ```
70
+
71
+ 3. Get element references via snapshot:
72
+ ```bash
73
+ playwright-cli snapshot
74
+ ```
75
+
76
+ 4. Interact using refs from snapshot:
77
+ ```bash
78
+ playwright-cli click <ref>
79
+ playwright-cli fill <ref> "text"
80
+ playwright-cli type "text"
81
+ playwright-cli press Enter
82
+ ```
83
+
84
+ 5. Capture results:
85
+ ```bash
86
+ playwright-cli screenshot
87
+ playwright-cli screenshot --filename=output.png
88
+ ```
89
+
90
+ 6. **Always close the session when done.** This is not optional — close the named session after finishing your task:
91
+ ```bash
92
+ playwright-cli -s=<session-name> close
93
+ ```
94
+
95
+ ## Configuration
96
+
97
+ If a `playwright-cli.json` exists in the working directory, use it automatically. If the user provides a path to a config file, use `--config path/to/config.json`. Otherwise, skip configuration — the env var and CLI defaults are sufficient.
98
+
99
+ ```json
100
+ {
101
+ "browser": {
102
+ "browserName": "chromium",
103
+ "launchOptions": { "headless": true },
104
+ "contextOptions": { "viewport": { "width": 1440, "height": 900 } }
105
+ },
106
+ "outputDir": "./screenshots"
107
+ }
108
+ ```
109
+
110
+ ## Full Help
111
+
112
+ Run `playwright-cli --help` or `playwright-cli --help <command>` for detailed command usage.
113
+
114
+ See [docs/playwright-cli.md](docs/playwright-cli.md) for full documentation.
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Implement the next task incrementally — build, test, verify, commit
3
+ ---
4
+
5
+ Invoke the agent-skills:incremental-implementation skill alongside agent-skills:test-driven-development.
6
+
7
+ Pick the next pending task from the plan. For each task:
8
+
9
+ 1. Read the task's acceptance criteria
10
+ 2. Load relevant context (existing code, patterns, types)
11
+ 3. Write a failing test for the expected behavior (RED)
12
+ 4. Implement the minimum code to pass the test (GREEN)
13
+ 5. Run the full test suite to check for regressions
14
+ 6. Run the build to verify compilation
15
+ 7. Commit with a descriptive message
16
+ 8. Mark the task complete and move to the next one
17
+
18
+ If any step fails, follow the agent-skills:debugging-and-error-recovery skill.
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Simplify code for clarity and maintainability — reduce complexity without changing behavior
3
+ ---
4
+
5
+ Invoke the agent-skills:code-simplification skill.
6
+
7
+ Simplify recently changed code (or the specified scope) while preserving exact behavior:
8
+
9
+ 1. Read CLAUDE.md and study project conventions
10
+ 2. Identify the target code — recent changes unless a broader scope is specified
11
+ 3. Understand the code's purpose, callers, edge cases, and test coverage before touching it
12
+ 4. Scan for simplification opportunities:
13
+ - Deep nesting → guard clauses or extracted helpers
14
+ - Long functions → split by responsibility
15
+ - Nested ternaries → if/else or switch
16
+ - Generic names → descriptive names
17
+ - Duplicated logic → shared functions
18
+ - Dead code → remove after confirming
19
+ 5. Apply each simplification incrementally — run tests after each change
20
+ 6. Verify all tests pass, the build succeeds, and the diff is clean
21
+
22
+ If tests fail after a simplification, revert that change and reconsider. Use `code-review-and-quality` to review the result.
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Design and write a new agent persona (agents/), workflow skill (skills/), or pi harness (.pi/harnesses/)
3
+ ---
4
+
5
+ Invoke the agent-skills:designing-agents skill.
6
+
7
+ Begin by understanding what the user wants to author:
8
+ 1. Is this a **persona** (a role/lens the agent adopts, e.g. a reviewer or auditor), a **skill** (a repeatable workflow with gated steps and verification), or a **pi harness** (a TypeScript pi extension that reshapes the session — footer, tool-call gate, new command, or orchestrator)?
9
+ 2. The one-sentence purpose and when it should be invoked
10
+ 3. The framework or steps — dimensions evaluated (persona), ordered workflow (skill), or session surface and events hooked (harness)
11
+ 4. Explicit non-goals and scope limits
12
+ 5. Output shape — what a typical invocation should produce
13
+
14
+ Then scan the target location (`agents/`, `skills/`, or `.pi/harnesses/`) for overlap, draft the artifact using the matching template — four-block persona structure, the section order from `docs/skill-anatomy.md`, or the harness pattern in `skills/designing-agents/pi-harness-authoring.md` — verify the draft against `references/prompting-patterns.md`, and confirm with the user before writing the file(s).
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: Scan agent-skills install targets for broken symlinks and stale persona references, then offer repairs
3
+ ---
4
+
5
+ Invoke the Doctor scan from the `agent-skills:guided-workspace-setup` skill — Step 5 (the preflight scan) — without running the rest of the install flow. Use this when the user wants the repair pass on its own; the full `/setup` flow runs the same scan automatically as soon as it detects prior install state.
6
+
7
+ Walk every install-target directory the chosen coding agent uses (`agents/`, `.claude/agents/`, `.opencode/agents/`, `.codex/agents/`, `.gemini/agents/`, `.github/agents/`, `.pi/agents/` and `pi-pi/`, `.claude/skills/`, `.opencode/skills/`, `.pi/skills/`, `.agents/skills`, `.claude/commands/`, `.opencode/commands/`, `.pi/prompts/`, `.claude/references/`, `.claude/hooks/`). For each broken symlink, resolve where it pointed, look for a canonical replacement in the source `agents/` and `skills/` trees, and offer to repoint or delete. Common stale names from the pre-merge persona layout: `reviewer` → `code-reviewer`, `red-team` → `security-auditor`.
8
+
9
+ Also flag and offer to rewrite any YAML configs (`teams.yaml`, `agent-chain.yaml`, etc.) that still reference removed persona names.
10
+
11
+ Present findings as a `# | Path | Issue | Suggested fix` table and ask the user to pick which fixes to apply.
12
+
13
+ Never overwrite a regular file — only act on symlinks whose target is missing. Report `repaired`, `deleted`, and `skipped` counts, and append a `## doctor-runs` line to `.ai/agent-skills-setup.md` with the date, agent, phase (`standalone`), and counts.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Break work into small verifiable tasks with acceptance criteria and dependency ordering
3
+ ---
4
+
5
+ Invoke the agent-skills:planning-and-task-breakdown skill.
6
+
7
+ Read the existing spec (SPEC.md or equivalent) and the relevant codebase sections. Then:
8
+
9
+ 1. Enter plan mode — read only, no code changes
10
+ 2. Identify the dependency graph between components
11
+ 3. Slice work vertically (one complete path per task, not horizontal layers)
12
+ 4. Write tasks with acceptance criteria and verification steps
13
+ 5. Add checkpoints between phases
14
+ 6. Present the plan for human review
15
+
16
+ Save the plan to the location the `planning-and-task-breakdown` skill defines (default `docs/plans/{area}/PLAN-{prd-name}-{phase}.md`, with the task list embedded — no separate todo file; overridable per project via `.ai/agent-skills-overrides.md`). Match the project's existing `docs`/`Docs` capitalization.