akili-specs 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/.claude/commands/akili-archive.md +145 -0
  2. package/.claude/commands/akili-audit.md +97 -0
  3. package/.claude/commands/akili-constitution.md +413 -0
  4. package/.claude/commands/akili-execute.md +240 -0
  5. package/.claude/commands/akili-propose.md +167 -0
  6. package/.claude/commands/akili-seo.md +277 -0
  7. package/.claude/commands/akili-specify.md +320 -0
  8. package/.claude/commands/akili-test.md +141 -0
  9. package/.claude/commands/akili-validate.md +176 -0
  10. package/.claude/skills/angular-developer/SKILL.md +130 -0
  11. package/.claude/skills/angular-developer/references/angular-animations.md +160 -0
  12. package/.claude/skills/angular-developer/references/angular-aria.md +410 -0
  13. package/.claude/skills/angular-developer/references/cli.md +86 -0
  14. package/.claude/skills/angular-developer/references/component-harnesses.md +59 -0
  15. package/.claude/skills/angular-developer/references/component-styling.md +91 -0
  16. package/.claude/skills/angular-developer/references/components.md +117 -0
  17. package/.claude/skills/angular-developer/references/creating-services.md +97 -0
  18. package/.claude/skills/angular-developer/references/data-resolvers.md +69 -0
  19. package/.claude/skills/angular-developer/references/define-routes.md +67 -0
  20. package/.claude/skills/angular-developer/references/defining-providers.md +72 -0
  21. package/.claude/skills/angular-developer/references/di-fundamentals.md +120 -0
  22. package/.claude/skills/angular-developer/references/e2e-testing.md +66 -0
  23. package/.claude/skills/angular-developer/references/effects.md +83 -0
  24. package/.claude/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  25. package/.claude/skills/angular-developer/references/host-elements.md +80 -0
  26. package/.claude/skills/angular-developer/references/injection-context.md +63 -0
  27. package/.claude/skills/angular-developer/references/inputs.md +101 -0
  28. package/.claude/skills/angular-developer/references/linked-signal.md +59 -0
  29. package/.claude/skills/angular-developer/references/loading-strategies.md +61 -0
  30. package/.claude/skills/angular-developer/references/mcp.md +106 -0
  31. package/.claude/skills/angular-developer/references/migrations.md +30 -0
  32. package/.claude/skills/angular-developer/references/navigate-to-routes.md +69 -0
  33. package/.claude/skills/angular-developer/references/outputs.md +86 -0
  34. package/.claude/skills/angular-developer/references/reactive-forms.md +122 -0
  35. package/.claude/skills/angular-developer/references/rendering-strategies.md +44 -0
  36. package/.claude/skills/angular-developer/references/resource.md +74 -0
  37. package/.claude/skills/angular-developer/references/route-animations.md +56 -0
  38. package/.claude/skills/angular-developer/references/route-guards.md +52 -0
  39. package/.claude/skills/angular-developer/references/router-lifecycle.md +45 -0
  40. package/.claude/skills/angular-developer/references/router-testing.md +87 -0
  41. package/.claude/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  42. package/.claude/skills/angular-developer/references/signal-forms.md +897 -0
  43. package/.claude/skills/angular-developer/references/signals-overview.md +94 -0
  44. package/.claude/skills/angular-developer/references/tailwind-css.md +69 -0
  45. package/.claude/skills/angular-developer/references/template-driven-forms.md +114 -0
  46. package/.claude/skills/angular-developer/references/testing-fundamentals.md +66 -0
  47. package/.claude/skills/api-design-principles/SKILL.md +528 -0
  48. package/.claude/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  49. package/.claude/skills/api-design-principles/assets/rest-api-template.py +182 -0
  50. package/.claude/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  51. package/.claude/skills/api-design-principles/references/rest-best-practices.md +408 -0
  52. package/.claude/skills/aws-serverless/SKILL.md +323 -0
  53. package/.claude/skills/brainstorming/SKILL.md +96 -0
  54. package/.claude/skills/error-handling-patterns/SKILL.md +641 -0
  55. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  56. package/.claude/skills/frontend-design/SKILL.md +272 -0
  57. package/.claude/skills/gsap-core/SKILL.md +254 -0
  58. package/.claude/skills/gsap-frameworks/SKILL.md +153 -0
  59. package/.claude/skills/gsap-performance/SKILL.md +79 -0
  60. package/.claude/skills/gsap-plugins/SKILL.md +426 -0
  61. package/.claude/skills/gsap-react/SKILL.md +136 -0
  62. package/.claude/skills/gsap-scrolltrigger/SKILL.md +296 -0
  63. package/.claude/skills/gsap-timeline/SKILL.md +107 -0
  64. package/.claude/skills/gsap-utils/SKILL.md +284 -0
  65. package/.claude/skills/judgment-day/SKILL.md +52 -0
  66. package/.claude/skills/nestjs-expert/SKILL.md +552 -0
  67. package/.claude/skills/product-manager-toolkit/SKILL.md +351 -0
  68. package/.claude/skills/product-manager-toolkit/references/prd_templates.md +317 -0
  69. package/.claude/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
  70. package/.claude/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
  71. package/.claude/skills/react-doctor/AGENTS.md +15 -0
  72. package/.claude/skills/react-doctor/SKILL.md +19 -0
  73. package/.claude/skills/seo-audit/SKILL.md +497 -0
  74. package/.claude/skills/seo-audit/evals/evals.json +136 -0
  75. package/.claude/skills/seo-audit/references/ai-writing-detection.md +200 -0
  76. package/.claude/skills/seo-audit/references/international-seo.md +230 -0
  77. package/.claude/skills/shadcn-ui/SKILL.md +1677 -0
  78. package/.claude/skills/shadcn-ui/references/learn.md +145 -0
  79. package/.claude/skills/shadcn-ui/references/official-ui-reference.md +1725 -0
  80. package/.claude/skills/shadcn-ui/references/reference.md +586 -0
  81. package/.claude/skills/shadcn-ui/references/ui-reference.md +1578 -0
  82. package/.claude/skills/stitch-design/README.md +50 -0
  83. package/.claude/skills/stitch-design/SKILL.md +84 -0
  84. package/.claude/skills/stitch-design/examples/DESIGN.md +22 -0
  85. package/.claude/skills/stitch-design/examples/enhanced-prompt.md +28 -0
  86. package/.claude/skills/stitch-design/references/design-mappings.md +45 -0
  87. package/.claude/skills/stitch-design/references/prompt-keywords.md +114 -0
  88. package/.claude/skills/stitch-design/references/tool-schemas.md +76 -0
  89. package/.claude/skills/stitch-design/workflows/edit-design.md +44 -0
  90. package/.claude/skills/stitch-design/workflows/generate-design-md.md +63 -0
  91. package/.claude/skills/stitch-design/workflows/text-to-design.md +47 -0
  92. package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
  93. package/.claude/skills/systematic-debugging/SKILL.md +296 -0
  94. package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  95. package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
  96. package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
  97. package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
  98. package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
  99. package/.claude/skills/systematic-debugging/test-academic.md +14 -0
  100. package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
  101. package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
  102. package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
  103. package/.claude/skills/tailwind-design-system/SKILL.md +874 -0
  104. package/.claude/skills/ui-ux-pro-max/SKILL.md +377 -0
  105. package/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
  106. package/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
  107. package/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
  108. package/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
  109. package/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
  110. package/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  111. package/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  112. package/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  113. package/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  114. package/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  115. package/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  116. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  117. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  118. package/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  119. package/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  120. package/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  121. package/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  122. package/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  123. package/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  124. package/.claude/skills/ui-ux-pro-max/data/styles.csv +68 -0
  125. package/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
  126. package/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  127. package/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  128. package/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  129. package/.claude/skills/ui-ux-pro-max/scripts/core.py +253 -0
  130. package/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  131. package/.claude/skills/ui-ux-pro-max/scripts/search.py +114 -0
  132. package/.claude/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  133. package/.claude/skills/vercel-react-best-practices/SKILL.md +136 -0
  134. package/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  135. package/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  136. package/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  137. package/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  138. package/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  139. package/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  140. package/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  141. package/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  142. package/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  143. package/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  144. package/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  145. package/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  146. package/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  147. package/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  148. package/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  149. package/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  150. package/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  151. package/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  152. package/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  153. package/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  154. package/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  155. package/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  156. package/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  157. package/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  158. package/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  159. package/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  160. package/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  161. package/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  162. package/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  163. package/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  164. package/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  165. package/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  166. package/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  167. package/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  168. package/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  169. package/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  170. package/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  171. package/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  172. package/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  173. package/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  174. package/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  175. package/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  176. package/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  177. package/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  178. package/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  179. package/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  180. package/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  181. package/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  182. package/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  183. package/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  184. package/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  185. package/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  186. package/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  187. package/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  188. package/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  189. package/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  190. package/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  191. package/.claude/templates/implementer.md +36 -0
  192. package/.claude/templates/leader.md +77 -0
  193. package/.claude/templates/reviewer.md +53 -0
  194. package/.mcp.json.example +12 -0
  195. package/CHANGELOG.md +243 -0
  196. package/LICENSE +21 -0
  197. package/README.md +795 -0
  198. package/assets/jc-fox-mark.svg +10 -0
  199. package/assets/jc-methodology-badge.png +0 -0
  200. package/bin/akili.js +574 -0
  201. package/docs/README.md +48 -0
  202. package/docs/cli.md +187 -0
  203. package/docs/commands/README.md +43 -0
  204. package/docs/commands/akili-archive.md +65 -0
  205. package/docs/commands/akili-constitution.md +91 -0
  206. package/docs/commands/akili-execute.md +93 -0
  207. package/docs/commands/akili-propose.md +65 -0
  208. package/docs/commands/akili-seo.md +75 -0
  209. package/docs/commands/akili-specify.md +69 -0
  210. package/docs/commands/akili-test.md +65 -0
  211. package/docs/commands/akili-validate.md +64 -0
  212. package/docs/flow.md +255 -0
  213. package/docs/model-routing.md +133 -0
  214. package/docs/openspec-comparison.md +42 -0
  215. package/docs/plans/2026-05-26-multi-agent-sdd-orchestration-design.md +105 -0
  216. package/docs/release-checklist.md +91 -0
  217. package/docs/skills/README.md +42 -0
  218. package/docs/skills/angular-developer.md +23 -0
  219. package/docs/skills/api-design-principles.md +22 -0
  220. package/docs/skills/aws-serverless.md +22 -0
  221. package/docs/skills/brainstorming.md +21 -0
  222. package/docs/skills/error-handling-patterns.md +22 -0
  223. package/docs/skills/frontend-design.md +23 -0
  224. package/docs/skills/gsap-core.md +21 -0
  225. package/docs/skills/gsap-frameworks.md +20 -0
  226. package/docs/skills/gsap-performance.md +21 -0
  227. package/docs/skills/gsap-plugins.md +20 -0
  228. package/docs/skills/gsap-react.md +22 -0
  229. package/docs/skills/gsap-scrolltrigger.md +21 -0
  230. package/docs/skills/gsap-timeline.md +20 -0
  231. package/docs/skills/gsap-utils.md +21 -0
  232. package/docs/skills/nestjs-expert.md +23 -0
  233. package/docs/skills/product-manager-toolkit.md +22 -0
  234. package/docs/skills/react-doctor.md +27 -0
  235. package/docs/skills/seo-audit.md +27 -0
  236. package/docs/skills/shadcn-ui.md +22 -0
  237. package/docs/skills/stitch-design.md +21 -0
  238. package/docs/skills/systematic-debugging.md +27 -0
  239. package/docs/skills/tailwind-design-system.md +23 -0
  240. package/docs/skills/ui-ux-pro-max.md +25 -0
  241. package/docs/skills/vercel-react-best-practices.md +22 -0
  242. package/package.json +50 -0
  243. package/scripts/gsc_verify.py +162 -0
  244. package/scripts/parse_tests.js +112 -0
