opencode-agent-kit 1.0.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 (361) hide show
  1. package/README.md +796 -0
  2. package/bin/commands/init.mjs +221 -0
  3. package/bin/init.mjs +21 -0
  4. package/package.json +22 -0
  5. package/template/.opencode/agent-docs/backend/README.md +0 -0
  6. package/template/.opencode/agent-docs/backend/node/BACKEND_PATTERNS.md +82 -0
  7. package/template/.opencode/agent-docs/backend/node/BACKEND_QUICK_START.md +49 -0
  8. package/template/.opencode/agent-docs/frontend/next/README.md +0 -0
  9. package/template/.opencode/agent-docs/frontend/nuxt/API_PATTERNS.md +807 -0
  10. package/template/.opencode/agent-docs/frontend/nuxt/CHEATSHEET.md +676 -0
  11. package/template/.opencode/agent-docs/frontend/nuxt/COMPLETION_REPORT.md +613 -0
  12. package/template/.opencode/agent-docs/frontend/nuxt/EXAMPLES.md +956 -0
  13. package/template/.opencode/agent-docs/frontend/nuxt/INDEX.md +596 -0
  14. package/template/.opencode/agent-docs/frontend/nuxt/MCP_GUIDE.md +881 -0
  15. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_30_DAYS.md +256 -0
  16. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_CHECKLIST.md +156 -0
  17. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_WEEKLY_ASSIGNMENTS.md +191 -0
  18. package/template/.opencode/agent-docs/frontend/nuxt/QUICK_START.md +509 -0
  19. package/template/.opencode/agent-docs/frontend/nuxt/README.md +506 -0
  20. package/template/.opencode/agent-docs/frontend/nuxt/README_AGENTS.md +140 -0
  21. package/template/.opencode/agent-docs/frontend/nuxt/README_DOCS.md +65 -0
  22. package/template/.opencode/agent-docs/frontend/nuxt/SUMMARY.md +474 -0
  23. package/template/.opencode/agent-docs/frontend/nuxt/TEAM_OPERATING_GUIDE.md +54 -0
  24. package/template/.opencode/agent-docs/frontend/nuxt/TESTING_GUIDE.md +904 -0
  25. package/template/.opencode/agent-docs/frontend/nuxt/WORKFLOWS.md +758 -0
  26. package/template/.opencode/agent-docs/frontend/react/API_PATTERNS.md +187 -0
  27. package/template/.opencode/agent-docs/frontend/react/CHEATSHEET.md +87 -0
  28. package/template/.opencode/agent-docs/frontend/react/INDEX.md +45 -0
  29. package/template/.opencode/agent-docs/frontend/react/QUICK_START.md +43 -0
  30. package/template/.opencode/agent-docs/frontend/react/README.md +159 -0
  31. package/template/.opencode/agent-docs/frontend/vue/README.md +0 -0
  32. package/template/.opencode/agent-docs/mobile/android/README.md +45 -0
  33. package/template/.opencode/agent-docs/mobile/flutter/README.md +44 -0
  34. package/template/.opencode/agents/android-developer.md +418 -0
  35. package/template/.opencode/agents/code-igniter-3-fullstack.md +345 -0
  36. package/template/.opencode/agents/code-reviewer.md +517 -0
  37. package/template/.opencode/agents/database-specialist.md +455 -0
  38. package/template/.opencode/agents/devops-specialist.md +562 -0
  39. package/template/.opencode/agents/flutter-developer.md +556 -0
  40. package/template/.opencode/agents/it-leader.md +911 -0
  41. package/template/.opencode/agents/laravel-advanced.md +691 -0
  42. package/template/.opencode/agents/node-backend-developer.md +343 -0
  43. package/template/.opencode/agents/nuxt-frontend-developer-mentor.md +402 -0
  44. package/template/.opencode/agents/nuxt-frontend-developer.md +1573 -0
  45. package/template/.opencode/agents/react-frontend-developer.md +1017 -0
  46. package/template/.opencode/agents/seo-specialist.md +681 -0
  47. package/template/.opencode/agents/ui-ux-designer.md +783 -0
  48. package/template/.opencode/commands/android-build/command.md +25 -0
  49. package/template/.opencode/commands/android-test/command.md +23 -0
  50. package/template/.opencode/commands/build-fix.md +29 -0
  51. package/template/.opencode/commands/checkpoint.md +74 -0
  52. package/template/.opencode/commands/code-review.md +40 -0
  53. package/template/.opencode/commands/e2e.md +363 -0
  54. package/template/.opencode/commands/eval.md +120 -0
  55. package/template/.opencode/commands/evolve.md +193 -0
  56. package/template/.opencode/commands/flutter-build/command.md +25 -0
  57. package/template/.opencode/commands/flutter-test/command.md +24 -0
  58. package/template/.opencode/commands/go-build.md +183 -0
  59. package/template/.opencode/commands/go-review.md +148 -0
  60. package/template/.opencode/commands/go-test.md +268 -0
  61. package/template/.opencode/commands/gpc-release/command.md +30 -0
  62. package/template/.opencode/commands/instinct-export.md +91 -0
  63. package/template/.opencode/commands/instinct-import.md +142 -0
  64. package/template/.opencode/commands/instinct-status.md +86 -0
  65. package/template/.opencode/commands/learn.md +70 -0
  66. package/template/.opencode/commands/multi-backend.md +158 -0
  67. package/template/.opencode/commands/multi-execute.md +310 -0
  68. package/template/.opencode/commands/multi-frontend.md +158 -0
  69. package/template/.opencode/commands/multi-plan.md +261 -0
  70. package/template/.opencode/commands/multi-workflow.md +183 -0
  71. package/template/.opencode/commands/orchestrate.md +172 -0
  72. package/template/.opencode/commands/plan.md +113 -0
  73. package/template/.opencode/commands/pm2.md +271 -0
  74. package/template/.opencode/commands/python-review.md +297 -0
  75. package/template/.opencode/commands/refactor-clean.md +28 -0
  76. package/template/.opencode/commands/sessions.md +305 -0
  77. package/template/.opencode/commands/setup-pm.md +80 -0
  78. package/template/.opencode/commands/skill-create.md +174 -0
  79. package/template/.opencode/commands/tdd.md +326 -0
  80. package/template/.opencode/commands/test-coverage.md +27 -0
  81. package/template/.opencode/commands/update-codemaps.md +17 -0
  82. package/template/.opencode/commands/update-docs.md +31 -0
  83. package/template/.opencode/commands/verify.md +59 -0
  84. package/template/.opencode/config.example.json +309 -0
  85. package/template/.opencode/config.json +341 -0
  86. package/template/.opencode/contexts/dev.md +20 -0
  87. package/template/.opencode/contexts/research.md +26 -0
  88. package/template/.opencode/contexts/review.md +22 -0
  89. package/template/.opencode/hooks/hooks.json +169 -0
  90. package/template/.opencode/instructions/INSTRUCTIONS.md +388 -0
  91. package/template/.opencode/package.json +5 -0
  92. package/template/.opencode/rules/README.md +82 -0
  93. package/template/.opencode/rules/android/gradle.md +62 -0
  94. package/template/.opencode/rules/android/testing.md +27 -0
  95. package/template/.opencode/rules/common/agents.md +49 -0
  96. package/template/.opencode/rules/common/coding-style.md +48 -0
  97. package/template/.opencode/rules/common/git-workflow.md +45 -0
  98. package/template/.opencode/rules/common/hooks.md +30 -0
  99. package/template/.opencode/rules/common/patterns.md +31 -0
  100. package/template/.opencode/rules/common/performance.md +55 -0
  101. package/template/.opencode/rules/common/security.md +29 -0
  102. package/template/.opencode/rules/common/testing.md +29 -0
  103. package/template/.opencode/rules/flutter/state-management.md +57 -0
  104. package/template/.opencode/rules/flutter/testing.md +42 -0
  105. package/template/.opencode/rules/golang/coding-style.md +26 -0
  106. package/template/.opencode/rules/golang/hooks.md +11 -0
  107. package/template/.opencode/rules/golang/patterns.md +39 -0
  108. package/template/.opencode/rules/golang/security.md +28 -0
  109. package/template/.opencode/rules/golang/testing.md +25 -0
  110. package/template/.opencode/rules/mobile/performance.md +36 -0
  111. package/template/.opencode/rules/python/coding-style.md +37 -0
  112. package/template/.opencode/rules/python/hooks.md +14 -0
  113. package/template/.opencode/rules/python/patterns.md +34 -0
  114. package/template/.opencode/rules/python/security.md +25 -0
  115. package/template/.opencode/rules/python/testing.md +33 -0
  116. package/template/.opencode/rules/typescript/coding-style.md +58 -0
  117. package/template/.opencode/rules/typescript/hooks.md +15 -0
  118. package/template/.opencode/rules/typescript/patterns.md +45 -0
  119. package/template/.opencode/rules/typescript/security.md +21 -0
  120. package/template/.opencode/rules/typescript/testing.md +11 -0
  121. package/template/.opencode/skills/api-documentation/SKILL.md +188 -0
  122. package/template/.opencode/skills/backend-patterns/SKILL.md +587 -0
  123. package/template/.opencode/skills/building-components/SKILL.md +37 -0
  124. package/template/.opencode/skills/building-components/references/accessibility.mdx +819 -0
  125. package/template/.opencode/skills/building-components/references/as-child.mdx +324 -0
  126. package/template/.opencode/skills/building-components/references/composition.mdx +239 -0
  127. package/template/.opencode/skills/building-components/references/data-attributes.mdx +413 -0
  128. package/template/.opencode/skills/building-components/references/definitions.mdx +258 -0
  129. package/template/.opencode/skills/building-components/references/design-tokens.mdx +57 -0
  130. package/template/.opencode/skills/building-components/references/docs.mdx +155 -0
  131. package/template/.opencode/skills/building-components/references/marketplaces.mdx +144 -0
  132. package/template/.opencode/skills/building-components/references/npm.mdx +166 -0
  133. package/template/.opencode/skills/building-components/references/polymorphism.mdx +583 -0
  134. package/template/.opencode/skills/building-components/references/principles.mdx +61 -0
  135. package/template/.opencode/skills/building-components/references/registry.mdx +169 -0
  136. package/template/.opencode/skills/building-components/references/state.mdx +99 -0
  137. package/template/.opencode/skills/building-components/references/styling.mdx +286 -0
  138. package/template/.opencode/skills/building-components/references/types.mdx +191 -0
  139. package/template/.opencode/skills/clickhouse-io/SKILL.md +429 -0
  140. package/template/.opencode/skills/coding-standards/SKILL.md +520 -0
  141. package/template/.opencode/skills/configure-ecc/SKILL.md +298 -0
  142. package/template/.opencode/skills/continuous-learning/SKILL.md +110 -0
  143. package/template/.opencode/skills/continuous-learning/config.json +18 -0
  144. package/template/.opencode/skills/continuous-learning/evaluate-session.sh +60 -0
  145. package/template/.opencode/skills/continuous-learning-v2/SKILL.md +284 -0
  146. package/template/.opencode/skills/continuous-learning-v2/agents/observer.md +137 -0
  147. package/template/.opencode/skills/continuous-learning-v2/agents/start-observer.sh +134 -0
  148. package/template/.opencode/skills/continuous-learning-v2/config.json +41 -0
  149. package/template/.opencode/skills/continuous-learning-v2/hooks/observe.sh +153 -0
  150. package/template/.opencode/skills/continuous-learning-v2/scripts/instinct-cli.py +489 -0
  151. package/template/.opencode/skills/continuous-learning-v2/scripts/test_parse_instinct.py +82 -0
  152. package/template/.opencode/skills/dart-add-unit-test/SKILL.md +122 -0
  153. package/template/.opencode/skills/dart-build-cli-app/SKILL.md +185 -0
  154. package/template/.opencode/skills/dart-collect-coverage/SKILL.md +141 -0
  155. package/template/.opencode/skills/dart-fix-runtime-errors/SKILL.md +166 -0
  156. package/template/.opencode/skills/dart-generate-test-mocks/SKILL.md +155 -0
  157. package/template/.opencode/skills/dart-migrate-to-checks-package/SKILL.md +126 -0
  158. package/template/.opencode/skills/dart-resolve-package-conflicts/SKILL.md +116 -0
  159. package/template/.opencode/skills/dart-run-static-analysis/SKILL.md +104 -0
  160. package/template/.opencode/skills/dart-use-pattern-matching/SKILL.md +146 -0
  161. package/template/.opencode/skills/django-patterns/SKILL.md +733 -0
  162. package/template/.opencode/skills/django-security/SKILL.md +592 -0
  163. package/template/.opencode/skills/django-tdd/SKILL.md +728 -0
  164. package/template/.opencode/skills/django-verification/SKILL.md +460 -0
  165. package/template/.opencode/skills/eval-harness/SKILL.md +227 -0
  166. package/template/.opencode/skills/firebase-basics/SKILL.md +103 -0
  167. package/template/.opencode/skills/firebase-basics/references/additional-skills.md +113 -0
  168. package/template/.opencode/skills/firebase-basics/references/cli-usage.md +31 -0
  169. package/template/.opencode/skills/firebase-basics/references/client-library-usage.md +45 -0
  170. package/template/.opencode/skills/firebase-basics/references/core-concepts.md +61 -0
  171. package/template/.opencode/skills/firebase-basics/references/iac-usage.md +40 -0
  172. package/template/.opencode/skills/firebase-basics/references/iam-security.md +74 -0
  173. package/template/.opencode/skills/firebase-basics/references/mcp-usage.md +63 -0
  174. package/template/.opencode/skills/flutter/SKILL.md +292 -0
  175. package/template/.opencode/skills/flutter-add-integration-test/SKILL.md +163 -0
  176. package/template/.opencode/skills/flutter-add-widget-preview/SKILL.md +145 -0
  177. package/template/.opencode/skills/flutter-add-widget-test/SKILL.md +154 -0
  178. package/template/.opencode/skills/flutter-apply-architecture-best-practices/SKILL.md +162 -0
  179. package/template/.opencode/skills/flutter-build-responsive-layout/SKILL.md +139 -0
  180. package/template/.opencode/skills/flutter-fix-layout-issues/SKILL.md +130 -0
  181. package/template/.opencode/skills/flutter-implement-json-serialization/SKILL.md +153 -0
  182. package/template/.opencode/skills/flutter-setup-declarative-routing/SKILL.md +255 -0
  183. package/template/.opencode/skills/flutter-setup-localization/SKILL.md +210 -0
  184. package/template/.opencode/skills/flutter-use-http-package/SKILL.md +174 -0
  185. package/template/.opencode/skills/frontend-design/SKILL.md +89 -0
  186. package/template/.opencode/skills/frontend-patterns/SKILL.md +631 -0
  187. package/template/.opencode/skills/golang-patterns/SKILL.md +673 -0
  188. package/template/.opencode/skills/golang-testing/SKILL.md +719 -0
  189. package/template/.opencode/skills/impeccable/SKILL.md +165 -0
  190. package/template/.opencode/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
  191. package/template/.opencode/skills/impeccable/reference/adapt.md +190 -0
  192. package/template/.opencode/skills/impeccable/reference/animate.md +175 -0
  193. package/template/.opencode/skills/impeccable/reference/audit.md +133 -0
  194. package/template/.opencode/skills/impeccable/reference/bolder.md +113 -0
  195. package/template/.opencode/skills/impeccable/reference/brand.md +118 -0
  196. package/template/.opencode/skills/impeccable/reference/clarify.md +174 -0
  197. package/template/.opencode/skills/impeccable/reference/codex.md +105 -0
  198. package/template/.opencode/skills/impeccable/reference/cognitive-load.md +106 -0
  199. package/template/.opencode/skills/impeccable/reference/color-and-contrast.md +105 -0
  200. package/template/.opencode/skills/impeccable/reference/colorize.md +154 -0
  201. package/template/.opencode/skills/impeccable/reference/craft.md +123 -0
  202. package/template/.opencode/skills/impeccable/reference/critique.md +273 -0
  203. package/template/.opencode/skills/impeccable/reference/delight.md +302 -0
  204. package/template/.opencode/skills/impeccable/reference/distill.md +111 -0
  205. package/template/.opencode/skills/impeccable/reference/document.md +427 -0
  206. package/template/.opencode/skills/impeccable/reference/extract.md +69 -0
  207. package/template/.opencode/skills/impeccable/reference/harden.md +347 -0
  208. package/template/.opencode/skills/impeccable/reference/heuristics-scoring.md +234 -0
  209. package/template/.opencode/skills/impeccable/reference/interaction-design.md +195 -0
  210. package/template/.opencode/skills/impeccable/reference/layout.md +141 -0
  211. package/template/.opencode/skills/impeccable/reference/live.md +622 -0
  212. package/template/.opencode/skills/impeccable/reference/motion-design.md +109 -0
  213. package/template/.opencode/skills/impeccable/reference/onboard.md +234 -0
  214. package/template/.opencode/skills/impeccable/reference/optimize.md +258 -0
  215. package/template/.opencode/skills/impeccable/reference/overdrive.md +130 -0
  216. package/template/.opencode/skills/impeccable/reference/personas.md +179 -0
  217. package/template/.opencode/skills/impeccable/reference/polish.md +242 -0
  218. package/template/.opencode/skills/impeccable/reference/product.md +62 -0
  219. package/template/.opencode/skills/impeccable/reference/quieter.md +99 -0
  220. package/template/.opencode/skills/impeccable/reference/responsive-design.md +114 -0
  221. package/template/.opencode/skills/impeccable/reference/shape.md +165 -0
  222. package/template/.opencode/skills/impeccable/reference/spatial-design.md +100 -0
  223. package/template/.opencode/skills/impeccable/reference/teach.md +156 -0
  224. package/template/.opencode/skills/impeccable/reference/typeset.md +124 -0
  225. package/template/.opencode/skills/impeccable/reference/typography.md +159 -0
  226. package/template/.opencode/skills/impeccable/reference/ux-writing.md +107 -0
  227. package/template/.opencode/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  228. package/template/.opencode/skills/impeccable/scripts/command-metadata.json +94 -0
  229. package/template/.opencode/skills/impeccable/scripts/critique-storage.mjs +242 -0
  230. package/template/.opencode/skills/impeccable/scripts/design-parser.mjs +820 -0
  231. package/template/.opencode/skills/impeccable/scripts/detect-csp.mjs +198 -0
  232. package/template/.opencode/skills/impeccable/scripts/detect.mjs +21 -0
  233. package/template/.opencode/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  234. package/template/.opencode/skills/impeccable/scripts/is-generated.mjs +69 -0
  235. package/template/.opencode/skills/impeccable/scripts/live-accept.mjs +595 -0
  236. package/template/.opencode/skills/impeccable/scripts/live-browser-session.js +123 -0
  237. package/template/.opencode/skills/impeccable/scripts/live-browser.js +4860 -0
  238. package/template/.opencode/skills/impeccable/scripts/live-complete.mjs +75 -0
  239. package/template/.opencode/skills/impeccable/scripts/live-completion.mjs +18 -0
  240. package/template/.opencode/skills/impeccable/scripts/live-inject.mjs +446 -0
  241. package/template/.opencode/skills/impeccable/scripts/live-poll.mjs +200 -0
  242. package/template/.opencode/skills/impeccable/scripts/live-resume.mjs +48 -0
  243. package/template/.opencode/skills/impeccable/scripts/live-server.mjs +838 -0
  244. package/template/.opencode/skills/impeccable/scripts/live-session-store.mjs +254 -0
  245. package/template/.opencode/skills/impeccable/scripts/live-status.mjs +47 -0
  246. package/template/.opencode/skills/impeccable/scripts/live-wrap.mjs +632 -0
  247. package/template/.opencode/skills/impeccable/scripts/live.mjs +247 -0
  248. package/template/.opencode/skills/impeccable/scripts/load-context.mjs +141 -0
  249. package/template/.opencode/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  250. package/template/.opencode/skills/impeccable/scripts/pin.mjs +214 -0
  251. package/template/.opencode/skills/iterative-retrieval/SKILL.md +202 -0
  252. package/template/.opencode/skills/java-coding-standards/SKILL.md +138 -0
  253. package/template/.opencode/skills/jetpack-compose/.skillfish.json +10 -0
  254. package/template/.opencode/skills/jetpack-compose/SKILL.md +420 -0
  255. package/template/.opencode/skills/jpa-patterns/SKILL.md +141 -0
  256. package/template/.opencode/skills/nutrient-document-processing/SKILL.md +165 -0
  257. package/template/.opencode/skills/nuxt-ui/SKILL.md +334 -0
  258. package/template/.opencode/skills/nuxt-ui/references/components.md +377 -0
  259. package/template/.opencode/skills/nuxt-ui/references/composables.md +127 -0
  260. package/template/.opencode/skills/nuxt-ui/references/layouts/chat.md +266 -0
  261. package/template/.opencode/skills/nuxt-ui/references/layouts/dashboard.md +220 -0
  262. package/template/.opencode/skills/nuxt-ui/references/layouts/docs.md +141 -0
  263. package/template/.opencode/skills/nuxt-ui/references/layouts/editor.md +168 -0
  264. package/template/.opencode/skills/nuxt-ui/references/layouts/page.md +260 -0
  265. package/template/.opencode/skills/nuxt-ui/references/theming.md +427 -0
  266. package/template/.opencode/skills/postgres-patterns/SKILL.md +146 -0
  267. package/template/.opencode/skills/project-guidelines-example/SKILL.md +345 -0
  268. package/template/.opencode/skills/python-patterns/SKILL.md +749 -0
  269. package/template/.opencode/skills/python-testing/SKILL.md +815 -0
  270. package/template/.opencode/skills/security-review/SKILL.md +494 -0
  271. package/template/.opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
  272. package/template/.opencode/skills/shadcn-ui/README.md +248 -0
  273. package/template/.opencode/skills/shadcn-ui/SKILL.md +326 -0
  274. package/template/.opencode/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  275. package/template/.opencode/skills/shadcn-ui/examples/data-table.tsx +313 -0
  276. package/template/.opencode/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  277. package/template/.opencode/skills/shadcn-ui/resources/component-catalog.md +481 -0
  278. package/template/.opencode/skills/shadcn-ui/resources/customization-guide.md +516 -0
  279. package/template/.opencode/skills/shadcn-ui/resources/migration-guide.md +463 -0
  280. package/template/.opencode/skills/shadcn-ui/resources/setup-guide.md +412 -0
  281. package/template/.opencode/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  282. package/template/.opencode/skills/springboot-patterns/SKILL.md +304 -0
  283. package/template/.opencode/skills/springboot-security/SKILL.md +119 -0
  284. package/template/.opencode/skills/springboot-tdd/SKILL.md +157 -0
  285. package/template/.opencode/skills/springboot-verification/SKILL.md +100 -0
  286. package/template/.opencode/skills/strategic-compact/SKILL.md +63 -0
  287. package/template/.opencode/skills/strategic-compact/suggest-compact.sh +52 -0
  288. package/template/.opencode/skills/tdd-workflow/SKILL.md +409 -0
  289. package/template/.opencode/skills/vercel-composition-patterns/AGENTS.md +946 -0
  290. package/template/.opencode/skills/vercel-composition-patterns/SKILL.md +89 -0
  291. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  292. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  293. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  294. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  295. package/template/.opencode/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  296. package/template/.opencode/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  297. package/template/.opencode/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  298. package/template/.opencode/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  299. package/template/.opencode/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  300. package/template/.opencode/skills/vercel-react-best-practices/SKILL.md +136 -0
  301. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  302. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  303. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  304. package/template/.opencode/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  305. package/template/.opencode/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  306. package/template/.opencode/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  307. package/template/.opencode/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  308. package/template/.opencode/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  309. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  310. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  311. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  312. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  313. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  314. package/template/.opencode/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  315. package/template/.opencode/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  316. package/template/.opencode/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  317. package/template/.opencode/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  318. package/template/.opencode/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  319. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  320. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  321. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  322. package/template/.opencode/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  323. package/template/.opencode/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  324. package/template/.opencode/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  325. package/template/.opencode/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  326. package/template/.opencode/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  327. package/template/.opencode/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  328. package/template/.opencode/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  329. package/template/.opencode/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  330. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  331. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  332. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  333. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  334. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  335. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  336. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  337. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  338. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  339. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  340. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  341. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  342. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  343. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  344. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  345. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  346. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  347. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  348. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  349. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  350. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  351. package/template/.opencode/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  352. package/template/.opencode/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  353. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  354. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  355. package/template/.opencode/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  356. package/template/.opencode/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  357. package/template/.opencode/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  358. package/template/.opencode/skills/verification-loop/SKILL.md +120 -0
  359. package/template/.opencode/skills/web-design-guidelines/SKILL.md +39 -0
  360. package/template/AGENTS.md +32 -0
  361. package/template/opencode.json +354 -0
