akili-specs 2.7.0 → 2.8.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 (74) hide show
  1. package/.claude/commands/akili-archive.md +9 -0
  2. package/.claude/commands/akili-audit.md +9 -0
  3. package/.claude/commands/akili-constitution.md +41 -3
  4. package/.claude/commands/akili-execute.md +10 -1
  5. package/.claude/commands/akili-propose.md +9 -0
  6. package/.claude/commands/akili-quick.md +9 -0
  7. package/.claude/commands/akili-resume.md +9 -0
  8. package/.claude/commands/akili-seo.md +9 -0
  9. package/.claude/commands/akili-specify.md +14 -2
  10. package/.claude/commands/akili-test.md +9 -0
  11. package/.claude/commands/akili-validate.md +9 -0
  12. package/.claude/skills/angular-developer/SKILL.md +4 -0
  13. package/.claude/skills/api-design-principles/SKILL.md +8 -0
  14. package/.claude/skills/aws-serverless/SKILL.md +8 -1
  15. package/.claude/skills/brainstorming/SKILL.md +25 -1
  16. package/.claude/skills/cognitive-doc-design/SKILL.md +14 -0
  17. package/.claude/skills/error-handling-patterns/SKILL.md +8 -0
  18. package/.claude/skills/frontend-design/SKILL.md +8 -1
  19. package/.claude/skills/gsap-animation/SKILL.md +182 -0
  20. package/.claude/skills/gsap-animation/references/frameworks.md +137 -0
  21. package/.claude/skills/{gsap-performance/SKILL.md → gsap-animation/references/performance.md} +10 -20
  22. package/.claude/skills/gsap-animation/references/plugins.md +390 -0
  23. package/.claude/skills/gsap-animation/references/react.md +122 -0
  24. package/.claude/skills/gsap-animation/references/scrolltrigger.md +255 -0
  25. package/.claude/skills/{gsap-timeline/SKILL.md → gsap-animation/references/timeline.md} +7 -19
  26. package/.claude/skills/gsap-animation/references/utils.md +254 -0
  27. package/.claude/skills/judgment-day/SKILL.md +19 -1
  28. package/.claude/skills/kaizen/SKILL.md +1 -0
  29. package/.claude/skills/nestjs-expert/SKILL.md +8 -0
  30. package/.claude/skills/product-manager-toolkit/SKILL.md +7 -1
  31. package/.claude/skills/react-doctor/SKILL.md +6 -0
  32. package/.claude/skills/seo-audit/SKILL.md +18 -9
  33. package/.claude/skills/shadcn-ui/SKILL.md +6 -0
  34. package/.claude/skills/stitch-design/SKILL.md +7 -0
  35. package/.claude/skills/systematic-debugging/SKILL.md +21 -0
  36. package/.claude/skills/tailwind-design-system/SKILL.md +8 -0
  37. package/.claude/skills/ui-ux-pro-max/SKILL.md +21 -0
  38. package/.claude/skills/vercel-react-best-practices/SKILL.md +3 -0
  39. package/.claude/templates/implementer.md +6 -0
  40. package/.claude/templates/leader.md +7 -1
  41. package/.claude/templates/reviewer.md +6 -0
  42. package/.claude/templates/tester.md +6 -0
  43. package/CHANGELOG.md +27 -0
  44. package/LICENSE +1 -1
  45. package/README.md +9 -8
  46. package/bin/akili.js +40 -0
  47. package/docs/cli.md +1 -1
  48. package/docs/commands/akili-constitution.md +11 -11
  49. package/docs/flow.md +20 -0
  50. package/docs/skills/README.md +34 -31
  51. package/docs/skills/brainstorming.md +2 -0
  52. package/docs/skills/cognitive-doc-design.md +2 -0
  53. package/docs/skills/governance.md +77 -0
  54. package/docs/skills/gsap-animation.md +29 -0
  55. package/docs/skills/judgment-day.md +2 -0
  56. package/docs/skills/product-manager-toolkit.md +1 -1
  57. package/docs/skills/seo-audit.md +2 -0
  58. package/docs/skills/systematic-debugging.md +2 -0
  59. package/docs/skills/ui-ux-pro-max.md +2 -0
  60. package/package.json +3 -2
  61. package/.claude/skills/gsap-core/SKILL.md +0 -254
  62. package/.claude/skills/gsap-frameworks/SKILL.md +0 -153
  63. package/.claude/skills/gsap-plugins/SKILL.md +0 -426
  64. package/.claude/skills/gsap-react/SKILL.md +0 -136
  65. package/.claude/skills/gsap-scrolltrigger/SKILL.md +0 -296
  66. package/.claude/skills/gsap-utils/SKILL.md +0 -284
  67. package/docs/skills/gsap-core.md +0 -21
  68. package/docs/skills/gsap-frameworks.md +0 -20
  69. package/docs/skills/gsap-performance.md +0 -21
  70. package/docs/skills/gsap-plugins.md +0 -20
  71. package/docs/skills/gsap-react.md +0 -22
  72. package/docs/skills/gsap-scrolltrigger.md +0 -21
  73. package/docs/skills/gsap-timeline.md +0 -20
  74. package/docs/skills/gsap-utils.md +0 -21
