kodelyth-ecc 2.25.0 → 2.30.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 (43) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +189 -0
  3. package/CLAUDE.md +7 -7
  4. package/GITHUB_SETUP.md +3 -3
  5. package/README.md +22 -22
  6. package/VERSION +1 -1
  7. package/agents/super-agent.md +102 -0
  8. package/bin/kodelyth-ecc.js +54 -47
  9. package/bundles/enterprise.md +1 -1
  10. package/bundles/indie-hacker.md +1 -1
  11. package/commands/super-agent.md +47 -0
  12. package/hooks/memory/capture-stop.js +1 -1
  13. package/install.ps1 +14 -3
  14. package/install.sh +17 -4
  15. package/package.json +6 -3
  16. package/rules/common/agent-intent-routing.md +2 -1
  17. package/rules/common/agents.md +1 -1
  18. package/rules/common/self-improvement-workflow.md +1 -1
  19. package/scripts/cli/menu.js +1 -1
  20. package/scripts/hooks/post-bash-command-log.js +4 -11
  21. package/scripts/hooks/session-start.js +13 -0
  22. package/scripts/lib/redact.js +58 -0
  23. package/scripts/lib/state-store/index.js +36 -1
  24. package/scripts/lib/state-store/schema.js +18 -1
  25. package/scripts/lib/target-paths.js +62 -0
  26. package/scripts/mcp/register-self.js +59 -16
  27. package/scripts/memory/cli.js +35 -0
  28. package/scripts/memory/embedding-providers/local-transformers.js +44 -0
  29. package/scripts/memory/embeddings.js +98 -0
  30. package/scripts/memory/pending.js +125 -0
  31. package/scripts/memory/project-id.js +93 -0
  32. package/scripts/memory/store.js +123 -13
  33. package/scripts/super-agent/cli.js +135 -0
  34. package/scripts/super-agent/dag.js +123 -0
  35. package/scripts/super-agent/integrate.js +91 -0
  36. package/scripts/super-agent/orchestrator.js +175 -0
  37. package/scripts/super-agent/state.js +136 -0
  38. package/wiki/Agent-Reference.md +1 -1
  39. package/wiki/FAQ.md +5 -5
  40. package/wiki/Home.md +8 -8
  41. package/wiki/Installation-Guide.md +1 -1
  42. package/wiki/Platform-Support.md +8 -8
  43. package/wiki/Skill-Reference.md +4 -4