package/README.md ADDED
@@ -0,0 +1,795 @@
1
+ <div align="center">
2
+
3
+ <pre>
4
+ █████╗ ██╗ ██╗██╗██╗ ██╗
5
+ ██╔══██╗██║ ██╔╝██║██║ ██║
6
+ ███████║█████╔╝ ██║██║ ██║
7
+ ██╔══██║██╔═██╗ ██║██║ ██║
8
+ ██║ ██║██║ ██╗██║███████╗██║
9
+ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝╚═╝
10
+ </pre>
11
+
12
+ # AKILI
13
+
14
+ ### Supercharge Claude Code, OpenCode, and Google Antigravity with constitution-first spec intelligence
15
+
16
+ **Durable product context · traceable requirements · governed releases · 100% local methodology files**
17
+
18
+ <p>
19
+ <a href="https://www.npmjs.com/package/akili-specs"><img alt="npm version" src="https://img.shields.io/npm/v/akili-specs?style=for-the-badge&label=npm"></a>
20
+ <img alt="License MIT" src="https://img.shields.io/npm/l/akili-specs?style=for-the-badge&label=license&color=cfb600">
21
+ <img alt="Node.js 18+" src="https://img.shields.io/badge/Node.js-18%2B-91c714?style=for-the-badge">
22
+ </p>
23
+
24
+ <p>
25
+ <img alt="macOS supported" src="https://img.shields.io/badge/macOS-supported-1686c7?style=for-the-badge">
26
+ <img alt="Linux supported" src="https://img.shields.io/badge/Linux-supported-1686c7?style=for-the-badge">
27
+ <img alt="Windows supported" src="https://img.shields.io/badge/Windows-supported-1686c7?style=for-the-badge">
28
+ </p>
29
+
30
+ <p>
31
+ <img alt="Claude Code supported" src="https://img.shields.io/badge/Claude%20Code-supported-7c3aed?style=for-the-badge">
32
+ <img alt="OpenCode supported" src="https://img.shields.io/badge/OpenCode-supported-7c3aed?style=for-the-badge">
33
+ <img alt="Google Antigravity supported" src="https://img.shields.io/badge/Google%20Antigravity-supported-7c3aed?style=for-the-badge">
34
+ <img alt="CodeGraph aware" src="https://img.shields.io/badge/CodeGraph-aware-7c3aed?style=for-the-badge">
35
+ </p>
36
+
37
+ </div>
38
+
39
+ Portable Claude Code, OpenCode, and Google Antigravity configuration for the AKILI-SPECS methodology.
40
+
41
+ AKILI-SPECS is a constitution-first, spec-driven methodology for AI-assisted development. It keeps product intent, UX direction, technical design, implementation tasks, tests, and validation evidence in repository documentation so humans and agents can work from the same durable context.
42
+
43
+ ## Docs
44
+
45
+ → **[Documentation Hub](docs/README.md)**: full AKILI documentation<br>
46
+ → **[Flow](docs/flow.md)**: constitution-to-archive lifecycle<br>
47
+ → **[Model Routing](docs/model-routing.md)**: capability-tier model selection per AKILI-SPECS phase (Claude Code + OpenCode)<br>
48
+ → **[Commands](docs/commands/README.md)**: slash command reference<br>
49
+ → **[Skills](docs/skills/README.md)**: packaged skill reference<br>
50
+ → **[CLI](docs/cli.md)**: `akili` install/update/list/doctor reference<br>
51
+ → **[OpenSpec Comparison](docs/openspec-comparison.md)**: what AKILI borrows and how it differs<br>
52
+ → **[Release Checklist](docs/release-checklist.md)**: controlled npm release process
53
+
54
+ ## Repository Structure
55
+
56
+ - `.claude/commands/` — custom AKILI-SPECS command prompts
57
+ - `.claude/skills/` — required and preferred skills used by the methodology
58
+ - `.claude/templates/` — default Leader, Implementer, and Reviewer personas used by the multi-agent harness (deployed into project `.agents/`)
59
+ - `docs/` — human-facing documentation for the flow, CLI, commands, skills, and release process
60
+ - `scripts/` — helper scripts referenced by commands (e.g. `gsc_verify.py`)
61
+ - `.mcp.json.example` — reference MCP server configuration (e.g. `gsc`)
62
+ - `dotfiles/` — environment snapshots for Neovim and tmux
63
+
64
+ ## Contents
65
+
66
+ - `.claude/commands/`
67
+ - `akili-constitution.md`
68
+ - `akili-propose.md`
69
+ - `akili-specify.md`
70
+ - `akili-execute.md`
71
+ - `akili-test.md`
72
+ - `akili-validate.md`
73
+ - `akili-archive.md`
74
+ - `akili-seo.md`
75
+ - `.claude/skills/`
76
+ - `angular-developer`
77
+ - `api-design-principles`
78
+ - `aws-serverless`
79
+ - `brainstorming`
80
+ - `error-handling-patterns`
81
+ - `frontend-design`
82
+ - `gsap-core`
83
+ - `gsap-frameworks`
84
+ - `gsap-performance`
85
+ - `gsap-plugins`
86
+ - `gsap-react`
87
+ - `gsap-scrolltrigger`
88
+ - `gsap-timeline`
89
+ - `gsap-utils`
90
+ - `nestjs-expert`
91
+ - `product-manager-toolkit`
92
+ - `react-doctor`
93
+ - `seo-audit`
94
+ - `shadcn-ui`
95
+ - `stitch-design`
96
+ - `systematic-debugging`
97
+ - `tailwind-design-system`
98
+ - `ui-ux-pro-max`
99
+ - `vercel-react-best-practices`
100
+ - `.claude/templates/`
101
+ - `leader.md`
102
+ - `implementer.md`
103
+ - `reviewer.md`
104
+ - `docs/`
105
+ - `flow.md`
106
+ - `cli.md`
107
+ - `commands/`
108
+ - `skills/`
109
+ - `openspec-comparison.md`
110
+
111
+ ## Install
112
+
113
+ Install the methodology with the bundled CLI. The installer can target Claude, OpenCode, Google Antigravity, or multiple tools.
114
+
115
+ ### Prerequisites
116
+
117
+ - Node.js 18 or newer
118
+ - `pnpm`, `npm`, or another Node package runner
119
+ - Claude Code, OpenCode, and/or Google Antigravity installed, depending on where you want to use the methodology
120
+
121
+ ### Step 1: Choose The Target Tool
122
+
123
+ | Target | Use When | Default Install Path |
124
+ |---|---|---|
125
+ | Claude | You use Claude Code slash commands and Claude skills | `~/.claude` |
126
+ | OpenCode | You use OpenCode commands and skills | `~/.config/opencode` |
127
+ | Antigravity | You use Google Antigravity global workflows and skills | `~/.gemini` |
128
+ | Both | You switch between Claude Code and OpenCode | Claude + OpenCode paths |
129
+ | All | You use Claude, OpenCode, and Google Antigravity | All three paths |
130
+
131
+ ### Step 2: Install
132
+
133
+ **Interactive Installation (Recommended):**
134
+ Simply run the CLI without arguments to launch the interactive setup wizard, which will ask you about the tool and whether you want a global or local installation:
135
+
136
+ ```bash
137
+ pnpm dlx akili-specs
138
+ # or
139
+ pnpm dlx akili-specs init
140
+ ```
141
+
142
+ **Manual Installation via Flags:**
143
+
144
+ Install globally for Claude (default):
145
+
146
+ ```bash
147
+ pnpm dlx akili-specs install
148
+ ```
149
+
150
+ Install globally for OpenCode:
151
+
152
+ ```bash
153
+ pnpm dlx akili-specs install --tool opencode
154
+ ```
155
+
156
+ Install locally to the current project workspace:
157
+
158
+ ```bash
159
+ pnpm dlx akili-specs install --tool both --local
160
+ ```
161
+
162
+ ### Step 3: Verify The Installation
163
+
164
+ Check Claude installation:
165
+
166
+ ```bash
167
+ pnpm dlx akili-specs doctor --tool claude
168
+ ```
169
+
170
+ Check OpenCode installation:
171
+
172
+ ```bash
173
+ pnpm dlx akili-specs doctor --tool opencode
174
+ ```
175
+
176
+ Check Antigravity installation:
177
+
178
+ ```bash
179
+ pnpm dlx akili-specs doctor --tool antigravity
180
+ ```
181
+
182
+ Check all:
183
+
184
+ ```bash
185
+ pnpm dlx akili-specs doctor --tool all
186
+ ```
187
+
188
+ Expected result: every command, skill, and helper resource shows `OK`.
189
+
190
+ ### Step 4: Restart Your Tool
191
+
192
+ Restart Claude Code, OpenCode, or Antigravity after installation. Running sessions may not pick up new commands or skills until the tool restarts.
193
+
194
+ ### Step 5: Confirm Commands Are Available
195
+
196
+ In your tool of choice, confirm AKILI commands are available (either as slash commands or workflows):
197
+
198
+ ```text
199
+ /akili-constitution
200
+ /akili-propose
201
+ /akili-specify
202
+ /akili-execute
203
+ /akili-test
204
+ /akili-validate
205
+ /akili-archive
206
+ /akili-seo
207
+ ```
208
+
209
+ Then start a project with:
210
+
211
+ ```text
212
+ /akili-constitution
213
+ ```
214
+
215
+ Or, if the project already has a strong baseline:
216
+
217
+ ```text
218
+ /akili-propose add-my-feature
219
+ ```
220
+
221
+ ### Local Checkout Install
222
+
223
+ If you are installing from this repository before publishing to npm, run:
224
+
225
+ ```bash
226
+ node bin/akili.js install
227
+ node bin/akili.js install --tool opencode
228
+ node bin/akili.js install --tool both
229
+ ```
230
+
231
+ Verify local checkout install:
232
+
233
+ ```bash
234
+ node bin/akili.js doctor --tool both
235
+ ```
236
+
237
+ ### Global Install
238
+
239
+ If you prefer a persistent global CLI:
240
+
241
+ ```bash
242
+ pnpm add -g akili-specs
243
+ akili install
244
+ akili install --tool opencode
245
+ akili doctor --tool opencode
246
+ ```
247
+
248
+ ### Install Paths
249
+
250
+ Default targets:
251
+
252
+ ```text
253
+ Claude: ~/.claude
254
+ OpenCode: ~/.config/opencode
255
+ ```
256
+
257
+ For Claude, the installer writes:
258
+
259
+ ```text
260
+ ~/.claude/commands/
261
+ ~/.claude/skills/
262
+ ~/.claude/akili/scripts/
263
+ ~/.claude/akili/templates/ (leader, implementer, reviewer personas used by /akili-constitution)
264
+ ~/.claude/akili/.mcp.json.example
265
+ ```
266
+
267
+ For OpenCode, the installer writes:
268
+
269
+ ```text
270
+ ~/.config/opencode/commands/
271
+ ~/.config/opencode/skills/
272
+ ~/.config/opencode/akili/scripts/
273
+ ~/.config/opencode/akili/templates/
274
+ ~/.config/opencode/akili/.mcp.json.example
275
+ ```
276
+
277
+ OpenCode loads global command markdown files from `~/.config/opencode/commands/` and skills from `~/.config/opencode/skills/`. Restart OpenCode after install or update so it loads the new files.
278
+
279
+ ### Updating
280
+
281
+ Update Claude:
282
+
283
+ ```bash
284
+ pnpm dlx akili-specs update --tool claude --force
285
+ ```
286
+
287
+ Update OpenCode:
288
+
289
+ ```bash
290
+ pnpm dlx akili-specs update --tool opencode --force
291
+ ```
292
+
293
+ Update both:
294
+
295
+ ```bash
296
+ pnpm dlx akili-specs update --tool both --force
297
+ ```
298
+
299
+ Use `--force` when you want packaged files to replace older installed files. Without `--force`, existing files are skipped.
300
+
301
+ ### Releasing Package Updates
302
+
303
+ Repository changes do not update the published npm package automatically. Every published package update must have a new version.
304
+
305
+ Release policy:
306
+
307
+ - Commit repository changes separately from release version changes.
308
+ - Add `CHANGELOG.md` notes before preparing a release.
309
+ - Use `npm run release:status` to detect drift between local release files, npm, tags, and GitHub Releases.
310
+ - The `Release Status` GitHub Actions workflow runs the same drift check on pushes, pull requests, and manual dispatches.
311
+ - Publish only from a clean working tree after verification passes.
312
+ - Confirm npm authentication before publishing.
313
+ - Do not claim npm is updated until publish and smoke tests succeed.
314
+ - If publish fails, fix the blocker and retry the same unpublished version.
315
+
316
+ Use semantic versioning:
317
+
318
+ | Bump | Use For | Example |
319
+ |---|---|---|
320
+ | Patch | Documentation fixes, small command clarifications, installer fixes | `0.2.0` to `0.2.1` |
321
+ | Minor | New commands, new install targets, meaningful workflow additions | `0.2.0` to `0.3.0` |
322
+ | Major | Breaking command behavior or package install changes | `0.2.0` to `1.0.0` |
323
+
324
+ Controlled release flow:
325
+
326
+ 1. Make repo changes.
327
+ 2. Add notes under `CHANGELOG.md` > `Unreleased`.
328
+ 3. Commit the changes.
329
+ 4. Prepare the next version:
330
+
331
+ ```bash
332
+ npm run release:patch
333
+ ```
334
+
335
+ Or use `release:minor` / `release:major` when appropriate.
336
+
337
+ The release script updates `package.json`, moves the `Unreleased` changelog notes into a dated version section, and creates `releases/vX.Y.Z.md`.
338
+
339
+ Then verify and publish:
340
+
341
+ ```bash
342
+ npm run verify:cli
343
+ npm run pack:dry-run
344
+ npm run release:status
345
+ git diff --check
346
+ git add package.json CHANGELOG.md releases/vX.Y.Z.md
347
+ git commit -m "chore(release): vX.Y.Z"
348
+ git tag vX.Y.Z
349
+ npm whoami --registry=https://registry.npmjs.org/
350
+ npm publish --access public --registry=https://registry.npmjs.org/
351
+ ```
352
+
353
+ After publish, smoke test:
354
+
355
+ ```bash
356
+ pnpm dlx akili-specs@X.Y.Z list
357
+ pnpm dlx akili-specs@X.Y.Z install --tool both --dry-run
358
+ npm view akili-specs version --registry=https://registry.npmjs.org/
359
+ npm run release:status
360
+ ```
361
+
362
+ ### CLI Commands
363
+
364
+ See the full [CLI Reference](docs/cli.md) for options, install paths, examples, safety rules, and troubleshooting.
365
+
366
+ | Command | Purpose |
367
+ |---|---|
368
+ | `akili install` | Install commands, skills, and helper resources |
369
+ | `akili update` | Reinstall packaged commands, skills, and helper resources |
370
+ | `akili list` | Show packaged commands, skills, and helper resources |
371
+ | `akili doctor` | Check whether expected files are installed |
372
+
373
+ Useful options:
374
+
375
+ ```bash
376
+ akili install --dry-run
377
+ akili install --tool claude --target ./.claude
378
+ akili install --tool opencode --target ./.config/opencode
379
+ akili install --tool both --claude-target ./.claude --opencode-target ./.config/opencode
380
+ akili update --force
381
+ akili update --tool both --force
382
+ akili doctor --commands-only
383
+ akili doctor --tool opencode --skills-only
384
+ ```
385
+
386
+ Installer safety rules:
387
+
388
+ - existing files are skipped by default
389
+ - use `--force` to overwrite existing files
390
+ - use `--dry-run` to preview changes
391
+ - use `--tool claude`, `--tool opencode`, or `--tool both` to choose the destination
392
+ - use `--target <path>` to install a single selected tool somewhere custom
393
+ - use `--claude-target <path>` and `--opencode-target <path>` with `--tool both`
394
+
395
+ The helper resources under the target `akili/` folder support commands such as `/akili-seo`, including the bundled Google Search Console verification helper.
396
+
397
+ ### Troubleshooting
398
+
399
+ If commands do not appear:
400
+
401
+ - run `akili doctor --tool <claude|opencode|both>`
402
+ - restart Claude Code or OpenCode
403
+ - confirm you installed into the expected target path
404
+ - rerun install with `--force` if old files should be replaced
405
+
406
+ If you want to preview installation without writing files:
407
+
408
+ ```bash
409
+ akili install --tool both --dry-run
410
+ ```
411
+
412
+ ### Manual Install
413
+
414
+ If you do not want to use the CLI, copy the repository `.claude/commands` and `.claude/skills` folders into your tool configuration location.
415
+
416
+ Typical global install target:
417
+
418
+ - `~/.claude/commands/`
419
+ - `~/.claude/skills/`
420
+
421
+ Typical OpenCode global install target:
422
+
423
+ - `~/.config/opencode/commands/`
424
+ - `~/.config/opencode/skills/`
425
+
426
+ Example:
427
+
428
+ ```bash
429
+ cp -R .claude/commands/* ~/.claude/commands/
430
+ cp -R .claude/skills/* ~/.claude/skills/
431
+ ```
432
+
433
+ Manual OpenCode example:
434
+
435
+ ```bash
436
+ mkdir -p ~/.config/opencode/commands ~/.config/opencode/skills
437
+ cp -R .claude/commands/* ~/.config/opencode/commands/
438
+ cp -R .claude/skills/* ~/.config/opencode/skills/
439
+ ```
440
+
441
+ ## Dotfiles
442
+
443
+ The repository also includes editor and terminal configuration snapshots under `dotfiles/`:
444
+
445
+ - `dotfiles/.config/nvim/`
446
+ - `dotfiles/.tmux/`
447
+ - `dotfiles/.tmux.conf`
448
+
449
+ These are stored as portable references or backup material for the environment used with this methodology.
450
+
451
+ ### Restore Neovim
452
+
453
+ ```bash
454
+ mkdir -p ~/.config
455
+ cp -R dotfiles/.config/nvim ~/.config/
456
+ ```
457
+
458
+ ### Restore tmux
459
+
460
+ ```bash
461
+ cp dotfiles/.tmux.conf ~/.tmux.conf
462
+ cp -R dotfiles/.tmux ~/.tmux
463
+ ```
464
+
465
+ If you prefer a lighter restore, keep `~/.tmux.conf` and reinstall plugins separately instead of copying the full plugin snapshot.
466
+
467
+ ## Start Here
468
+
469
+ See the full [Flow documentation](docs/flow.md) for artifacts, review gates, project modes, and spec folder shape.
470
+
471
+ Use this flow for normal feature work:
472
+
473
+ 1. `/akili-constitution` - create or strengthen the project baseline.
474
+ 2. `/akili-propose <change-name-or-spec-path>` - capture intent, scope, and reviewable direction.
475
+ 3. `/akili-specify <spec-path>` - define one feature, module, bugfix, or enhancement.
476
+ 4. `/akili-execute <spec-path>` - implement the next approved task.
477
+ 5. `/akili-test <spec-path>` - prove the behavior with tests and traceability.
478
+ 6. `/akili-validate <spec-path>` - audit conformance before calling the work done.
479
+ 7. `/akili-archive <spec-path>` - preserve completed work and remove it from active specs.
480
+
481
+ Run `/akili-constitution` first in a new repository, after a major product pivot, or when the baseline docs are missing. For an established repository with a good baseline, start at `/akili-propose <change-name>` or `/akili-specify <spec-path>`.
482
+
483
+ `/akili-constitution` classifies the repository into one of three project modes:
484
+
485
+ - **Brand-new (Seed Setup):** little or no code or durable docs. Creates the baseline from user intent, chosen stack, assumptions, and open questions, and copies default `.agents/` personas verbatim.
486
+ - **Legacy (Discovery Setup):** real code exists but the AKILI-SPECS baseline does not. Inspects code, docs, architecture, tests, package manifests, and routes before drafting baseline docs, and customizes `.agents/` personas to the detected stack and design tokens.
487
+ - **Active AKILI-SPECS (Safe Update):** the AKILI-SPECS baseline and possibly customized `.agents/` already exist. Upgrades weak sections, fills missing files, and extends `.agents/` non-destructively — never overwrites custom persona rules.
488
+
489
+ For all three modes, `/akili-constitution` creates or enhances root `CLAUDE.md` and root `AGENTS.md` so Claude Code, OpenCode, and Google Antigravity receive the same project guidance.
490
+
491
+ For existing projects, CodeGraph is an optional acceleration path. If `.codegraph/` exists, agents should use it for semantic code exploration, symbol lookup, callers/callees, and impact checks. If `.codegraph/` is missing and the `codegraph` CLI is available, the agent should ask whether to run `codegraph init -i`. If CodeGraph is unavailable or declined, the methodology continues with normal `Glob`, `Grep`, and file reads.
492
+
493
+ Use `/akili-propose` when the change needs review before full specification. For very small, obvious work, you may start directly with `/akili-specify <spec-path>`.
494
+
495
+ ## Command Map
496
+
497
+ See the full [Command Reference](docs/commands/README.md) for detailed pages per command.
498
+
499
+ | Command | Use When | Main Output |
500
+ |---|---|---|
501
+ | `/akili-constitution` | Starting a repo or repairing weak project context | `docs/prd.md`, UX/UI design, TRD, `docs/infrastructure.md`, general spec templates, `CLAUDE.md`, `AGENTS.md` guidance |
502
+ | `/akili-propose <change-name-or-spec-path>` | Aligning on intent before full specification (supports Figma/Jira MCP context) | `proposal.md` under `docs/specs/<spec-path>/` |
503
+ | `/akili-specify <spec-path>` | Planning one bounded change before code | `requirements.md`, `design.md`, `tasks.md` under `docs/specs/<spec-path>/` (includes Design Impact injection, LOC estimation and HITL menus) |
504
+ | `/akili-execute <spec-path>` | Implementing approved tasks via the Leader → Implementer → Reviewer harness | Code changes, updated `tasks.md`, `execution.md` with full PASS/FAIL audit trail |
505
+ | `/akili-test <spec-path>` | Adding or running test evidence | `test-report.md` with requirement-to-test traceability |
506
+ | `/akili-validate <spec-path>` | Checking implementation against the spec | `validation-report.md` with pass, warning, failure, and remediation items |
507
+ | `/akili-archive <spec-path>` | Closing completed work after validation | Archived spec folder under `docs/specs/archive/` with `archive-summary.md`, synced agent guides, CodeGraph re-index reminder |
508
+ | `/akili-seo <site-domain>` | Auditing deployed SEO and Search Console state | `seo-setup-report.md`, `seo-audit-report.md` |
509
+
510
+ ## How To Choose The Right Depth
511
+
512
+ Use the lightest documentation that still makes the work clear and verifiable.
513
+
514
+ | Work Type | Recommended Depth | What To Capture |
515
+ |---|---|---|
516
+ | Small bugfix or UI tweak | Lite | Problem, affected requirement, scenario, focused task, verification command |
517
+ | Normal feature | Standard | Requirements, scenarios, design decisions, task breakdown, tests |
518
+ | High-risk change | Full | Business context, alternatives, data/API contracts, rollout, risks, observability, rollback |
519
+ | Cross-cutting architecture | Full plus constitution review | Updates to project baseline docs and affected specs |
520
+
521
+ Lite mode does not skip rigor. It keeps the documents short, but every requirement still needs a testable scenario and every task still needs a done criterion.
522
+
523
+ ## Core Concepts
524
+
525
+ | Concept | Meaning |
526
+ |---|---|
527
+ | Constitution | Project-wide context that should not be rediscovered every session |
528
+ | Proposal | A lightweight review document for intent, scope, options, and risks |
529
+ | Spec path | A folder under `docs/specs/` for one bounded piece of work |
530
+ | Requirement | A testable statement of expected behavior |
531
+ | Scenario | A concrete Given/When/Then example that proves a requirement |
532
+ | Design | The technical and UX approach for satisfying requirements |
533
+ | Task | A small executable unit linked to requirements and design sections |
534
+ | Report | Evidence that the implementation was tested and validated |
535
+ | Archive | Completed AKILI-SPECS history moved under `docs/specs/archive/` |
536
+
537
+ ## Spec Folder Shape
538
+
539
+ Each feature or change should live in one folder:
540
+
541
+ ```text
542
+ docs/specs/<spec-path>/
543
+ ├── proposal.md # created by /akili-propose, optional but recommended
544
+ ├── requirements.md
545
+ ├── design.md
546
+ ├── tasks.md
547
+ ├── execution.md # created by /akili-execute
548
+ ├── test-report.md # created by /akili-test
549
+ ├── validation-report.md # created by /akili-validate
550
+ └── archive-summary.md # created by /akili-archive before moving
551
+ ```
552
+
553
+ Choose paths that describe the domain and intent:
554
+
555
+ ```text
556
+ docs/specs/loan/
557
+ docs/specs/enhancements/renewals/
558
+ docs/specs/admin/user-management/
559
+ docs/specs/bugfix/login-redirect/
560
+ docs/specs/changes/add-remember-me/
561
+ ```
562
+
563
+ When `/akili-propose add-remember-me` receives a bare change name, it defaults to `docs/specs/changes/add-remember-me/`. When it receives a nested path such as `bugfix/login-redirect`, it uses that path directly.
564
+
565
+ ## Requirement Delta Preview
566
+
567
+ Proposals can include a lightweight delta preview. This makes reviews faster for brownfield work:
568
+
569
+ ```markdown
570
+ ## Requirement Delta Preview
571
+
572
+ ### ADDED Requirements
573
+
574
+ - The system SHALL allow users to opt into extended sessions.
575
+
576
+ ### MODIFIED Requirements
577
+
578
+ - Session expiration changes from a fixed timeout to configurable timeout policies.
579
+
580
+ ### REMOVED Requirements
581
+
582
+ - Legacy session persistence behavior is removed after migration.
583
+ ```
584
+
585
+ During `/akili-specify`, these previews become full requirements, scenarios, design decisions, and tasks.
586
+
587
+ ## Writing Good Requirements
588
+
589
+ Write requirements as behavior contracts, not implementation plans.
590
+
591
+ Use this shape when possible:
592
+
593
+ ```markdown
594
+ ### Requirement: Session Expiration
595
+
596
+ The system SHALL expire inactive user sessions after the configured timeout.
597
+
598
+ #### Scenario: Idle timeout
599
+
600
+ - GIVEN an authenticated user has an active session
601
+ - WHEN the session remains inactive past the configured timeout
602
+ - THEN the system invalidates the session
603
+ - AND the user must authenticate again before accessing protected pages
604
+ - BUT it must NOT invalidate the session if a keep-alive ping was received
605
+ - AND IT MUST log the expiration event in the audit trail
606
+ ```
607
+
608
+ Good requirements are:
609
+
610
+ - observable by a user, system, API client, or operator
611
+ - measurable enough to test
612
+ - equipped with rigorous negative constraints (`BUT it must NOT`) and strict validations (`AND IT MUST`) for boundary cases
613
+ - independent from internal class names or library choices
614
+ - linked to at least one implementation task
615
+ - covered by test evidence or an explicit accepted gap
616
+
617
+ ## Review Points
618
+
619
+ Before implementation, review:
620
+
621
+ - whether the problem and scope are clear
622
+ - whether every requirement has at least one scenario
623
+ - whether design decisions explain trade-offs instead of only listing files
624
+ - whether tasks are small enough to execute independently
625
+ - whether every task has verification criteria
626
+
627
+ Before completion, review:
628
+
629
+ - whether all intended tasks are complete
630
+ - whether tests cover the key scenarios
631
+ - whether validation found unresolved failures
632
+ - whether the spec should be updated based on implementation discoveries
633
+
634
+ ## Practical Example
635
+
636
+ For a new admin user-management feature:
637
+
638
+ ```text
639
+ /akili-constitution
640
+ /akili-propose admin/user-management
641
+ /akili-specify admin/user-management
642
+ /akili-execute admin/user-management
643
+ /akili-test admin/user-management
644
+ /akili-validate admin/user-management
645
+ /akili-archive admin/user-management
646
+ ```
647
+
648
+ For a small login redirect bugfix in an established repo:
649
+
650
+ ```text
651
+ /akili-specify bugfix/login-redirect
652
+ /akili-execute bugfix/login-redirect
653
+ /akili-test bugfix/login-redirect
654
+ /akili-validate bugfix/login-redirect
655
+ /akili-archive bugfix/login-redirect
656
+ ```
657
+
658
+ For a reviewable named change using the default `changes/` path:
659
+
660
+ ```text
661
+ /akili-propose add-remember-me
662
+ /akili-specify changes/add-remember-me
663
+ /akili-execute changes/add-remember-me
664
+ /akili-test changes/add-remember-me
665
+ /akili-validate changes/add-remember-me
666
+ /akili-archive changes/add-remember-me
667
+ ```
668
+
669
+ ## Planned Improvements Inspired By OpenSpec
670
+
671
+ OpenSpec has useful ideas that fit this methodology well. Some are now supported through `/akili-propose` and `/akili-archive`. Remaining planned improvements:
672
+
673
+ See [OpenSpec Comparison](docs/openspec-comparison.md) for the current AKILI comparison and documentation-pattern notes.
674
+
675
+ - automated sync lifecycle for completed specs
676
+ - schema-style workflow templates for feature, bugfix, migration, SEO, and research-first work
677
+ - broader command portability beyond Claude-specific command files
678
+
679
+ ### Auxiliary commands
680
+
681
+ - `/akili-seo <site-domain>` — SEO setup & audit via Google Search Console. Verifies a domain through DNS TXT using a service account, adds the property to GSC, then audits index coverage, sitemaps, structured data, search analytics, server-side render, internal linking, and on-page SEO (titles, metas, headings, canonicals, hreflang) using the packaged `seo-audit` skill. Produces `seo-setup-report.md` and `seo-audit-report.md` under `docs/specs/seo/<domain>/`, including a copy-paste implementation prompt for fixing every High-severity finding.
682
+
683
+ Dependencies bundled with this repo:
684
+
685
+ - `scripts/gsc_verify.py` — Site Verification API helper (token + verify), because the `gsc` MCP only wraps Search Console, not Site Verification.
686
+ - `.mcp.json.example` — reference MCP server entry for `@mikusnuz/gsc-mcp`.
687
+
688
+ Setup once per environment:
689
+
690
+ 1. Enable **Site Verification API** and **Search Console API** in your Google Cloud project.
691
+ 2. Create a service account, download its JSON key, store outside the repo.
692
+ 3. Install Python deps: `pip install google-auth google-api-python-client`.
693
+ 4. Copy the `gsc` block from `.mcp.json.example` into your global `~/.claude.json` (or a project `.mcp.json`) and set `GSC_SERVICE_ACCOUNT_KEY_PATH` to the absolute path of the key.
694
+
695
+ ## Spec Paths
696
+
697
+ Commands accept a relative path under `docs/specs/`, not only a flat module name.
698
+
699
+ Examples:
700
+
701
+ - `loan`
702
+ - `enhancements/renewals`
703
+ - `admin/user-management`
704
+
705
+ ## Dependencies
706
+
707
+ Included skills cover the default methodology path, including `ui-ux-pro-max`.
708
+
709
+ Fallback rule:
710
+
711
+ - when `ui-ux-pro-max` is unavailable, use `frontend-design` + `stitch-design` for UX/UI design work and `frontend-design` for UI validation/testing support.
712
+
713
+ ## Methodology Contract
714
+
715
+ - **User-Facing Summaries:** All major commands (`/akili-propose`, `/akili-specify`, `/akili-execute`, `/akili-validate`, `/akili-test`, `/akili-constitution`) generate a short, digestible summary on the screen before proceeding to the next step, ensuring developers always understand what the agent just did.
716
+ - `/akili-constitution` establishes the project baseline docs (`docs/prd.md`, `docs/ux-ui/design.md`, `docs/trd/trd.md`, `docs/infrastructure.md`) and `docs/specs/general-setup/` templates, and scaffolds the project `.agents/` harness (Leader, Implementer, Reviewer).
717
+ - `/akili-propose` creates a lightweight proposal before full specification. Evaluates massive instructions for **Scope Chunking** to split work into manageable modules. Integrates with **Figma MCP** and **Jira MCP** to extract visual context, requirements, and user stories.
718
+ - `/akili-specify` must follow those templates when generating module specs. Enforces **Human-in-the-loop (HITL)** approval pauses after Requirements, Design, and Tasks. Promotes rigorous BDD scenarios (`BUT it must NOT`, `AND IT MUST`), allows blind adversarial design reviews via the `judgment-day` skill, outputs a final **Lines of Code (LOC) estimate** to recommend a safe Pull Request strategy, and explicitly injects **Design Impact** rules (from Figma contexts) into UI tasks and components.
719
+ - `/akili-execute` orchestrates a Leader → Implementer → Reviewer rework loop (max 3 retries) to implement tasks from an approved spec path.
720
+ - `/akili-test` validates requirement-to-test traceability, explicitly checking for negative constraints and strict boundaries.
721
+ - `/akili-validate` audits implementation conformance against the spec (including rigorous boundary validations) and constitutional baseline.
722
+ - `/akili-archive` preserves completed specs under `docs/specs/archive/` after validation, syncs agent guides (child `CLAUDE.md`/`AGENTS.md` + the parent `## Module Guides` index) from the spec's `## Constitution Impact` notes, and recommends a CodeGraph re-index.
723
+ - `/akili-seo` operates outside the main spec lifecycle: it provisions Google Search Console ownership for a domain and produces a standalone SEO audit under `docs/specs/seo/<domain>/`. Run it any time after deployment; rerun after major content or schema changes.
724
+
725
+ ## Multi-Agent Harness Engineering
726
+
727
+ `/akili-execute` is not a single-agent script. It is a coordinated triad of specialized roles that share the same spec, the same constitution, and the same audit trail. The harness exists to remove confirmation bias from review (an independent auditor instead of the same agent that wrote the code), to keep each role's context window small and focused, and to enforce design-token and constitutional discipline through a hard PASS/FAIL gate.
728
+
729
+ Roles live in the project's `.agents/` directory (scaffolded by `/akili-constitution`):
730
+
731
+ | Role | File | Responsibilities |
732
+ |---|---|---|
733
+ | Leader | `.agents/leader.md` | Orchestration. Picks the next eligible task, delegates, enforces the rework loop, updates `tasks.md` and `execution.md`, commits with `[SPEC:<spec-path>]`. |
734
+ | Implementer | `.agents/implementer.md` | Writes and tests the code. Strictly task-scoped, must follow design tokens from `docs/ux-ui/design.md`, must run the verification command before reporting. |
735
+ | Reviewer | `.agents/reviewer.md` | Read-only spec audit. Compares the diff against requirements, design tokens, the TRD, and stability. Outputs a structured PASS or FAIL with *Discovered Issue*, *Violated Rule*, and *Remediation Suggestion* for each finding. |
736
+
737
+ The Leader runs each task through this loop:
738
+
739
+ ```text
740
+ Leader picks the next task → spawns Implementer with task + persona
741
+ Implementer writes code and runs verification → reports back
742
+ Leader extracts git diff → spawns Reviewer with diff + persona
743
+ Reviewer emits STATUS: PASS or STATUS: FAIL
744
+
745
+ if PASS → update tasks.md, append execution.md, commit, advance
746
+ if FAIL → log feedback; if attempts < 3, respawn Implementer with the Reviewer's findings
747
+ if 3 consecutive FAILs → HALT, mark task [~], present full audit trail for human guidance
748
+ ```
749
+
750
+ **Guardrails:**
751
+
752
+ - **Maximum retries.** A hard ceiling of 3 rework attempts per task prevents infinite loops and token waste.
753
+ - **Structured feedback.** The Reviewer's report is passed back unchanged to the next Implementer spawn — no paraphrasing.
754
+ - **Pivot protocol.** If discovery proves the spec itself is wrong (not the implementation), the loop stops immediately and a `## Pivot Record` is opened in `execution.md` for user sign-off — rework retries are not consumed on a broken spec.
755
+ - **Cross-tool.** `.agents/` is pure Markdown + YAML frontmatter and is resolved relative to the active workspace, so the same harness runs under Claude Code, OpenCode, and Google Antigravity (the latter invokes `invoke_subagent` using the same persona files).
756
+
757
+ `/akili-constitution` classifies the repository into one of three modes and seeds `.agents/` accordingly:
758
+
759
+ | Mode | When | `.agents/` Behavior |
760
+ |---|---|---|
761
+ | Brand-new | No code, no docs | Copies the default Leader/Implementer/Reviewer templates verbatim |
762
+ | Legacy | Real code, no AKILI-SPECS baseline | Copies defaults and customizes them with detected stack, design tokens, lint and test commands |
763
+ | Active AKILI-SPECS | Baseline already exists | Preserves customized `.agents/` files in place and only upgrades or fills gaps non-destructively |
764
+
765
+ ## Capability-Tier Model Routing
766
+
767
+ Not every model is best at every job. AKILI routes each AKILI-SPECS phase to the model matched to its
768
+ dominant demand using six **capability tiers** — Architect, Coder, Auditor, Context-Ingest,
769
+ Fast-Cheap, and Multimodal. A single editable **registry** binds each tier to a concrete model
770
+ **per tool**, so model upgrades are a one-line edit rather than a rewrite.
771
+
772
+ This is **guidance-first and model-agnostic**: no `model:` frontmatter is added to commands and the
773
+ installer injects nothing. You switch models yourself (Claude Code `/model`, OpenCode model
774
+ selector), and `/akili-constitution` scaffolds a `## Model Routing` registry into each project's
775
+ `AGENTS.md` / `CLAUDE.md`.
776
+
777
+ Key principles: **ARCHITECT = BUILDER** (the model that designs also builds), **author ≠ auditor**
778
+ (the Reviewer runs on a different model than the Implementer), reserve deep-reasoning models for
779
+ `/akili-propose` and `/akili-validate`, and use fast/cheap models for the tasks split and `/akili-archive`.
780
+
781
+ See **[docs/model-routing.md](docs/model-routing.md)** for the tiers, the full phase→tier mapping,
782
+ and the default registry for Claude Code (PRO) and OpenCode Go.
783
+
784
+ ## Host Assumptions
785
+
786
+ - The host Claude environment can ask follow-up questions to the user during command execution.
787
+ - The host environment can load local skills referenced by the commands.
788
+ - Repository-specific build, lint, and test commands should be preferred over hardcoded stack assumptions.
789
+
790
+ ## Notes
791
+
792
+ - Commands were sourced from the current global Claude command setup.
793
+ - Skills were copied with their bundled references and helper assets.
794
+ - This repository stores the current methodology baseline so it can be reused or versioned independently.
795
+ - Dotfiles are snapshots of the working environment and may include plugin source copies for portability.