@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,293 @@
1
+ ---
2
+ name: security-and-hardening
3
+ description: Use when auditing for security vulnerabilities, implementing auth/authz, handling secrets, or hardening against OWASP Top 10 — covers input validation, authentication, dependency auditing, and secure defaults
4
+ ---
5
+
6
+ # Security & Hardening
7
+
8
+ > **Replaces** "we'll add security later" with security-by-default patterns applied from the start
9
+
10
+ ## When to Use
11
+
12
+ - Implementing authentication or authorization
13
+ - Handling user input that touches databases, file systems, or external services
14
+ - Reviewing code for security vulnerabilities
15
+ - Running dependency audits or responding to CVE alerts
16
+ - Deploying to production for the first time
17
+
18
+ ## When NOT to Use
19
+
20
+ - Local-only developer tools with no network exposure
21
+ - Throwaway prototypes that will never see user data
22
+ - Performance optimization (that's a different skill)
23
+
24
+ ## Overview
25
+
26
+ Security is a constraint, not a feature. It should be present by default and requires explicit justification to relax.
27
+
28
+ **Core principle:** Validate all input. Authenticate all access. Encrypt all secrets. Audit all dependencies. Trust nothing from outside your process boundary.
29
+
30
+ ## Security Boundaries
31
+
32
+ ### Always
33
+
34
+ - Validate and sanitize all user input at the boundary
35
+ - Use parameterized queries (never string interpolation for SQL)
36
+ - Hash passwords with bcrypt/scrypt/argon2 (never MD5/SHA for passwords)
37
+ - Use HTTPS for all external communication
38
+ - Store secrets in environment variables, never in code
39
+ - Set secure defaults (CORS restrictive, CSP strict, cookies httpOnly+secure)
40
+
41
+ ### Ask First
42
+
43
+ - Changing authentication mechanism or session handling
44
+ - Adding new API endpoints that accept user data
45
+ - Modifying CORS policy or CSP headers
46
+ - Adding new third-party dependencies with network access
47
+ - Storing new types of PII or sensitive data
48
+
49
+ ### Never
50
+
51
+ - Commit secrets, API keys, or credentials to git
52
+ - Disable CSRF protection
53
+ - Use `eval()` or `Function()` with user input
54
+ - Trust client-side validation as the only validation
55
+ - Log sensitive data (passwords, tokens, PII)
56
+
57
+ ## OWASP Top 10 Patterns
58
+
59
+ ### 1. Injection (SQL, NoSQL, Command)
60
+
61
+ ```typescript
62
+ // [ ] SQL Injection
63
+ const user = await db.query(`SELECT * FROM users WHERE id = '${userId}'`);
64
+
65
+ // [x] Parameterized query
66
+ const user = await db.query("SELECT * FROM users WHERE id = $1", [userId]);
67
+ ```
68
+
69
+ ```typescript
70
+ // [ ] Command injection
71
+ exec(`convert ${filename} output.png`);
72
+
73
+ // [x] Safe argument passing
74
+ execFile("convert", [filename, "output.png"]);
75
+ ```
76
+
77
+ ### 2. Broken Authentication
78
+
79
+ ```typescript
80
+ // [x] Password hashing
81
+ import bcrypt from "bcrypt";
82
+ const hash = await bcrypt.hash(password, 12); // cost factor 12
83
+ const valid = await bcrypt.compare(input, hash);
84
+
85
+ // [x] Session management
86
+ const session = {
87
+ httpOnly: true, // No JS access
88
+ secure: true, // HTTPS only
89
+ sameSite: "lax", // CSRF protection
90
+ maxAge: 3600, // 1 hour expiry
91
+ };
92
+ ```
93
+
94
+ ### 3. Sensitive Data Exposure
95
+
96
+ ```typescript
97
+ // [ ] Logging sensitive data
98
+ console.log("User login:", { email, password });
99
+
100
+ // [x] Redact sensitive fields
101
+ console.log("User login:", { email, password: "[REDACTED]" });
102
+
103
+ // [x] API response excludes internal fields
104
+ function toPublicUser(user: DbUser): PublicUser {
105
+ const { passwordHash, internalId, ...publicFields } = user;
106
+ return publicFields;
107
+ }
108
+ ```
109
+
110
+ ### 4. Broken Access Control
111
+
112
+ ```typescript
113
+ // [ ] No authorization check
114
+ app.get("/api/users/:id", async (req, res) => {
115
+ const user = await getUser(req.params.id);
116
+ res.json(user); // Any authenticated user can access any profile
117
+ });
118
+
119
+ // [x] Authorization check
120
+ app.get("/api/users/:id", async (req, res) => {
121
+ const user = await getUser(req.params.id);
122
+ if (user.id !== req.auth.userId && !req.auth.isAdmin) {
123
+ return res.status(403).json({ error: "Forbidden" });
124
+ }
125
+ res.json(user);
126
+ });
127
+ ```
128
+
129
+ ### 5. Security Misconfiguration
130
+
131
+ ```typescript
132
+ // [x] Secure headers (use helmet for Express)
133
+ import helmet from "helmet";
134
+ app.use(helmet());
135
+
136
+ // [x] CORS — restrictive by default
137
+ app.use(
138
+ cors({
139
+ origin: ["https://myapp.com"], // Not '*'
140
+ methods: ["GET", "POST"],
141
+ credentials: true,
142
+ }),
143
+ );
144
+
145
+ // [x] CSP
146
+ app.use(
147
+ helmet.contentSecurityPolicy({
148
+ directives: {
149
+ defaultSrc: ["'self'"],
150
+ scriptSrc: ["'self'"], // No 'unsafe-inline'
151
+ styleSrc: ["'self'", "'unsafe-inline'"], // Only if needed
152
+ },
153
+ }),
154
+ );
155
+ ```
156
+
157
+ ## Input Validation Patterns
158
+
159
+ ```typescript
160
+ import { z } from "zod";
161
+
162
+ // [x] Validate at the boundary
163
+ const createUserSchema = z.object({
164
+ name: z.string().min(1).max(100).trim(),
165
+ email: z.string().email().max(254),
166
+ age: z.number().int().min(0).max(150).optional(),
167
+ });
168
+
169
+ // [x] Reject unknown fields
170
+ const input = createUserSchema.strict().parse(req.body);
171
+ ```
172
+
173
+ | Input Type | Validation |
174
+ | ----------- | -------------------------------------------- |
175
+ | String | Min/max length, regex pattern, trim |
176
+ | Number | Min/max range, integer check |
177
+ | Email | Format validation, max 254 chars |
178
+ | URL | Protocol whitelist (https only) |
179
+ | File upload | Type whitelist, max size, content validation |
180
+ | Array | Max length, item validation |
181
+
182
+ ## Dependency Audit
183
+
184
+ ### npm Audit Triage
185
+
186
+ ```bash
187
+ # Run audit
188
+ npm audit
189
+
190
+ # Decision tree per vulnerability:
191
+ # 1. Is it in production dependencies? (devDeps are lower priority)
192
+ # 2. Is the vulnerability reachable in our usage?
193
+ # 3. Is a patch available? → Update
194
+ # 4. No patch? → Find alternative or add compensating control
195
+ ```
196
+
197
+ | Severity | Action | Timeline |
198
+ | -------- | --------------------- | ---------------------- |
199
+ | Critical | Fix immediately | Same day |
200
+ | High | Fix in current sprint | Within 1 week |
201
+ | Medium | Plan fix | Within 1 month |
202
+ | Low | Track and monitor | Next convenient update |
203
+
204
+ ### Supply Chain Security
205
+
206
+ - [ ] Use lockfile (`package-lock.json` / `pnpm-lock.yaml`) — commit it
207
+ - [ ] Pin major versions in production dependencies
208
+ - [ ] Review new dependencies before adding (check maintainers, download count, last update)
209
+ - [ ] Enable Dependabot or Renovate for automated updates
210
+ - [ ] Use `npm audit` or `pnpm audit` in CI pipeline
211
+
212
+ ## Secrets Management
213
+
214
+ | Rule | Implementation |
215
+ | ------------------------- | ------------------------------------------------ |
216
+ | Never in code | Use `.env` files (gitignored) or secret managers |
217
+ | Never in logs | Redact before logging |
218
+ | Never in URLs | Use headers or body for tokens |
219
+ | Rotate on exposure | Immediate rotation + audit trail |
220
+ | Different per environment | Staging keys ≠ production keys |
221
+ | Least privilege | Each secret grants minimum required access |
222
+
223
+ ```bash
224
+ # [x] .gitignore
225
+ .env
226
+ .env.local
227
+ .env.*.local
228
+ *.key
229
+ *.pem
230
+ ```
231
+
232
+ ## Rate Limiting
233
+
234
+ ```typescript
235
+ // [x] Basic rate limiting
236
+ import rateLimit from "express-rate-limit";
237
+
238
+ const limiter = rateLimit({
239
+ windowMs: 15 * 60 * 1000, // 15 minutes
240
+ max: 100, // 100 requests per window
241
+ standardHeaders: true,
242
+ legacyHeaders: false,
243
+ message: { error: "Too many requests, try again later" },
244
+ });
245
+
246
+ app.use("/api/", limiter);
247
+
248
+ // [x] Stricter limit for auth endpoints
249
+ const authLimiter = rateLimit({
250
+ windowMs: 15 * 60 * 1000,
251
+ max: 5, // 5 login attempts per 15 minutes
252
+ });
253
+ app.use("/api/auth/", authLimiter);
254
+ ```
255
+
256
+ ## Common Rationalizations
257
+
258
+ | Excuse | Rebuttal |
259
+ | ---------------------------------- | ----------------------------------------------------------------------------- |
260
+ | "It's an internal app" | Internal apps get compromised too. Validate all input regardless. |
261
+ | "We'll add security before launch" | Security retrofit is 10x harder than building it in. Start now. |
262
+ | "Nobody will find this endpoint" | Security through obscurity isn't security. Assume everything is discoverable. |
263
+ | "The framework handles it" | Frameworks have defaults, not guarantees. Verify your specific configuration. |
264
+ | "This is just a prototype" | Prototypes become production. Build secure habits from day one. |
265
+ | "The audit has too many warnings" | Triage by severity. Critical/High first, Low can wait. |
266
+
267
+ ## Red Flags — STOP
268
+
269
+ - String concatenation in SQL queries
270
+ - Passwords stored in plaintext or MD5/SHA
271
+ - API keys or secrets in source code
272
+ - CORS set to `*` in production
273
+ - No rate limiting on authentication endpoints
274
+ - User input passed directly to `exec()`, `eval()`, or file system operations
275
+ - Dependencies with known critical CVEs
276
+ - No input validation at API boundaries
277
+
278
+ ## Verification
279
+
280
+ - [ ] All user input validated with schemas at API boundaries
281
+ - [ ] SQL queries use parameterized statements
282
+ - [ ] Passwords hashed with bcrypt/scrypt/argon2 (cost ≥ 12)
283
+ - [ ] No secrets in source code or logs
284
+ - [ ] CORS, CSP, and security headers configured
285
+ - [ ] `npm audit` shows no critical/high vulnerabilities
286
+ - [ ] Rate limiting on authentication and sensitive endpoints
287
+ - [ ] Authorization checks on all protected resources
288
+
289
+ ## See Also
290
+
291
+ - **defense-in-depth** — Validation at every layer, not just the boundary
292
+ - **api-and-interface-design** — Error responses that don't leak internals
293
+ - **ci-cd-and-automation** — Running security checks in CI pipeline
@@ -0,0 +1,105 @@
1
+ # Security Checklist
2
+
3
+ Quick reference for web application security. Use alongside the `security-and-hardening` skill.
4
+
5
+ ## Threat Modeling (Start Here)
6
+
7
+ Before reaching for controls, spend five minutes thinking like an attacker:
8
+
9
+ - [ ] Trust boundaries mapped (requests, uploads, webhooks, third-party APIs, LLM output)
10
+ - [ ] Assets named (credentials, PII, payment data, admin actions, money movement)
11
+ - [ ] STRIDE run per boundary (Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation)
12
+ - [ ] Abuse cases written next to use cases ("how would I misuse this?")
13
+
14
+ ## Pre-Commit Checks
15
+
16
+ - [ ] No secrets in code (`git diff --cached | grep -i "password\|secret\|api_key\|token"`)
17
+ - [ ] `.gitignore` covers: `.env`, `.env.local`, `*.pem`, `*.key`
18
+ - [ ] `.env.example` uses placeholder values (not real secrets)
19
+
20
+ ## Authentication
21
+
22
+ - [ ] Passwords hashed with bcrypt (≥12 rounds), scrypt, or argon2
23
+ - [ ] Session cookies: `httpOnly`, `secure`, `sameSite: 'lax'`
24
+ - [ ] Session expiration configured
25
+ - [ ] Rate limiting on login endpoint (≤10 attempts per 15 minutes)
26
+ - [ ] Password reset tokens: time-limited (≤1 hour), single-use
27
+ - [ ] Account lockout after repeated failures (optional, with notification)
28
+ - [ ] MFA supported for sensitive operations
29
+
30
+ ## Authorization
31
+
32
+ - [ ] Every protected endpoint checks authentication
33
+ - [ ] Every resource access checks ownership/role (prevents IDOR)
34
+ - [ ] Admin endpoints require admin role verification
35
+ - [ ] API keys scoped to minimum necessary permissions
36
+ - [ ] JWT tokens validated (signature, expiration, issuer)
37
+
38
+ ## Input Validation
39
+
40
+ - [ ] All user input validated at system boundaries
41
+ - [ ] Validation uses allowlists (not denylists)
42
+ - [ ] String lengths constrained, numeric ranges validated
43
+ - [ ] File uploads: type restricted, size limited, content verified
44
+ - [ ] SQL queries parameterized (no string concatenation)
45
+ - [ ] HTML output encoded (use framework auto-escaping)
46
+ - [ ] URLs validated before redirect (prevent open redirect)
47
+ - [ ] Server-side URL fetches allowlisted; private/reserved IPs blocked (prevent SSRF)
48
+
49
+ ## Security Headers
50
+
51
+ ```
52
+ Content-Security-Policy: default-src 'self'; script-src 'self'
53
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
54
+ X-Content-Type-Options: nosniff
55
+ X-Frame-Options: DENY
56
+ Referrer-Policy: strict-origin-when-cross-origin
57
+ Permissions-Policy: camera=(), microphone=(), geolocation=()
58
+ ```
59
+
60
+ ## CORS Configuration
61
+
62
+ ```typescript
63
+ cors({
64
+ origin: ['https://yourdomain.com'],
65
+ credentials: true,
66
+ methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],
67
+ allowedHeaders: ['Content-Type', 'Authorization'],
68
+ })
69
+ // NEVER: cors({ origin: '*' })
70
+ ```
71
+
72
+ ## AI / LLM Security
73
+
74
+ - [ ] Model output treated as untrusted — never into `eval`/SQL/shell/`innerHTML`/file paths
75
+ - [ ] Prompt injection assumed; permissions enforced in code, not in the system prompt
76
+ - [ ] Secrets, cross-tenant data, and full system prompts kept out of context window
77
+ - [ ] Tool/agent permissions scoped; destructive actions require confirmation
78
+ - [ ] Token, rate, and recursion/loop limits set
79
+
80
+ ## OWASP Top 10 Quick Reference
81
+
82
+ | # | Vulnerability | Prevention |
83
+ |---|---|---|
84
+ | 1 | Broken Access Control | Auth checks on every endpoint, ownership verification |
85
+ | 2 | Cryptographic Failures | HTTPS, strong hashing, no secrets in code |
86
+ | 3 | Injection | Parameterized queries, input validation |
87
+ | 4 | Insecure Design | Threat modeling, spec-driven development |
88
+ | 5 | Security Misconfiguration | Security headers, minimal permissions, audit deps |
89
+ | 6 | Vulnerable Components | `npm audit`, keep deps updated |
90
+ | 7 | Auth Failures | Strong passwords, rate limiting, session management |
91
+ | 8 | Data Integrity Failures | Verify updates/dependencies, signed artifacts |
92
+ | 9 | Logging Failures | Log security events, don't log secrets |
93
+ | 10 | SSRF | Validate/allowlist URLs, restrict outbound requests |
94
+
95
+ ## OWASP Top 10 for LLMs
96
+
97
+ | ID | Risk | Prevention |
98
+ |---|---|---|
99
+ | LLM01 | Prompt Injection | Enforce permissions in code, not system prompt |
100
+ | LLM02 | Sensitive Info Disclosure | Keep secrets/PII out of prompts; filter outputs |
101
+ | LLM03 | Supply Chain | Vet models, datasets, and plugins |
102
+ | LLM05 | Improper Output Handling | Treat model output as untrusted |
103
+ | LLM06 | Excessive Agency | Scope tool permissions; confirm destructive actions |
104
+ | LLM07 | System Prompt Leakage | Assume prompt can leak; put no secrets in it |
105
+ | LLM10 | Unbounded Consumption | Cap tokens, request rate, and loop depth |
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: shipping-and-launch
3
+ description: Guides final readiness checks, rollback planning, documentation, and release handoff. Use when preparing to merge, deploy, release, or declare a development branch complete.
4
+ ---
5
+
6
+ # Shipping & Launch
7
+
8
+ ## Overview
9
+
10
+ Shipping should be boring because risk was removed earlier. The ship phase verifies readiness, documents what changed, and makes rollback possible.
11
+
12
+ Core principle: do not ship work that cannot be verified, explained, or rolled back.
13
+
14
+ ## When to Use
15
+
16
+ - User says ship, merge, deploy, release, or finish.
17
+ - Before closing tracked work as complete.
18
+ - Before creating a PR or release notes.
19
+ - After build/review/QA phases pass.
20
+
21
+ ## When NOT to Use
22
+
23
+ - Work is still being implemented.
24
+ - Critical review findings are open.
25
+ - Verification cannot run and no user-approved exception exists.
26
+
27
+ ## Workflow
28
+
29
+ 1. Check worktree state and identify intended changes.
30
+ 2. Confirm spec/plan acceptance criteria are met.
31
+ 3. Run required verification or use a fresh valid verification stamp.
32
+ 4. Run phantom completion checks for stubs, placeholders, and disconnected wiring.
33
+ 5. Review security/secrets/configuration risk in the diff.
34
+ 6. Confirm docs/ADRs/changelog updates are sufficient.
35
+ 7. Define rollback path: revert commit, feature flag, migration rollback, or manual procedure.
36
+ 8. Present ship options when action is irreversible: PR, merge, deploy, hold.
37
+ 9. Record handoff/memory when useful.
38
+
39
+ ## Pre-Ship Checklist
40
+
41
+ - Tests relevant to changed behavior pass.
42
+ - Build/typecheck/lint pass or exceptions are documented.
43
+ - No high-severity review findings remain.
44
+ - No secrets or local-only paths in diff.
45
+ - User-facing/API behavior is documented.
46
+ - Rollback path is clear.
47
+ - User approval exists for irreversible actions.
48
+
49
+ ## Common Rationalizations
50
+
51
+ | Rationalization | Rebuttal |
52
+ | --- | --- |
53
+ | "Tests passed earlier" | Fresh changes require fresh evidence or a valid unchanged-state stamp. |
54
+ | "Rollback is just git revert" | Migrations, flags, queues, and external state may need more. |
55
+ | "Docs can wait" | Shipped behavior without docs becomes support debt. |
56
+ | "Small release, no checklist" | Small releases still leak secrets and break config. |
57
+
58
+ ## Red Flags
59
+
60
+ - Completion claim without verification evidence.
61
+ - Unresolved P0/P1 findings.
62
+ - No rollback plan for data or API changes.
63
+ - Changelog omits user-visible behavior changes.
64
+ - Deployment/merge attempted without explicit user approval.
65
+ - Placeholder/stub patterns remain in modified code.
66
+
67
+ ## Verification
68
+
69
+ - Verification commands and outputs are recorded.
70
+ - Acceptance criteria are checked line-by-line.
71
+ - Phantom completion scan is clean or exceptions are explained.
72
+ - Rollback plan is documented.
73
+ - Final action is approved when irreversible.
74
+
75
+ ## Skill Result Contract
76
+
77
+ ```xml
78
+ <skill_result>
79
+ <skill>shipping-and-launch</skill>
80
+ <status>success|partial|blocked|failure</status>
81
+ <evidence>Verification commands, acceptance audit, review status, rollback plan</evidence>
82
+ <artifacts>Changelog, PR, release notes, handoff, or none</artifacts>
83
+ <risks>Open findings, skipped checks, deployment risk, or none</risks>
84
+ </skill_result>
85
+ ```
86
+
87
+
88
+ ## Consolidated Branch Completion
89
+
90
+ `finishing-a-development-branch` was removed as a separate optional skill. Keep merge/PR/cleanup choices, release handoff, rollback planning, and completion evidence in this canonical shipping workflow.
91
+
92
+ ## Verification
93
+
94
+ Before shipping:
95
+
96
+ - [ ] Rollback procedure is documented and tested
97
+ - [ ] Feature flags have kill switches configured
98
+ - [ ] Monitoring dashboards show real-time data
99
+ - [ ] Launch checklist items all have verification evidence
100
+ - [ ] On-call team is briefed on the deployment
101
+ - [ ] Staged rollout plan is documented (percentage, duration, abort criteria)
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: source-driven-development
3
+ description: Grounds implementation decisions in official docs, source code, and cited references. Use when using unfamiliar libraries, external APIs, framework behavior, or current ecosystem guidance.
4
+ ---
5
+
6
+ # Source-Driven Development
7
+
8
+ ## Overview
9
+
10
+ Framework guesses become bugs. Source-driven work verifies behavior against authoritative references before implementation.
11
+
12
+ Core principle: cite the source for non-trivial external API decisions, or mark the decision as unverified.
13
+
14
+ ## When to Use
15
+
16
+ - New or unfamiliar library/framework/API.
17
+ - Version-specific behavior matters.
18
+ - Choosing between packages or integration patterns.
19
+ - Error suggests external API misuse.
20
+ - User asks to research current best practice.
21
+
22
+ ## When NOT to Use
23
+
24
+ - Pure local codebase questions; use code search/explore.
25
+ - Stable project conventions already cover the behavior.
26
+ - Trivial syntax you can verify from existing code.
27
+
28
+ ## Source Hierarchy
29
+
30
+ 1. Official docs, specs, release notes.
31
+ 2. Maintained source code and examples.
32
+ 3. Maintainer-authored articles.
33
+ 4. Community posts only when higher sources are absent.
34
+
35
+ Higher-ranked sources win on conflicts.
36
+
37
+ ## Workflow
38
+
39
+ 1. State the question precisely.
40
+ 2. Check memory/local docs for prior decisions.
41
+ 3. Retrieve authoritative sources.
42
+ 4. Verify version compatibility with the project.
43
+ 5. Compare sources if guidance conflicts.
44
+ 6. Extract only the implementation-relevant facts.
45
+ 7. Cite URLs or source refs in the recommendation.
46
+ 8. Mark unresolved uncertainty explicitly.
47
+
48
+ ## Common Rationalizations
49
+
50
+ | Rationalization | Rebuttal |
51
+ | --- | --- |
52
+ | "I know this API" | APIs change; verify version-specific behavior. |
53
+ | "A blog said so" | Blogs lose to official docs/source. |
54
+ | "The package name is obvious" | Similar packages differ in security and maintenance. |
55
+ | "Citations slow us down" | A bad integration costs more than a source check. |
56
+
57
+ ## Red Flags
58
+
59
+ - Unfamiliar API used without citation or local precedent.
60
+ - Community answer conflicts with official docs.
61
+ - Version in docs differs from package version.
62
+ - Agent invents options, flags, or imports.
63
+ - Research dump has no recommendation.
64
+
65
+ ## Verification
66
+
67
+ - Key claims cite authoritative sources.
68
+ - Project/library versions are considered.
69
+ - Implementation recommendation is specific.
70
+ - Unverified assumptions are labeled.
71
+
72
+ ## Skill Result Contract
73
+
74
+ ```xml
75
+ <skill_result>
76
+ <skill>source-driven-development</skill>
77
+ <status>success|partial|blocked|failure</status>
78
+ <evidence>Sources consulted and version checks</evidence>
79
+ <artifacts>Research notes, citations, implementation recommendation</artifacts>
80
+ <risks>Unverified claims, stale docs, conflicting sources, or none</risks>
81
+ </skill_result>
82
+ ```
83
+
84
+
85
+ ## Consolidated Research Workflow
86
+
87
+ This is the canonical active source-grounding skill. It absorbs deep-research and source-code-research for normal work. Use opensrc, webclaw, context7, grepsearch, or gemini-large-context as tool-specific companions only when the source demands them.
88
+
89
+ Evidence hierarchy:
90
+ 1. local code and tests;
91
+ 2. official docs and source;
92
+ 3. maintained examples from reputable repos;
93
+ 4. blog posts or issues with dates and caveats.
94
+
95
+
96
+ ## Removed Optional Companion
97
+
98
+ `v1-run` was removed as an optional package-health skill. Use source-grounded package evaluation, official advisories, lockfile inspection, and package-manager audit commands instead.
99
+
100
+ ## Verification
101
+
102
+ After source-driven implementation:
103
+
104
+ - [ ] Every framework API usage is verified against the installed version's docs
105
+ - [ ] Documentation links are included in code comments for non-obvious patterns
106
+ - [ ] Any unverified assumptions are explicitly flagged in the output
107
+ - [ ] Third-party code (SO, LLM-generated) is cross-referenced with official docs
108
+ - [ ] Version-specific behavior is noted (e.g., "Added in React 18.2")