@@ -0,0 +1,175 @@
1
+ // scripts/super-agent/orchestrator.js
2
+ //
3
+ // The super-agent driver — the piece Agent B found missing. It is an Arena-style
4
+ // state machine: a PURE nextAction(run) decides what to do next, and the driving
5
+ // LLM performs that action (decompose with blueprint, dispatch via the swarm,
6
+ // evaluate with the GAN loop, integrate branches, verify) and reports back
7
+ // through a submit* function, which advances the run and persists it.
8
+ //
9
+ // plan ──decompose──▶ execute ──(all steps done)──▶ integrate ──▶ verify ──▶ done
10
+ // │
11
+ // └─ dispatch ready steps (deps satisfied), budget-gated
12
+ //
13
+ // nextAction never mutates, so the whole control plane is tested without spawning
14
+ // a single agent. Mutations + phase transitions live in the submit* recorders.
15
+ 'use strict';
16
+
17
+ const dag = require('./dag.js');
18
+ const state = require('./state.js');
19
+ const { PHASE } = state;
20
+
21
+ // Rough per-step token estimate for the budget gate. Deliberately conservative;
22
+ // real spend is accrued from what the driver reports.
23
+ const DEFAULT_STEP_TOKENS = 4000;
24
+
25
+ function estimateTokens(steps) {
26
+ return (steps.length || 1) * DEFAULT_STEP_TOKENS;
27
+ }
28
+
29
+ function stepBrief(s) {
30
+ return {
31
+ id: s.id,
32
+ description: s.description || '',
33
+ deps: s.deps || [],
34
+ contextBrief: s.contextBrief || s.context || '',
35
+ exitCriteria: s.exitCriteria || s.exit || '',
36
+ };
37
+ }
38
+
39
+ function branchesOf(run) {
40
+ return run.steps
41
+ .filter((s) => s.status === dag.STATUS.DONE && s.branch)
42
+ .map((s) => ({ step: s.id, branch: s.branch }));
43
+ }
44
+
45
+ // ── The state machine (pure) ─────────────────────────────────────────────────
46
+ function nextAction(run) {
47
+ if (!run || run.status !== 'running') {
48
+ return { action: 'report', reason: (run && (run.stopReason || run.status)) || 'no run', run: run && state.summarize(run) };
49
+ }
50
+
51
+ switch (run.phase) {
52
+ case PHASE.PLAN:
53
+ // No plan yet → ask the driver to decompose the goal into a step DAG.
54
+ return { action: 'decompose', goal: run.goal, scope: run.scope };
55
+
56
+ case PHASE.EXECUTE: {
57
+ if (dag.isStalled(run.steps)) {
58
+ return { action: 'halt', reason: 'plan stalled — a dependency failed, so no remaining step can run' };
59
+ }
60
+ const ready = dag.readySteps(run.steps);
61
+ if (ready.length === 0) {
62
+ // Not stalled and nothing ready → steps are in progress; wait for results.
63
+ return { action: 'await', inProgress: run.steps.filter((s) => s.status === dag.STATUS.IN_PROGRESS).map((s) => s.id) };
64
+ }
65
+ const afford = state.canAfford(run, estimateTokens(ready));
66
+ if (!afford.ok) return { action: 'halt', reason: `budget: ${afford.reason}` };
67
+ return { action: 'dispatch', parallel: ready.length > 1, steps: ready.map(stepBrief) };
68
+ }
69
+
70
+ case PHASE.INTEGRATE:
71
+ return { action: 'integrate', branches: branchesOf(run), scope: run.scope };
72
+
73
+ case PHASE.VERIFY:
74
+ return { action: 'verify', scope: run.scope };
75
+
76
+ case PHASE.DONE:
77
+ return { action: 'report', reason: 'done', run: state.summarize(run) };
78
+
79
+ default:
80
+ return { action: 'report', reason: `unknown phase: ${run.phase}`, run: state.summarize(run) };
81
+ }
82
+ }
83
+
84
+ // ── Recorders (mutate + advance + persist) ───────────────────────────────────
85
+
86
+ // The driver decomposed the goal (via blueprint). Install the plan.
87
+ function submitPlan(run, rawSteps, { persist = true } = {}) {
88
+ requirePhase(run, PHASE.PLAN);
89
+ const steps = dag.normalizeSteps(rawSteps);
90
+ const v = dag.validate(steps);
91
+ if (!v.ok) throw new Error(`super-agent: invalid plan — ${v.errors.join('; ')}`);
92
+ if (steps.length === 0) throw new Error('super-agent: plan has no steps');
93
+ run.steps = steps;
94
+ run.phase = PHASE.EXECUTE;
95
+ state.record(run, { event: 'planned', steps: steps.length });
96
+ return persist ? state.save(run) : run;
97
+ }
98
+
99
+ // Mark a step as about to run (so nextAction reports it as in-progress, not ready).
100
+ function markDispatched(run, stepIds, { persist = true } = {}) {
101
+ const want = new Set((Array.isArray(stepIds) ? stepIds : [stepIds]).map(String));
102
+ for (const s of run.steps) {
103
+ if (want.has(s.id) && s.status === dag.STATUS.PENDING) s.status = dag.STATUS.IN_PROGRESS;
104
+ }
105
+ state.record(run, { event: 'dispatched', steps: [...want] });
106
+ return persist ? state.save(run) : run;
107
+ }
108
+
109
+ // The driver finished a step. Record result + budget, then advance the phase if
110
+ // the plan is now complete or stalled.
111
+ function submitStepResult(run, stepId, { status = dag.STATUS.DONE, branch = null, result = null, tokensSpent = 0 } = {}, { persist = true } = {}) {
112
+ const s = run.steps.find((x) => x.id === String(stepId));
113
+ if (!s) throw new Error(`super-agent: unknown step ${stepId}`);
114
+ s.status = status;
115
+ if (branch) s.branch = branch;
116
+ if (result != null) s.result = result;
117
+ state.accrue(run, { tokensSpent, steps: 1 });
118
+ state.record(run, { event: 'step', step: s.id, status, tokensSpent });
119
+
120
+ if (dag.isComplete(run.steps)) {
121
+ run.phase = PHASE.INTEGRATE;
122
+ } else if (dag.isStalled(run.steps)) {
123
+ state.stop(run, 'plan stalled after a step failed');
124
+ }
125
+ return persist ? state.save(run) : run;
126
+ }
127
+
128
+ // The driver merged the worker branches.
129
+ function submitIntegration(run, { merged = true, conflicts = [], tokensSpent = 0 } = {}, { persist = true } = {}) {
130
+ requirePhase(run, PHASE.INTEGRATE);
131
+ state.accrue(run, { tokensSpent });
132
+ if (Array.isArray(conflicts) && conflicts.length > 0) {
133
+ state.record(run, { event: 'integration-conflicts', conflicts });
134
+ state.stop(run, `integration conflicts in: ${conflicts.join(', ')}`);
135
+ } else if (!merged) {
136
+ state.stop(run, 'integration reported not merged');
137
+ } else {
138
+ run.phase = PHASE.VERIFY;
139
+ state.record(run, { event: 'integrated' });
140
+ }
141
+ return persist ? state.save(run) : run;
142
+ }
143
+
144
+ // The driver ran the verification gate (tests/build).
145
+ function submitVerification(run, { passed = false, detail = '', tokensSpent = 0 } = {}, { persist = true } = {}) {
146
+ requirePhase(run, PHASE.VERIFY);
147
+ state.accrue(run, { tokensSpent });
148
+ if (passed) {
149
+ run.phase = PHASE.DONE;
150
+ run.status = 'done';
151
+ state.record(run, { event: 'verified', detail });
152
+ } else {
153
+ run.status = 'failed';
154
+ run.stopReason = `verification failed: ${detail || 'tests/build did not pass'}`;
155
+ state.record(run, { event: 'verification-failed', detail });
156
+ }
157
+ return persist ? state.save(run) : run;
158
+ }
159
+
160
+ function requirePhase(run, expected) {
161
+ if (run.phase !== expected) {
162
+ throw new Error(`super-agent: expected phase "${expected}" but run is in "${run.phase}"`);
163
+ }
164
+ }
165
+
166
+ module.exports = {
167
+ nextAction,
168
+ submitPlan,
169
+ markDispatched,
170
+ submitStepResult,
171
+ submitIntegration,
172
+ submitVerification,
173
+ estimateTokens,
174
+ DEFAULT_STEP_TOKENS,
175
+ };
@@ -0,0 +1,136 @@
1
+ // scripts/super-agent/state.js
2
+ //
3
+ // Run lifecycle, persistence (so a run resumes after a crash or a new session),
4
+ // and the budget governor for the super-agent orchestrator. Mirrors the pattern
5
+ // of scripts/arena/state.js: the control plane is tokenless and durable, so the
6
+ // expensive part (actually running agents) can stop and pick up again.
7
+ 'use strict';
8
+
9
+ const fs = require('fs');
10
+ const os = require('os');
11
+ const path = require('path');
12
+ const crypto = require('crypto');
13
+ const safeFs = require('../lib/safe-fs.js');
14
+ const dag = require('./dag.js');
15
+
16
+ const RUN_DIR = process.env.KODELYTH_SUPER_AGENT_DIR
17
+ || path.join(os.homedir(), '.kodelythecc', 'super-agent');
18
+
19
+ const PHASE = Object.freeze({
20
+ PLAN: 'plan',
21
+ EXECUTE: 'execute',
22
+ INTEGRATE: 'integrate',
23
+ VERIFY: 'verify',
24
+ DONE: 'done',
25
+ });
26
+
27
+ function runPath(id) {
28
+ return path.join(RUN_DIR, `${id}.json`);
29
+ }
30
+
31
+ function createRun({ goal, limits = {}, scope = '.' } = {}) {
32
+ if (!goal || !String(goal).trim()) throw new Error('super-agent: a run needs a goal');
33
+ return {
34
+ id: crypto.randomBytes(6).toString('hex'),
35
+ goal: String(goal).trim(),
36
+ scope,
37
+ createdAt: new Date().toISOString(),
38
+ status: 'running', // running | done | failed | stopped
39
+ phase: PHASE.PLAN,
40
+ steps: [],
41
+ budget: {
42
+ // 0 / null means "no cap". Caps are the governor Agent B flagged as missing
43
+ // — a single per-session token-budget could not bound a whole run.
44
+ tokenCap: limits.tokenCap || 0,
45
+ stepCap: limits.stepCap || 0,
46
+ tokensSpent: 0,
47
+ stepsRun: 0,
48
+ },
49
+ history: [],
50
+ stopReason: null,
51
+ };
52
+ }
53
+
54
+ function record(run, event) {
55
+ run.history.push({ at: new Date().toISOString(), ...event });
56
+ }
57
+
58
+ // Budget governor. Returns { ok, reason? }. Checks both the token cap and the
59
+ // step cap; an estimate of 0 still fails if we are already over.
60
+ function canAfford(run, estTokens = 0) {
61
+ const b = run.budget;
62
+ if (b.stepCap && b.stepsRun >= b.stepCap) {
63
+ return { ok: false, reason: `step cap reached (${b.stepsRun}/${b.stepCap})` };
64
+ }
65
+ if (b.tokenCap && b.tokensSpent + estTokens > b.tokenCap) {
66
+ return { ok: false, reason: `token cap would be exceeded (${b.tokensSpent}+${estTokens} > ${b.tokenCap})` };
67
+ }
68
+ return { ok: true };
69
+ }
70
+
71
+ function accrue(run, { tokensSpent = 0, steps = 0 } = {}) {
72
+ run.budget.tokensSpent += Math.max(0, tokensSpent) || 0;
73
+ run.budget.stepsRun += Math.max(0, steps) || 0;
74
+ }
75
+
76
+ function stop(run, reason) {
77
+ run.status = 'stopped';
78
+ run.stopReason = reason;
79
+ record(run, { event: 'stopped', reason });
80
+ }
81
+
82
+ function save(run) {
83
+ fs.mkdirSync(RUN_DIR, { recursive: true });
84
+ // Atomic: a crash mid-write must not corrupt a resumable run.
85
+ safeFs.replaceFileAtomic(runPath(run.id), JSON.stringify(run, null, 2) + '\n', 0o600);
86
+ return run;
87
+ }
88
+
89
+ function load(id) {
90
+ const raw = fs.readFileSync(runPath(id), 'utf8');
91
+ return JSON.parse(raw);
92
+ }
93
+
94
+ function exists(id) {
95
+ return fs.existsSync(runPath(id));
96
+ }
97
+
98
+ function list() {
99
+ if (!fs.existsSync(RUN_DIR)) return [];
100
+ return fs.readdirSync(RUN_DIR)
101
+ .filter((f) => f.endsWith('.json'))
102
+ .map((f) => {
103
+ try { return JSON.parse(fs.readFileSync(path.join(RUN_DIR, f), 'utf8')); }
104
+ catch { return null; }
105
+ })
106
+ .filter(Boolean)
107
+ .sort((a, b) => String(b.createdAt).localeCompare(String(a.createdAt)));
108
+ }
109
+
110
+ function summarize(run) {
111
+ return {
112
+ id: run.id,
113
+ goal: run.goal,
114
+ status: run.status,
115
+ phase: run.phase,
116
+ progress: dag.progress(run.steps),
117
+ budget: run.budget,
118
+ stopReason: run.stopReason,
119
+ };
120
+ }
121
+
122
+ module.exports = {
123
+ PHASE,
124
+ RUN_DIR,
125
+ runPath,
126
+ createRun,
127
+ record,
128
+ canAfford,
129
+ accrue,
130
+ stop,
131
+ save,
132
+ load,
133
+ exists,
134
+ list,
135
+ summarize,
136
+ };
@@ -1,6 +1,6 @@
1
1
  # Agent Reference
