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.
- package/.claude/commands/akili-archive.md +9 -0
- package/.claude/commands/akili-audit.md +9 -0
- package/.claude/commands/akili-constitution.md +41 -3
- package/.claude/commands/akili-execute.md +10 -1
- package/.claude/commands/akili-propose.md +9 -0
- package/.claude/commands/akili-quick.md +9 -0
- package/.claude/commands/akili-resume.md +9 -0
- package/.claude/commands/akili-seo.md +9 -0
- package/.claude/commands/akili-specify.md +14 -2
- package/.claude/commands/akili-test.md +9 -0
- package/.claude/commands/akili-validate.md +9 -0
- package/.claude/skills/angular-developer/SKILL.md +4 -0
- package/.claude/skills/api-design-principles/SKILL.md +8 -0
- package/.claude/skills/aws-serverless/SKILL.md +8 -1
- package/.claude/skills/brainstorming/SKILL.md +25 -1
- package/.claude/skills/cognitive-doc-design/SKILL.md +14 -0
- package/.claude/skills/error-handling-patterns/SKILL.md +8 -0
- package/.claude/skills/frontend-design/SKILL.md +8 -1
- package/.claude/skills/gsap-animation/SKILL.md +182 -0
- package/.claude/skills/gsap-animation/references/frameworks.md +137 -0
- package/.claude/skills/{gsap-performance/SKILL.md → gsap-animation/references/performance.md} +10 -20
- package/.claude/skills/gsap-animation/references/plugins.md +390 -0
- package/.claude/skills/gsap-animation/references/react.md +122 -0
- package/.claude/skills/gsap-animation/references/scrolltrigger.md +255 -0
- package/.claude/skills/{gsap-timeline/SKILL.md → gsap-animation/references/timeline.md} +7 -19
- package/.claude/skills/gsap-animation/references/utils.md +254 -0
- package/.claude/skills/judgment-day/SKILL.md +19 -1
- package/.claude/skills/kaizen/SKILL.md +1 -0
- package/.claude/skills/nestjs-expert/SKILL.md +8 -0
- package/.claude/skills/product-manager-toolkit/SKILL.md +7 -1
- package/.claude/skills/react-doctor/SKILL.md +6 -0
- package/.claude/skills/seo-audit/SKILL.md +18 -9
- package/.claude/skills/shadcn-ui/SKILL.md +6 -0
- package/.claude/skills/stitch-design/SKILL.md +7 -0
- package/.claude/skills/systematic-debugging/SKILL.md +21 -0
- package/.claude/skills/tailwind-design-system/SKILL.md +8 -0
- package/.claude/skills/ui-ux-pro-max/SKILL.md +21 -0
- package/.claude/skills/vercel-react-best-practices/SKILL.md +3 -0
- package/.claude/templates/implementer.md +6 -0
- package/.claude/templates/leader.md +7 -1
- package/.claude/templates/reviewer.md +6 -0
- package/.claude/templates/tester.md +6 -0
- package/CHANGELOG.md +27 -0
- package/LICENSE +1 -1
- package/README.md +9 -8
- package/bin/akili.js +40 -0
- package/docs/cli.md +1 -1
- package/docs/commands/akili-constitution.md +11 -11
- package/docs/flow.md +20 -0
- package/docs/skills/README.md +34 -31
- package/docs/skills/brainstorming.md +2 -0
- package/docs/skills/cognitive-doc-design.md +2 -0
- package/docs/skills/governance.md +77 -0
- package/docs/skills/gsap-animation.md +29 -0
- package/docs/skills/judgment-day.md +2 -0
- package/docs/skills/product-manager-toolkit.md +1 -1
- package/docs/skills/seo-audit.md +2 -0
- package/docs/skills/systematic-debugging.md +2 -0
- package/docs/skills/ui-ux-pro-max.md +2 -0
- package/package.json +3 -2
- package/.claude/skills/gsap-core/SKILL.md +0 -254
- package/.claude/skills/gsap-frameworks/SKILL.md +0 -153
- package/.claude/skills/gsap-plugins/SKILL.md +0 -426
- package/.claude/skills/gsap-react/SKILL.md +0 -136
- package/.claude/skills/gsap-scrolltrigger/SKILL.md +0 -296
- package/.claude/skills/gsap-utils/SKILL.md +0 -284
- package/docs/skills/gsap-core.md +0 -21
- package/docs/skills/gsap-frameworks.md +0 -20
- package/docs/skills/gsap-performance.md +0 -21
- package/docs/skills/gsap-plugins.md +0 -20
- package/docs/skills/gsap-react.md +0 -22
- package/docs/skills/gsap-scrolltrigger.md +0 -21
- package/docs/skills/gsap-timeline.md +0 -20
- 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
|
-
|
|
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.
|
|
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
|
-
##
|
|
495
|
+
## AKILI-SPECS Integration
|
|
491
496
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
-
|
|
496
|
-
|
|
497
|
-
|
|
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 |
|
|
@@ -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
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-
|
|
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.
|