@@ -0,0 +1,254 @@
1
+ # gsap.utils
2
+
3
+ Read when using **gsap.utils** for math, array/collection handling, unit parsing, or value mapping in animations (e.g. mapping scroll to a value, randomizing, snapping to a grid, normalizing inputs).
4
+
5
+ ## Overview
6
+
7
+ **gsap.utils** provides pure helpers; no registration needed. Use in tween vars (function-based values), in ScrollTrigger or Observer callbacks, or any JS that drives GSAP. All are on **gsap.utils** (e.g. `gsap.utils.clamp()`).
8
+
9
+ **Omitting the value: function form.** Many utils accept the value to transform as the **last** argument. Omit it and the util returns a **function** that accepts the value later — use this when clamping/mapping/normalizing/snapping many values with the same config (e.g. a mousemove handler). **Exception: random()** — pass **true** as the last argument for a reusable function (do not omit the value).
10
+
11
+ ```javascript
12
+ // With value: returns the result
13
+ gsap.utils.clamp(0, 100, 150); // 100
14
+
15
+ // Without value: returns a function you call later
16
+ let c = gsap.utils.clamp(0, 100);
17
+ c(150); // 100
18
+ c(-10); // 0
19
+ ```
20
+
21
+ ## Clamping and Ranges
22
+
23
+ ### clamp(min, max, value?)
24
+
25
+ Constrains a value between min and max.
26
+
27
+ ```javascript
28
+ gsap.utils.clamp(0, 100, 150); // 100
29
+ gsap.utils.clamp(0, 100, -10); // 0
30
+
31
+ let clampFn = gsap.utils.clamp(0, 100);
32
+ clampFn(150); // 100
33
+ ```
34
+
35
+ ### mapRange(inMin, inMax, outMin, outMax, value?)
36
+
37
+ Maps a value from one range to another. Use when converting scroll position, progress (0–1), or input range to an animation range.
38
+
39
+ ```javascript
40
+ gsap.utils.mapRange(0, 100, 0, 500, 50); // 250
41
+ gsap.utils.mapRange(0, 1, 0, 360, 0.5); // 180 (progress to degrees)
42
+
43
+ let mapFn = gsap.utils.mapRange(0, 100, 0, 500);
44
+ mapFn(50); // 250
45
+ ```
46
+
47
+ ### normalize(min, max, value?)
48
+
49
+ Returns a value normalized to 0–1 for the given range.
50
+
51
+ ```javascript
52
+ gsap.utils.normalize(0, 100, 50); // 0.5
53
+ gsap.utils.normalize(100, 300, 200); // 0.5
54
+ ```
55
+
56
+ ### interpolate(start, end, progress?)
57
+
58
+ Interpolates between two values at a given progress (0–1). Handles numbers, colors, and objects with matching keys.
59
+
60
+ ```javascript
61
+ gsap.utils.interpolate(0, 100, 0.5); // 50
62
+ gsap.utils.interpolate("#ff0000", "#0000ff", 0.5); // mid color
63
+ gsap.utils.interpolate({ x: 0, y: 0 }, { x: 100, y: 50 }, 0.5); // { x: 50, y: 25 }
64
+
65
+ let lerp = gsap.utils.interpolate(0, 100);
66
+ lerp(0.5); // 50
67
+ ```
68
+
69
+ ## Random and Snap
70
+
71
+ ### random(minimum, maximum[, snapIncrement, returnFunction]) / random(array[, returnFunction])
72
+
73
+ Returns a random number in the range, or a random element from an **array**. Optional **snapIncrement** snaps to the nearest multiple. **For a reusable function, pass true as the last argument** (returnFunction) — the only util that uses `true` instead of omitting the value.
74
+
75
+ ```javascript
76
+ gsap.utils.random(-100, 100); // e.g. 42.7
77
+ gsap.utils.random(0, 500, 5); // 0–500, snapped to nearest 5
78
+
79
+ let randomFn = gsap.utils.random(-200, 500, 10, true);
80
+ randomFn(); // random value in range, snapped to 10
81
+
82
+ gsap.utils.random(["red", "blue", "green"]); // one at random
83
+ let randomFromArray = gsap.utils.random([0, 100, 200], true);
84
+ randomFromArray(); // 0, 100, or 200
85
+ ```
86
+
87
+ **String form in tween vars:** `"random(-100, 100)"`, `"random(-100, 100, 5)"`, or `"random([0, 100, 200])"`; GSAP evaluates per target.
88
+
89
+ ```javascript
90
+ gsap.to(".box", { x: "random(-100, 100, 5)", duration: 1 });
91
+ gsap.to(".item", { backgroundColor: "random([red, blue, green])" });
92
+ ```
93
+
94
+ ### snap(snapTo, value?)
95
+
96
+ Snaps to the nearest multiple of **snapTo**, or to the nearest value in an array.
97
+
98
+ ```javascript
99
+ gsap.utils.snap(10, 23); // 20
100
+ gsap.utils.snap(0.25, 0.7); // 0.75
101
+ gsap.utils.snap([0, 100, 200], 150); // 100 or 200
102
+
103
+ let snapFn = gsap.utils.snap(10);
104
+ snapFn(23); // 20
105
+ ```
106
+
107
+ In tweens for grid/step-based animation:
108
+
109
+ ```javascript
110
+ gsap.to(".x", { x: 200, snap: { x: 20 } });
111
+ ```
112
+
113
+ ### shuffle(array)
114
+
115
+ Returns a new array with the same elements in random order.
116
+
117
+ ```javascript
118
+ gsap.utils.shuffle([1, 2, 3, 4]); // e.g. [3, 1, 4, 2]
119
+ ```
120
+
121
+ ### distribute(config)
122
+
123
+ **Returns a function** that assigns a value to each target based on its position in the array (or grid). Used internally for advanced staggers; use whenever values must spread across many elements (scale, opacity, x, delay). The returned function receives `(index, target, targets)` — call it manually or pass it directly into a tween.
124
+
125
+ **Config (all optional):**
126
+
127
+ | Property | Type | Description |
128
+ |----------|------|-------------|
129
+ | `base` | Number | Starting value. Default `0`. |
130
+ | `amount` | Number | Total distributed across all targets (added to base). E.g. `amount: 1` with 100 targets → 0.01 between each. |
131
+ | `each` | Number | Amount added between each target. E.g. `each: 1` with 4 targets → 0, 1, 2, 3. |
132
+ | `from` | Number \| String \| Array | Where distribution starts: index, `"start"`, `"center"`, `"edges"`, `"random"`, `"end"`, or ratios like `[0.25, 0.75]`. Default `0`. |
133
+ | `grid` | String \| Array | Grid position instead of flat index: `[rows, columns]` or `"auto"`. |
134
+ | `axis` | String | For grid: limit to one axis (`"x"` or `"y"`). |
135
+ | `ease` | Ease | Distribute along an ease curve. Default `"none"`. |
136
+
137
+ ```javascript
138
+ // Scale: middle elements 0.5, outer edges 3 (amount 2.5 from center)
139
+ gsap.to(".class", {
140
+ scale: gsap.utils.distribute({ base: 0.5, amount: 2.5, from: "center" })
141
+ });
142
+ ```
143
+
144
+ **Manual use:** call the returned function with `(index, target, targets)`.
145
+
146
+ ```javascript
147
+ const distributor = gsap.utils.distribute({ base: 50, amount: 100, from: "center", ease: "power1.inOut" });
148
+ const targets = gsap.utils.toArray(".box");
149
+ const valueForIndex2 = distributor(2, targets[2], targets);
150
+ ```
151
+
152
+ See [distribute()](https://gsap.com/docs/v3/GSAP/UtilityMethods/distribute/).
153
+
154
+ ## Units and Parsing
155
+
156
+ ### getUnit(value)
157
+
158
+ Returns the unit string of a value (`"px"`, `"%"`, `"deg"`).
159
+
160
+ ```javascript
161
+ gsap.utils.getUnit("100px"); // "px"
162
+ gsap.utils.getUnit("50%"); // "%"
163
+ gsap.utils.getUnit(42); // "" (unitless)
164
+ ```
165
+
166
+ ### unitize(value, unit)
167
+
168
+ Appends a unit to a number, or returns the value unchanged if it already has one.
169
+
170
+ ```javascript
171
+ gsap.utils.unitize(100, "px"); // "100px"
172
+ gsap.utils.unitize("2rem", "px"); // "2rem" (unchanged)
173
+ ```
174
+
175
+ ### splitColor(color, returnHSL?)
176
+
177
+ Converts a color string into an array: **[r, g, b]** (0–255) or **[r, g, b, a]** for RGBA. Pass **true** as the second argument (returnHSL) to get **[h, s, l]** / **[h, s, l, a]**. Works with `rgb()`, `rgba()`, `hsl()`, `hsla()`, hex, and named colors.
178
+
179
+ ```javascript
180
+ gsap.utils.splitColor("red"); // [255, 0, 0]
181
+ gsap.utils.splitColor("#6fb936"); // [111, 185, 54]
182
+ gsap.utils.splitColor("rgba(204, 153, 51, 0.5)"); // [204, 153, 51, 0.5]
183
+ gsap.utils.splitColor("#6fb936", true); // [94, 55, 47] (HSL)
184
+ ```
185
+
186
+ See [splitColor()](https://gsap.com/docs/v3/GSAP/UtilityMethods/splitColor/).
187
+
188
+ ## Arrays and Collections
189
+
190
+ ### selector(scope)
191
+
192
+ Returns a scoped selector function that finds elements only within the given element (or ref). Use in components so `".box"` matches only descendants. Accepts a DOM element or a ref (handles `.current`).
193
+
194
+ ```javascript
195
+ const q = gsap.utils.selector(containerRef);
196
+ q(".box"); // array of .box elements inside container
197
+ gsap.to(q(".circle"), { x: 100 });
198
+ ```
199
+
200
+ ### toArray(value, scope?)
201
+
202
+ Converts a value to an array: selector string (scoped to element), NodeList, HTMLCollection, single element, or array.
203
+
204
+ ```javascript
205
+ gsap.utils.toArray(".item"); // array of elements
206
+ gsap.utils.toArray(".item", container); // scoped to container
207
+ gsap.utils.toArray(nodeList); // [ ... ] from NodeList
208
+ ```
209
+
210
+ ### pipe(...functions)
211
+
212
+ Composes functions: **pipe(f1, f2, f3)(value)** returns f3(f2(f1(value))). Use for a chain of transforms (e.g. normalize → mapRange → snap).
213
+
214
+ ```javascript
215
+ const fn = gsap.utils.pipe(
216
+ (v) => gsap.utils.normalize(0, 100, v),
217
+ (v) => gsap.utils.snap(0.1, v)
218
+ );
219
+ fn(50); // normalized then snapped
220
+ ```
221
+
222
+ ### wrap(min, max, value?)
223
+
224
+ Wraps a value into the range min–max (inclusive min, exclusive max). Use for infinite scroll or cyclic values.
225
+
226
+ ```javascript
227
+ gsap.utils.wrap(0, 360, 370); // 10
228
+ gsap.utils.wrap(0, 360, -10); // 350
229
+
230
+ let wrapFn = gsap.utils.wrap(0, 360);
231
+ wrapFn(370); // 10
232
+ ```
233
+
234
+ ### wrapYoyo(min, max, value?)
235
+
236
+ Wraps a value in range with a yoyo (bounces at ends).
237
+
238
+ ```javascript
239
+ gsap.utils.wrapYoyo(0, 100, 150); // 50 (bounces back)
240
+ ```
241
+
242
+ ## Best practices
243
+
244
+ - ✅ Omit the value argument to get a reusable function when the same range/config is used many times (e.g. `let mapFn = gsap.utils.mapRange(0, 1, 0, 360); mapFn(progress)`).
245
+ - ✅ Use **snap** for grid-aligned or step-based values; use **toArray** when a real array is needed from a selector or NodeList.
246
+ - ✅ Use **gsap.utils.selector(scope)** in components so selectors are scoped to a container or ref.
247
+
248
+ ## Do Not
249
+
250
+ - ❌ Assume **mapRange** / **normalize** handle units; they work on numbers. Use **getUnit** / **unitize** when units matter.
251
+ - ❌ Override or rely on undocumented behavior; stick to the documented API.
252
+
253
+ ### Learn More
254
+ https://gsap.com/docs/v3/HelperFunctions
@@ -4,6 +4,9 @@ description: "Trigger: judgment day, dual review, adversarial review, juzgar. Ru
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: gentleman-programming
7
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
8
+ adapted-for: "AKILI-SPECS"
9
+ binding: core
7
10
  version: "1.6"
8
11
  ---
9
12
 
@@ -49,4 +52,19 @@ Return target identity, round, confirmed/suspect/contradiction/INFO counts, corr
49
52
  ## References
50
53
 
51
54
  - [../_shared/review-ledger-contract.md](../_shared/review-ledger-contract.md) — canonical transaction, ledger, persistence, and lifecycle contract.
52
- - [references/prompts-and-formats.md](references/prompts-and-formats.md) — compact judge/fix prompts and verdict shape.
55
+ - [references/prompts-and-formats.md](references/prompts-and-formats.md) — compact judge/fix prompts and verdict shape.
56
+
57
+ These reference files are not packaged with AKILI-SPECS. When they are unavailable, proceed with the contract described in this document alone: persist the findings ledger inside the spec folder (see below) and derive judge prompts from the Hard Rules and Output Contract.
58
+
59
+ ## AKILI-SPECS Integration
60
+
61
+ | AKILI moment | How to use this skill |
62
+ |---|---|
63
+ | `/akili-specify` Step 2.3 — **Review Design** option | The user-selected blind dual review of `design.md` before tasks are written; the target is the approved requirements + draft design |
64
+ | `/akili-archive` Kaizen Measure | Severe confirmed findings from Judgment Day runs are a signal row in the `kaizen` retrospective |
65
+
66
+ Adaptation rules:
67
+
68
+ - Persist the findings ledger as `docs/specs/<spec-path>/judgment.md` so `/akili-archive` can read it as evidence.
69
+ - The two-judge blind protocol, the two-round fix ceiling, and the `APPROVED`/`ESCALATED` terminal states apply unchanged.
70
+ - Prefer running the two judges on a model different from the one that authored the design (author ≠ auditor, per AKILI model routing).
@@ -4,6 +4,7 @@ description: "Trigger: kaizen, retrospective, continuous improvement, mejora con
4
4
  license: MIT
5
5
  metadata:
6
6
  author: Juan Carlos Cadavid — jcadavid.com
7
+ binding: core
7
8
  version: "1.0"
8
9
  inspired-by: "Kaizen Institute glossary (kaizen.com), 'El Método Kaizen' (small-steps approach, Robert Maurer), 'Emprendiendo Kaizen' (INTI, 2019, ISBN 978-950-532-415-6)"
9
10
  ---
@@ -4,6 +4,14 @@ description: Nest.js framework expert specializing in module architecture, depen
4
4
  category: framework
5
5
  displayName: Nest.js Framework Expert
6
6
  color: red
7
+ license: MIT
8
+ metadata:
9
+ author: Daniel Avila (davila7)
10
+ source: https://github.com/davila7/claude-code-templates
11
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
12
+ adapted-for: "AKILI-SPECS"
13
+ binding: stack
14
+ version: "1.0"
7
15
  ---
8
16
 
9
17
  # Nest.js Expert
@@ -1,8 +1,14 @@
1
1
  ---
2
2
  name: product-manager-toolkit
3
3
  description: Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development. In AKILI-SPECS projects, follow the AKILI-SPECS Integration section first.
4
+ license: MIT
4
5
  metadata:
5
- adapted-for: "AKILI-SPECS methodology by Juan Carlos Cadavid — jcadavid.com"
6
+ author: Alireza Rezvani (alirezarezvani)
7
+ source: https://github.com/alirezarezvani/claude-skills
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: core
11
+ version: "1.0"
6
12
  ---
7
13
 
8
14
  # Product Manager Toolkit
@@ -2,6 +2,12 @@
2
2
  name: react-doctor
3
3
  description: Run after making React changes to catch issues early. Use when reviewing code, finishing a feature, or fixing bugs in a React project.
4
4
  version: 1.0.0
5
+ metadata:
6
+ author: Million.dev (millionco)
7
+ source: https://github.com/millionco/react-doctor
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: stack
5
11
  ---
6
12
 
7
13
  # React Doctor
@@ -1,7 +1,13 @@
1
1
  ---
2
2
  name: seo-audit
3
- description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.
3
+ description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. In AKILI-SPECS projects, /akili-seo loads this skill in its audit phase.
4
+ license: MIT
4
5
  metadata:
6
+ author: Corey Haines (coreyhaines31)
7
+ source: https://github.com/coreyhaines31/marketingskills
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: core
5
11
  version: 2.0.0
6
12
  ---
7
13
 
@@ -453,7 +459,6 @@ Same format as above
453
459
 
454
460
  - [AI Writing Detection](references/ai-writing-detection.md): Common AI writing patterns to avoid (em dashes, overused phrases, filler words)
455
461
  - [International SEO](references/international-seo.md): Evidence and sources for hreflang, canonical + i18n, sitemaps, URL structure, and content quality across locales
456
- - For AI search optimization (AEO, GEO, LLMO, AI Overviews), see the **ai-seo** skill
457
462
 
458
463
  ---
459
464
 
@@ -487,11 +492,15 @@ Same format as above
487
492
 
488
493
  ---
489
494
 
490
- ## Related Skills
495
+ ## AKILI-SPECS Integration
491
496
 
492
- - **ai-seo**: For optimizing content for AI search engines (AEO, GEO, LLMO)
493
- - **programmatic-seo**: For building SEO pages at scale
494
- - **site-architecture**: For page hierarchy, navigation design, and URL structure
495
- - **schema**: For implementing structured data
496
- - **cro**: For optimizing pages for conversion (not just ranking)
497
- - **analytics**: For measuring SEO performance
497
+ | AKILI moment | How to use this skill |
498
+ |---|---|
499
+ | `/akili-seo` audit phase | Required skill — load before starting and apply throughout; the Audit Report Structure above is the finding format |
500
+ | `/akili-validate` | When validating pages with search-visibility requirements, apply the On-Page checklist to the affected routes |
501
+
502
+ Adaptation rules:
503
+
504
+ - Findings land in the AKILI report artifacts (`/akili-seo` output), using the Issue / Impact / Evidence / Fix / Priority shape.
505
+ - Fixes that exceed the trivial gate are routed through `/akili-propose` — never applied silently during the audit.
506
+ - Sibling skills mentioned by upstream versions of this skill (programmatic-seo, schema, ai-seo, cro, analytics) are **not packaged** with AKILI-SPECS; when a finding needs them, note the gap in the report instead of loading them.
@@ -2,6 +2,12 @@
2
2
  name: shadcn-ui
3
3
  description: Provides complete shadcn/ui component library patterns including installation, configuration, and implementation of accessible React components. Use when setting up shadcn/ui, installing components, building forms with React Hook Form and Zod, customizing themes with Tailwind CSS, or implementing UI patterns like buttons, dialogs, dropdowns, tables, and complex form layouts.
4
4
  allowed-tools: Read, Write, Bash, Edit, Glob
5
+ metadata:
6
+ author: community (origin unverified)
7
+ curated-by: "Juan Carlos Cadavid — jcadavid.com"
8
+ adapted-for: "AKILI-SPECS"
9
+ binding: stack
10
+ version: "1.0"
5
11
  ---
6
12
 
7
13
  # shadcn/ui Component Patterns
@@ -5,6 +5,13 @@ allowed-tools:
5
5
  - "StitchMCP"
6
6
  - "Read"
7
7
  - "Write"
8
+ metadata:
9
+ author: Google (google-labs-code)
10
+ source: https://github.com/google-labs-code/stitch-skills
11
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
12
+ adapted-for: "AKILI-SPECS"
13
+ binding: conditional
14
+ version: "1.0"
8
15
  ---
9
16
 
10
17
  # Stitch Design Expert
@@ -1,6 +1,14 @@
1
1
  ---
2
2
  name: systematic-debugging
3
3
  description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
4
+ license: MIT
5
+ metadata:
6
+ author: Jesse Vincent (obra)
7
+ source: https://github.com/obra/superpowers
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: core
11
+ version: "1.0"
4
12
  ---
5
13
 
6
14
  # Systematic Debugging
@@ -287,6 +295,19 @@ These techniques are part of systematic debugging and available in this director
287
295
  - **superpowers:test-driven-development** - For creating failing test case (Phase 4, Step 1)
288
296
  - **superpowers:verification-before-completion** - Verify fix worked before claiming success
289
297
 
298
+ These `superpowers:*` skills are not packaged with AKILI-SPECS. In AKILI projects, their role is covered by the methodology itself: the regression test comes from `/akili-specify` Bug Mode (red before the fix, green after), and verification comes from each task's verification command plus the Reviewer/Tester gates.
299
+
300
+ ## AKILI-SPECS Integration
301
+
302
+ | AKILI moment | How to use this skill |
303
+ |---|---|
304
+ | `/akili-propose` Bug Track | Confirm reproduction + root cause and record them in the proposal's **Bug Diagnosis** section — never propose a fix for a guessed cause |
305
+ | `/akili-specify` Bug Mode | If no proposal exists, run root-cause investigation before writing the fix plan |
306
+ | `/akili-test` | When a Tester reports `PRODUCT_BUG`, apply Phases 1–3 to characterize the defect before any fix is planned; the test stays red |
307
+ | `/akili-validate` / `/akili-seo` | Investigate mismatches and failures with this process before recommending corrections |
308
+
309
+ The root cause and its evidence feed `/akili-archive`'s Kaizen retrospective (5W1H) — a lesson without a confirmed root cause is not recorded.
310
+
290
311
  ## Real-World Impact
291
312
 
292
313
  From debugging sessions:
@@ -1,6 +1,14 @@
1
1
  ---
2
2
  name: tailwind-design-system
3
3
  description: Build scalable design systems with Tailwind CSS v4, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI patterns.
4
+ license: MIT
5
+ metadata:
6
+ author: Seth Hobson (wshobson)
7
+ source: https://github.com/wshobson/agents
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: stack
11
+ version: "1.0"
4
12
  ---
5
13
 
6
14
  # Tailwind Design System (v4)
@@ -1,6 +1,14 @@
1
1
  ---
2
2
  name: ui-ux-pro-max
3
3
  description: "UI/UX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples."
4
+ license: MIT
5
+ metadata:
6
+ author: nextlevelbuilder
7
+ source: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill
8
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
9
+ adapted-for: "AKILI-SPECS"
10
+ binding: conditional
11
+ version: "1.0"
4
12
  ---
5
13
  # UI/UX Pro Max - Design Intelligence
6
14
 
@@ -15,6 +23,19 @@ Reference these guidelines when:
15
23
  - Building landing pages or dashboards
16
24
  - Implementing accessibility requirements
17
25
 
26
+ ## AKILI-SPECS Integration
27
+
28
+ This is AKILI's preferred UI/UX skill — commands reference it as "`ui-ux-pro-max` if available" (fallback: `frontend-design` + `stitch-design`).
29
+
30
+ | AKILI moment | How to use this skill |
31
+ |---|---|
32
+ | `/akili-constitution` Step 4 | Drive `docs/ux-ui/design.md`: design tokens, palettes, typography, accessibility expectations |
33
+ | `/akili-specify` design phase | Shape UI states, responsive behavior, and component architecture in `design.md` |
34
+ | `/akili-execute` UI tasks | The Implementer loads it for UI-heavy tasks listed in `tasks.md` |
35
+ | `/akili-test` / `/akili-validate` | The Tester/validator checks accessibility and UX rules (priority 1–4 categories) against the built screens |
36
+
37
+ Design-token decisions made with this skill are recorded in `docs/ux-ui/design.md` — the Reviewer audits diffs against that document, not against this skill.
38
+
18
39
  ## Rule Categories by Priority
19
40
 
20
41
  | Priority | Category | Impact | Domain |
@@ -4,6 +4,9 @@ description: React and Next.js performance optimization guidelines from Vercel E
4
4
  license: MIT
5
5
  metadata:
6
6
  author: vercel
7
+ adapted-by: "Juan Carlos Cadavid — jcadavid.com"
8
+ adapted-for: "AKILI-SPECS"
9
+ binding: stack
7
10
  version: "1.0.0"
8
11
  ---
9
12
 
@@ -34,3 +34,9 @@ When you finish implementing and verifying your task, provide a concise response
34
34
  1. **Task Completed:** (Brief 1-sentence summary of what you implemented)
35
35
  2. **Verification Command Run:** (e.g. `npm run test` or `vitest run`)
36
36
  3. **Verification Output/Evidence:** (Paste passing test outputs or compile success logs)
37
+
38
+ ---
39
+
40
+ ## Authorship
41
+
42
+ AKILI-SPECS methodology by **Juan Carlos Cadavid** — [jcadavid.com](https://jcadavid.com). Licensed under the MIT License.
@@ -21,7 +21,7 @@ Your sole responsibility is to coordinate execution of an approved spec by orche
21
21
  * If no tasks are eligible, report completion or the blocking condition and stop.
22
22
 
23
23
  3. **Delegation Discipline (Dynamic Skill Loading):**
24
- * Extract any recommended skills listed in the task (e.g., `shadcn-ui`, `nestjs-expert`).
24
+ * Extract any recommended skills listed in the task (e.g., `shadcn-ui`, `nestjs-expert`). If the task lists none, derive them from the project's `## Skill Map` in root `AGENTS.md`/`CLAUDE.md` (stack skills) plus the conditional skills matching the work (UI → `ui-ux-pro-max`, animation → `gsap-animation`).
25
25
  * Spawn the **Implementer** subagent with: the active task scope, the relevant spec sections, the verification command, and the contents of `.agents/implementer.md`.
26
26
  * **Crucial:** Explicitly instruct the Implementer: "You MUST use the `skill` tool to load these skills: [skill names] BEFORE you begin writing code."
27
27
  * After the Implementer reports completion, extract the git diff and spawn the **Reviewer** subagent with: the diff, the relevant spec sections, and the contents of `.agents/reviewer.md`.
@@ -75,3 +75,9 @@ After each task completes (whether on first pass or after self-correction), repo
75
75
  6. **Next step:** the next eligible task and a prompt to continue, pause, or skip.
76
76
 
77
77
  Keep this report concise. The full audit trail belongs in `execution.md`, not in chat.
78
+
79
+ ---
80
+
81
+ ## Authorship
82
+
83
+ AKILI-SPECS methodology by **Juan Carlos Cadavid** — [jcadavid.com](https://jcadavid.com). Licensed under the MIT License.
@@ -51,3 +51,9 @@ Use this ONLY if you detect a critical architectural violation, the introduction
51
51
  STATUS: FATAL_FAIL
52
52
  SUMMARY: (Clear explanation of the catastrophic failure and why the loop must be aborted)
53
53
  ```
54
+
55
+ ---
56
+
57
+ ## Authorship
58
+
59
+ AKILI-SPECS methodology by **Juan Carlos Cadavid** — [jcadavid.com](https://jcadavid.com). Licensed under the MIT License.
@@ -72,3 +72,9 @@ BUG:
72
72
  - **Failing Test:** (test file::test name — kept red on purpose)
73
73
  - **Observed vs Expected:** (actual behavior vs the required behavior)
74
74
  ```
75
+
76
+ ---
77
+
78
+ ## Authorship
79
+
80
+ AKILI-SPECS methodology by **Juan Carlos Cadavid** — [jcadavid.com](https://jcadavid.com). Licensed under the MIT License.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,33 @@ The format is inspired by Keep a Changelog and the repository follows semantic v
10
10
 
11
11
  - No unreleased changes yet.
12
12
 
13
+ ## [2.8.0] - 2026-07-20
14
+
15
+ ### Added
16
+
17
+ - **Skill governance (binding taxonomy + acceptance checklist):** new `docs/skills/governance.md` establishes the curation rule for the packaged skill set. Every skill now declares `metadata.binding` — `core` (hard-wired to a command step), `conditional` (loaded when the work touches its domain), or `stack` (never referenced in command text; reaches agents via the project Skill Map) — plus original author/license and `adapted-by`. New skills enter only through the acceptance checklist (need + binding + attribution + size + docs/CHANGELOG).
18
+ - **Project Skill Map:** `/akili-constitution` Step 8D scaffolds a `## Skill Map` section into the project's root `AGENTS.md`/`CLAUDE.md` from the detected stack; `/akili-specify` derives each task's required skills from that map, and the `/akili-execute` Leader falls back to it when a task lists no skills.
19
+ - **New unified `gsap-animation` skill** (author GSAP/GreenSock, MIT; adapted for AKILI-SPECS): replaces the 8 sibling `gsap-*` skills with one conditional skill — a compact router `SKILL.md` plus `references/` files (timeline, scrolltrigger, plugins, react, frameworks, performance, utils) following progressive disclosure. Wired into `/akili-specify` and `/akili-execute` for animation work.
20
+ - **AKILI-SPECS Integration sections** added to the deeply-wired skills: `brainstorming` (AKILI artifacts override its generic `docs/plans/` flow), `judgment-day` (ledger persisted as `judgment.md` in the spec folder, author ≠ auditor note), `cognitive-doc-design` (document map per command), `systematic-debugging` (Bug Track / Bug Mode / PRODUCT_BUG / Kaizen 5W1H mapping), `seo-audit` (finding format + escalation rule), and `ui-ux-pro-max` (per-phase usage map).
21
+
22
+ ### Changed
23
+
24
+ - **Skill attribution normalized across the package:** every kept skill's frontmatter now carries the standard schema (`license`, `metadata.author`, `source`, `adapted-by`, `adapted-for`, `binding`, `version`), preserving original authors — including newly researched attributions: `ui-ux-pro-max` → nextlevelbuilder, `seo-audit` → Corey Haines, `brainstorming` → Jesse Vincent (obra/superpowers), `nestjs-expert` → Daniel Avila, `react-doctor` → Million.dev, `stitch-design` → Google Labs, `product-manager-toolkit` → Alireza Rezvani, `api-design-principles`/`error-handling-patterns`/`tailwind-design-system` → Seth Hobson (wshobson/agents), `frontend-design` → Anthropic — plus the already-attributed Google, Vercel, GSAP, gentleman-programming, and vibeship. Only `shadcn-ui` remains `community (origin unverified)`.
25
+ - **Truthful skill inventory:** `docs/skills/README.md` rebuilt with Binding and Origin columns and command associations that match the real command wiring (the previous table claimed command integrations that did not exist for `angular-developer` and the `gsap-*` family).
26
+ - **`angular-developer` reclassified as a stack skill:** kept in the package, reachable via the project Skill Map and the constitution/specify stack lists (previously packaged but never referenced anywhere).
27
+ - **Dangling references removed:** `seo-audit` no longer points to unpackaged sibling skills (`programmatic-seo`, `schema`, `ai-seo`, `cro`, `analytics`); `judgment-day` documents the fallback for its unpackaged shared-ledger references.
28
+
29
+ ### Removed
30
+
31
+ - **The 8 `gsap-*` skill directories and their doc pages** (`gsap-core`, `gsap-frameworks`, `gsap-performance`, `gsap-plugins`, `gsap-react`, `gsap-scrolltrigger`, `gsap-timeline`, `gsap-utils`), fused into `gsap-animation`. **Existing installs are migrated automatically:** the installer's legacy cleanup now also removes stale legacy skill directories on every `akili install` run (counted in the `legacy cleaned` summary column, previewed in `--dry-run`), and `akili doctor` reports them as `STALE` with `--fix` removing them. Upgrade path for existing users: `akili update` (or `npm i -g akili-specs`) then `akili install --tool <tool>` — old gsap-* dirs are deleted and `gsap-animation` is installed in the same run.
32
+ ## [2.7.1] - 2026-07-20
33
+
34
+ ### Added
35
+
36
+ - **Authorship section in commands and templates:** Every command in `.claude/commands/` and every agent role template in `.claude/templates/` now ends with an `## Authorship` section crediting the AKILI-SPECS methodology to Juan Carlos Cadavid ([jcadavid.com](https://jcadavid.com)).
37
+ - **Authorship in README, LICENSE, and package metadata:** The README gains an `## Authorship` section, the MIT LICENSE copyright line uses the full author name and site, and `package.json` declares the `author` field.
38
+ - **License metadata in commands:** Every command in `.claude/commands/` declares `license: MIT` and `metadata.author` in its frontmatter (matching the convention used by community skills), and the `## Authorship` footer of commands and templates states the MIT License. Third-party skills bundled in `.claude/skills/` keep their original authors and licenses untouched.
39
+ - **Community governance files:** `CONTRIBUTING.md` (PR-only workflow, changelog discipline, and security rules for editing agent-executed prompt files), `SECURITY.md` (private vulnerability reporting with prompt-injection and installer threat scope), and `.github/CODEOWNERS` (maintainer review required on every change).
13
40
  ## [2.7.0] - 2026-07-20
14
41
 
15
42
  ### Added
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Juan Cadavid
3
+ Copyright (c) 2026 Juan Carlos Cadavid (jcadavid.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -82,14 +82,7 @@ AKILI-SPECS is a constitution-first, spec-driven methodology for AI-assisted dev
82
82
  - `cognitive-doc-design`
83
83
  - `error-handling-patterns`
84
84
  - `frontend-design`
85
- - `gsap-core`
86
- - `gsap-frameworks`
87
- - `gsap-performance`
88
- - `gsap-plugins`
89
- - `gsap-react`
90
- - `gsap-scrolltrigger`
91
- - `gsap-timeline`
92
- - `gsap-utils`
85
+ - `gsap-animation`
93
86
  - `judgment-day`
94
87
  - `kaizen`
95
88
  - `nestjs-expert`
@@ -746,6 +739,8 @@ Fallback rule:
746
739
 
747
740
  - 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.
748
741
 
742
+ **Skill governance:** the skill set is curated, not accumulated. Every packaged skill declares its original author and license plus how AKILI binds it into the flow (`core` — hard-wired to a command step; `conditional` — loaded when the work touches its domain; `stack` — selected per project via the `## Skill Map` that `/akili-constitution` writes into the project guides). New skills enter only through the acceptance checklist in [docs/skills/governance.md](docs/skills/governance.md). Curation and adaptation by [Juan Carlos Cadavid](https://jcadavid.com), always preserving original authorship.
743
+
749
744
  ## Methodology Contract
750
745
 
751
746
  - **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.
@@ -832,3 +827,9 @@ and the default registry for Claude Code (PRO) and OpenCode Go.
832
827
  - Skills were copied with their bundled references and helper assets.
833
828
  - This repository stores the current methodology baseline so it can be reused or versioned independently.
834
829
  - Dotfiles are snapshots of the working environment and may include plugin source copies for portability.
830
+
831
+ ## Authorship
832
+
833
+ The AKILI-SPECS methodology is created and maintained by **Juan Carlos Cadavid** — [jcadavid.com](https://jcadavid.com).
834
+
835
+ Every command in `.claude/commands/` and every agent role template in `.claude/templates/` carries this authorship notice. The project is released under the [MIT License](LICENSE): you are free to use, modify, and redistribute it, provided the copyright and attribution notices are kept intact.