2
2
 
3
- 70 specialist subagents — all auto-routed via semantic intent routing. You never need to type agent names unless you want to.
3
+ 71 specialist subagents — all auto-routed via semantic intent routing. You never need to type agent names unless you want to.
4
4
 
5
5
  ---
6
6
 
package/wiki/FAQ.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  **What is Kodelyth ECC?**
8
8
 
9
- An AI coding toolkit (v1.8.0) that installs into 11 AI coding platforms (13 install targets). It adds 70 specialist agents (including 8 adversarial devil-mode agents), 194 skills, 97 slash commands, 20+ automation hooks, and a compound learning system. Zero cloud, zero telemetry, all local.
9
+ An AI coding toolkit (v1.8.0) that installs into 12 AI coding platforms (14 install targets). It adds 71 specialist agents (including 8 adversarial devil-mode agents), 196 skills, 97 slash commands, 20+ automation hooks, and a compound learning system. Zero cloud, zero telemetry, all local.
10
10
 
11
11
  **Is it free?**
12
12
 
@@ -28,7 +28,7 @@ Node.js 18 or higher.
28
28
 
29
29
  **What platforms does ECC support?**
30
30
 
31
- 11 platforms (13 install targets): Claude Code, Windsurf (project/home), Cursor, Google Antigravity, Codex CLI, OpenCode, Cline, Roo Code, Aider, Kimi, Gemini CLI (project/home). Feature depth varies — see the platform support table in the README for what each platform gets.
31
+ 12 platforms (14 install targets): Claude Code, Windsurf (project/home), Cursor, Google Antigravity, Codex CLI, OpenCode, Cline, Roo Code, Aider, Kimi, Gemini CLI (project/home). Feature depth varies — see the platform support table in the README for what each platform gets.
32
32
 
