kodelyth-ecc 1.7.3 → 1.7.4

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 (51) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +41 -0
  3. package/.github/ISSUE_TEMPLATE/good_first_issue.md +36 -0
  4. package/CHANGELOG.md +39 -0
  5. package/GITHUB_SETUP.md +553 -0
  6. package/README.md +51 -6
  7. package/VERSION +1 -1
  8. package/actions/ecc-review/README.md +7 -7
  9. package/bundles/enterprise.md +1 -1
  10. package/bundles/indie-hacker.md +1 -1
  11. package/bundles/red-team.md +1 -1
  12. package/docs/supply-chain.md +1 -1
  13. package/package.json +4 -1
  14. package/rules/common/memory-protocol.md +35 -4
  15. package/scripts/dashboard/data.js +261 -4
  16. package/scripts/dashboard/server.js +28 -3
  17. package/scripts/dashboard/static/index.html +63 -3
  18. package/social/card-install.svg +1 -1
  19. package/social/card-main.svg +2 -2
  20. package/social/facebook-v150.svg +4 -4
  21. package/social/github-social-preview.svg +3 -3
  22. package/social/hype-compound-learning.svg +117 -0
  23. package/social/hype-devil-mode.svg +228 -0
  24. package/social/hype-mcp-server.svg +136 -0
  25. package/social/hype-parallel-agents.svg +150 -0
  26. package/social/hype-stats-hero.svg +126 -0
  27. package/social/readme-hero.svg +4 -4
  28. package/social/section-mcp.svg +1 -1
  29. package/social/twitter-threads.md +621 -0
  30. package/social/x-card-agents-grid.svg +2 -2
  31. package/social/x-card-free.svg +2 -2
  32. package/social/x-card-hook.svg +5 -5
  33. package/tests/dashboard/data.test.js +156 -0
  34. package/tests/dashboard/server.test.js +17 -0
  35. package/wiki/FAQ.md +1 -1
  36. package/wiki/Home.md +5 -3
  37. package/wiki/Installation-Guide.md +2 -2
  38. package/MARKETING_PLAN.md +0 -893
  39. package/cat +0 -0
  40. package/social/facebook-group/POST.md +0 -121
  41. package/social/facebook-group/fb-1-3am-debug.png +0 -0
  42. package/social/facebook-group/fb-1-3am-debug.svg +0 -97
  43. package/social/facebook-group/fb-2-cpu-upgrade.png +0 -0
  44. package/social/facebook-group/fb-2-cpu-upgrade.svg +0 -132
  45. package/social/facebook-group/fb-3-before-after.png +0 -0
  46. package/social/facebook-group/fb-3-before-after.svg +0 -94
  47. package/videos/README.md +0 -88
  48. package/videos/video-01-install-and-routing.md +0 -258
  49. package/videos/video-02-compound-memory.md +0 -301
  50. package/videos/video-03-devil-mode.md +0 -294
  51. package/videos/video-04-mcp-server.md +0 -391
