@ekkos/cli 0.2.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/dist/cache/LocalSessionStore.d.ts +129 -0
- package/dist/cache/LocalSessionStore.js +688 -0
- package/dist/cache/capture.d.ts +26 -0
- package/dist/cache/capture.js +461 -0
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.js +23 -0
- package/dist/cache/types.d.ts +147 -0
- package/dist/cache/types.js +40 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.js +478 -0
- package/dist/commands/run.d.ts +12 -0
- package/dist/commands/run.js +829 -0
- package/dist/commands/setup.d.ts +6 -0
- package/dist/commands/setup.js +658 -0
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.js +109 -0
- package/dist/commands/test.d.ts +1 -0
- package/dist/commands/test.js +157 -0
- package/dist/deploy/agents.d.ts +15 -0
- package/dist/deploy/agents.js +72 -0
- package/dist/deploy/hooks.d.ts +16 -0
- package/dist/deploy/hooks.js +121 -0
- package/dist/deploy/index.d.ts +7 -0
- package/dist/deploy/index.js +24 -0
- package/dist/deploy/instructions.d.ts +12 -0
- package/dist/deploy/instructions.js +36 -0
- package/dist/deploy/mcp.d.ts +19 -0
- package/dist/deploy/mcp.js +109 -0
- package/dist/deploy/plugins.d.ts +19 -0
- package/dist/deploy/plugins.js +62 -0
- package/dist/deploy/settings.d.ts +8 -0
- package/dist/deploy/settings.js +84 -0
- package/dist/deploy/skills.d.ts +19 -0
- package/dist/deploy/skills.js +60 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +71 -0
- package/dist/restore/RestoreOrchestrator.d.ts +48 -0
- package/dist/restore/RestoreOrchestrator.js +481 -0
- package/dist/restore/index.d.ts +4 -0
- package/dist/restore/index.js +20 -0
- package/dist/utils/platform.d.ts +29 -0
- package/dist/utils/platform.js +65 -0
- package/dist/utils/session-words.json +119 -0
- package/dist/utils/state.d.ts +57 -0
- package/dist/utils/state.js +186 -0
- package/dist/utils/templates.d.ts +24 -0
- package/dist/utils/templates.js +118 -0
- package/package.json +48 -0
- package/templates/CLAUDE.md +287 -0
- package/templates/README.md +378 -0
- package/templates/agents/README.md +182 -0
- package/templates/agents/code-reviewer.md +166 -0
- package/templates/agents/debug-detective.md +169 -0
- package/templates/agents/ekkOS_Vercel.md +99 -0
- package/templates/agents/extension-manager.md +229 -0
- package/templates/agents/git-companion.md +185 -0
- package/templates/agents/github-test-agent.md +321 -0
- package/templates/agents/railway-manager.md +179 -0
- package/templates/claude-plugins/PHASE2_COMPLETION.md +346 -0
- package/templates/claude-plugins/PLUGIN_PROPOSALS.md +1776 -0
- package/templates/claude-plugins/README.md +587 -0
- package/templates/claude-plugins/agents/code-reviewer.json +14 -0
- package/templates/claude-plugins/agents/debug-detective.json +15 -0
- package/templates/claude-plugins/agents/git-companion.json +14 -0
- package/templates/claude-plugins/blog-manager/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/blog-manager/commands/blog.md +691 -0
- package/templates/claude-plugins/golden-loop-monitor/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/golden-loop-monitor/commands/loop-status.md +434 -0
- package/templates/claude-plugins/learning-tracker/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/learning-tracker/commands/my-patterns.md +282 -0
- package/templates/claude-plugins/memory-lens/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/memory-lens/commands/memory-search.md +181 -0
- package/templates/claude-plugins/pattern-coach/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/pattern-coach/commands/forge.md +365 -0
- package/templates/claude-plugins/project-schema-validator/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins/project-schema-validator/commands/validate-schema.md +582 -0
- package/templates/claude-plugins-admin/AGENT_TEAM_PROPOSALS.md +819 -0
- package/templates/claude-plugins-admin/README.md +446 -0
- package/templates/claude-plugins-admin/autonomous-admin-agent/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/autonomous-admin-agent/commands/agent.md +595 -0
- package/templates/claude-plugins-admin/backend-agent/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/backend-agent/commands/backend.md +798 -0
- package/templates/claude-plugins-admin/deploy-guardian/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/deploy-guardian/commands/deploy.md +554 -0
- package/templates/claude-plugins-admin/frontend-agent/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/frontend-agent/commands/frontend.md +881 -0
- package/templates/claude-plugins-admin/mcp-server-manager/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/mcp-server-manager/commands/mcp.md +85 -0
- package/templates/claude-plugins-admin/memory-system-monitor/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/memory-system-monitor/commands/memory-health.md +569 -0
- package/templates/claude-plugins-admin/qa-agent/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/qa-agent/commands/qa.md +863 -0
- package/templates/claude-plugins-admin/tech-lead-agent/.claude-plugin/plugin.json +8 -0
- package/templates/claude-plugins-admin/tech-lead-agent/commands/lead.md +732 -0
- package/templates/commands/continue.md +47 -0
- package/templates/cursor-hooks/after-agent-response.sh +117 -0
- package/templates/cursor-hooks/before-submit-prompt.sh +419 -0
- package/templates/cursor-hooks/hooks.json +20 -0
- package/templates/cursor-hooks/lib/contract.sh +320 -0
- package/templates/cursor-hooks/stop.sh +75 -0
- package/templates/cursor-rules/ekkos-memory.md +187 -0
- package/templates/hooks/assistant-response.sh +96 -0
- package/templates/hooks/hooks.json +28 -0
- package/templates/hooks/lib/contract.sh +320 -0
- package/templates/hooks/lib/state.sh +158 -0
- package/templates/hooks/session-start.ps1 +41 -0
- package/templates/hooks/session-start.sh +318 -0
- package/templates/hooks/stop.ps1 +16 -0
- package/templates/hooks/stop.sh +989 -0
- package/templates/hooks/user-prompt-submit.ps1 +174 -0
- package/templates/hooks/user-prompt-submit.sh +587 -0
- package/templates/hooks-node/lib/state.js +187 -0
- package/templates/hooks-node/stop.js +416 -0
- package/templates/hooks-node/user-prompt-submit.js +337 -0
- package/templates/plan-template.md +306 -0
- package/templates/rules/00-hooks-contract.mdc +89 -0
- package/templates/rules/30-ekkos-core.mdc +188 -0
- package/templates/rules/31-ekkos-messages.mdc +78 -0
- package/templates/skills/continue/SKILL.md +169 -0
- package/templates/skills/ekkOS_Deep_Recall/Skill.md +282 -0
- package/templates/skills/ekkOS_Learn/Skill.md +265 -0
- package/templates/skills/ekkOS_Memory_First/Skill.md +206 -0
- package/templates/skills/ekkOS_Plan_Assist/Skill.md +302 -0
- package/templates/skills/ekkOS_Preferences/Skill.md +247 -0
- package/templates/skills/ekkOS_Reflect/Skill.md +257 -0
- package/templates/skills/ekkOS_Safety/Skill.md +265 -0
- package/templates/skills/ekkOS_Schema/Skill.md +251 -0
- package/templates/skills/ekkOS_Summary/Skill.md +257 -0
- package/templates/skills/ekkOS_Vault/Skill.md +287 -0
- package/templates/skills/permissions/Skill.md +322 -0
- package/templates/spec-template.md +159 -0
- package/templates/windsurf-hooks/before-submit-prompt.sh +238 -0
- package/templates/windsurf-hooks/hooks.json +10 -0
- package/templates/windsurf-hooks/lib/contract.sh +320 -0
- package/templates/windsurf-rules/ekkos-memory.md +129 -0
|
@@ -0,0 +1,691 @@
|
|
|
1
|
+
# Blog Manager
|
|
2
|
+
|
|
3
|
+
Editorial enforcement system for ekkOS blog. Create, research, and publish thought leadership content with built-in credibility guardrails.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
**This is not a blog generator. It is an institutional credibility engine.**
|
|
8
|
+
|
|
9
|
+
The ekkOS blog exists to educate, not to sell. Every post must:
|
|
10
|
+
- Teach first, mention ekkOS last
|
|
11
|
+
- Ground claims in evidence or explicit qualifiers
|
|
12
|
+
- Acknowledge trade-offs and limitations
|
|
13
|
+
- Position ekkOS as one option, not the only option
|
|
14
|
+
|
|
15
|
+
## Editorial Philosophy: "Teach First, Sell Last"
|
|
16
|
+
|
|
17
|
+
**Content Ratio:** 80% problem + solutions landscape, 15% practical how-to, 5% ekkOS mention
|
|
18
|
+
|
|
19
|
+
**The Rule:** ekkOS should only appear in a dedicated section titled "How we think about this at ekkOS_" — 3-6 sentences max, placed near the end.
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Dashboard - see all posts and their status
|
|
25
|
+
/blog
|
|
26
|
+
|
|
27
|
+
# Create new post with guided workflow
|
|
28
|
+
/blog new [topic]
|
|
29
|
+
|
|
30
|
+
# Edit existing post
|
|
31
|
+
/blog edit [slug]
|
|
32
|
+
|
|
33
|
+
# Preview post with frontmatter validation
|
|
34
|
+
/blog preview [slug]
|
|
35
|
+
|
|
36
|
+
# Generate cover image with FLUX 2 Max
|
|
37
|
+
/blog image [slug]
|
|
38
|
+
|
|
39
|
+
# Schedule post for future publication
|
|
40
|
+
/blog schedule [slug] [date]
|
|
41
|
+
|
|
42
|
+
# Publish immediately
|
|
43
|
+
/blog publish [slug]
|
|
44
|
+
|
|
45
|
+
# SEO optimization (problem-oriented, not product-oriented)
|
|
46
|
+
/blog seo [slug]
|
|
47
|
+
|
|
48
|
+
# Research trending topics with Perplexity Sonar Pro
|
|
49
|
+
/blog research [topic]
|
|
50
|
+
|
|
51
|
+
# Generate topic ideas relevant to ekkOS mission
|
|
52
|
+
/blog ideas
|
|
53
|
+
|
|
54
|
+
# Editorial QA - salesiness score, banned words, truthfulness
|
|
55
|
+
/blog tonecheck [slug]
|
|
56
|
+
|
|
57
|
+
# Extract and audit all claims
|
|
58
|
+
/blog claims [slug]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Example - Dashboard (`/blog`)
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
📰 ekkOS Blog Dashboard
|
|
67
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
68
|
+
|
|
69
|
+
📊 Status Overview:
|
|
70
|
+
Published: 7 posts
|
|
71
|
+
Scheduled: 0 posts
|
|
72
|
+
Drafts: 0 posts
|
|
73
|
+
|
|
74
|
+
───────────────────────────────────────────────────────────────────
|
|
75
|
+
✅ Published Posts (newest first):
|
|
76
|
+
|
|
77
|
+
1. patterns-that-learn.md
|
|
78
|
+
"Patterns That Learn — How AI Memory Should Actually Work"
|
|
79
|
+
📅 2026-01-14 · 📖 5 min · 🏷️ patterns, feedback-loops, learning
|
|
80
|
+
|
|
81
|
+
2. instruction-hierarchy-problem.md
|
|
82
|
+
"The Instruction Hierarchy Problem in AI Safety"
|
|
83
|
+
📅 2026-01-12 · 📖 6 min · 🏷️ safety, directives, architecture
|
|
84
|
+
|
|
85
|
+
3. one-memory-five-tools.md
|
|
86
|
+
"One Memory, Five Tools — Why Platform Matters"
|
|
87
|
+
📅 2026-01-10 · 📖 5 min · 🏷️ integration, tools, platform
|
|
88
|
+
|
|
89
|
+
4. why-jailbreaks-work-and-how-persistent-memory-fixes-them.md
|
|
90
|
+
"Why Jailbreaks Work (And How Persistent Memory Fixes Them)"
|
|
91
|
+
📅 2026-01-08 · 📖 4 min · 🏷️ security, jailbreaks, memory
|
|
92
|
+
|
|
93
|
+
5. your-ai-forgot-again.md
|
|
94
|
+
"Your AI Forgot Again — The Context Window Crisis"
|
|
95
|
+
📅 2026-01-06 · 📖 4 min · 🏷️ context, memory, limitations
|
|
96
|
+
|
|
97
|
+
6. why-rag-isnt-memory.md
|
|
98
|
+
"Why RAG Isn't Memory"
|
|
99
|
+
📅 2026-01-04 · 📖 5 min · 🏷️ RAG, memory, architecture
|
|
100
|
+
|
|
101
|
+
7. welcome-to-ekkos-blog.md
|
|
102
|
+
"Welcome to the ekkOS Blog"
|
|
103
|
+
📅 2026-01-02 · 📖 2 min · 🏷️ announcement
|
|
104
|
+
|
|
105
|
+
───────────────────────────────────────────────────────────────────
|
|
106
|
+
Commands:
|
|
107
|
+
/blog new [topic] Create new post
|
|
108
|
+
/blog edit [slug] Edit existing post
|
|
109
|
+
/blog tonecheck [slug] Run editorial QA
|
|
110
|
+
/blog research [topic] Research with Perplexity
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Example - New Post (`/blog new`)
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
/blog new "Why Most AI Memory Solutions Miss the Point"
|
|
119
|
+
|
|
120
|
+
📝 New Post Workflow
|
|
121
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
122
|
+
|
|
123
|
+
Topic: "Why Most AI Memory Solutions Miss the Point"
|
|
124
|
+
|
|
125
|
+
───────────────────────────────────────────────────────────────────
|
|
126
|
+
📋 Step 1: Choose Template
|
|
127
|
+
|
|
128
|
+
Which template fits this topic?
|
|
129
|
+
|
|
130
|
+
[A] Pain Point Deep Dive (recommended)
|
|
131
|
+
• Why this problem exists (systems + incentives)
|
|
132
|
+
• Where teams usually get misled
|
|
133
|
+
• Failure modes and measurement
|
|
134
|
+
• 2-3 approaches with trade-offs
|
|
135
|
+
• "Where ekkOS_ fits (and where it doesn't)"
|
|
136
|
+
• Practical next steps checklist
|
|
137
|
+
|
|
138
|
+
[B] Field Guide
|
|
139
|
+
• Definitions
|
|
140
|
+
• Decision tree
|
|
141
|
+
• Implementation pitfalls
|
|
142
|
+
• Minimal reference architecture
|
|
143
|
+
• Validation plan
|
|
144
|
+
• Optional ekkOS_ sidebar
|
|
145
|
+
|
|
146
|
+
[C] Research Commentary
|
|
147
|
+
• What the source says (quoted minimally, cited)
|
|
148
|
+
• What it gets right
|
|
149
|
+
• What it misses in deployment reality
|
|
150
|
+
• Your framework or implementation interpretation
|
|
151
|
+
• ekkOS_ positioning as practical path
|
|
152
|
+
|
|
153
|
+
> A
|
|
154
|
+
|
|
155
|
+
───────────────────────────────────────────────────────────────────
|
|
156
|
+
📋 Step 2: Evidence vs Hypothesis
|
|
157
|
+
|
|
158
|
+
What can we claim WITH evidence?
|
|
159
|
+
(Benchmarks, citations, public docs, internal metrics with scope)
|
|
160
|
+
|
|
161
|
+
> Vector DBs don't track outcome success rates (cite LangChain docs)
|
|
162
|
+
> RAG systems retrieve but don't learn (cite industry surveys)
|
|
163
|
+
> Pattern-based retrieval improves over time (internal: 84% success rate)
|
|
164
|
+
|
|
165
|
+
What must be framed as HYPOTHESIS or EXPERIENCE?
|
|
166
|
+
|
|
167
|
+
> "In our deployments, we've seen..." (scope: 50+ users)
|
|
168
|
+
> "Teams often struggle with..." (experience, not universal)
|
|
169
|
+
|
|
170
|
+
───────────────────────────────────────────────────────────────────
|
|
171
|
+
📋 Step 3: Trade-offs
|
|
172
|
+
|
|
173
|
+
What are the top 3 trade-offs of ekkOS's approach?
|
|
174
|
+
|
|
175
|
+
> 1. Requires user adoption of pattern forging habits
|
|
176
|
+
> 2. Cold start problem - needs initial patterns to be useful
|
|
177
|
+
> 3. Verification adds latency vs pure retrieval
|
|
178
|
+
|
|
179
|
+
───────────────────────────────────────────────────────────────────
|
|
180
|
+
📋 Step 4: Where We Don't Fit
|
|
181
|
+
|
|
182
|
+
Write the "where ekkOS_ doesn't fit" paragraph:
|
|
183
|
+
|
|
184
|
+
> ekkOS_ is not the right choice if you need: (a) pure vector search
|
|
185
|
+
> without learning, (b) one-shot retrieval without feedback loops,
|
|
186
|
+
> or (c) systems where patterns don't repeat across sessions.
|
|
187
|
+
|
|
188
|
+
───────────────────────────────────────────────────────────────────
|
|
189
|
+
📋 Step 5: Generate Metadata
|
|
190
|
+
|
|
191
|
+
Title: "Why Most AI Memory Solutions Miss the Point"
|
|
192
|
+
Slug: why-most-ai-memory-solutions-miss-the-point
|
|
193
|
+
Description: "Vector databases store context. RAG retrieves it.
|
|
194
|
+
But neither learns from outcomes. Here's what's missing."
|
|
195
|
+
Tags: ["memory", "RAG", "vector-db", "learning", "architecture"]
|
|
196
|
+
Author: ekkOS Team
|
|
197
|
+
|
|
198
|
+
───────────────────────────────────────────────────────────────────
|
|
199
|
+
✅ Creating post...
|
|
200
|
+
|
|
201
|
+
Created: apps/blog/content/why-most-ai-memory-solutions-miss-the-point.md
|
|
202
|
+
|
|
203
|
+
📝 Post created as DRAFT. Next steps:
|
|
204
|
+
/blog edit why-most-ai-memory-solutions-miss-the-point
|
|
205
|
+
/blog tonecheck why-most-ai-memory-solutions-miss-the-point
|
|
206
|
+
/blog image why-most-ai-memory-solutions-miss-the-point
|
|
207
|
+
/blog publish why-most-ai-memory-solutions-miss-the-point
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Example - Tone Check (`/blog tonecheck`)
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
/blog tonecheck patterns-that-learn
|
|
216
|
+
|
|
217
|
+
📝 Tone Check: patterns-that-learn.md
|
|
218
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
219
|
+
|
|
220
|
+
📊 Salesiness Score: 8% ✅ (threshold: <15%)
|
|
221
|
+
|
|
222
|
+
Metrics:
|
|
223
|
+
• ekkOS mentions: 3 (all in final section) ✅
|
|
224
|
+
• First mention: line 142 (87% into post) ✅
|
|
225
|
+
• Product density: 2.1% ✅
|
|
226
|
+
• Banned words found: 0 ✅
|
|
227
|
+
• "Simply/Just" found: 0 ✅
|
|
228
|
+
|
|
229
|
+
───────────────────────────────────────────────────────────────────
|
|
230
|
+
✅ Truthfulness Checklist:
|
|
231
|
+
|
|
232
|
+
[✓] Numeric claims sourced
|
|
233
|
+
• "60-70% drop" → The Hacker News (cited line 38)
|
|
234
|
+
|
|
235
|
+
[✓] Comparisons qualified
|
|
236
|
+
• "in many setups" used appropriately
|
|
237
|
+
|
|
238
|
+
[✓] No unqualified roadmap claims
|
|
239
|
+
|
|
240
|
+
[✓] Has "Trade-offs" section (line 98)
|
|
241
|
+
|
|
242
|
+
───────────────────────────────────────────────────────────────────
|
|
243
|
+
⚠️ Warnings (advisory, not blocking):
|
|
244
|
+
|
|
245
|
+
• Line 45: "often fails" → Consider adding scope qualifier
|
|
246
|
+
• Consider adding explicit "Limitations" subsection
|
|
247
|
+
|
|
248
|
+
───────────────────────────────────────────────────────────────────
|
|
249
|
+
🚫 Blockers: None
|
|
250
|
+
|
|
251
|
+
Overall: PASS ✅
|
|
252
|
+
|
|
253
|
+
Ready to publish? Run: /blog publish patterns-that-learn
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Example - Claims Audit (`/blog claims`)
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
/blog claims patterns-that-learn
|
|
262
|
+
|
|
263
|
+
📋 Claims Audit: patterns-that-learn.md
|
|
264
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
265
|
+
|
|
266
|
+
Found 7 claims (declarative, numeric, or comparative):
|
|
267
|
+
|
|
268
|
+
───────────────────────────────────────────────────────────────────
|
|
269
|
+
1. "False positives drop by 60-70% in first feedback cycle"
|
|
270
|
+
|
|
271
|
+
Type: OBSERVED ✅
|
|
272
|
+
Source: The Hacker News (cited line 38) ✅
|
|
273
|
+
Status: Valid
|
|
274
|
+
|
|
275
|
+
───────────────────────────────────────────────────────────────────
|
|
276
|
+
2. "Most knowledge bases don't track which solutions work"
|
|
277
|
+
|
|
278
|
+
Type: EXPERIENCE ⚠️
|
|
279
|
+
Qualifier: Missing scope
|
|
280
|
+
|
|
281
|
+
Suggested fix:
|
|
282
|
+
"In our analysis of 20+ knowledge base implementations,
|
|
283
|
+
most don't track which solutions actually work."
|
|
284
|
+
|
|
285
|
+
───────────────────────────────────────────────────────────────────
|
|
286
|
+
3. "ekkOS patterns surface more effective solutions over time"
|
|
287
|
+
|
|
288
|
+
Type: COMPARATIVE ⚠️
|
|
289
|
+
Issue: Needs conditions defined
|
|
290
|
+
|
|
291
|
+
Suggested fix:
|
|
292
|
+
"In systems with active feedback loops, ekkOS patterns
|
|
293
|
+
surface more effective solutions over time, as measured
|
|
294
|
+
by success rate improvements in our internal deployments."
|
|
295
|
+
|
|
296
|
+
───────────────────────────────────────────────────────────────────
|
|
297
|
+
4. "Pattern success rates improve with feedback"
|
|
298
|
+
|
|
299
|
+
Type: OBSERVED ✅
|
|
300
|
+
Source: Internal metrics (labeled line 112) ✅
|
|
301
|
+
Status: Valid
|
|
302
|
+
|
|
303
|
+
───────────────────────────────────────────────────────────────────
|
|
304
|
+
5. "Static knowledge bases don't learn"
|
|
305
|
+
|
|
306
|
+
Type: OBSERVED ✅
|
|
307
|
+
Source: Architectural definition (self-evident) ✅
|
|
308
|
+
Status: Valid
|
|
309
|
+
|
|
310
|
+
───────────────────────────────────────────────────────────────────
|
|
311
|
+
6. "The principle applies directly to development knowledge"
|
|
312
|
+
|
|
313
|
+
Type: EXPERIENCE ✅
|
|
314
|
+
Qualifier: "The principle" (referential, scoped) ✅
|
|
315
|
+
Status: Valid
|
|
316
|
+
|
|
317
|
+
───────────────────────────────────────────────────────────────────
|
|
318
|
+
7. "Without this, your knowledge base is just a filing cabinet"
|
|
319
|
+
|
|
320
|
+
Type: COMPARATIVE ✅
|
|
321
|
+
Qualifier: Metaphor, clearly rhetorical ✅
|
|
322
|
+
Status: Valid
|
|
323
|
+
|
|
324
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
325
|
+
|
|
326
|
+
Summary:
|
|
327
|
+
✅ Valid: 5 claims
|
|
328
|
+
⚠️ Needs qualifier: 2 claims
|
|
329
|
+
🚫 Invalid: 0 claims
|
|
330
|
+
|
|
331
|
+
Actions Required:
|
|
332
|
+
[ ] Add scope to claim #2
|
|
333
|
+
[ ] Define conditions for claim #3
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Example - Research (`/blog research`)
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
/blog research "AI agent memory systems January 2026"
|
|
342
|
+
|
|
343
|
+
📡 Researching with Perplexity Sonar Pro...
|
|
344
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
345
|
+
|
|
346
|
+
🔍 Query: "AI agent memory systems developments January 2026"
|
|
347
|
+
📅 Recency: Last 30 days
|
|
348
|
+
|
|
349
|
+
───────────────────────────────────────────────────────────────────
|
|
350
|
+
📰 Key Findings:
|
|
351
|
+
|
|
352
|
+
1. **OpenAI Agents SDK Update** (Jan 5, 2026)
|
|
353
|
+
Native memory persistence announced for multi-turn agents
|
|
354
|
+
Source: [OpenAI Blog](https://openai.com/blog/agents-sdk-memory)
|
|
355
|
+
|
|
356
|
+
Gap: Still retrieval-only, no verified learning loop
|
|
357
|
+
|
|
358
|
+
2. **LangChain Memory Module v0.3** (Jan 3, 2026)
|
|
359
|
+
New ConversationBufferMemory with persistence
|
|
360
|
+
Source: [LangChain Docs](https://docs.langchain.com/memory)
|
|
361
|
+
|
|
362
|
+
Gap: Storage without outcome tracking
|
|
363
|
+
|
|
364
|
+
3. **Stanford HAI Paper: "Memory-Augmented Agents"** (Dec 28, 2025)
|
|
365
|
+
Research on episodic memory for LLM agents
|
|
366
|
+
Source: [arXiv](https://arxiv.org/abs/2512.xxxxx)
|
|
367
|
+
|
|
368
|
+
Insight: Validates feedback-driven pattern evolution
|
|
369
|
+
|
|
370
|
+
4. **Hacker News Discussion: "RAG is Not Memory"** (Jan 2, 2026)
|
|
371
|
+
200+ comments on memory vs retrieval distinction
|
|
372
|
+
Source: [HN Thread](https://news.ycombinator.com/item?id=xxxxx)
|
|
373
|
+
|
|
374
|
+
Angle: Community already understands the problem
|
|
375
|
+
|
|
376
|
+
───────────────────────────────────────────────────────────────────
|
|
377
|
+
💡 ekkOS Blog Angles (aligned with editorial stance):
|
|
378
|
+
|
|
379
|
+
1. "What OpenAI's Agents SDK Gets Right About Memory (And What's Missing)"
|
|
380
|
+
Template: Research Commentary
|
|
381
|
+
Angle: Acknowledge progress, identify verification gap
|
|
382
|
+
ekkOS fit: Where feedback loops matter
|
|
383
|
+
|
|
384
|
+
2. "The Stanford HAI Paper Validates What We've Been Building"
|
|
385
|
+
Template: Research Commentary
|
|
386
|
+
Angle: Academic support for pattern evolution
|
|
387
|
+
ekkOS fit: Implementation of their research direction
|
|
388
|
+
|
|
389
|
+
3. "Why the HN Community is Right: RAG Really Isn't Memory"
|
|
390
|
+
Template: Pain Point Deep Dive
|
|
391
|
+
Angle: Expand on community insight with architecture depth
|
|
392
|
+
ekkOS fit: One approach to the problem they identified
|
|
393
|
+
|
|
394
|
+
───────────────────────────────────────────────────────────────────
|
|
395
|
+
📋 Claim Validation Opportunities:
|
|
396
|
+
|
|
397
|
+
Before writing, validate with Perplexity:
|
|
398
|
+
• "What benchmarks exist for agent memory systems?"
|
|
399
|
+
• "Criticisms of RAG-only approaches in production"
|
|
400
|
+
• "Failure modes of LangChain memory in long sessions"
|
|
401
|
+
|
|
402
|
+
Would you like to create a post on any of these topics?
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Example - Topic Ideas (`/blog ideas`)
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
/blog ideas
|
|
411
|
+
|
|
412
|
+
💡 Topic Ideas for ekkOS Blog
|
|
413
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
414
|
+
|
|
415
|
+
Based on: ekkOS mission, current trends, content gaps
|
|
416
|
+
|
|
417
|
+
───────────────────────────────────────────────────────────────────
|
|
418
|
+
🔥 High Priority (trending + aligned):
|
|
419
|
+
|
|
420
|
+
1. "The Verification Gap in AI Agent Memory"
|
|
421
|
+
Why: OpenAI/LangChain memory lacks outcome tracking
|
|
422
|
+
Template: Pain Point Deep Dive
|
|
423
|
+
Evidence available: Yes (public docs, benchmarks)
|
|
424
|
+
|
|
425
|
+
2. "How Feedback Loops Change AI Knowledge Management"
|
|
426
|
+
Why: Academic research supports this direction
|
|
427
|
+
Template: Research Commentary
|
|
428
|
+
Evidence available: Yes (Stanford HAI paper)
|
|
429
|
+
|
|
430
|
+
3. "What Enterprise Teams Get Wrong About RAG"
|
|
431
|
+
Why: Perplexity shows enterprise RAG struggles
|
|
432
|
+
Template: Field Guide
|
|
433
|
+
Evidence available: Yes (industry surveys)
|
|
434
|
+
|
|
435
|
+
───────────────────────────────────────────────────────────────────
|
|
436
|
+
📚 Educational (evergreen):
|
|
437
|
+
|
|
438
|
+
4. "A Field Guide to AI Memory Architectures"
|
|
439
|
+
Why: Foundational content, drives organic search
|
|
440
|
+
Template: Field Guide
|
|
441
|
+
Evidence available: Yes (architectural definitions)
|
|
442
|
+
|
|
443
|
+
5. "Measuring AI Agent Improvement Over Time"
|
|
444
|
+
Why: Practical how-to, unique to learning systems
|
|
445
|
+
Template: Field Guide
|
|
446
|
+
Evidence available: Internal metrics + methodology
|
|
447
|
+
|
|
448
|
+
───────────────────────────────────────────────────────────────────
|
|
449
|
+
⚠️ Avoid (too promotional or unsubstantiated):
|
|
450
|
+
|
|
451
|
+
• "Why ekkOS is Better Than LangChain" (comparative without conditions)
|
|
452
|
+
• "The Future of AI Memory" (aspirational, no evidence)
|
|
453
|
+
• "ekkOS Success Stories" (case study needs real customers)
|
|
454
|
+
|
|
455
|
+
───────────────────────────────────────────────────────────────────
|
|
456
|
+
Ready to write? Run: /blog new "[topic]"
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Example - SEO Optimization (`/blog seo`)
|
|
462
|
+
|
|
463
|
+
```
|
|
464
|
+
/blog seo patterns-that-learn
|
|
465
|
+
|
|
466
|
+
🔍 SEO Optimization: patterns-that-learn.md
|
|
467
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
468
|
+
|
|
469
|
+
Current metadata:
|
|
470
|
+
Title: "Patterns That Learn — How AI Memory Should Actually Work"
|
|
471
|
+
Description: "Static knowledge bases don't improve. Feedback
|
|
472
|
+
loops do. Here's how patterns can evolve based on whether they
|
|
473
|
+
actually solve problems."
|
|
474
|
+
|
|
475
|
+
───────────────────────────────────────────────────────────────────
|
|
476
|
+
✅ SEO Compliance Check:
|
|
477
|
+
|
|
478
|
+
[✓] Title is problem-oriented (not product-oriented)
|
|
479
|
+
[✓] Description promises learning (not product outcomes)
|
|
480
|
+
[✓] Tags are topical: patterns, feedback-loops, learning, architecture
|
|
481
|
+
[✓] No brand-heavy tags
|
|
482
|
+
|
|
483
|
+
───────────────────────────────────────────────────────────────────
|
|
484
|
+
💡 Optimization Suggestions:
|
|
485
|
+
|
|
486
|
+
Title alternatives (A/B test candidates):
|
|
487
|
+
• "Why Static Knowledge Bases Don't Learn (And What Does)"
|
|
488
|
+
• "Feedback Loops for AI Knowledge: A Practical Guide"
|
|
489
|
+
• "The Missing Piece in AI Knowledge Management"
|
|
490
|
+
|
|
491
|
+
Description alternatives:
|
|
492
|
+
• "Most knowledge bases just store information. They don't know
|
|
493
|
+
which solutions actually work. Here's how to fix that with
|
|
494
|
+
feedback-driven patterns."
|
|
495
|
+
|
|
496
|
+
Additional tags to consider:
|
|
497
|
+
• knowledge-management
|
|
498
|
+
• developer-tools
|
|
499
|
+
• ai-infrastructure
|
|
500
|
+
|
|
501
|
+
───────────────────────────────────────────────────────────────────
|
|
502
|
+
🚫 SEO Anti-patterns (avoided):
|
|
503
|
+
|
|
504
|
+
✓ Not using: "ekkOS" in title
|
|
505
|
+
✓ Not using: "best", "ultimate", "revolutionary"
|
|
506
|
+
✓ Not promising: product outcomes in description
|
|
507
|
+
|
|
508
|
+
Update metadata? (yes/no)
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## Frontmatter Reference
|
|
514
|
+
|
|
515
|
+
All posts use this schema:
|
|
516
|
+
|
|
517
|
+
```yaml
|
|
518
|
+
---
|
|
519
|
+
title: "Post Title Here"
|
|
520
|
+
description: "SEO description under 160 characters. Promise learning, not product outcomes."
|
|
521
|
+
date: "2026-01-14T09:00:00-05:00" # ISO 8601, controls publication
|
|
522
|
+
author: "ekkOS Team"
|
|
523
|
+
tags: ["tag1", "tag2", "tag3"] # Topical, not brand-heavy
|
|
524
|
+
image: "/images/blog/slug-name.png"
|
|
525
|
+
imageAlt: "Descriptive alt text for accessibility"
|
|
526
|
+
draft: true # Optional - hides from public until removed
|
|
527
|
+
---
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
**Publication Logic:**
|
|
531
|
+
- `draft: true` → Hidden from public, visible at /preview
|
|
532
|
+
- `date > now` → Scheduled, hidden until date passes
|
|
533
|
+
- `draft: false && date <= now` → Published
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## Banned Words and Constructions
|
|
538
|
+
|
|
539
|
+
**Hard ban (will fail tonecheck):**
|
|
540
|
+
- revolutionary
|
|
541
|
+
- game-changing
|
|
542
|
+
- unparalleled
|
|
543
|
+
- best-in-class
|
|
544
|
+
- world-class
|
|
545
|
+
- ultimate
|
|
546
|
+
|
|
547
|
+
**Soft ban (warnings):**
|
|
548
|
+
- "Simply..." (minimizes complexity)
|
|
549
|
+
- "Just..." (minimizes complexity)
|
|
550
|
+
- "Our solution is better than..." (unqualified comparative)
|
|
551
|
+
|
|
552
|
+
**Preferred language:**
|
|
553
|
+
- trade-offs
|
|
554
|
+
- failure modes
|
|
555
|
+
- constraints
|
|
556
|
+
- what to measure
|
|
557
|
+
- how to validate
|
|
558
|
+
- in practice
|
|
559
|
+
- in many setups
|
|
560
|
+
- depends on
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
## Claim Categories
|
|
565
|
+
|
|
566
|
+
Every claim in a post should fall into one of these categories:
|
|
567
|
+
|
|
568
|
+
| Category | Definition | Requirement |
|
|
569
|
+
|----------|------------|-------------|
|
|
570
|
+
| **Observed** | Backed by citation, benchmark, public doc | Must cite source |
|
|
571
|
+
| **Experience** | "We've seen..." or "In our deployments..." | Must include scope |
|
|
572
|
+
| **Aspirational** | Planned features or roadmap | Must label "planned" or "in progress" |
|
|
573
|
+
| **Comparative** | "X is better than Y" | Must define conditions |
|
|
574
|
+
|
|
575
|
+
**Rule:** If a paragraph includes a product claim, it must include either (a) a citation, (b) a concrete constraint, or (c) an explicit "depends on" qualifier.
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Competitor Mentions
|
|
580
|
+
|
|
581
|
+
When mentioning other tools (LangChain, LlamaIndex, etc.):
|
|
582
|
+
|
|
583
|
+
**Do:**
|
|
584
|
+
- Critique approaches, not teams
|
|
585
|
+
- Use "in many setups" and "often" rather than absolutes
|
|
586
|
+
- Acknowledge what they do well
|
|
587
|
+
- Identify gaps that appear at scale
|
|
588
|
+
|
|
589
|
+
**Don't:**
|
|
590
|
+
- Assert intent or competence of another team
|
|
591
|
+
- Make unqualified "better than" claims
|
|
592
|
+
- Use dismissive language
|
|
593
|
+
|
|
594
|
+
**Pattern:**
|
|
595
|
+
"Here's what [tool] is strong at; here's the gap that shows up at scale; here's one way to address it."
|
|
596
|
+
|
|
597
|
+
---
|
|
598
|
+
|
|
599
|
+
## The "ekkOS_ Promo with Class" Formula
|
|
600
|
+
|
|
601
|
+
Every post gets ONE small section with this structure:
|
|
602
|
+
|
|
603
|
+
**Section title:** "How we think about this at ekkOS_"
|
|
604
|
+
|
|
605
|
+
**Contents (3-6 sentences max):**
|
|
606
|
+
1. One concrete capability
|
|
607
|
+
2. One explicit constraint or trade-off
|
|
608
|
+
3. One "how to evaluate" suggestion
|
|
609
|
+
|
|
610
|
+
**Example:**
|
|
611
|
+
> ### How we think about this at ekkOS_
|
|
612
|
+
>
|
|
613
|
+
> We address this by tracking outcome success rates for every pattern retrieved.
|
|
614
|
+
> When a pattern helps solve a problem, its weight increases; when it doesn't, it
|
|
615
|
+
> decreases. This requires users to close the feedback loop, which adds friction
|
|
616
|
+
> but enables genuine learning. If you're evaluating memory systems, ask: "Does
|
|
617
|
+
> this system know which of its suggestions actually worked?"
|
|
618
|
+
|
|
619
|
+
---
|
|
620
|
+
|
|
621
|
+
## Implementation Details
|
|
622
|
+
|
|
623
|
+
When this command runs, Claude will:
|
|
624
|
+
|
|
625
|
+
**For `/blog` (dashboard):**
|
|
626
|
+
1. Use `Glob` to find all `*.md` files in `apps/blog/content/`
|
|
627
|
+
2. Use `Read` to parse frontmatter from each file
|
|
628
|
+
3. Categorize by status (published/scheduled/draft)
|
|
629
|
+
4. Display sorted by date
|
|
630
|
+
|
|
631
|
+
**For `/blog new`:**
|
|
632
|
+
1. Guide through template selection
|
|
633
|
+
2. Ask evidence vs hypothesis questions
|
|
634
|
+
3. Ask trade-offs questions
|
|
635
|
+
4. Ask "where we don't fit" question
|
|
636
|
+
5. Generate slug from title
|
|
637
|
+
6. Use `Write` to create markdown file with frontmatter + template structure
|
|
638
|
+
|
|
639
|
+
**For `/blog tonecheck`:**
|
|
640
|
+
1. Use `Read` to get post content
|
|
641
|
+
2. Count ekkOS mentions and their positions
|
|
642
|
+
3. Check for banned words (regex match)
|
|
643
|
+
4. Verify truthfulness checklist items exist
|
|
644
|
+
5. Calculate salesiness score
|
|
645
|
+
6. Output advisory warnings + any blockers
|
|
646
|
+
|
|
647
|
+
**For `/blog claims`:**
|
|
648
|
+
1. Use `Read` to get post content
|
|
649
|
+
2. Extract declarative sentences, numeric claims, comparative phrases
|
|
650
|
+
3. Categorize each claim (Observed/Experience/Aspirational/Comparative)
|
|
651
|
+
4. Check for required citations or qualifiers
|
|
652
|
+
5. Output checklist with suggested fixes
|
|
653
|
+
|
|
654
|
+
**For `/blog research`:**
|
|
655
|
+
1. Call `mcp__perplexity__search` or `mcp__perplexity__reason` with topic
|
|
656
|
+
2. Parse results for trends, citations, gaps
|
|
657
|
+
3. Map findings to ekkOS blog angles
|
|
658
|
+
4. Suggest claim validation queries
|
|
659
|
+
|
|
660
|
+
**For `/blog image`:**
|
|
661
|
+
1. Read post to understand topic
|
|
662
|
+
2. Generate FLUX 2 Max prompt following blog image style
|
|
663
|
+
3. Run `apps/blog/scripts/generate-blog-images.mjs` or generate inline
|
|
664
|
+
4. Save to `apps/blog/public/images/blog/`
|
|
665
|
+
|
|
666
|
+
---
|
|
667
|
+
|
|
668
|
+
## Requirements
|
|
669
|
+
|
|
670
|
+
- ekkOS blog infrastructure in `apps/blog/`
|
|
671
|
+
- Perplexity MCP server configured (for research commands)
|
|
672
|
+
- FLUX 2 Max via Vercel AI Gateway (for image generation)
|
|
673
|
+
- File system access via Claude Code tools
|
|
674
|
+
|
|
675
|
+
---
|
|
676
|
+
|
|
677
|
+
## Content Location
|
|
678
|
+
|
|
679
|
+
- Posts: `apps/blog/content/*.md`
|
|
680
|
+
- Images: `apps/blog/public/images/blog/`
|
|
681
|
+
- Preview: Visit `/preview` route in running blog
|
|
682
|
+
|
|
683
|
+
---
|
|
684
|
+
|
|
685
|
+
## Quality Standards
|
|
686
|
+
|
|
687
|
+
This is an editorial enforcement system. The goal is thought leadership that builds credibility, not marketing copy that generates skepticism.
|
|
688
|
+
|
|
689
|
+
**The test:** Would a senior engineer at a competitor read this and think "that's a fair and useful analysis" rather than "that's just marketing"?
|
|
690
|
+
|
|
691
|
+
If yes, publish. If no, revise.
|