33
33
  ---
34
34
 
@@ -75,7 +75,7 @@ Three layers that make Claude increasingly match your style:
75
75
 
76
76
  1. **Project Lessons** — corrections you give Claude are encoded as hard rules in `tasks/lessons.md` and applied every session
77
77
  2. **Global Memory** — past solutions recalled cross-project, auto-evolving
78
- 3. **Semantic Routing** — 70 specialists routing from intent
78
+ 3. **Semantic Routing** — 71 specialists routing from intent
79
79
 
80
80
  **How do lessons get written?**
81
81
 
@@ -139,7 +139,7 @@ Opens automatically at `http://localhost:5173` (or your configured port).
139
139
  - **Overview** — Agent counts, installed components, config status
140
140
  - **Memory** — View, search, tag, and delete stored memories
141
141
  - **Evolve** — Analyze memory for patterns, surface high-impact solutions
142
- - **Catalog** — Browse all 70 agents and 194 skills with descriptions
142
+ - **Catalog** — Browse all 71 agents and 196 skills with descriptions
143
143
  - **Sessions** — Replay session transcripts, see token usage, review lessons captured
144
144
 
145
145
  ---
@@ -254,7 +254,7 @@ Verifies SBOM, manifest, and signatures. Reports any tampering or missing artifa
254
254
 