@@ -1,294 +0,0 @@
1
- # VIDEO 3 — "Devil Mode: I audited my own codebase with 8 adversarial agents"
2
-
3
- **Duration:** 10–12 minutes
4
- **Platform:** YouTube (security engineers, senior devs, indie hackers pre-launch)
5
- **Hook:** Real adversarial findings on a real project — not a demo, an actual audit
6
- **Goal:** Show that ECC's devil mode produces real security value, not theater
7
- **Screen setup:** Terminal + code editor + Claude Code/Windsurf on right
8
-
9
- ---
10
-
11
- ## FULL SCRIPT
12
-
13
- ---
14
-
15
- ### [0:00–0:25] COLD OPEN — Start with a finding
16
-
17
- **[SCREEN: Claude Code showing a live devil-mode result]**
18
-
19
- **NARRATION:**
20
- > "This is a real finding."
21
-
22
- **[Show output — e.g., a secret in a config file, or a GPL dep, or a prompt injection vector]**
23
-
24
- **NARRATION:**
25
- > "I ran 8 adversarial agents on my own project. In parallel. They found this in under 3 minutes."
26
- > "And I had already done a 'security review' the week before."
27
-
28
- **[TITLE CARD: Devil Mode — 8 adversarial agents. Attacker mindset.]**
29
-
30
- ---
31
-
32
- ### [0:25–1:30] WHY SECURITY REVIEWS FAIL
33
-
34
- **[SCREEN: Simple diagram]**
35
-
36
- **NARRATION:**
37
- > "Most security reviews fail for a simple reason."
38
- > "The person doing the review is the same person who wrote the code."
39
- > "You can't unsee what you built. You have blind spots in exactly the places that matter."
40
-
41
- **[Draw: developer → reviews own code → misses the thing they built]**
42
-
43
- **NARRATION:**
44
- > "An attacker has no such blind spot. They come in cold. They look at your code the way a stranger would."
45
- > "Devil mode is that stranger."
46
-
47
- **[SCREEN: List the 8 agents]**
48
-
49
- **NARRATION:**
50
- > "8 agents. Each one with a specific attack surface. All running in parallel."
51
- > "Let me walk you through each one — then we'll run them live."
52
-
53
- ---
54
-
55
- ### [1:30–4:30] THE 8 AGENTS — QUICK TOUR
56
-
57
- **[Show each agent as a card — name + what it hunts + one real grep pattern]**
58
-
59
- **[AGENT 1: secret-hunter]**
60
-
61
- **NARRATION:**
62
- > "Secret hunter. This one looks for leaked credentials."
63
- > "Not just obvious API keys — it digs into git history. Leaked secrets don't disappear when you delete the file. They live in every commit before you noticed."
64
-
65
- **[SCREEN: Show bash pattern — `git log -p --all | grep -E 'AKIA|ghp_|sk-|SG\.'`]**
66
-
67
- **NARRATION:**
68
- > "AWS keys, GitHub tokens, Stripe secret keys, SendGrid API keys. All have distinctive prefixes. It knows them."
69
-
70
- ---
71
-
72
- **[AGENT 2: supply-chain-auditor]**
73
-
74
- **NARRATION:**
75
- > "Supply chain auditor. Your biggest attack surface is probably your node_modules."
76
- > "It checks for typosquats — packages named almost like popular ones. It checks lockfile drift — packages that changed without a lockfile update. It reads install scripts."
77
-
78
- **[SCREEN: Show a package with an install script that makes a network call]**
79
-
80
- ---
81
-
82
- **[AGENT 3: license-violation-finder]**
83
-
84
- **NARRATION:**
85
- > "License violation finder. If you're going open source, one GPL dependency contaminates your whole project under copyleft law."
86
- > "This agent maps your dependency tree, identifies AGPL and GPL licenses, and flags anything that creates legal risk before you flip the repo public."
87
-
88
- ---
89
-
90
- **[AGENT 4: prompt-injection-hunter]**
91
-
92
- **NARRATION:**
93
- > "Prompt injection hunter. This one is for AI-powered features."
94
- > "If your app takes user input and feeds it to an LLM — a chatbot, a RAG pipeline, a tool-calling agent — that input path is an attack surface."
95
- > "Indirect injection. System prompt leak. Tool hijacking. This agent reads every LLM integration looking for those patterns."
96
-
97
- ---
98
-
99
- **[AGENT 5: jailbreak-tester]**
100
-
101
- **NARRATION:**
102
- > "Jailbreak tester. This one red-teams your AI features live."
103
- > "It doesn't just read code — it sends adversarial inputs to your running AI and checks if your guardrails hold."
104
-
105
- ---
106
-
107
- **[AGENT 6: code-stealer-detector]**
108
-
109
- **NARRATION:**
110
- > "Code stealer detector. If you're shipping commercial software, you need to know if any block of code was copy-pasted from somewhere with a license that conflicts with yours."
111
- > "This is especially critical for AI-generated code — Copilot and similar tools sometimes reproduce licensed training data."
112
-
113
- ---
114
-
115
- **[AGENT 7: backdoor-hunter]**
116
-
117
- **NARRATION:**
118
- > "Backdoor hunter. This one looks for malicious code patterns."
119
- > "Obfuscated eval. Suspicious base64. Functions that encode URLs at runtime. Unexplained outbound connections."
120
- > "If you received code from a contractor or vendored a library — this is the scan you run first."
121
-
122
- ---
123
-
124
- **[AGENT 8: chaos-engineer]**
125
-
126
- **NARRATION:**
127
- > "Chaos engineer. Not a security agent in the traditional sense — an adversarial reliability agent."
128
- > "It asks: what happens when your database goes down? When your message queue fills up? When a downstream API times out at the worst moment?"
129
- > "It maps your hidden assumptions and turns them into fault injection scenarios before your users find them."
130
-
131
- ---
132
-
133
- ### [4:30–7:30] LIVE AUDIT — REAL PROJECT
134
-
135
- **[SCREEN: Terminal — running on a real sample project]**
136
-
137
- **NARRATION:**
138
- > "Let's run it. I'm going to use a real project — a Next.js SaaS starter I've been building."
139
-
140
- **[TYPE in Claude Code / Windsurf chat:]**
141
- ```
142
- /devil-mode --pre-public
143
- ```
144
-
145
- **[Show the agents firing — show output appearing in real time]**
146
-
147
- **NARRATION:**
148
- > "Watch the agents fan out in parallel. Each one is running its own playbook simultaneously."
149
-
150
- **[Wait for results — narrate as they come in:]**
151
-
152
- **[Finding 1: secret-hunter]**
153
-
154
- **NARRATION:**
155
- > "Secret hunter flagged something. Let's look."
156
-
157
- **[Show: a .env.example file that was committed with a real key accidentally]**
158
-
159
- **NARRATION:**
160
- > "Committed 3 months ago. I removed it, but it's in git history. Anyone who clones this repo can find it with `git log -p`."
161
- > "This would have been a problem if I went public. Now it's not."
162
-
163
- **[REMEDIATION shown: `git filter-branch` or BFG Repo Cleaner command]**
164
-
165
- ---
166
-
167
- **[Finding 2: supply-chain-auditor]**
168
-
169
- **NARRATION:**
170
- > "Supply chain flagged a package. Let me check."
171
-
172
- **[Show: a dep with an install script that makes a network call to a third-party analytics service]**
173
-
174
- **NARRATION:**
175
- > "This package phones home on install. I had no idea. It's not malicious but it's not something I want happening silently."
176
-
177
- ---
178
-
179
- **[Finding 3: license-violation-finder]**
180
-
181
- **NARRATION:**
182
- > "License finder flagged one. LGPL-2.1 in a transitive dependency."
183
- > "For my use case — commercial SaaS — this is fine if I keep it as a library. It's flagging for awareness, not as a blocker."
184
- > "But if I was statically linking it, different story."
185
-
186
- ---
187
-
188
- **[Summary]**
189
-
190
- **[Show the aggregated report:]**
191
-
192
- ```
193
- CRITICAL (1): Leaked secret in git history — rotate STRIPE_SECRET_KEY immediately
194
- HIGH (1): Dependency phones home on install — audit or replace
195
- MEDIUM (1): LGPL transitive dep — review linking model
196
- LOW (2): Two advisory items
197
- ```
198
-
199
- **NARRATION:**
200
- > "Three real findings I would have missed. The most important one — the leaked key — would have been a serious problem post-launch."
201
- > "This took 3 minutes. Not 3 hours. Not a contractor invoice."
202
-
203
- ---
204
-
205
- ### [7:30–8:30] THE THREE FLAGS
206
-
207
- **[SCREEN: Terminal]**
208
-
209
- **NARRATION:**
210
- > "Devil mode ships with three flags for different situations."
211
-
212
- **[TYPE and explain each:]**
213
-
214
- ```bash
215
- /devil-mode # Default: 4 agents (secret, supply-chain, backdoor, prompt-injection)
216
- /devil-mode --pre-public # Before going open source: adds license + code-stealer
217
- /devil-mode --pre-launch # Before production launch: adds jailbreak-tester + chaos-engineer
218
- /devil-mode --all # All 8 agents simultaneously
219
- ```
220
-
221
- **NARRATION:**
222
- > "I recommend --pre-public every time you plan to open-source something. Non-negotiable."
223
- > "--all for post-incident sweeps or high-stakes launches."
224
-
225
- ---
226
-
227
- ### [8:30–9:30] INDIVIDUAL AGENTS
228
-
229
- **[SCREEN: Claude Code]**
230
-
231
- **NARRATION:**
232
- > "You can also call individual agents if you only need one angle."
233
-
234
- **[TYPE:]**
235
- ```
236
- use secret-hunter
237
- ```
238
-
239
- **[Show it running]**
240
-
241
- **NARRATION:**
242
- > "Same agent, just one of them."
243
- > "Useful when you added a new feature and only need the prompt injection sweep."
244
-
245
- ---
246
-
247
- ### [9:30–10:00] HOW IT'S DIFFERENT FROM A LINTER
248
-
249
- **NARRATION:**
250
- > "A question I get: how is this different from running a security linter?"
251
-
252
- **[SCREEN: Split — linter output vs devil-mode output]**
253
-
254
- **NARRATION:**
255
- > "Linters catch syntax-level issues. SQL injection patterns. Known unsafe API calls. Static analysis."
256
- > "Devil mode catches semantic issues. Why is this code making an outbound call? Why does this install script exist? Is this base64 innocent or suspicious? What happens to this system under adversarial conditions?"
257
- > "Different tool. Different attack surface. You want both."
258
-
259
- ---
260
-
261
- ### [10:00–10:30] CTA
262
-
263
- **NARRATION:**
264
- > "If you're shipping software and you haven't run something like this — run it today."
265
-
266
- **[TYPE:]**
267
- ```bash
268
- npx kodelyth-ecc
269
- ```
270
-
271
- **[Then in chat:]**
272
- ```
273
- /devil-mode --pre-public
274
- ```
275
-
276
- **NARRATION:**
277
- > "github.com/sifxprime/kodelyth-ecc — zero telemetry, everything local, MIT license."
278
- > "Next video: the MCP server — how to give LangGraph, AutoGen, or Claude Desktop access to all 70 agents and local memory. In one command."
279
-
280
- **[END CARD]**
281
-
282
- ---
283
-
284
- ## B-ROLL / EDITING NOTES
285
-
286
- - **USE A REAL PROJECT** — the credibility of this video depends on real findings, not demo setups
287
- - If you don't want to show your own project, create a realistic sample project with planted issues
288
- - Plant: one expired/rotated key in git history, one dep with install script, one GPL dep
289
- - Record the `/devil-mode` run uncut — the waiting time builds tension and authenticity
290
- - Show the `git log -p | grep` command for the secret finding
291
- - Show BFG Repo Cleaner remediation or `git filter-branch` command
292
- - Diagram for "attacker mindset vs author mindset" — 30-second simple animation
293
- - Thumbnail: red background + "I ran 8 attackers on my own code" + devil emoji or adversarial icon
294
- - This video will get shared in security communities — keep it technically precise
@@ -1,391 +0,0 @@
1
- # VIDEO 4 — "MCP Server: Give LangGraph access to 70 agents in one command"
2
-
3
- **Duration:** 10–12 minutes
4
- **Platform:** YouTube (AI/ML engineers, agent framework builders, Claude Desktop users)
5
- **Hook:** Live wiring of ECC MCP into Claude Desktop + LangGraph
6
- **Goal:** Drive adoption from the agentic AI engineering community
7
- **Screen setup:** Terminal + code editor + browser (Claude Desktop or LangGraph notebook)
8
-
9
- ---
10
-
11
- ## FULL SCRIPT
12
-
13
- ---
14
-
15
- ### [0:00–0:20] COLD OPEN
16
-
17
- **[SCREEN: Claude Desktop — chat open, typing]**
18
-
19
- **[TYPE in Claude Desktop:]**
20
- ```
21
- route this task for me: our checkout flow is broken in production
22
- ```
23
-
24
- **[Show response from ECC MCP route_intent tool:]**
25
- ```json
26
- {
27
- "suggestions": [
28
- { "agent": "incident-commander", "score": 0.94, "reason": "production + broken = P0 pattern" },
29
- { "agent": "debug-detective", "score": 0.81, "reason": "checkout flow + broken = active bug" },
30
- { "agent": "silent-failure-hunter", "score": 0.62, "reason": "checkout failures often have no error" }
31
- ]
32
- }
33
- ```
34
-
35
- **NARRATION:**
36
- > "That's Claude Desktop calling an ECC tool to route a task to the right specialist."
37
- > "No plugins. No cloud. Just one command on your machine and MCP handles the rest."
38
-
39
- **[TITLE CARD: Kodelyth ECC MCP Server — Universal Adapter]**
40
-
41
- ---
42
-
43
- ### [0:20–1:30] WHAT IS MCP AND WHY IT MATTERS
44
-
45
- **[SCREEN: Simple diagram — MCP architecture]**
46
-
47
- **NARRATION:**
48
- > "Model Context Protocol is Anthropic's open standard for connecting AI applications to external tools and data."
49
- > "Think of it like USB-C for AI. Any MCP client can plug into any MCP server."
50
-
51
- **[Draw: Claude Desktop → MCP → ECC server]**
52
- **[Draw: LangGraph → MCP → ECC server]**
53
- **[Draw: AutoGen → MCP → ECC server]**
54
-
55
- **NARRATION:**
56
- > "ECC v1.7.0 ships a full MCP server. One command starts it."
57
- > "Any framework that speaks MCP now has access to 70 agents, 194 skills, 97 commands, and your local memory store."
58
-
59
- ---
60
-
61
- ### [1:30–2:30] WHAT THE SERVER EXPOSES
62
-
63
- **[SCREEN: Diagram — three columns: Tools / Prompts / Resources]**
64
-
65
- **NARRATION:**
66
- > "The ECC MCP server exposes three categories of content."
67
-
68
- **[COLUMN 1: TOOLS (16)]**
69
-
70
- **NARRATION:**
71
- > "16 tools. These are callable functions your AI can invoke."
72
-
73
- **[Show each with one line:]**
74
- ```
75
- route_intent → suggest the right ECC agent for a message
76
- list_agents → catalog of all 70 agents
77
- list_skills → catalog of all 194 skills
78
- get_agent → full markdown body of any agent
79
- get_skill → full markdown body of any skill
80
- get_command → full slash command body
81
- recall_memory → BM25 search of your local memory
82
- capture_memory → store a new memory entry
83
- memory_stats → stats on your memory store
84
- catalog_stats → counts of agents/skills/commands
85
- audit_skill_match → which skills are relevant to a task
86
- ```
87
-
88
- ---
89
-
90
- **[COLUMN 2: PROMPTS (6)]**
91
-
92
- **NARRATION:**
93
- > "6 prompts. Canonical ECC context blocks you can summon by name."
94
-
95
- ```
96
- routing-rule → the full 10-tier intent routing system
97
- agents-overview → all 70 agents, one-line each
98
- skills-overview → all 194 skills compact
99
- handoff-chains → standard multi-agent chain protocols
100
- devil-mode → the adversarial parallel sweep command
101
- commands-overview → all 97 slash commands
102
- ```
103
-
104
- ---
105
-
106
- **[COLUMN 3: RESOURCES (377)]**
107
-
108
- **NARRATION:**
109
- > "377 resources. Every agent, skill, command, rule, and bundle is addressable as a kodelyth:// URI."
110
-
111
- ```
112
- kodelyth://agents/debug-detective
113
- kodelyth://skills/kodelyth-memory
114
- kodelyth://commands/devil-mode
115
- kodelyth://rules/agent-intent-routing
116
- kodelyth://bundles/indie-hacker
117
- ```
118
-
119
- **NARRATION:**
120
- > "Any MCP client can do `resources/list` to discover everything, then `resources/read` to fetch any of it as markdown."
121
-
122
- ---
123
-
124
- ### [2:30–4:00] DEMO 1 — CLAUDE DESKTOP IN 30 SECONDS
125
-
126
- **[SCREEN: macOS → finder → ~/Library/Application Support/Claude/]**
127
-
128
- **NARRATION:**
129
- > "Let's wire it into Claude Desktop. 30 seconds."
130
-
131
- **[SCREEN: Open claude_desktop_config.json]**
132
-
133
- **[TYPE the config:]**
134
- ```json
135
- {
136
- "mcpServers": {
137
- "kodelyth-ecc": {
138
- "command": "npx",
139
- "args": ["-y", "kodelyth-ecc", "mcp"]
140
- }
141
- }
142
- }
143
- ```
144
-
145
- **NARRATION:**
146
- > "Save. Restart Claude Desktop."
147
-
148
- **[Restart Claude Desktop — show the server appearing in the tools panel]**
149
-
150
- **NARRATION:**
151
- > "ECC is now available. Claude Desktop can call all 16 tools, use all 6 prompts, and read all 377 resources."
152
-
153
- **[DEMO in Claude Desktop:]**
154
-
155
- **[TYPE:]**
156
- ```
157
- Use the routing-rule prompt, then route this:
158
- "I've been debugging this race condition for 3 days, nothing works"
159
- ```
160
-
161
- **[Show: ECC routing-rule prompt loaded → route_intent called → response suggests /debug-blitz]**
162
-
163
- **NARRATION:**
164
- > "Claude used the ECC routing rule — the full 10-tier system — to decide that 3 days of frustration on a race condition means debug-blitz, not a single debug-detective."
165
-
166
- ---
167
-
168
- **[DEMO 2 in Claude Desktop — get agent body:]**
169
-
170
- **[TYPE:]**
171
- ```
172
- Get me the full debug-detective agent instructions
173
- ```
174
-
175
- **[Show: get_agent tool called → full debug-detective.md loaded → Claude adopts the persona]**
176
-
177
- **NARRATION:**
178
- > "Claude fetched the full agent playbook on demand. Now it's running as debug-detective — with the real methodology, not a made-up persona."
179
-
180
- ---
181
-
182
- ### [4:00–6:30] DEMO 2 — LANGGRAPH INTEGRATION
183
-
184
- **[SCREEN: VS Code with a Python file open]**
185
-
186
- **NARRATION:**
187
- > "Now let's wire it into LangGraph. This is for developers building multi-agent workflows in Python."
188
-
189
- **[SCREEN: Show minimal LangGraph code with MCP client]**
190
-
191
- ```python
192
- from langchain_mcp import MCPToolkit
193
- from langchain_anthropic import ChatAnthropic
194
- from langgraph.prebuilt import create_react_agent
195
-
196
- # Connect to ECC MCP server
197
- async with MCPToolkit("npx kodelyth-ecc mcp") as toolkit:
198
- tools = await toolkit.get_tools()
199
-
200
- llm = ChatAnthropic(model="claude-sonnet-4-5")
201
- agent = create_react_agent(llm, tools)
202
-
203
- # Now the agent can call any ECC tool
204
- result = await agent.ainvoke({
205
- "messages": [
206
- {"role": "user", "content": "Route this task and get me the right agent's instructions: our API is throwing 500s"}
207
- ]
208
- })
209
- ```
210
-
211
- **NARRATION:**
212
- > "The ECC server spawns as a subprocess. LangGraph connects via stdio. The agent now has all 16 ECC tools in its tool belt."
213
-
214
- **[RUN the script — show output:]**
215
-
216
- ```
217
- > Calling tool: route_intent
218
- input: "our API is throwing 500s"
219
-
220
- > Result: incident-commander (score 0.91), debug-detective (0.78)
221
-
222
- > Calling tool: get_agent
223
- input: "incident-commander"
224
-
225
- > Loaded: incident-commander.md (7920 bytes)
226
-
227
- [Agent now follows incident-commander playbook...]
228
- ```
229
-
230
- **NARRATION:**
231
- > "The orchestrator called route_intent, got a recommendation, fetched the full agent body, and is now executing the incident-commander playbook."
232
- > "Your LangGraph workflow just got 70 specialists."
233
-
234
- ---
235
-
236
- **[MEMORY ROUNDTRIP]**
237
-
238
- **NARRATION:**
239
- > "The memory tools are the most valuable part for long-running workflows."
240
-
241
- ```python
242
- # Store a solution during a session
243
- await agent.ainvoke({
244
- "messages": [{
245
- "role": "user",
246
- "content": "capture_memory: problem=API rate limiting, approach=exponential backoff with jitter, tags=[api, rate-limiting, retry]"
247
- }]
248
- })
249
-
250
- # Recall it later, in any workflow
251
- result = await agent.ainvoke({
252
- "messages": [{
253
- "role": "user",
254
- "content": "I'm building retry logic for an API client. recall_memory first."
255
- }]
256
- })
257
- ```
258
-
259
- **NARRATION:**
260
- > "Your LangGraph workflow can now persist solutions to your local BM25 memory and recall them on future runs."
261
- > "The memory survives process restarts. It's a JSONL file. Your agent learns across runs."
262
-
263
- ---
264
-
265
- ### [6:30–8:00] DEMO 3 — CLI INSPECTION TOOLS
266
-
267
- **[SCREEN: Terminal]**
268
-
269
- **NARRATION:**
270
- > "You don't have to write code to explore the server. ECC ships CLI commands for everything."
271
-
272
- ```bash
273
- # Register a server
274
- npx kodelyth-ecc mcp-add kodelyth -- npx kodelyth-ecc mcp
275
-
276
- # List registered servers
277
- npx kodelyth-ecc mcp-list
278
-
279
- # See all 16 tools
280
- npx kodelyth-ecc mcp-tools kodelyth
281
-
282
- # Call a tool directly
283
- npx kodelyth-ecc mcp-call kodelyth route_intent \
284
- --json '{"message":"production is down","top_k":3}'
285
-
286
- # List resources
287
- npx kodelyth-ecc mcp-resources kodelyth
288
-
289
- # Read a specific resource
290
- npx kodelyth-ecc mcp-call kodelyth get_agent \
291
- --json '{"name":"debug-detective"}'
292
- ```
293
-
294
- **NARRATION:**
295
- > "The mcp-call command is especially useful for testing integrations before you wire them into code."
296
-
297
- **[Show route_intent output formatted with jq:]**
298
-
299
- ```bash
300
- npx kodelyth-ecc mcp-call kodelyth route_intent \
301
- --json '{"message":"I need to refactor my auth module"}' \
302
- | jq '.content[0].text | fromjson | .suggestions[:3]'
303
- ```
304
-
305
- ---
306
-
307
- ### [8:00–9:30] DESIGN PRINCIPLES
308
-
309
- **[SCREEN: Diagram]**
310
-
311
- **NARRATION:**
312
- > "A few things I want to be explicit about in the design."
313
-
314
- **[PRINCIPLE 1: No LLM calls]**
315
-
316
- **NARRATION:**
317
- > "The ECC MCP server adds zero LLM calls of its own. It reads files and passes through memory. Your client's model decides what to do with the content. No hidden API costs."
318
-
319
- **[PRINCIPLE 2: Local only]**
320
-
321
- **NARRATION:**
322
- > "stdio transport. No network port. No HTTP server. The MCP server is a subprocess — it dies when your client disconnects. No background process lingering."
323
-
324
- **[PRINCIPLE 3: Optional dependency]**
325
-
326
- **NARRATION:**
327
- > "The MCP SDK is in optionalDependencies. `npx kodelyth-ecc` installs without it. The MCP subcommand prints a helpful message if you try to use it without the SDK."
328
-
329
- ```bash
330
- npx kodelyth-ecc mcp
331
- # → "Kodelyth MCP server requires @modelcontextprotocol/sdk"
332
- # → "Run: npm install @modelcontextprotocol/sdk"
333
- ```
334
-
335
- **[PRINCIPLE 4: Cached catalog]**
336
-
337
- **NARRATION:**
338
- > "Agent and skill lists are cached in-process after first read. Sub-millisecond for subsequent calls. Heavy workflows that call list_agents repeatedly don't hit the filesystem every time."
339
-
340
- ---
341
-
342
- ### [9:30–10:00] WHAT'S COMING
343
-
344
- **[SCREEN: Simple roadmap card]**
345
-
346
- **NARRATION:**
347
- > "The MCP server opens up a second direction: ECC as an MCP client."
348
-
349
- **[Show code snippet:]**
350
- ```bash
351
- npx kodelyth-ecc mcp-add stripe -- npx -y @modelcontextprotocol/server-stripe
352
- npx kodelyth-ecc mcp-add github -- npx -y @modelcontextprotocol/server-github
353
- npx kodelyth-ecc mcp-add postgres -- npx -y @modelcontextprotocol/server-postgres
354
- ```
355
-
356
- **NARRATION:**
357
- > "ECC agents will be able to consume external MCP servers — Stripe, GitHub, Postgres, Redis — making ECC the hub that routes between your specialists and your data sources."
358
- > "That's the agentic layer I'm building toward."
359
-
360
- ---
361
-
362
- ### [10:00–10:30] CTA
363
-
364
- **NARRATION:**
365
- > "If you're building with LangGraph, AutoGen, CrewAI, or Claude Desktop — ECC's MCP server is a one-command addition to any workflow."
366
-
367
- **[SCREEN: Terminal]**
368
-
369
- ```bash
370
- npx kodelyth-ecc mcp
371
- ```
372
-
373
- **NARRATION:**
374
- > "github.com/sifxprime/kodelyth-ecc — full MCP docs at docs/mcp.md"
375
- > "If this was useful, subscribe — I'll be covering the ECC-as-MCP-client direction next."
376
-
377
- **[END CARD: subscribe, github link, docs link]**
378
-
379
- ---
380
-
381
- ## B-ROLL / EDITING NOTES
382
-
383
- - Run the REAL MCP server — don't fake responses
384
- - Claude Desktop wiring must be recorded live — the UX of it connecting is persuasive
385
- - The LangGraph demo should be in a Jupyter notebook OR a clean Python file, not a cluttered repo
386
- - Show the actual tool call logs from LangGraph (the `> Calling tool:` lines)
387
- - For the CLI commands: use --color=always and record with terminal that shows nice colors
388
- - Diagram for MCP architecture: keep it simple — three boxes (Client → MCP → ECC)
389
- - This is the most technical video — don't cut corners on accuracy
390
- - Thumbnail: "npx kodelyth-ecc mcp" in terminal + "LangGraph ← 70 agents" graphic
391
- - Consider publishing a companion GitHub Gist with the LangGraph code snippet for the description