@minhduydev/mdpi 0.3.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 (561) hide show
  1. package/README.md +31 -0
  2. package/dist/index.js +1187 -0
  3. package/dist/template/.pi/.env.example +28 -0
  4. package/dist/template/.pi/AGENTS.md +226 -0
  5. package/dist/template/.pi/QUALITY.md +13 -0
  6. package/dist/template/.pi/README.md +452 -0
  7. package/dist/template/.pi/VERSION +1 -0
  8. package/dist/template/.pi/agents/INDEX.md +54 -0
  9. package/dist/template/.pi/agents/build.md +194 -0
  10. package/dist/template/.pi/agents/explore.md +85 -0
  11. package/dist/template/.pi/agents/general.md +189 -0
  12. package/dist/template/.pi/agents/plan.md +407 -0
  13. package/dist/template/.pi/agents/review.md +198 -0
  14. package/dist/template/.pi/agents/scout.md +142 -0
  15. package/dist/template/.pi/agents/vision.md +157 -0
  16. package/dist/template/.pi/artifacts/example/plan.md +12 -0
  17. package/dist/template/.pi/artifacts/example/progress.md +4 -0
  18. package/dist/template/.pi/artifacts/example/research.md +4 -0
  19. package/dist/template/.pi/artifacts/example/spec.md +16 -0
  20. package/dist/template/.pi/context/architecture.md +141 -0
  21. package/dist/template/.pi/context/fallow.md +137 -0
  22. package/dist/template/.pi/extensions/templates-injector.ts +76 -0
  23. package/dist/template/.pi/extensions/workflows-runner.ts +301 -0
  24. package/dist/template/.pi/guard.example.json +75 -0
  25. package/dist/template/.pi/prompts/INDEX.md +78 -0
  26. package/dist/template/.pi/prompts/audit.md +109 -0
  27. package/dist/template/.pi/prompts/close.md +88 -0
  28. package/dist/template/.pi/prompts/create.md +197 -0
  29. package/dist/template/.pi/prompts/fix.md +117 -0
  30. package/dist/template/.pi/prompts/gc.md +112 -0
  31. package/dist/template/.pi/prompts/init.md +206 -0
  32. package/dist/template/.pi/prompts/loop-check.md +87 -0
  33. package/dist/template/.pi/prompts/loop-init.md +157 -0
  34. package/dist/template/.pi/prompts/loop-review.md +90 -0
  35. package/dist/template/.pi/prompts/plan.md +254 -0
  36. package/dist/template/.pi/prompts/research.md +136 -0
  37. package/dist/template/.pi/prompts/ship.md +219 -0
  38. package/dist/template/.pi/prompts/status.md +92 -0
  39. package/dist/template/.pi/prompts/verify.md +154 -0
  40. package/dist/template/.pi/scripts/gc-check.sh +86 -0
  41. package/dist/template/.pi/settings.json +15 -0
  42. package/dist/template/.pi/skills/INDEX.md +331 -0
  43. package/dist/template/.pi/skills/accessibility-audit/SKILL.md +205 -0
  44. package/dist/template/.pi/skills/accessibility-audit/references/accessibility-checklist.md +109 -0
  45. package/dist/template/.pi/skills/agent-code-quality-gate/SKILL.md +131 -0
  46. package/dist/template/.pi/skills/api-and-interface-design/SKILL.md +159 -0
  47. package/dist/template/.pi/skills/behavioral-kernel/SKILL.md +92 -0
  48. package/dist/template/.pi/skills/brainstorming/SKILL.md +138 -0
  49. package/dist/template/.pi/skills/browser-testing-with-devtools/SKILL.md +90 -0
  50. package/dist/template/.pi/skills/chrome-devtools/SKILL.md +129 -0
  51. package/dist/template/.pi/skills/ci-cd-and-automation/SKILL.md +199 -0
  52. package/dist/template/.pi/skills/cloudflare/SKILL.md +271 -0
  53. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/README.md +35 -0
  54. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/api.md +100 -0
  55. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
  56. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
  57. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
  58. package/dist/template/.pi/skills/cloudflare/references/ai-gateway/README.md +695 -0
  59. package/dist/template/.pi/skills/cloudflare/references/ai-search/README.md +14 -0
  60. package/dist/template/.pi/skills/cloudflare/references/ai-search/api.md +38 -0
  61. package/dist/template/.pi/skills/cloudflare/references/ai-search/configuration.md +52 -0
  62. package/dist/template/.pi/skills/cloudflare/references/ai-search/gotchas.md +41 -0
  63. package/dist/template/.pi/skills/cloudflare/references/ai-search/patterns.md +45 -0
  64. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/README.md +14 -0
  65. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/api.md +27 -0
  66. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
  67. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
  68. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
  69. package/dist/template/.pi/skills/cloudflare/references/api/README.md +21 -0
  70. package/dist/template/.pi/skills/cloudflare/references/api/api.md +31 -0
  71. package/dist/template/.pi/skills/cloudflare/references/api/configuration.md +20 -0
  72. package/dist/template/.pi/skills/cloudflare/references/api/gotchas.md +28 -0
  73. package/dist/template/.pi/skills/cloudflare/references/api/patterns.md +47 -0
  74. package/dist/template/.pi/skills/cloudflare/references/api-shield/README.md +20 -0
  75. package/dist/template/.pi/skills/cloudflare/references/api-shield/api.md +78 -0
  76. package/dist/template/.pi/skills/cloudflare/references/api-shield/configuration.md +128 -0
  77. package/dist/template/.pi/skills/cloudflare/references/api-shield/gotchas.md +51 -0
  78. package/dist/template/.pi/skills/cloudflare/references/api-shield/patterns.md +145 -0
  79. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
  80. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
  81. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  82. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  83. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  84. package/dist/template/.pi/skills/cloudflare/references/bindings/README.md +14 -0
  85. package/dist/template/.pi/skills/cloudflare/references/bindings/api.md +3 -0
  86. package/dist/template/.pi/skills/cloudflare/references/bindings/configuration.md +58 -0
  87. package/dist/template/.pi/skills/cloudflare/references/bindings/gotchas.md +35 -0
  88. package/dist/template/.pi/skills/cloudflare/references/bindings/patterns.md +37 -0
  89. package/dist/template/.pi/skills/cloudflare/references/bot-management/README.md +71 -0
  90. package/dist/template/.pi/skills/cloudflare/references/bot-management/api.md +168 -0
  91. package/dist/template/.pi/skills/cloudflare/references/bot-management/configuration.md +114 -0
  92. package/dist/template/.pi/skills/cloudflare/references/bot-management/gotchas.md +99 -0
  93. package/dist/template/.pi/skills/cloudflare/references/bot-management/patterns.md +125 -0
  94. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/README.md +16 -0
  95. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/api.md +54 -0
  96. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
  97. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
  98. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
  99. package/dist/template/.pi/skills/cloudflare/references/c3/README.md +264 -0
  100. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/README.md +93 -0
  101. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/api.md +176 -0
  102. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
  103. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
  104. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
  105. package/dist/template/.pi/skills/cloudflare/references/containers/README.md +16 -0
  106. package/dist/template/.pi/skills/cloudflare/references/containers/api.md +43 -0
  107. package/dist/template/.pi/skills/cloudflare/references/containers/configuration.md +56 -0
  108. package/dist/template/.pi/skills/cloudflare/references/containers/gotchas.md +21 -0
  109. package/dist/template/.pi/skills/cloudflare/references/containers/patterns.md +40 -0
  110. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/README.md +85 -0
  111. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/api.md +198 -0
  112. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
  113. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
  114. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
  115. package/dist/template/.pi/skills/cloudflare/references/d1/README.md +92 -0
  116. package/dist/template/.pi/skills/cloudflare/references/d1/api.md +141 -0
  117. package/dist/template/.pi/skills/cloudflare/references/d1/configuration.md +127 -0
  118. package/dist/template/.pi/skills/cloudflare/references/d1/gotchas.md +70 -0
  119. package/dist/template/.pi/skills/cloudflare/references/d1/patterns.md +144 -0
  120. package/dist/template/.pi/skills/cloudflare/references/ddos/README.md +34 -0
  121. package/dist/template/.pi/skills/cloudflare/references/ddos/api.md +136 -0
  122. package/dist/template/.pi/skills/cloudflare/references/ddos/configuration.md +67 -0
  123. package/dist/template/.pi/skills/cloudflare/references/ddos/gotchas.md +114 -0
  124. package/dist/template/.pi/skills/cloudflare/references/ddos/patterns.md +158 -0
  125. package/dist/template/.pi/skills/cloudflare/references/do-storage/README.md +62 -0
  126. package/dist/template/.pi/skills/cloudflare/references/do-storage/api.md +89 -0
  127. package/dist/template/.pi/skills/cloudflare/references/do-storage/configuration.md +116 -0
  128. package/dist/template/.pi/skills/cloudflare/references/do-storage/gotchas.md +93 -0
  129. package/dist/template/.pi/skills/cloudflare/references/do-storage/patterns.md +112 -0
  130. package/dist/template/.pi/skills/cloudflare/references/durable-objects/README.md +125 -0
  131. package/dist/template/.pi/skills/cloudflare/references/durable-objects/api.md +152 -0
  132. package/dist/template/.pi/skills/cloudflare/references/durable-objects/configuration.md +148 -0
  133. package/dist/template/.pi/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
  134. package/dist/template/.pi/skills/cloudflare/references/durable-objects/patterns.md +255 -0
  135. package/dist/template/.pi/skills/cloudflare/references/email-routing/README.md +18 -0
  136. package/dist/template/.pi/skills/cloudflare/references/email-routing/api.md +46 -0
  137. package/dist/template/.pi/skills/cloudflare/references/email-routing/configuration.md +63 -0
  138. package/dist/template/.pi/skills/cloudflare/references/email-routing/gotchas.md +16 -0
  139. package/dist/template/.pi/skills/cloudflare/references/email-routing/patterns.md +46 -0
  140. package/dist/template/.pi/skills/cloudflare/references/email-workers/README.md +598 -0
  141. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/README.md +62 -0
  142. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/api.md +137 -0
  143. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
  144. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
  145. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
  146. package/dist/template/.pi/skills/cloudflare/references/images/README.md +14 -0
  147. package/dist/template/.pi/skills/cloudflare/references/images/api.md +3 -0
  148. package/dist/template/.pi/skills/cloudflare/references/images/configuration.md +45 -0
  149. package/dist/template/.pi/skills/cloudflare/references/images/gotchas.md +23 -0
  150. package/dist/template/.pi/skills/cloudflare/references/images/patterns.md +31 -0
  151. package/dist/template/.pi/skills/cloudflare/references/kv/README.md +60 -0
  152. package/dist/template/.pi/skills/cloudflare/references/kv/api.md +114 -0
  153. package/dist/template/.pi/skills/cloudflare/references/kv/configuration.md +92 -0
  154. package/dist/template/.pi/skills/cloudflare/references/kv/gotchas.md +117 -0
  155. package/dist/template/.pi/skills/cloudflare/references/kv/patterns.md +139 -0
  156. package/dist/template/.pi/skills/cloudflare/references/miniflare/README.md +64 -0
  157. package/dist/template/.pi/skills/cloudflare/references/miniflare/api.md +144 -0
  158. package/dist/template/.pi/skills/cloudflare/references/miniflare/configuration.md +203 -0
  159. package/dist/template/.pi/skills/cloudflare/references/miniflare/gotchas.md +187 -0
  160. package/dist/template/.pi/skills/cloudflare/references/miniflare/patterns.md +211 -0
  161. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/README.md +60 -0
  162. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/api.md +240 -0
  163. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
  164. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
  165. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
  166. package/dist/template/.pi/skills/cloudflare/references/observability/README.md +18 -0
  167. package/dist/template/.pi/skills/cloudflare/references/observability/api.md +51 -0
  168. package/dist/template/.pi/skills/cloudflare/references/observability/configuration.md +60 -0
  169. package/dist/template/.pi/skills/cloudflare/references/observability/gotchas.md +36 -0
  170. package/dist/template/.pi/skills/cloudflare/references/observability/patterns.md +42 -0
  171. package/dist/template/.pi/skills/cloudflare/references/pages/README.md +76 -0
  172. package/dist/template/.pi/skills/cloudflare/references/pages/api.md +200 -0
  173. package/dist/template/.pi/skills/cloudflare/references/pages/configuration.md +228 -0
  174. package/dist/template/.pi/skills/cloudflare/references/pages/gotchas.md +161 -0
  175. package/dist/template/.pi/skills/cloudflare/references/pages/patterns.md +145 -0
  176. package/dist/template/.pi/skills/cloudflare/references/pages-functions/README.md +57 -0
  177. package/dist/template/.pi/skills/cloudflare/references/pages-functions/api.md +201 -0
  178. package/dist/template/.pi/skills/cloudflare/references/pages-functions/configuration.md +159 -0
  179. package/dist/template/.pi/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
  180. package/dist/template/.pi/skills/cloudflare/references/pages-functions/patterns.md +190 -0
  181. package/dist/template/.pi/skills/cloudflare/references/pipelines/README.md +664 -0
  182. package/dist/template/.pi/skills/cloudflare/references/pulumi/README.md +107 -0
  183. package/dist/template/.pi/skills/cloudflare/references/pulumi/api.md +194 -0
  184. package/dist/template/.pi/skills/cloudflare/references/pulumi/configuration.md +216 -0
  185. package/dist/template/.pi/skills/cloudflare/references/pulumi/gotchas.md +223 -0
  186. package/dist/template/.pi/skills/cloudflare/references/pulumi/patterns.md +139 -0
  187. package/dist/template/.pi/skills/cloudflare/references/queues/README.md +69 -0
  188. package/dist/template/.pi/skills/cloudflare/references/queues/api.md +138 -0
  189. package/dist/template/.pi/skills/cloudflare/references/queues/configuration.md +125 -0
  190. package/dist/template/.pi/skills/cloudflare/references/queues/gotchas.md +112 -0
  191. package/dist/template/.pi/skills/cloudflare/references/queues/patterns.md +155 -0
  192. package/dist/template/.pi/skills/cloudflare/references/r2/README.md +61 -0
  193. package/dist/template/.pi/skills/cloudflare/references/r2/api.md +127 -0
  194. package/dist/template/.pi/skills/cloudflare/references/r2/configuration.md +76 -0
  195. package/dist/template/.pi/skills/cloudflare/references/r2/gotchas.md +94 -0
  196. package/dist/template/.pi/skills/cloudflare/references/r2/patterns.md +127 -0
  197. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
  198. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
  199. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  200. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  201. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  202. package/dist/template/.pi/skills/cloudflare/references/r2-sql/README.md +512 -0
  203. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/README.md +21 -0
  204. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/api.md +135 -0
  205. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
  206. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  207. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
  208. package/dist/template/.pi/skills/cloudflare/references/realtimekit/README.md +81 -0
  209. package/dist/template/.pi/skills/cloudflare/references/realtimekit/api.md +164 -0
  210. package/dist/template/.pi/skills/cloudflare/references/realtimekit/configuration.md +147 -0
  211. package/dist/template/.pi/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
  212. package/dist/template/.pi/skills/cloudflare/references/realtimekit/patterns.md +155 -0
  213. package/dist/template/.pi/skills/cloudflare/references/sandbox/README.md +90 -0
  214. package/dist/template/.pi/skills/cloudflare/references/sandbox/api.md +178 -0
  215. package/dist/template/.pi/skills/cloudflare/references/sandbox/configuration.md +131 -0
  216. package/dist/template/.pi/skills/cloudflare/references/sandbox/gotchas.md +156 -0
  217. package/dist/template/.pi/skills/cloudflare/references/sandbox/patterns.md +203 -0
  218. package/dist/template/.pi/skills/cloudflare/references/secrets-store/README.md +58 -0
  219. package/dist/template/.pi/skills/cloudflare/references/secrets-store/api.md +182 -0
  220. package/dist/template/.pi/skills/cloudflare/references/secrets-store/configuration.md +140 -0
  221. package/dist/template/.pi/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
  222. package/dist/template/.pi/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  223. package/dist/template/.pi/skills/cloudflare/references/smart-placement/README.md +91 -0
  224. package/dist/template/.pi/skills/cloudflare/references/smart-placement/api.md +139 -0
  225. package/dist/template/.pi/skills/cloudflare/references/smart-placement/configuration.md +129 -0
  226. package/dist/template/.pi/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
  227. package/dist/template/.pi/skills/cloudflare/references/smart-placement/patterns.md +135 -0
  228. package/dist/template/.pi/skills/cloudflare/references/snippets/README.md +15 -0
  229. package/dist/template/.pi/skills/cloudflare/references/snippets/api.md +47 -0
  230. package/dist/template/.pi/skills/cloudflare/references/snippets/configuration.md +33 -0
  231. package/dist/template/.pi/skills/cloudflare/references/snippets/gotchas.md +21 -0
  232. package/dist/template/.pi/skills/cloudflare/references/snippets/patterns.md +34 -0
  233. package/dist/template/.pi/skills/cloudflare/references/spectrum/README.md +16 -0
  234. package/dist/template/.pi/skills/cloudflare/references/spectrum/api.md +24 -0
  235. package/dist/template/.pi/skills/cloudflare/references/spectrum/configuration.md +43 -0
  236. package/dist/template/.pi/skills/cloudflare/references/spectrum/gotchas.md +42 -0
  237. package/dist/template/.pi/skills/cloudflare/references/spectrum/patterns.md +40 -0
  238. package/dist/template/.pi/skills/cloudflare/references/static-assets/README.md +14 -0
  239. package/dist/template/.pi/skills/cloudflare/references/static-assets/api.md +3 -0
  240. package/dist/template/.pi/skills/cloudflare/references/static-assets/configuration.md +47 -0
  241. package/dist/template/.pi/skills/cloudflare/references/static-assets/gotchas.md +44 -0
  242. package/dist/template/.pi/skills/cloudflare/references/static-assets/patterns.md +42 -0
  243. package/dist/template/.pi/skills/cloudflare/references/stream/README.md +103 -0
  244. package/dist/template/.pi/skills/cloudflare/references/stream/api.md +204 -0
  245. package/dist/template/.pi/skills/cloudflare/references/stream/configuration.md +127 -0
  246. package/dist/template/.pi/skills/cloudflare/references/stream/gotchas.md +131 -0
  247. package/dist/template/.pi/skills/cloudflare/references/stream/patterns.md +152 -0
  248. package/dist/template/.pi/skills/cloudflare/references/tail-workers/README.md +640 -0
  249. package/dist/template/.pi/skills/cloudflare/references/terraform/README.md +76 -0
  250. package/dist/template/.pi/skills/cloudflare/references/terraform/api.md +159 -0
  251. package/dist/template/.pi/skills/cloudflare/references/terraform/configuration.md +156 -0
  252. package/dist/template/.pi/skills/cloudflare/references/terraform/gotchas.md +207 -0
  253. package/dist/template/.pi/skills/cloudflare/references/terraform/patterns.md +135 -0
  254. package/dist/template/.pi/skills/cloudflare/references/tunnel/README.md +82 -0
  255. package/dist/template/.pi/skills/cloudflare/references/tunnel/api.md +105 -0
  256. package/dist/template/.pi/skills/cloudflare/references/tunnel/configuration.md +113 -0
  257. package/dist/template/.pi/skills/cloudflare/references/tunnel/gotchas.md +115 -0
  258. package/dist/template/.pi/skills/cloudflare/references/tunnel/patterns.md +157 -0
  259. package/dist/template/.pi/skills/cloudflare/references/turn/README.md +699 -0
  260. package/dist/template/.pi/skills/cloudflare/references/turnstile/README.md +14 -0
  261. package/dist/template/.pi/skills/cloudflare/references/turnstile/api.md +3 -0
  262. package/dist/template/.pi/skills/cloudflare/references/turnstile/configuration.md +19 -0
  263. package/dist/template/.pi/skills/cloudflare/references/turnstile/gotchas.md +27 -0
  264. package/dist/template/.pi/skills/cloudflare/references/turnstile/patterns.md +41 -0
  265. package/dist/template/.pi/skills/cloudflare/references/vectorize/README.md +682 -0
  266. package/dist/template/.pi/skills/cloudflare/references/waf/README.md +14 -0
  267. package/dist/template/.pi/skills/cloudflare/references/waf/api.md +3 -0
  268. package/dist/template/.pi/skills/cloudflare/references/waf/configuration.md +44 -0
  269. package/dist/template/.pi/skills/cloudflare/references/waf/gotchas.md +24 -0
  270. package/dist/template/.pi/skills/cloudflare/references/waf/patterns.md +29 -0
  271. package/dist/template/.pi/skills/cloudflare/references/web-analytics/README.md +19 -0
  272. package/dist/template/.pi/skills/cloudflare/references/web-analytics/api.md +52 -0
  273. package/dist/template/.pi/skills/cloudflare/references/web-analytics/configuration.md +31 -0
  274. package/dist/template/.pi/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
  275. package/dist/template/.pi/skills/cloudflare/references/web-analytics/patterns.md +52 -0
  276. package/dist/template/.pi/skills/cloudflare/references/workerd/README.md +47 -0
  277. package/dist/template/.pi/skills/cloudflare/references/workerd/api.md +199 -0
  278. package/dist/template/.pi/skills/cloudflare/references/workerd/configuration.md +185 -0
  279. package/dist/template/.pi/skills/cloudflare/references/workerd/gotchas.md +203 -0
  280. package/dist/template/.pi/skills/cloudflare/references/workerd/patterns.md +216 -0
  281. package/dist/template/.pi/skills/cloudflare/references/workers/README.md +96 -0
  282. package/dist/template/.pi/skills/cloudflare/references/workers/api.md +137 -0
  283. package/dist/template/.pi/skills/cloudflare/references/workers/configuration.md +147 -0
  284. package/dist/template/.pi/skills/cloudflare/references/workers/gotchas.md +99 -0
  285. package/dist/template/.pi/skills/cloudflare/references/workers/patterns.md +149 -0
  286. package/dist/template/.pi/skills/cloudflare/references/workers-ai/README.md +116 -0
  287. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
  288. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
  289. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  290. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  291. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  292. package/dist/template/.pi/skills/cloudflare/references/workers-playground/README.md +16 -0
  293. package/dist/template/.pi/skills/cloudflare/references/workers-playground/api.md +20 -0
  294. package/dist/template/.pi/skills/cloudflare/references/workers-playground/configuration.md +3 -0
  295. package/dist/template/.pi/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
  296. package/dist/template/.pi/skills/cloudflare/references/workers-playground/patterns.md +42 -0
  297. package/dist/template/.pi/skills/cloudflare/references/workers-vpc/README.md +579 -0
  298. package/dist/template/.pi/skills/cloudflare/references/workflows/README.md +62 -0
  299. package/dist/template/.pi/skills/cloudflare/references/workflows/api.md +125 -0
  300. package/dist/template/.pi/skills/cloudflare/references/workflows/configuration.md +177 -0
  301. package/dist/template/.pi/skills/cloudflare/references/workflows/gotchas.md +136 -0
  302. package/dist/template/.pi/skills/cloudflare/references/workflows/patterns.md +132 -0
  303. package/dist/template/.pi/skills/cloudflare/references/wrangler/README.md +90 -0
  304. package/dist/template/.pi/skills/cloudflare/references/wrangler/api.md +140 -0
  305. package/dist/template/.pi/skills/cloudflare/references/wrangler/configuration.md +128 -0
  306. package/dist/template/.pi/skills/cloudflare/references/wrangler/gotchas.md +93 -0
  307. package/dist/template/.pi/skills/cloudflare/references/wrangler/patterns.md +150 -0
  308. package/dist/template/.pi/skills/cloudflare/references/zaraz/README.md +360 -0
  309. package/dist/template/.pi/skills/code-cleanup/SKILL.md +232 -0
  310. package/dist/template/.pi/skills/code-review-and-quality/SKILL.md +344 -0
  311. package/dist/template/.pi/skills/code-simplification/SKILL.md +348 -0
  312. package/dist/template/.pi/skills/context-engineering/SKILL.md +296 -0
  313. package/dist/template/.pi/skills/core-data-expert/SKILL.md +117 -0
  314. package/dist/template/.pi/skills/core-data-expert/references/batch-operations.md +543 -0
  315. package/dist/template/.pi/skills/core-data-expert/references/cloudkit-integration.md +259 -0
  316. package/dist/template/.pi/skills/core-data-expert/references/concurrency.md +522 -0
  317. package/dist/template/.pi/skills/core-data-expert/references/fetch-requests.md +643 -0
  318. package/dist/template/.pi/skills/core-data-expert/references/glossary.md +233 -0
  319. package/dist/template/.pi/skills/core-data-expert/references/migration.md +393 -0
  320. package/dist/template/.pi/skills/core-data-expert/references/model-configuration.md +597 -0
  321. package/dist/template/.pi/skills/core-data-expert/references/performance.md +300 -0
  322. package/dist/template/.pi/skills/core-data-expert/references/persistent-history.md +553 -0
  323. package/dist/template/.pi/skills/core-data-expert/references/project-audit.md +60 -0
  324. package/dist/template/.pi/skills/core-data-expert/references/saving.md +574 -0
  325. package/dist/template/.pi/skills/core-data-expert/references/stack-setup.md +625 -0
  326. package/dist/template/.pi/skills/core-data-expert/references/testing.md +300 -0
  327. package/dist/template/.pi/skills/core-data-expert/references/threading.md +589 -0
  328. package/dist/template/.pi/skills/debugging-and-error-recovery/SKILL.md +274 -0
  329. package/dist/template/.pi/skills/deep-module-design/SKILL.md +218 -0
  330. package/dist/template/.pi/skills/defense-in-depth/SKILL.md +161 -0
  331. package/dist/template/.pi/skills/deprecation-and-migration/SKILL.md +186 -0
  332. package/dist/template/.pi/skills/design-system-audit/SKILL.md +176 -0
  333. package/dist/template/.pi/skills/design-taste-frontend/SKILL.md +255 -0
  334. package/dist/template/.pi/skills/development-lifecycle/SKILL.md +285 -0
  335. package/dist/template/.pi/skills/documentation-and-adrs/SKILL.md +217 -0
  336. package/dist/template/.pi/skills/doubt-driven-development/SKILL.md +207 -0
  337. package/dist/template/.pi/skills/fallow/SKILL.md +457 -0
  338. package/dist/template/.pi/skills/fallow/references/cli-reference.md +1905 -0
  339. package/dist/template/.pi/skills/fallow/references/gotchas.md +644 -0
  340. package/dist/template/.pi/skills/fallow/references/patterns.md +791 -0
  341. package/dist/template/.pi/skills/figma/SKILL.md +241 -0
  342. package/dist/template/.pi/skills/frontend-design/SKILL.md +262 -0
  343. package/dist/template/.pi/skills/frontend-design/references/animation/motion-advanced.md +224 -0
  344. package/dist/template/.pi/skills/frontend-design/references/animation/motion-core.md +181 -0
  345. package/dist/template/.pi/skills/frontend-design/references/canvas/execution.md +90 -0
  346. package/dist/template/.pi/skills/frontend-design/references/canvas/philosophy.md +94 -0
  347. package/dist/template/.pi/skills/frontend-design/references/design/color-system.md +111 -0
  348. package/dist/template/.pi/skills/frontend-design/references/design/interaction.md +149 -0
  349. package/dist/template/.pi/skills/frontend-design/references/design/typography-rules.md +106 -0
  350. package/dist/template/.pi/skills/frontend-design/references/design/ux-writing.md +99 -0
  351. package/dist/template/.pi/skills/frontend-design/references/shadcn/accessibility.md +132 -0
  352. package/dist/template/.pi/skills/frontend-design/references/shadcn/core-components.md +153 -0
  353. package/dist/template/.pi/skills/frontend-design/references/shadcn/form-components.md +158 -0
  354. package/dist/template/.pi/skills/frontend-design/references/shadcn/setup.md +69 -0
  355. package/dist/template/.pi/skills/frontend-design/references/shadcn/theming.md +152 -0
  356. package/dist/template/.pi/skills/frontend-design/references/tailwind/responsive.md +112 -0
  357. package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-layout.md +134 -0
  358. package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-styling.md +165 -0
  359. package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-config.md +147 -0
  360. package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-features.md +128 -0
  361. package/dist/template/.pi/skills/frontend-ui-engineering/SKILL.md +217 -0
  362. package/dist/template/.pi/skills/gemini-large-context/SKILL.md +238 -0
  363. package/dist/template/.pi/skills/git-workflow-and-versioning/SKILL.md +217 -0
  364. package/dist/template/.pi/skills/grill-me/SKILL.md +162 -0
  365. package/dist/template/.pi/skills/high-end-visual-design/SKILL.md +128 -0
  366. package/dist/template/.pi/skills/idea-refine/SKILL.md +195 -0
  367. package/dist/template/.pi/skills/idea-refine/examples.md +62 -0
  368. package/dist/template/.pi/skills/idea-refine/frameworks.md +63 -0
  369. package/dist/template/.pi/skills/idea-refine/refinement-criteria.md +56 -0
  370. package/dist/template/.pi/skills/incremental-implementation/SKILL.md +190 -0
  371. package/dist/template/.pi/skills/industrial-brutalist-ui/SKILL.md +131 -0
  372. package/dist/template/.pi/skills/interview-me/SKILL.md +227 -0
  373. package/dist/template/.pi/skills/jira/SKILL.md +306 -0
  374. package/dist/template/.pi/skills/loop-audit/SKILL.md +141 -0
  375. package/dist/template/.pi/skills/loop-cost/SKILL.md +130 -0
  376. package/dist/template/.pi/skills/loop-engineering/SKILL.md +175 -0
  377. package/dist/template/.pi/skills/minimalist-ui/SKILL.md +124 -0
  378. package/dist/template/.pi/skills/mockup-to-code/SKILL.md +197 -0
  379. package/dist/template/.pi/skills/observability-and-instrumentation/SKILL.md +202 -0
  380. package/dist/template/.pi/skills/opensrc/SKILL.md +297 -0
  381. package/dist/template/.pi/skills/opensrc/references/architecture.md +176 -0
  382. package/dist/template/.pi/skills/opensrc/references/cli-usage.md +176 -0
  383. package/dist/template/.pi/skills/opensrc/references/registry-support.md +137 -0
  384. package/dist/template/.pi/skills/pdf-extract/SKILL.md +461 -0
  385. package/dist/template/.pi/skills/performance-optimization/SKILL.md +233 -0
  386. package/dist/template/.pi/skills/performance-optimization/references/performance-checklist.md +85 -0
  387. package/dist/template/.pi/skills/planning-and-task-breakdown/SKILL.md +204 -0
  388. package/dist/template/.pi/skills/playwright/SKILL.md +404 -0
  389. package/dist/template/.pi/skills/playwright/references/agent-browser-cli.md +405 -0
  390. package/dist/template/.pi/skills/polar/SKILL.md +125 -0
  391. package/dist/template/.pi/skills/react-best-practices/SKILL.md +156 -0
  392. package/dist/template/.pi/skills/react-best-practices/rules/_sections.md +46 -0
  393. package/dist/template/.pi/skills/react-best-practices/rules/_template.md +28 -0
  394. package/dist/template/.pi/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  395. package/dist/template/.pi/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  396. package/dist/template/.pi/skills/react-best-practices/rules/async-api-routes.md +38 -0
  397. package/dist/template/.pi/skills/react-best-practices/rules/async-defer-await.md +80 -0
  398. package/dist/template/.pi/skills/react-best-practices/rules/async-dependencies.md +36 -0
  399. package/dist/template/.pi/skills/react-best-practices/rules/async-parallel.md +28 -0
  400. package/dist/template/.pi/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  401. package/dist/template/.pi/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  402. package/dist/template/.pi/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  403. package/dist/template/.pi/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  404. package/dist/template/.pi/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  405. package/dist/template/.pi/skills/react-best-practices/rules/bundle-preload.md +50 -0
  406. package/dist/template/.pi/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  407. package/dist/template/.pi/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  408. package/dist/template/.pi/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  409. package/dist/template/.pi/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  410. package/dist/template/.pi/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  411. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  412. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  413. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  414. package/dist/template/.pi/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  415. package/dist/template/.pi/skills/react-best-practices/rules/js-early-exit.md +50 -0
  416. package/dist/template/.pi/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  417. package/dist/template/.pi/skills/react-best-practices/rules/js-index-maps.md +37 -0
  418. package/dist/template/.pi/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  419. package/dist/template/.pi/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  420. package/dist/template/.pi/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  421. package/dist/template/.pi/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  422. package/dist/template/.pi/skills/react-best-practices/rules/rendering-activity.md +26 -0
  423. package/dist/template/.pi/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  424. package/dist/template/.pi/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  425. package/dist/template/.pi/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  426. package/dist/template/.pi/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  427. package/dist/template/.pi/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  428. package/dist/template/.pi/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  429. package/dist/template/.pi/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  430. package/dist/template/.pi/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  431. package/dist/template/.pi/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  432. package/dist/template/.pi/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  433. package/dist/template/.pi/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  434. package/dist/template/.pi/skills/react-best-practices/rules/rerender-memo.md +44 -0
  435. package/dist/template/.pi/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  436. package/dist/template/.pi/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  437. package/dist/template/.pi/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  438. package/dist/template/.pi/skills/react-best-practices/rules/server-cache-react.md +76 -0
  439. package/dist/template/.pi/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  440. package/dist/template/.pi/skills/react-best-practices/rules/server-serialization.md +38 -0
  441. package/dist/template/.pi/skills/redesign-existing-projects/SKILL.md +217 -0
  442. package/dist/template/.pi/skills/resend/SKILL.md +196 -0
  443. package/dist/template/.pi/skills/resend/references/react-email.md +287 -0
  444. package/dist/template/.pi/skills/resend/references/receive-email.md +248 -0
  445. package/dist/template/.pi/skills/resend/references/send-email.md +318 -0
  446. package/dist/template/.pi/skills/root-cause-tracing/SKILL.md +216 -0
  447. package/dist/template/.pi/skills/security-and-hardening/SKILL.md +293 -0
  448. package/dist/template/.pi/skills/security-and-hardening/references/security-checklist.md +105 -0
  449. package/dist/template/.pi/skills/shipping-and-launch/SKILL.md +101 -0
  450. package/dist/template/.pi/skills/source-driven-development/SKILL.md +108 -0
  451. package/dist/template/.pi/skills/spec-driven-development/SKILL.md +177 -0
  452. package/dist/template/.pi/skills/srcwalk/SKILL.md +182 -0
  453. package/dist/template/.pi/skills/subagent-driven-development/SKILL.md +253 -0
  454. package/dist/template/.pi/skills/supabase/SKILL.md +153 -0
  455. package/dist/template/.pi/skills/supabase-postgres-best-practices/SKILL.md +88 -0
  456. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  457. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  458. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  459. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  460. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  461. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  462. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  463. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  464. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  465. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  466. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  467. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  468. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  469. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  470. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  471. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  472. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  473. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  474. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  475. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  476. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  477. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  478. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  479. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  480. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  481. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  482. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  483. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  484. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  485. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  486. package/dist/template/.pi/skills/swift-concurrency/SKILL.md +290 -0
  487. package/dist/template/.pi/skills/swift-concurrency/references/actors.md +640 -0
  488. package/dist/template/.pi/skills/swift-concurrency/references/async-algorithms.md +822 -0
  489. package/dist/template/.pi/skills/swift-concurrency/references/async-await-basics.md +249 -0
  490. package/dist/template/.pi/skills/swift-concurrency/references/async-sequences.md +670 -0
  491. package/dist/template/.pi/skills/swift-concurrency/references/core-data.md +533 -0
  492. package/dist/template/.pi/skills/swift-concurrency/references/glossary.md +128 -0
  493. package/dist/template/.pi/skills/swift-concurrency/references/linting.md +142 -0
  494. package/dist/template/.pi/skills/swift-concurrency/references/memory-management.md +542 -0
  495. package/dist/template/.pi/skills/swift-concurrency/references/migration.md +1076 -0
  496. package/dist/template/.pi/skills/swift-concurrency/references/performance.md +574 -0
  497. package/dist/template/.pi/skills/swift-concurrency/references/sendable.md +578 -0
  498. package/dist/template/.pi/skills/swift-concurrency/references/tasks.md +604 -0
  499. package/dist/template/.pi/skills/swift-concurrency/references/testing.md +565 -0
  500. package/dist/template/.pi/skills/swift-concurrency/references/threading.md +452 -0
  501. package/dist/template/.pi/skills/swiftui-expert-skill/SKILL.md +343 -0
  502. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
  503. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  504. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  505. package/dist/template/.pi/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
  506. package/dist/template/.pi/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  507. package/dist/template/.pi/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
  508. package/dist/template/.pi/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
  509. package/dist/template/.pi/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
  510. package/dist/template/.pi/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
  511. package/dist/template/.pi/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  512. package/dist/template/.pi/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  513. package/dist/template/.pi/skills/swiftui-expert-skill/references/state-management.md +447 -0
  514. package/dist/template/.pi/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
  515. package/dist/template/.pi/skills/swiftui-expert-skill/references/view-structure.md +276 -0
  516. package/dist/template/.pi/skills/test-driven-development/SKILL.md +400 -0
  517. package/dist/template/.pi/skills/test-driven-development/references/testing-patterns.md +155 -0
  518. package/dist/template/.pi/skills/testing-anti-patterns/SKILL.md +339 -0
  519. package/dist/template/.pi/skills/using-agent-skills/SKILL.md +371 -0
  520. package/dist/template/.pi/skills/using-git-worktrees/SKILL.md +275 -0
  521. package/dist/template/.pi/skills/vercel-deploy-claimable/SKILL.md +144 -0
  522. package/dist/template/.pi/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  523. package/dist/template/.pi/skills/verification-before-completion/SKILL.md +348 -0
  524. package/dist/template/.pi/skills/webclaw/SKILL.md +188 -0
  525. package/dist/template/.pi/skills/writing-skills/SKILL.md +329 -0
  526. package/dist/template/.pi/skills/writing-skills/references/anti-patterns.md +25 -0
  527. package/dist/template/.pi/skills/writing-skills/references/claude-search-optimization.md +140 -0
  528. package/dist/template/.pi/skills/writing-skills/references/discovery-workflow.md +11 -0
  529. package/dist/template/.pi/skills/writing-skills/references/file-organization.md +32 -0
  530. package/dist/template/.pi/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
  531. package/dist/template/.pi/skills/writing-skills/references/rationalization-hardening.md +75 -0
  532. package/dist/template/.pi/skills/writing-skills/references/testing-methodology.md +397 -0
  533. package/dist/template/.pi/skills/writing-skills/references/testing-skill-types.md +52 -0
  534. package/dist/template/.pi/subagents.json +10 -0
  535. package/dist/template/.pi/templates/adr.md +47 -0
  536. package/dist/template/.pi/templates/design.md +61 -0
  537. package/dist/template/.pi/templates/loop-github-action.yml +162 -0
  538. package/dist/template/.pi/templates/loop-orchestrator.sh +514 -0
  539. package/dist/template/.pi/templates/loop-orchestrator.test.ts +332 -0
  540. package/dist/template/.pi/templates/loop-orchestrator.ts +936 -0
  541. package/dist/template/.pi/templates/loop-state.json +24 -0
  542. package/dist/template/.pi/templates/loop-state.md +98 -0
  543. package/dist/template/.pi/templates/loop-vision.md +110 -0
  544. package/dist/template/.pi/templates/prd.md +204 -0
  545. package/dist/template/.pi/templates/progress.md +55 -0
  546. package/dist/template/.pi/templates/project.md +58 -0
  547. package/dist/template/.pi/templates/proposal.md +40 -0
  548. package/dist/template/.pi/templates/review-state.json +20 -0
  549. package/dist/template/.pi/templates/roadmap.md +93 -0
  550. package/dist/template/.pi/templates/state.md +97 -0
  551. package/dist/template/.pi/templates/tasks.md +202 -0
  552. package/dist/template/.pi/templates/tech-stack.md +85 -0
  553. package/dist/template/.pi/templates/user.md +26 -0
  554. package/dist/template/.pi/workflows/INDEX.md +63 -0
  555. package/dist/template/.pi/workflows/audit-pattern.md +84 -0
  556. package/dist/template/.pi/workflows/batch-implement.md +121 -0
  557. package/dist/template/.pi/workflows/deep-research.md +89 -0
  558. package/dist/template/.pi/workflows/development-lifecycle-workflow.md +175 -0
  559. package/dist/template/.pi/workflows/garbage-collection.md +144 -0
  560. package/dist/template/.pi/workflows/quality-loop.md +211 -0
  561. package/package.json +57 -0
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: spec-driven-development
3
+ description: Guides agents from vague request to concrete specification before implementation. Use when starting a new feature, significant change, product idea, or when requirements are ambiguous.
4
+ ---
5
+
6
+ # Spec-Driven Development
7
+
8
+ ## Overview
9
+
10
+ A spec converts intent into testable truth. Code written before the target is clear becomes rework.
11
+
12
+ Core principle: define observable outcomes, constraints, non-goals, and verification before planning implementation.
13
+
14
+ **Define the vocabulary first.** Every concept in the spec should have one name — that name must match what the code will call it. This is Evans' "ubiquitous language": a shared vocabulary between developers, domain experts, code, and AI context files. Ambiguous language in the spec causes the "AI does the wrong thing" failure mode: the LLM implements what the words say, not what you meant.
15
+
16
+ After writing the spec, extract a glossary of terms. Every capitalized concept in the spec should correspond to exactly one code symbol (type, class, module, function, file). If two terms mean the same thing, pick one. If one term means two things, split it.
17
+
18
+ ## When to Use
19
+
20
+ - User asks for a new feature or significant behavior change.
21
+ - Requirements are vague, conflicting, or missing edge cases.
22
+ - Multiple files/systems will be affected.
23
+ - The work needs acceptance criteria or user-visible behavior.
24
+
25
+ ## When NOT to Use
26
+
27
+ - Tiny mechanical edits with obvious expected behavior.
28
+ - Emergency bug fixes where reproduction is already clear; use `debugging-and-error-recovery`.
29
+ - Pure research with no implementation decision; use `source-driven-development`.
30
+
31
+ ## Gated Workflow
32
+
33
+ Every change passes through four locked gates. Do not open the next gate until the current one is approved.
34
+
35
+ 1. **SPECIFY** — lock intent.
36
+ 1. State the goal as an outcome, not a task.
37
+ 2. **Establish vocabulary**: define the key terms and map them to code concepts.
38
+ 3. Derive 3-7 observable truths from the user's perspective.
39
+ 4. Identify constraints: technical, UX, security, performance, compatibility.
40
+ 5. Define non-goals to prevent scope creep.
41
+ 6. List affected surfaces: files, APIs, commands, UI screens, data models.
42
+ 7. **Check vocabulary consistency**: does every spec term map to exactly one code symbol? Are any terms overloaded?
43
+ 8. Reframe instructions as success criteria (see pattern below).
44
+ - **Gate**: spec approved or assumptions explicitly accepted.
45
+ 2. **PLAN** — lock approach. Hand off to `planning-and-task-breakdown`.
46
+ - **Gate**: plan approved.
47
+ 3. **TASKS** — lock units. Break plan into verifiable beads/tasks with owners.
48
+ - **Gate**: task list approved.
49
+ 4. **IMPLEMENT** — lock behavior. Code against the spec; update spec when reality diverges.
50
+ - **Gate**: verification checklist passes.
51
+
52
+ Human gates are binary: approve, change, or cancel. Do not sneak work through an unapproved gate.
53
+
54
+ ## Reframe Instructions as Success Criteria
55
+
56
+ Turn every "do X" request into a verifiable "X is true when..." statement. If the user says "make it faster", write "Page load time is under 1.0 s on 3G for the dashboard route". If the user says "support CSV import", write "A CSV with 10,000 rows is imported without OOM and produces a row-level error report".
57
+
58
+ Use this pattern inside the Spec Template under Acceptance Criteria.
59
+
60
+ ## Spec Template
61
+
62
+ ```markdown
63
+ # Spec: [Name]
64
+
65
+ ## Goal
66
+ [Outcome in one sentence]
67
+
68
+ ## Vocabulary
69
+ | Term | Definition | Code symbol |
70
+ |------|------------|-------------|
71
+ | ... | ... | ... |
72
+
73
+ Every concept should have one name. If two terms mean the same thing, consolidate. If one term means two things, split it.
74
+
75
+ ## Observable Truths
76
+ - [User/system can observe X]
77
+
78
+ ## Constraints
79
+ - [Hard constraint]
80
+
81
+ ## Non-Goals
82
+ - [Explicitly out of scope]
83
+
84
+ ## Affected Surfaces
85
+ - [File/API/UI/data area]
86
+
87
+ ## Acceptance Criteria
88
+ - [Criterion] -> verify with [command/check/manual observation]
89
+
90
+ ## Open Questions
91
+ - [Question or none]
92
+ ```
93
+
94
+ ## Six Core Areas
95
+
96
+ A complete spec covers these six areas. Use them as a final completeness check before the SPECIFY gate closes.
97
+
98
+ | Area | Question to answer |
99
+ | --- | --- |
100
+ | **Objective** | What user/system outcome must be true after this change? |
101
+ | **Commands** | What CLI/API/user commands are added, changed, or removed? |
102
+ | **Project Structure** | What files, modules, or packages move or appear? |
103
+ | **Code Style** | What patterns, naming, or formatting rules apply? |
104
+ | **Testing Strategy** | How will correctness be proven? Unit, integration, manual? |
105
+ | **Boundaries** | What is always in scope, ask-first, and never allowed? |
106
+
107
+ ## Three-Tier Boundary System
108
+
109
+ Define boundaries before coding. Use the tiers to resolve "should I do this?" questions during implementation.
110
+
111
+ | Tier | Rule | Examples |
112
+ | --- | --- | --- |
113
+ | **Always do** | Required by the spec; no extra approval. | Input validation, error handling for listed edge cases, update affected tests. |
114
+ | **Ask first** | Changes design, scope, or risk; get user approval. | New dependency, schema change, new public API, removing a feature. |
115
+ | **Never do** | Explicitly out of scope. | Rewrite unrelated modules, change secrets, ship without verification. |
116
+
117
+ ## Keeping the Spec Alive
118
+
119
+ A spec is not a tombstone. Update it when:
120
+
121
+ - Implementation reveals an edge case not in the original spec.
122
+ - The user changes a requirement mid-flight.
123
+ - A constraint turns out to be wrong or unnecessary.
124
+ - The glossary term-to-symbol mapping changes.
125
+
126
+ If the spec changes, re-validate the acceptance criteria and re-approve the SPECIFY gate before continuing.
127
+
128
+ ## Common Rationalizations
129
+
130
+ | Rationalization | Rebuttal |
131
+ | --- | --- |
132
+ | "The user already explained it" | Explanation is not acceptance criteria. Write the target down. |
133
+ | "I'll discover requirements while coding" | Discovery during coding causes churn and hidden scope expansion. |
134
+ | "This is obvious" | Obvious to you is not a contract for the next agent or reviewer. |
135
+ | "The AI will figure out what I mean" | The AI will implement exactly what the spec says. Ambiguous language = wrong implementation. |
136
+ | "Questions slow us down" | One precise question is cheaper than implementing the wrong behavior. |
137
+ | "The spec is good enough, I'll add gates later" | Later rarely comes. Unapproved gates let scope and risk leak through. |
138
+
139
+ ## Red Flags
140
+
141
+ - No explicit non-goals for a broad feature.
142
+ - Acceptance criteria are phrased as implementation tasks.
143
+ - Edge cases are deferred without user agreement.
144
+ - The plan starts before observable truths are defined.
145
+ - User-visible behavior has no verification method.
146
+ - **No vocabulary section** — missing ubiquitous language means AI will guess term meanings.
147
+ - **Same term used for different concepts** — e.g. "Order" means creation flow in one place and fulfillment in another.
148
+ - **Different terms for the same concept** — e.g. "User" vs "Account" vs "Profile" used interchangeably.
149
+ - Skipping a human gate because "the change is small".
150
+ - Boundaries are missing, so the agent must decide scope on the fly.
151
+
152
+ ## Verification Checklist
153
+
154
+ - [ ] Goal is outcome-shaped, not task-shaped.
155
+ - [ ] Vocabulary table exists and every term maps to exactly one code symbol.
156
+ - [ ] No overloaded terms or synonyms in the glossary.
157
+ - [ ] Observable truths are human-verifiable.
158
+ - [ ] Constraints are explicit (technical, UX, security, performance, compatibility).
159
+ - [ ] Non-goals are listed and realistic.
160
+ - [ ] Affected surfaces are named with file/API/UI/data area paths.
161
+ - [ ] Acceptance criteria are reframed as success criteria with verification methods.
162
+ - [ ] Three-tier boundaries are defined.
163
+ - [ ] Open questions are resolved or recorded as assumptions with risk.
164
+ - [ ] At most 1-4 focused questions are pending.
165
+ - [ ] Human gate approval is recorded before moving to PLAN.
166
+
167
+ ## Skill Result Contract
168
+
169
+ ```xml
170
+ <skill_result>
171
+ <skill>spec-driven-development</skill>
172
+ <status>success|partial|blocked|failure</status>
173
+ <evidence>Spec sections completed and questions/assumptions recorded</evidence>
174
+ <artifacts>Spec path or inline spec summary</artifacts>
175
+ <risks>Unresolved assumptions or none</risks>
176
+ </skill_result>
177
+ ```
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: srcwalk
3
+ description: Use when navigating code with srcwalk — repo maps, large-file reads, symbol search, callers/callees, flow slices, impact checks, and precise drill-ins.
4
+ ---
5
+
6
+ # Srcwalk — Code Navigation
7
+
8
+ Srcwalk is the project's code navigation engine (v1.0.0+). All Pi tools are backed by the installed `srcwalk` binary.
9
+
10
+ Run the embedded guide before non-trivial use — it is the version-matched source of truth:
11
+
12
+ ```bash
13
+ srcwalk guide
14
+ ```
15
+
16
+ Do not pipe, truncate, or summarize `srcwalk guide`.
17
+
18
+ ## When to Use
19
+
20
+ - Any code navigation task: symbol search, large-file reading, repo maps
21
+ - Tracing call graphs (callers, callees, transitive chains)
22
+ - Checking blast radius before breaking changes
23
+ - Understanding repo shape and token budgets
24
+ - Quick function orientation (flow slice)
25
+ - Heuristic impact triage
26
+
27
+ ## When NOT to Use
28
+
29
+ - Non-code files where tree-sitter has no grammar → use `read` directly
30
+ - Simple one-off reads of small known files → use built-in `read`
31
+
32
+ ## Pi Tool Surface
33
+
34
+ ### Core navigation tools
35
+
36
+ | Tool | Srcwalk command | Purpose |
37
+ |---|---|---|
38
+ | `srcwalk_read` | `srcwalk <path>` | Smart file reading: outline or full with sections |
39
+ | `srcwalk_deps` | `srcwalk deps` + exact import scan | Blast-radius: importers + dep-aware dependents (v1.0.0) |
40
+
41
+ ### Extended analysis tools
42
+
43
+ | Tool | Srcwalk command | Purpose |
44
+ |---|---|---|
45
+ | `srcwalk_map` | `srcwalk overview` | Token-annotated directory skeleton + dep groups (v1.0.0) |
46
+ | `srcwalk_callers` | `srcwalk trace callers` | Reverse call graph with BFS depth + filters |
47
+ | `srcwalk_callees` | `srcwalk trace callees` | Forward call graph with `--detailed` ordered call sites |
48
+ | `srcwalk_flow` | `srcwalk context` | Compact orientation slice |
49
+ | `srcwalk_impact` | `srcwalk assess` | Heuristic blast-radius triage |
50
+
51
+ ## Command Routing
52
+
53
+ | Intent | Use first |
54
+ |---|---|
55
+ | Understand repo shape | `srcwalk_map` |
56
+ | Read or inspect a large file | `srcwalk_read` |
57
+ | Jump to exact line | `srcwalk_read({ path: "file:42" })` |
58
+ | Read a line range | `srcwalk_read({ path: "file:44-89" })` — v1.0.0 shortcut |
59
+ | Read by symbol name | `srcwalk_read({ section: "symbolName" })` |
60
+ | Find patterns and symbols | `grep` (exact), `csearch` (multi-keyword) |
61
+ | Find files by glob | `glob` |
62
+ | Multi-symbol search | `grep({ pattern: "A|B|C" })` |
63
+ | Who directly calls this? | `srcwalk_callers` |
64
+ | Who reaches this transitively? | `srcwalk_callers({ depth: 2 })` |
65
+ | What does this call? | `srcwalk_callees` |
66
+ | Ordered calls + arg slots | `srcwalk_callees({ detailed: true })` |
67
+ | Quick orientation slice | `srcwalk_flow` |
68
+ | File imports and dependents | `srcwalk_deps` |
69
+ | Heuristic blast-radius | `srcwalk_impact` (verify with callers) |
70
+
71
+ ## Default Workflows
72
+
73
+ ### Explore unfamiliar code
74
+
75
+ ```
76
+ srcwalk_map({ scope: "." })
77
+ grep({ pattern: "likely_symbol", path: "src/" })
78
+ srcwalk_read({ path: "src/file.ts:42" }) // jump to line
79
+ srcwalk_read({ path: "src/file.ts:44-89" }) // range shortcut (v1.0.0)
80
+ ```
81
+
82
+ ### Read a large file
83
+
84
+ ```
85
+ srcwalk_read({ path: "src/file.ts" }) // structural outline
86
+ srcwalk_read({ path: "src/file.ts", section: "handleAuth" }) // drill into symbol
87
+ srcwalk_read({ path: "src/file.ts", section: "44-89" }) // exact range
88
+ ```
89
+
90
+ Prefer outline/section reads before `full: true`.
91
+
92
+ ### Find and drill into symbols
93
+
94
+ ```
95
+ grep({ pattern: "handleAuth", path: "src/" })
96
+ grep({ pattern: "A|B|C", path: "src/" }) // multi-symbol
97
+ csearch({ query: "auth token login middleware" }) // multi-keyword chunk search
98
+ ```
99
+
100
+ ### Trace call graph
101
+
102
+ ```
103
+ // upstream
104
+ srcwalk_callers({ symbol: "handleAuth", scope: "src" })
105
+ srcwalk_callers({ symbol: "handleAuth", depth: 2, scope: "src" }) // transitive
106
+ srcwalk_callers({ symbol: "handleAuth", filter: "args:3", scope: "src" })
107
+ srcwalk_callers({ symbol: "handleAuth", countBy: "file", scope: "src" })
108
+
109
+ // downstream
110
+ srcwalk_callees({ symbol: "handleAuth", scope: "src" })
111
+ srcwalk_callees({ symbol: "handleAuth", detailed: true, scope: "src" }) // ordered sites
112
+ srcwalk_callees({ symbol: "handleAuth", depth: 2, scope: "src" }) // transitive
113
+
114
+ // quick orientation
115
+ srcwalk_flow({ symbol: "handleAuth", scope: "src" })
116
+ ```
117
+
118
+ Use `grep` for quick single-hop searches. Use `srcwalk_callers` when you need depth, filters, or aggregation.
119
+
120
+ > Note: `--count-by` and `--depth` are mutually exclusive in `srcwalk_callers` — use one or the other, not both.
121
+
122
+ ### Check file blast radius
123
+
124
+ ```
125
+ srcwalk_deps({ path: "src/auth.ts" })
126
+ srcwalk_impact({ symbol: "handleAuth", scope: "src" }) // heuristic; follow up with callers
127
+ ```
128
+
129
+ ## v1.0.0 Features
130
+
131
+ - **Path range shortcut**: `srcwalk_read({ path: "file:start-end" })` reads a line range directly — no need to pass `section` separately
132
+ - **Dependency-aware map**: `srcwalk_map` now shows local relation groups and outbound dependency previews for narrowed scopes
133
+ - **JS/TS artifact navigation**: bundle anchors, artifact reads, artifact search snippets, and artifact caller/callee support
134
+ - **Improved UX**: more compact semantic rows, directory grouping, footer tips, and clearer scope/depth wording across all commands
135
+
136
+ ## Critical Rules
137
+
138
+ - **Do NOT** use built-in `read`/`find` when srcwalk_* tools can answer; `grep` is preferred for text searches
139
+ - `srcwalk_impact` is heuristic, not proof — verify with `srcwalk_callers` or exact reads
140
+ - `srcwalk_flow` may collapse nested/fluent chains — drill with `srcwalk_callees({ detailed: true })` when inner calls matter
141
+ - Follow `> Next:` footers in output — they suggest the best next command
142
+ - Scope paths are **relative to Pi's CWD** (`.pi/` in this project). Use `scope: "extensions"` not `scope: ".pi/extensions"`
143
+
144
+ ## Supported Languages
145
+
146
+ Rust, TypeScript, TSX, JavaScript, Python, Go, Java, Scala, C, C++, Ruby, PHP, C#, Swift, Elixir, Kotlin. Unsupported files still get smart text/outline reads.
147
+
148
+ ## Setup
149
+
150
+ The srcwalk plugin is auto-discovered via `pi-srcwalk` (installed as `npm:@sting8k/pi-srcwalk`). See `## Pi Note` below for equivalent tools.
151
+
152
+ All scope paths are relative to the **project root directory**. The default scope resolves from the project root.
153
+
154
+ ## Pi Note
155
+
156
+ In Pi, srcwalk is superseded by `pi-srcwalk` (auto-installed via `npm:@sting8k/pi-srcwalk` in `settings.json`). Use the equivalent semantic tools: `semantic_query`, `semantic_inspect`, `semantic_grep`, `semantic_show`.
157
+
158
+ ## Common Rationalizations
159
+
160
+ | Rationalization | Reality |
161
+ |---|---|
162
+ | "I know the codebase well enough" | Codebases change faster than memory. Verify assumptions with actual code reads. |
163
+ | "Grep is faster than srcwalk" | Grep finds text. Srcwalk finds symbols, callers, impact — richer context for decisions. |
164
+ | "I'll just read the file directly" | Direct reads miss callers and impact. Srcwalk shows the blast radius. |
165
+
166
+ ## Red Flags
167
+
168
+ - Code changes made without checking callers
169
+ - Symbol search skipped — relying on filename-based assumptions
170
+ - Impact analysis not run before breaking changes
171
+ - File reads without srcwalk context (missing caller/callee relationships)
172
+ - Large-scale refactors started without dependency graph check
173
+
174
+ ## Verification
175
+
176
+ After navigating code with srcwalk:
177
+
178
+ - [ ] Callers of modified functions are identified and reviewed
179
+ - [ ] Impact analysis run for any breaking changes
180
+ - [ ] Symbol definitions verified (not assumed from filename)
181
+ - [ ] Dependency graph checked before large-scale restructuring
182
+ - [ ] File reads include surrounding context (callers + callees)
@@ -0,0 +1,253 @@
1
+ ---
2
+ name: subagent-driven-development
3
+ description: Use when executing implementation plans with independent tasks in the current session - dispatches fresh subagent for each task with code review between tasks, enabling fast iteration with quality gates
4
+ ---
5
+
6
+ # Subagent-Driven Development
7
+
8
+ > **Replaces** monolithic single-agent implementation sessions that grow stale — dispatches fresh subagents per task with code review gates between them
9
+
10
+ ## When to Use
11
+
12
+ - Executing a plan with mostly independent tasks in the same session
13
+ - You want a fresh subagent per task plus review checkpoints
14
+
15
+ ## When NOT to Use
16
+
17
+ - The plan requires review or revisions first (use `incremental-implementation`)
18
+ - Tasks are tightly coupled and need manual sequencing
19
+
20
+ ## Overview
21
+
22
+ **vs. Executing Plans (parallel session):**
23
+
24
+ - Same session (no context switch)
25
+ - Fresh subagent per task (no context pollution)
26
+ - Code review after each task (catch issues early)
27
+ - Faster iteration (no human-in-loop between tasks)
28
+
29
+ ## The Process
30
+
31
+ ### 1. Load Plan
32
+
33
+ Read plan file, create TodoWrite with all tasks.
34
+
35
+ **Context file pattern:** If the plan exceeds ~500 tokens, write it to `.pi/artifacts/plan-context.md` and reference by path in subagent prompts instead of inlining. This saves tokens when dispatching multiple subagents from the same plan.
36
+
37
+ ### 2. Execute Task with Subagent
38
+
39
+ For each task:
40
+
41
+ **Dispatch fresh subagent:**
42
+
43
+ ```
44
+ Task tool (general-purpose):
45
+ description: "Implement Task N: [task name]"
46
+ prompt: |
47
+ You are implementing Task N from [plan-file].
48
+
49
+ Read that task carefully. Your job is to:
50
+ 1. Implement exactly what the task specifies
51
+ 2. Write tests (following TDD if task says to)
52
+ 3. Verify implementation works
53
+ 4. Commit your work
54
+ 5. Report back
55
+
56
+ Work from: [directory]
57
+
58
+ [Include Structured Termination Contract from AGENTS.md]
59
+ ```
60
+
61
+ **After subagent reports back** — follow the **Worker Distrust Protocol** from AGENTS.md:
62
+
63
+ 1. Read changed files directly (don't trust the report)
64
+ 2. Run verification on modified files (typecheck + lint minimum)
65
+ 3. Check acceptance criteria against original task spec
66
+ 4. Only then mark the task as complete
67
+
68
+ ### 3. Review Subagent's Work
69
+
70
+ **Dispatch review subagent:**
71
+
72
+ Use the review format from the `code-review-and-quality` skill (severity-ranked findings: P0/P1/P2/P3 with file:line + suggestion). Pass to the review subagent:
73
+
74
+ WHAT_WAS_IMPLEMENTED: [from subagent's report]
75
+ PLAN_OR_REQUIREMENTS: Task N from [plan-file]
76
+ BASE_SHA: [commit before task]
77
+ HEAD_SHA: [current commit]
78
+ DESCRIPTION: [task summary]
79
+
80
+ ```
81
+
82
+ **Code reviewer returns:** Strengths, Issues (Critical/Important/Minor), Assessment
83
+
84
+ ### 4. Apply Review Feedback
85
+
86
+ **If issues found:**
87
+
88
+ - Fix Critical issues immediately
89
+ - Fix Important issues before next task
90
+ - Note Minor issues
91
+
92
+ **Dispatch follow-up subagent if needed:**
93
+
94
+ ```
95
+
96
+ "Fix issues from code review: [list issues]"
97
+
98
+ ```
99
+
100
+ ### 5. Mark Complete, Next Task
101
+
102
+ - Mark task as completed in TodoWrite
103
+ - Move to next task
104
+ - Repeat steps 2-5
105
+
106
+ ### 6. Final Review
107
+
108
+ After all tasks complete, dispatch final review:
109
+
110
+ - Reviews entire implementation
111
+ - Checks all plan requirements met
112
+ - Validates overall architecture
113
+
114
+ ### 7. Complete Development
115
+
116
+ After final review passes:
117
+
118
+ - Announce: "I'm using `shipping-and-launch` skill to complete this work."
119
+ - **REQUIRED SUB-SKILL:** Load `shipping-and-launch` skill (auto-discovered from `.pi/skills/`)
120
+ - Follow that skill to verify tests, present options, execute choice
121
+
122
+ ## Example Workflow
123
+
124
+ ```
125
+
126
+ You: I'm using Subagent-Driven Development to execute this plan.
127
+
128
+ [Load plan, create TodoWrite]
129
+
130
+ Task 1: Hook installation script
131
+
132
+ [Dispatch implementation subagent]
133
+ Subagent: Implemented install-hook with tests, 5/5 passing
134
+
135
+ [Get git SHAs, dispatch review]
136
+ Reviewer: Strengths: Good test coverage. Issues: None. Ready.
137
+
138
+ [Mark Task 1 complete]
139
+
140
+ Task 2: Recovery modes
141
+
142
+ [Dispatch implementation subagent]
143
+ Subagent: Added verify/repair, 8/8 tests passing
144
+
145
+ [Dispatch review]
146
+ Reviewer: Strengths: Solid. Issues (Important): Missing progress reporting
147
+
148
+ [Dispatch fix subagent]
149
+ Fix subagent: Added progress every 100 conversations
150
+
151
+ [Verify fix, mark Task 2 complete]
152
+
153
+ ...
154
+
155
+ [After all tasks]
156
+ [Dispatch final review]
157
+ Final reviewer: All requirements met, ready to merge
158
+
159
+ Done!
160
+
161
+ ```
162
+
163
+ ## Advantages
164
+
165
+ **vs. Manual execution:**
166
+
167
+ - Subagents follow TDD naturally
168
+ - Fresh context per task (no confusion)
169
+ - Parallel-safe (subagents don't interfere)
170
+
171
+ **vs. Executing Plans:**
172
+
173
+ - Same session (no handoff)
174
+ - Continuous progress (no waiting)
175
+ - Review checkpoints automatic
176
+
177
+ **Cost:**
178
+
179
+ - More subagent invocations
180
+ - But catches issues early (cheaper than debugging later)
181
+
182
+ ## Red Flags
183
+
184
+ **Never:**
185
+
186
+ - Skip code review between tasks
187
+ - Proceed with unfixed Critical issues
188
+ - Dispatch multiple implementation subagents in parallel (conflicts)
189
+ - Implement without reading plan task
190
+
191
+ **If subagent fails task:**
192
+
193
+ - Dispatch fix subagent with specific instructions
194
+ - Don't try to fix manually (context pollution)
195
+
196
+ ## Anti-Patterns
197
+
198
+ | Anti-Pattern | Why It Fails | Instead |
199
+ | --- | --- | --- |
200
+ | Dispatching subagents for tasks with shared state/files | Creates edit conflicts, race conditions, and unclear ownership | Keep shared-state work sequential under one subagent at a time |
201
+ | Skipping code review between subagent tasks | Lets defects accumulate and compounds later fixes | Run a review gate after each task before moving on |
202
+ | Giving subagents vague prompts without file paths or acceptance criteria | Produces off-target changes and repeated back-and-forth | Provide exact file paths, task scope, and acceptance criteria |
203
+ | Not verifying subagent output before moving to next task | Carries regressions forward into later tasks | Validate output immediately before starting the next task |
204
+
205
+ ## Verification
206
+
207
+ - After each subagent completes: review its changes, run typecheck + lint on modified files
208
+ - After all tasks: run full test suite to catch integration issues
209
+ - Check: no conflicting edits between subagent outputs
210
+
211
+ ## Integration
212
+
213
+ **Required workflow skills:**
214
+
215
+ - **planning-and-task-breakdown** - REQUIRED: Creates the plan that this skill executes
216
+ - **code-review-and-quality** - REQUIRED: Review after each task (see Step 3)
217
+ - **shipping-and-launch** - REQUIRED: Complete development after all tasks (see Step 7)
218
+
219
+ **Subagents must use:**
220
+
221
+ - **test-driven-development** - Subagents follow TDD for each task
222
+
223
+ **Alternative workflow:**
224
+
225
+ - **incremental-implementation** - Use for same-session slice-by-slice execution instead of parallel subagent dispatch
226
+
227
+ See review format in the `code-review-and-quality` skill.
228
+ ```
229
+
230
+ ## See Also
231
+
232
+ - **subagent-driven-development** — for parallel investigation (this skill)
233
+ - **incremental-implementation** — for batch execution with checkpoints
234
+ - **code-review-and-quality** — for review between subagent tasks
235
+
236
+ ## Common Rationalizations
237
+
238
+ | Rationalization | Reality |
239
+ |---|---|
240
+ | "I'll just do it myself, faster than delegating" | Serial work hits context limits. Parallel subagents finish multi-file tasks faster. |
241
+ | "The subagent will figure out the details" | Subagents need explicit contracts. Vague prompts produce wrong implementations. |
242
+ | "I don't need to review subagent output" | Subagents hallucinate and drift. Every output needs verification. |
243
+ | "One subagent can handle the whole feature" | Large scope in one agent compounds errors. Split into independent tasks. |
244
+
245
+ ## Verification
246
+
247
+ After completing subagent-driven implementation:
248
+
249
+ - [ ] Each task had explicit acceptance criteria before dispatch
250
+ - [ ] Subagent outputs were independently verified (diff reviewed, tests run)
251
+ - [ ] No file conflicts between parallel subagents
252
+ - [ ] Each subagent commit is atomic and reviewable
253
+ - [ ] The full feature passes integration testing