255
255
  No. Semantic intent routing detects what you need from how you describe the problem. You never need to type `use debug-detective` — just describe the bug.
256
256
 
257
- **What are the 70 agents?**
257
+ **What are the 71 agents?**
258
258
 
259
259
  62 standard specialist agents (reviewers, debuggers, architects, etc.) + 8 adversarial devil-mode agents (injection hunter, supply chain auditor, secret hunter, etc.).
260
260
 
package/wiki/Home.md CHANGED
@@ -158,13 +158,13 @@ Month 3: You try another tool. It uses pnpm. You praise the consistency.
158
158
  |---|---|---|
159
159
  | Project Lessons | `tasks/lessons.md` | Per-project hard rules from your corrections |
160
160
  | Global Memory | `~/.kodelyth/memory/` | Cross-project BM25 recall of past solutions |
161
- | Semantic Routing | 70 agents | Routes every message to the right specialist |
161
+ | Semantic Routing | 71 agents | Routes every message to the right specialist |
162
162
 
163
163
  ---
164
164
 
165
- ## Platform Support (11 platforms, 13 install targets)
165
+ ## Platform Support (12 platforms, 14 install targets)
166
166
 
167
- Kodelyth ECC installs on 11 AI coding platforms. Feature depth varies — hooks are a Claude Code native format with no equivalent on other platforms, and Cursor's agent system uses a different format:
167
+ Kodelyth ECC installs on 12 AI coding platforms. Feature depth varies — hooks are a Claude Code native format with no equivalent on other platforms, and Cursor's agent system uses a different format:
168
168
 