@@ -0,0 +1,460 @@
1
+ ---
2
+ name: django-verification
3
+ description: Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
4
+ ---
5
+
6
+ # Django Verification Loop
7
+
8
+ Run before PRs, after major changes, and pre-deploy to ensure Django application quality and security.
9
+
10
+ ## Phase 1: Environment Check
11
+
12
+ ```bash
13
+ # Verify Python version
14
+ python --version # Should match project requirements
15
+
16
+ # Check virtual environment
17
+ which python
18
+ pip list --outdated
19
+
20
+ # Verify environment variables
21
+ python -c "import os; import environ; print('DJANGO_SECRET_KEY set' if os.environ.get('DJANGO_SECRET_KEY') else 'MISSING: DJANGO_SECRET_KEY')"
22
+ ```
23
+
24
+ If environment is misconfigured, stop and fix.
25
+
26
+ ## Phase 2: Code Quality & Formatting
27
+
28
+ ```bash
29
+ # Type checking
30
+ mypy . --config-file pyproject.toml
31
+
32
+ # Linting with ruff
33
+ ruff check . --fix
34
+
35
+ # Formatting with black
36
+ black . --check
37
+ black . # Auto-fix
38
+
39
+ # Import sorting
40
+ isort . --check-only
41
+ isort . # Auto-fix
42
+
43
+ # Django-specific checks
44
+ python manage.py check --deploy
45
+ ```
46
+
47
+ Common issues:
48
+ - Missing type hints on public functions
49
+ - PEP 8 formatting violations
50
+ - Unsorted imports
51
+ - Debug settings left in production configuration
52
+
53
+ ## Phase 3: Migrations
54
+
55
+ ```bash
56
+ # Check for unapplied migrations
57
+ python manage.py showmigrations
58
+
59
+ # Create missing migrations
60
+ python manage.py makemigrations --check
61
+
62
+ # Dry-run migration application
63
+ python manage.py migrate --plan
64
+
65
+ # Apply migrations (test environment)
66
+ python manage.py migrate
67
+
68
+ # Check for migration conflicts
69
+ python manage.py makemigrations --merge # Only if conflicts exist
70
+ ```
71
+
72
+ Report:
73
+ - Number of pending migrations
74
+ - Any migration conflicts
75
+ - Model changes without migrations
76
+
77
+ ## Phase 4: Tests + Coverage
78
+
79
+ ```bash
80
+ # Run all tests with pytest
81
+ pytest --cov=apps --cov-report=html --cov-report=term-missing --reuse-db
82
+
83
+ # Run specific app tests
84
+ pytest apps/users/tests/
85
+
86
+ # Run with markers
87
+ pytest -m "not slow" # Skip slow tests
88
+ pytest -m integration # Only integration tests
89
+
90
+ # Coverage report
91
+ open htmlcov/index.html
92
+ ```
93
+
94
+ Report:
95
+ - Total tests: X passed, Y failed, Z skipped
96
+ - Overall coverage: XX%
97
+ - Per-app coverage breakdown
98
+
99
+ Coverage targets:
100
+
101
+ | Component | Target |
102
+ |-----------|--------|
103
+ | Models | 90%+ |
104
+ | Serializers | 85%+ |
105
+ | Views | 80%+ |
106
+ | Services | 90%+ |
107
+ | Overall | 80%+ |
108
+
109
+ ## Phase 5: Security Scan
110
+
111
+ ```bash
112
+ # Dependency vulnerabilities
113
+ pip-audit
114
+ safety check --full-report
115
+
116
+ # Django security checks
117
+ python manage.py check --deploy
118
+
119
+ # Bandit security linter
120
+ bandit -r . -f json -o bandit-report.json
121
+
122
+ # Secret scanning (if gitleaks is installed)
123
+ gitleaks detect --source . --verbose
124
+
125
+ # Environment variable check
126
+ python -c "from django.core.exceptions import ImproperlyConfigured; from django.conf import settings; settings.DEBUG"
127
+ ```
128
+
129
+ Report:
130
+ - Vulnerable dependencies found
131
+ - Security configuration issues
132
+ - Hardcoded secrets detected
133
+ - DEBUG mode status (should be False in production)
134
+
135
+ ## Phase 6: Django Management Commands
136
+
137
+ ```bash
138
+ # Check for model issues
139
+ python manage.py check
140
+
141
+ # Collect static files
142
+ python manage.py collectstatic --noinput --clear
143
+
144
+ # Create superuser (if needed for tests)
145
+ echo "from apps.users.models import User; User.objects.create_superuser('admin@example.com', 'admin')" | python manage.py shell
146
+
147
+ # Database integrity
148
+ python manage.py check --database default
149
+
150
+ # Cache verification (if using Redis)
151
+ python -c "from django.core.cache import cache; cache.set('test', 'value', 10); print(cache.get('test'))"
152
+ ```
153
+
154
+ ## Phase 7: Performance Checks
155
+
156
+ ```bash
157
+ # Django Debug Toolbar output (check for N+1 queries)
158
+ # Run in dev mode with DEBUG=True and access a page
159
+ # Look for duplicate queries in SQL panel
160
+
161
+ # Query count analysis
162
+ django-admin debugsqlshell # If django-debug-sqlshell installed
163
+
164
+ # Check for missing indexes
165
+ python manage.py shell << EOF
166
+ from django.db import connection
167
+ with connection.cursor() as cursor:
168
+ cursor.execute("SELECT table_name, index_name FROM information_schema.statistics WHERE table_schema = 'public'")
169
+ print(cursor.fetchall())
170
+ EOF
171
+ ```
172
+
173
+ Report:
174
+ - Number of queries per page (should be < 50 for typical pages)
175
+ - Missing database indexes
176
+ - Duplicate queries detected
177
+
178
+ ## Phase 8: Static Assets
179
+
180
+ ```bash
181
+ # Check for npm dependencies (if using npm)
182
+ npm audit
183
+ npm audit fix
184
+
185
+ # Build static files (if using webpack/vite)
186
+ npm run build
187
+
188
+ # Verify static files
189
+ ls -la staticfiles/
190
+ python manage.py findstatic css/style.css
191
+ ```
192
+
193
+ ## Phase 9: Configuration Review
194
+
195
+ ```python
196
+ # Run in Python shell to verify settings
197
+ python manage.py shell << EOF
198
+ from django.conf import settings
199
+ import os
200
+
201
+ # Critical checks
202
+ checks = {
203
+ 'DEBUG is False': not settings.DEBUG,
204
+ 'SECRET_KEY set': bool(settings.SECRET_KEY and len(settings.SECRET_KEY) > 30),
205
+ 'ALLOWED_HOSTS set': len(settings.ALLOWED_HOSTS) > 0,
206
+ 'HTTPS enabled': getattr(settings, 'SECURE_SSL_REDIRECT', False),
207
+ 'HSTS enabled': getattr(settings, 'SECURE_HSTS_SECONDS', 0) > 0,
208
+ 'Database configured': settings.DATABASES['default']['ENGINE'] != 'django.db.backends.sqlite3',
209
+ }
210
+
211
+ for check, result in checks.items():
212
+ status = '✓' if result else '✗'
213
+ print(f"{status} {check}")
214
+ EOF
215
+ ```
216
+
217
+ ## Phase 10: Logging Configuration
218
+
219
+ ```bash
220
+ # Test logging output
221
+ python manage.py shell << EOF
222
+ import logging
223
+ logger = logging.getLogger('django')
224
+ logger.warning('Test warning message')
225
+ logger.error('Test error message')
226
+ EOF
227
+
228
+ # Check log files (if configured)
229
+ tail -f /var/log/django/django.log
230
+ ```
231
+
232
+ ## Phase 11: API Documentation (if DRF)
233
+
234
+ ```bash
235
+ # Generate schema
236
+ python manage.py generateschema --format openapi-json > schema.json
237
+
238
+ # Validate schema
239
+ # Check if schema.json is valid JSON
240
+ python -c "import json; json.load(open('schema.json'))"
241
+
242
+ # Access Swagger UI (if using drf-yasg)
243
+ # Visit http://localhost:8000/swagger/ in browser
244
+ ```
245
+
246
+ ## Phase 12: Diff Review
247
+
248
+ ```bash
249
+ # Show diff statistics
250
+ git diff --stat
251
+
252
+ # Show actual changes
253
+ git diff
254
+
255
+ # Show changed files
256
+ git diff --name-only
257
+
258
+ # Check for common issues
259
+ git diff | grep -i "todo\|fixme\|hack\|xxx"
260
+ git diff | grep "print(" # Debug statements
261
+ git diff | grep "DEBUG = True" # Debug mode
262
+ git diff | grep "import pdb" # Debugger
263
+ ```
264
+
265
+ Checklist:
266
+ - No debugging statements (print, pdb, breakpoint())
267
+ - No TODO/FIXME comments in critical code
268
+ - No hardcoded secrets or credentials
269
+ - Database migrations included for model changes
270
+ - Configuration changes documented
271
+ - Error handling present for external calls
272
+ - Transaction management where needed
273
+
274
+ ## Output Template
275
+
276
+ ```
277
+ DJANGO VERIFICATION REPORT
278
+ ==========================
279
+
280
+ Phase 1: Environment Check
281
+ ✓ Python 3.11.5
282
+ ✓ Virtual environment active
283
+ ✓ All environment variables set
284
+
285
+ Phase 2: Code Quality
286
+ ✓ mypy: No type errors
287
+ ✗ ruff: 3 issues found (auto-fixed)
288
+ ✓ black: No formatting issues
289
+ ✓ isort: Imports properly sorted
290
+ ✓ manage.py check: No issues
291
+
292
+ Phase 3: Migrations
293
+ ✓ No unapplied migrations
294
+ ✓ No migration conflicts
295
+ ✓ All models have migrations
296
+
297
+ Phase 4: Tests + Coverage
298
+ Tests: 247 passed, 0 failed, 5 skipped
299
+ Coverage:
300
+ Overall: 87%
301
+ users: 92%
302
+ products: 89%
303
+ orders: 85%
304
+ payments: 91%
305
+
306
+ Phase 5: Security Scan
307
+ ✗ pip-audit: 2 vulnerabilities found (fix required)
308
+ ✓ safety check: No issues
309
+ ✓ bandit: No security issues
310
+ ✓ No secrets detected
311
+ ✓ DEBUG = False
312
+
313
+ Phase 6: Django Commands
314
+ ✓ collectstatic completed
315
+ ✓ Database integrity OK
316
+ ✓ Cache backend reachable
317
+
318
+ Phase 7: Performance
319
+ ✓ No N+1 queries detected
320
+ ✓ Database indexes configured
321
+ ✓ Query count acceptable
322
+
323
+ Phase 8: Static Assets
324
+ ✓ npm audit: No vulnerabilities
325
+ ✓ Assets built successfully
326
+ ✓ Static files collected
327
+
328
+ Phase 9: Configuration
329
+ ✓ DEBUG = False
330
+ ✓ SECRET_KEY configured
331
+ ✓ ALLOWED_HOSTS set
332
+ ✓ HTTPS enabled
333
+ ✓ HSTS enabled
334
+ ✓ Database configured
335
+
336
+ Phase 10: Logging
337
+ ✓ Logging configured
338
+ ✓ Log files writable
339
+
340
+ Phase 11: API Documentation
341
+ ✓ Schema generated
342
+ ✓ Swagger UI accessible
343
+
344
+ Phase 12: Diff Review
345
+ Files changed: 12
346
+ +450, -120 lines
347
+ ✓ No debug statements
348
+ ✓ No hardcoded secrets
349
+ ✓ Migrations included
350
+
351
+ RECOMMENDATION: ⚠️ Fix pip-audit vulnerabilities before deploying
352
+
353
+ NEXT STEPS:
354
+ 1. Update vulnerable dependencies
355
+ 2. Re-run security scan
356
+ 3. Deploy to staging for final testing
357
+ ```
358
+
359
+ ## Pre-Deployment Checklist
360
+
361
+ - [ ] All tests passing
362
+ - [ ] Coverage ≥ 80%
363
+ - [ ] No security vulnerabilities
364
+ - [ ] No unapplied migrations
365
+ - [ ] DEBUG = False in production settings
366
+ - [ ] SECRET_KEY properly configured
367
+ - [ ] ALLOWED_HOSTS set correctly
368
+ - [ ] Database backups enabled
369
+ - [ ] Static files collected and served
370
+ - [ ] Logging configured and working
371
+ - [ ] Error monitoring (Sentry, etc.) configured
372
+ - [ ] CDN configured (if applicable)
373
+ - [ ] Redis/cache backend configured
374
+ - [ ] Celery workers running (if applicable)
375
+ - [ ] HTTPS/SSL configured
376
+ - [ ] Environment variables documented
377
+
378
+ ## Continuous Integration
379
+
380
+ ### GitHub Actions Example
381
+
382
+ ```yaml
383
+ # .github/workflows/django-verification.yml
384
+ name: Django Verification
385
+
386
+ on: [push, pull_request]
387
+
388
+ jobs:
389
+ verify:
390
+ runs-on: ubuntu-latest
391
+ services:
392
+ postgres:
393
+ image: postgres:14
394
+ env:
395
+ POSTGRES_PASSWORD: postgres
396
+ options: >-
397
+ --health-cmd pg_isready
398
+ --health-interval 10s
399
+ --health-timeout 5s
400
+ --health-retries 5
401
+
402
+ steps:
403
+ - uses: actions/checkout@v3
404
+
405
+ - name: Set up Python
406
+ uses: actions/setup-python@v4
407
+ with:
408
+ python-version: '3.11'
409
+
410
+ - name: Cache pip
411
+ uses: actions/cache@v3
412
+ with:
413
+ path: ~/.cache/pip
414
+ key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
415
+
416
+ - name: Install dependencies
417
+ run: |
418
+ pip install -r requirements.txt
419
+ pip install ruff black mypy pytest pytest-django pytest-cov bandit safety pip-audit
420
+
421
+ - name: Code quality checks
422
+ run: |
423
+ ruff check .
424
+ black . --check
425
+ isort . --check-only
426
+ mypy .
427
+
428
+ - name: Security scan
429
+ run: |
430
+ bandit -r . -f json -o bandit-report.json
431
+ safety check --full-report
432
+ pip-audit
433
+
434
+ - name: Run tests
435
+ env:
436
+ DATABASE_URL: postgres://postgres:postgres@localhost:5432/test
437
+ DJANGO_SECRET_KEY: test-secret-key
438
+ run: |
439
+ pytest --cov=apps --cov-report=xml --cov-report=term-missing
440
+
441
+ - name: Upload coverage
442
+ uses: codecov/codecov-action@v3
443
+ ```
444
+
445
+ ## Quick Reference
446
+
447
+ | Check | Command |
448
+ |-------|---------|
449
+ | Environment | `python --version` |
450
+ | Type checking | `mypy .` |
451
+ | Linting | `ruff check .` |
452
+ | Formatting | `black . --check` |
453
+ | Migrations | `python manage.py makemigrations --check` |
454
+ | Tests | `pytest --cov=apps` |
455
+ | Security | `pip-audit && bandit -r .` |
456
+ | Django check | `python manage.py check --deploy` |
457
+ | Collectstatic | `python manage.py collectstatic --noinput` |
458
+ | Diff stats | `git diff --stat` |
459
+
460
+ Remember: Automated verification catches common issues but doesn't replace manual code review and testing in staging environment.
@@ -0,0 +1,227 @@
1
+ ---
2
+ name: eval-harness
3
+ description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
4
+ tools: Read, Write, Edit, Bash, Grep, Glob
5
+ ---
6
+
7
+ # Eval Harness Skill
8
+
9
+ A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.
10
+
11
+ ## Philosophy
12
+
13
+ Eval-Driven Development treats evals as the "unit tests of AI development":
14
+ - Define expected behavior BEFORE implementation
15
+ - Run evals continuously during development
16
+ - Track regressions with each change
17
+ - Use pass@k metrics for reliability measurement
18
+
19
+ ## Eval Types
20
+
21
+ ### Capability Evals
22
+ Test if Claude can do something it couldn't before:
23
+ ```markdown
24
+ [CAPABILITY EVAL: feature-name]
25
+ Task: Description of what Claude should accomplish
26
+ Success Criteria:
27
+ - [ ] Criterion 1
28
+ - [ ] Criterion 2
29
+ - [ ] Criterion 3
30
+ Expected Output: Description of expected result
31
+ ```
32
+
33
+ ### Regression Evals
34
+ Ensure changes don't break existing functionality:
35
+ ```markdown
36
+ [REGRESSION EVAL: feature-name]
37
+ Baseline: SHA or checkpoint name
38
+ Tests:
39
+ - existing-test-1: PASS/FAIL
40
+ - existing-test-2: PASS/FAIL
41
+ - existing-test-3: PASS/FAIL
42
+ Result: X/Y passed (previously Y/Y)
43
+ ```
44
+
45
+ ## Grader Types
46
+
47
+ ### 1. Code-Based Grader
48
+ Deterministic checks using code:
49
+ ```bash
50
+ # Check if file contains expected pattern
51
+ grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"
52
+
53
+ # Check if tests pass
54
+ npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"
55
+
56
+ # Check if build succeeds
57
+ npm run build && echo "PASS" || echo "FAIL"
58
+ ```
59
+
60
+ ### 2. Model-Based Grader
61
+ Use Claude to evaluate open-ended outputs:
62
+ ```markdown
63
+ [MODEL GRADER PROMPT]
64
+ Evaluate the following code change:
65
+ 1. Does it solve the stated problem?
66
+ 2. Is it well-structured?
67
+ 3. Are edge cases handled?
68
+ 4. Is error handling appropriate?
69
+
70
+ Score: 1-5 (1=poor, 5=excellent)
71
+ Reasoning: [explanation]
72
+ ```
73
+
74
+ ### 3. Human Grader
75
+ Flag for manual review:
76
+ ```markdown
77
+ [HUMAN REVIEW REQUIRED]
78
+ Change: Description of what changed
79
+ Reason: Why human review is needed
80
+ Risk Level: LOW/MEDIUM/HIGH
81
+ ```
82
+
83
+ ## Metrics
84
+
85
+ ### pass@k
86
+ "At least one success in k attempts"
87
+ - pass@1: First attempt success rate
88
+ - pass@3: Success within 3 attempts
89
+ - Typical target: pass@3 > 90%
90
+
91
+ ### pass^k
92
+ "All k trials succeed"
93
+ - Higher bar for reliability
94
+ - pass^3: 3 consecutive successes
95
+ - Use for critical paths
96
+
97
+ ## Eval Workflow
98
+
99
+ ### 1. Define (Before Coding)
100
+ ```markdown
101
+ ## EVAL DEFINITION: feature-xyz
102
+
103
+ ### Capability Evals
104
+ 1. Can create new user account
105
+ 2. Can validate email format
106
+ 3. Can hash password securely
107
+
108
+ ### Regression Evals
109
+ 1. Existing login still works
110
+ 2. Session management unchanged
111
+ 3. Logout flow intact
112
+
113
+ ### Success Metrics
114
+ - pass@3 > 90% for capability evals
115
+ - pass^3 = 100% for regression evals
116
+ ```
117
+
118
+ ### 2. Implement
119
+ Write code to pass the defined evals.
120
+
121
+ ### 3. Evaluate
122
+ ```bash
123
+ # Run capability evals
124
+ [Run each capability eval, record PASS/FAIL]
125
+
126
+ # Run regression evals
127
+ npm test -- --testPathPattern="existing"
128
+
129
+ # Generate report
130
+ ```
131
+
132
+ ### 4. Report
133
+ ```markdown
134
+ EVAL REPORT: feature-xyz
135
+ ========================
136
+
137
+ Capability Evals:
138
+ create-user: PASS (pass@1)
139
+ validate-email: PASS (pass@2)
140
+ hash-password: PASS (pass@1)
141
+ Overall: 3/3 passed
142
+
143
+ Regression Evals:
144
+ login-flow: PASS
145
+ session-mgmt: PASS
146
+ logout-flow: PASS
147
+ Overall: 3/3 passed
148
+
149
+ Metrics:
150
+ pass@1: 67% (2/3)
151
+ pass@3: 100% (3/3)
152
+
153
+ Status: READY FOR REVIEW
154
+ ```
155
+
156
+ ## Integration Patterns
157
+
158
+ ### Pre-Implementation
159
+ ```
160
+ /eval define feature-name
161
+ ```
162
+ Creates eval definition file at `.claude/evals/feature-name.md`
163
+
164
+ ### During Implementation
165
+ ```
166
+ /eval check feature-name
167
+ ```
168
+ Runs current evals and reports status
169
+
170
+ ### Post-Implementation
171
+ ```
172
+ /eval report feature-name
173
+ ```
174
+ Generates full eval report
175
+
176
+ ## Eval Storage
177
+
178
+ Store evals in project:
179
+ ```
180
+ .claude/
181
+ evals/
182
+ feature-xyz.md # Eval definition
183
+ feature-xyz.log # Eval run history
184
+ baseline.json # Regression baselines
185
+ ```
186
+
187
+ ## Best Practices
188
+
189
+ 1. **Define evals BEFORE coding** - Forces clear thinking about success criteria
190
+ 2. **Run evals frequently** - Catch regressions early
191
+ 3. **Track pass@k over time** - Monitor reliability trends
192
+ 4. **Use code graders when possible** - Deterministic > probabilistic
193
+ 5. **Human review for security** - Never fully automate security checks
194
+ 6. **Keep evals fast** - Slow evals don't get run
195
+ 7. **Version evals with code** - Evals are first-class artifacts
196
+
197
+ ## Example: Adding Authentication
198
+
199
+ ```markdown
200
+ ## EVAL: add-authentication
201
+
202
+ ### Phase 1: Define (10 min)
203
+ Capability Evals:
204
+ - [ ] User can register with email/password
205
+ - [ ] User can login with valid credentials
206
+ - [ ] Invalid credentials rejected with proper error
207
+ - [ ] Sessions persist across page reloads
208
+ - [ ] Logout clears session
209
+
210
+ Regression Evals:
211
+ - [ ] Public routes still accessible
212
+ - [ ] API responses unchanged
213
+ - [ ] Database schema compatible
214
+
215
+ ### Phase 2: Implement (varies)
216
+ [Write code]
217
+
218
+ ### Phase 3: Evaluate
219
+ Run: /eval check add-authentication
220
+
221
+ ### Phase 4: Report
222
+ EVAL REPORT: add-authentication
223
+ ==============================
224
+ Capability: 5/5 passed (pass@3: 100%)
225
+ Regression: 3/3 passed (pass^3: 100%)
226
+ Status: SHIP IT
227
+ ```