169
169
  | Platform | Agents | Skills | Commands | Hooks | Rules |
170
170
  |---|---|---|---|---|---|
@@ -185,10 +185,10 @@ Kodelyth ECC installs on 11 AI coding platforms. Feature depth varies — hooks
185
185
  ## Wiki Pages
186
186
 
187
187
  - [Installation Guide](Installation-Guide) — all install methods, targets, profiles, bundles, OS support
188
- - [Agent Reference](Agent-Reference) — all 70 agents including 8 adversarial devil-mode agents
189
- - [Skill Reference](Skill-Reference) — all 194 skills including MCP, swarm, dashboard, and safety hooks
188
+ - [Agent Reference](Agent-Reference) — all 71 agents including 8 adversarial devil-mode agents
189
+ - [Skill Reference](Skill-Reference) — all 196 skills including MCP, swarm, dashboard, and safety hooks
190
190
  - [Hook Reference](Hook-Reference) — all 22+ hooks and how they work
191
- - [Platform Support](Platform-Support) — per-platform capabilities for 11 platforms
191
+ - [Platform Support](Platform-Support) — per-platform capabilities for 12 platforms
192
192
  - [FAQ](FAQ) — memory, MCP server, dashboard, devil-mode, swarm, SLSA/SBOM, privacy, troubleshooting
193
193
 
194
194
  ---
@@ -199,8 +199,8 @@ Kodelyth ECC installs on 11 AI coding platforms. Feature depth varies — hooks
199
199
  |---|---|
200
200
  | **v1.8.0** | Real-time IDE-aware dashboard (Claude Code + Windsurf + Windsurf-Next + Cursor + Antigravity), cross-IDE memory protocol via MCP tools, `KODELYTH_EXTRA_IDE_WATCH` env var, 3 s SSE realtime, 373 tests |
201
201
  | **v1.7.3** | Social hype pack (5 X/Twitter SVGs + 5 thread scripts), full SVG version sync, GitHub issue templates, repo polish |
202
- | **v1.7.0** | Adversarial devil-mode (8 agents), MCP server, local dashboard, swarm orchestrator, cost-aware routing, self-evolving memory, SLSA L3 + SBOM, 11 platforms, 194 skills |
203
- | **v1.6.0** | 8 adversarial devil-mode agents, power bundles, 6 new IDE platform targets, 97 commands |
202
+ | **v1.7.0** | Adversarial devil-mode (8 agents), MCP server, local dashboard, swarm orchestrator, cost-aware routing, self-evolving memory, SLSA L3 + SBOM, 12 platforms, 196 skills |
203
+ | **v1.6.0** | 8 adversarial devil-mode agents, power bundles, 6 new IDE platform targets, 104 commands |
204
204
  | **v1.5.3** | Semantic intent routing — intent not keywords, code/trace paste detection, 62 agents, 188 skills |
205
205
  | **v1.5.2** | Parallel agents, `image-architect`, `/project-launch`, `/team-review`, `/lessons` |
206
206
  | **v1.5.1** | Compound learning — `capture-correction.js`, `read-lessons.js`, self-improvement workflow |
@@ -19,7 +19,7 @@ This detects your project type, installs the right component set, and wires ever
19
19
 
20
20
  ---
21
21
 
22
- ## Targets (11 platforms, 13 install targets)
22
+ ## Targets (12 platforms, 14 install targets)
23
23
 
24
24
  Install into a specific AI tool:
25
25
 
@@ -1,6 +1,6 @@
1
1
  # Platform Support
2
2
 
3
- Kodelyth ECC installs on 11 AI coding platforms via 13 install targets. Feature depth varies — hooks use Claude Code's native settings format and have no equivalent elsewhere; Cursor's agent system is incompatible with ECC's markdown agent format.
3
+ Kodelyth ECC installs on 12 AI coding platforms via 14 install targets. Feature depth varies — hooks use Claude Code's native settings format and have no equivalent elsewhere; Cursor's agent system is incompatible with ECC's markdown agent format.
4
4
 
5
5
  ---
6
6
 
@@ -8,9 +8,9 @@ Kodelyth ECC installs on 11 AI coding platforms via 13 install targets. Feature
8
8
 
9
9
  | Feature | Claude Code | Roo Code | Codex CLI | Aider | Kimi | Windsurf | Antigravity | Gemini CLI | Cursor | Cline | OpenCode |
10
10
  |---|---|---|---|---|---|---|---|---|---|---|---|
11
- | 70 Agents | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓* | — |
12
- | 194 Skills | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | partial | ✓ | ✓ | — | — |
13
- | 97 Commands | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | — | ✓* | — |
11
+ | 71 Agents | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓* | — |
12
+ | 196 Skills | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | partial | ✓ | ✓ | — | — |
13
+ | 104 Commands | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | — | ✓* | — |
14
14
  | 22+ Hooks | ✓ | — | — | — | — | — | — | — | — | — | — |
15
15
  | Rules | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
16
16
  | Auto lessons | ✓ | — | — | — | — | — | — | — | — | — | — |
@@ -36,8 +36,8 @@ npx kodelyth-ecc
36
36
  **File layout:**
37
37
  ```
38
38
  ~/.claude/
39
- ├── agents/ → 70 specialist agents
40
- ├── skills/ → 194 skills
39
+ ├── agents/ → 71 specialist agents
40
+ ├── skills/ → 196 skills
41
41
  ├── commands/ → 97 slash commands
42
42
  ├── rules/ → always-on coding standards + routing
43
43
  └── hooks/ → hooks.json (wired into settings.json)
@@ -185,8 +185,8 @@ npx kodelyth-ecc --target antigravity
185
185
  **File layout:**
186
186
  ```
187
187
  .agent/
188
- ├── skills/ → 70 agents (mapped to Antigravity's skills system)
189
- ├── workflows/ → 97 commands (mapped to Antigravity's workflows)
188
+ ├── skills/ → 71 agents (mapped to Antigravity's skills system)
189
+ ├── workflows/ → 104 commands (mapped to Antigravity's workflows)
190
190
  └── rules/ → rules + 4 featured ECC skills as context
191
191
  ```
192
192
 
@@ -1,6 +1,6 @@
1
1
  # Skill Reference
2
2
 
3
- Skills are domain knowledge and workflow definitions loaded into your session with a slash command. 194 skills total.
3
+ Skills are domain knowledge and workflow definitions loaded into your session with a slash command. 196 skills total.
4
4
 
5
5
  Skills provide deep, actionable guidance — patterns, checklists, code templates, anti-patterns — that agents draw on when they are active. Rules define *what* to do; skills define *how* to do it.
6
6
 
@@ -40,7 +40,7 @@ Type the skill name with a `/` prefix. Skills load instantly and activate for th
40
40
  |---|---|---|
41
41
  | Memory Protocol | `/memory` | BM25 recall workflow, capture triggers, review-pending flow |
42
42
  | Memory Evolve | `/memory-evolve` | Self-improving memory analysis, pattern extraction (v1.7.0) |
43
- | Lessons | `/lessons` | Load/save/manage `tasks/lessons.md` on all 11 platforms |
43
+ | Lessons | `/lessons` | Load/save/manage `tasks/lessons.md` on all 12 platforms |
44
44
  | Configure ECC | `/configure-ecc` | Customize agents, hooks, and rules for your project |
45
45
  | Quickstart | `/kodelyth-quickstart` | 5-minute tour of the entire toolkit |
46
46
 
@@ -276,14 +276,14 @@ AI: → Loading /smart-debug (debugging workflow signal)
276
276
  - **8 specialized skills** — ClickHouse, SEO, video, research
277
277
  - **8 devil-mode security skills** — red-team, penetration testing (v1.7.0)
278
278
 
279
- **Total: 194 skills**
279
+ **Total: 196 skills**
280
280
 
281
281
  ---
282
282
 
283
283
  ## Installing All Skills
284
284
 
285
285
  ```bash
286
- # Download and cache all 194 skills locally
286
+ # Download and cache all 196 skills locally
287
287
  npx kodelyth-ecc --profile full
288
288
  ```
289
289