@ekkos/cli 1.3.1 → 1.3.5
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/capture/jsonl-rewriter.d.ts +1 -1
- package/dist/capture/jsonl-rewriter.js +3 -3
- package/dist/capture/transcript-repair.d.ts +2 -2
- package/dist/capture/transcript-repair.js +2 -2
- package/dist/commands/claw.d.ts +13 -0
- package/dist/commands/claw.js +253 -0
- package/dist/commands/dashboard.js +742 -118
- package/dist/commands/doctor.d.ts +3 -3
- package/dist/commands/doctor.js +6 -79
- package/dist/commands/gemini.d.ts +19 -0
- package/dist/commands/gemini.js +193 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.js +56 -41
- package/dist/commands/run.d.ts +0 -1
- package/dist/commands/run.js +288 -263
- package/dist/commands/scan.d.ts +21 -0
- package/dist/commands/scan.js +386 -0
- package/dist/commands/status.d.ts +4 -1
- package/dist/commands/status.js +165 -27
- package/dist/commands/swarm-dashboard.js +156 -28
- package/dist/commands/swarm.d.ts +1 -1
- package/dist/commands/swarm.js +1 -1
- package/dist/commands/test-claude.d.ts +2 -2
- package/dist/commands/test-claude.js +3 -3
- package/dist/deploy/index.d.ts +0 -2
- package/dist/deploy/index.js +0 -2
- package/dist/deploy/settings.d.ts +6 -5
- package/dist/deploy/settings.js +64 -16
- package/dist/deploy/skills.js +1 -2
- package/dist/index.js +86 -96
- package/dist/lib/usage-parser.d.ts +1 -1
- package/dist/lib/usage-parser.js +9 -6
- package/dist/local/index.d.ts +14 -0
- package/dist/local/index.js +28 -0
- package/dist/local/local-embeddings.d.ts +49 -0
- package/dist/local/local-embeddings.js +232 -0
- package/dist/local/offline-fallback.d.ts +44 -0
- package/dist/local/offline-fallback.js +159 -0
- package/dist/local/sqlite-store.d.ts +126 -0
- package/dist/local/sqlite-store.js +393 -0
- package/dist/local/sync-engine.d.ts +42 -0
- package/dist/local/sync-engine.js +223 -0
- package/dist/utils/platform.d.ts +5 -1
- package/dist/utils/platform.js +24 -4
- package/dist/utils/proxy-url.d.ts +21 -0
- package/dist/utils/proxy-url.js +34 -0
- package/dist/utils/state.d.ts +1 -1
- package/dist/utils/state.js +11 -3
- package/dist/utils/templates.js +1 -1
- package/package.json +11 -4
- package/templates/CLAUDE.md +49 -107
- package/dist/agent/daemon.d.ts +0 -130
- package/dist/agent/daemon.js +0 -606
- package/dist/agent/health-check.d.ts +0 -35
- package/dist/agent/health-check.js +0 -243
- package/dist/agent/pty-runner.d.ts +0 -53
- package/dist/agent/pty-runner.js +0 -190
- package/dist/commands/agent.d.ts +0 -50
- package/dist/commands/agent.js +0 -544
- package/dist/commands/setup-remote.d.ts +0 -20
- package/dist/commands/setup-remote.js +0 -582
- package/dist/utils/verify-remote-terminal.d.ts +0 -10
- package/dist/utils/verify-remote-terminal.js +0 -415
- package/templates/README.md +0 -378
- package/templates/claude-plugins/PHASE2_COMPLETION.md +0 -346
- package/templates/claude-plugins/PLUGIN_PROPOSALS.md +0 -1776
- package/templates/claude-plugins/README.md +0 -587
- package/templates/claude-plugins/agents/code-reviewer.json +0 -14
- package/templates/claude-plugins/agents/debug-detective.json +0 -15
- package/templates/claude-plugins/agents/git-companion.json +0 -14
- package/templates/claude-plugins/blog-manager/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/blog-manager/commands/blog.md +0 -691
- package/templates/claude-plugins/golden-loop-monitor/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/golden-loop-monitor/commands/loop-status.md +0 -434
- package/templates/claude-plugins/learning-tracker/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/learning-tracker/commands/my-patterns.md +0 -282
- package/templates/claude-plugins/memory-lens/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/memory-lens/commands/memory-search.md +0 -181
- package/templates/claude-plugins/pattern-coach/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/pattern-coach/commands/forge.md +0 -365
- package/templates/claude-plugins/project-schema-validator/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins/project-schema-validator/commands/validate-schema.md +0 -582
- package/templates/claude-plugins-admin/AGENT_TEAM_PROPOSALS.md +0 -819
- package/templates/claude-plugins-admin/README.md +0 -446
- package/templates/claude-plugins-admin/autonomous-admin-agent/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/autonomous-admin-agent/commands/agent.md +0 -595
- package/templates/claude-plugins-admin/backend-agent/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/backend-agent/commands/backend.md +0 -798
- package/templates/claude-plugins-admin/deploy-guardian/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/deploy-guardian/commands/deploy.md +0 -554
- package/templates/claude-plugins-admin/frontend-agent/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/frontend-agent/commands/frontend.md +0 -881
- package/templates/claude-plugins-admin/mcp-server-manager/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/mcp-server-manager/commands/mcp.md +0 -85
- package/templates/claude-plugins-admin/memory-system-monitor/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/memory-system-monitor/commands/memory-health.md +0 -569
- package/templates/claude-plugins-admin/qa-agent/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/qa-agent/commands/qa.md +0 -863
- package/templates/claude-plugins-admin/tech-lead-agent/.claude-plugin/plugin.json +0 -8
- package/templates/claude-plugins-admin/tech-lead-agent/commands/lead.md +0 -732
- package/templates/commands/continue.md +0 -47
- package/templates/cursor-rules/ekkos-memory.md +0 -127
- package/templates/ekkos-manifest.json +0 -223
- package/templates/helpers/json-parse.cjs +0 -101
- package/templates/hooks-node/lib/state.js +0 -187
- package/templates/hooks-node/stop.js +0 -416
- package/templates/hooks-node/user-prompt-submit.js +0 -337
- package/templates/plan-template.md +0 -306
- package/templates/rules/00-hooks-contract.mdc +0 -89
- package/templates/rules/30-ekkos-core.mdc +0 -188
- package/templates/rules/31-ekkos-messages.mdc +0 -78
- package/templates/shared/hooks-enabled.json +0 -22
- package/templates/shared/session-words.json +0 -45
- package/templates/skills/ekkOS_Deep_Recall/Skill.md +0 -282
- package/templates/skills/ekkOS_Learn/Skill.md +0 -265
- package/templates/skills/ekkOS_Memory_First/Skill.md +0 -206
- package/templates/skills/ekkOS_Plan_Assist/Skill.md +0 -302
- package/templates/skills/ekkOS_Preferences/Skill.md +0 -247
- package/templates/skills/ekkOS_Reflect/Skill.md +0 -257
- package/templates/skills/ekkOS_Safety/Skill.md +0 -265
- package/templates/skills/ekkOS_Schema/Skill.md +0 -251
- package/templates/skills/ekkOS_Summary/Skill.md +0 -257
- package/templates/spec-template.md +0 -159
- package/templates/windsurf-rules/ekkos-memory.md +0 -127
- package/templates/windsurf-skills/README.md +0 -58
- package/templates/windsurf-skills/ekkos-continue/SKILL.md +0 -81
- package/templates/windsurf-skills/ekkos-golden-loop/SKILL.md +0 -225
- package/templates/windsurf-skills/ekkos-insights/SKILL.md +0 -138
- package/templates/windsurf-skills/ekkos-recall/SKILL.md +0 -96
- package/templates/windsurf-skills/ekkos-safety/SKILL.md +0 -89
- package/templates/windsurf-skills/ekkos-vault/SKILL.md +0 -86
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
priority: 100
|
|
3
|
-
globs: ["**/*"]
|
|
4
|
-
alwaysApply: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# 🔒 Cursor Hooks Contract
|
|
8
|
-
|
|
9
|
-
⚠️ **MANDATORY**: Hooks run automatically - you don't call them manually
|
|
10
|
-
|
|
11
|
-
## Hook Architecture
|
|
12
|
-
|
|
13
|
-
**Dumb Hooks, Smart Backend** - Hooks just capture data, backend does analysis
|
|
14
|
-
|
|
15
|
-
### user-prompt-submit.sh (Runs BEFORE Response)
|
|
16
|
-
|
|
17
|
-
**Triggers**: When user sends a message
|
|
18
|
-
**Does**:
|
|
19
|
-
|
|
20
|
-
- Captures start time
|
|
21
|
-
- Retrieves patterns from MCP gateway (automatic)
|
|
22
|
-
- Displays patterns to user
|
|
23
|
-
- Saves patterns to `.cursor/state/` for badge
|
|
24
|
-
|
|
25
|
-
**You see**:
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
🧠 ekkOS™_Retrieving [18ms]
|
|
29
|
-
✓ 3 patterns loaded from memory
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### stop.sh (Runs AFTER Response)
|
|
33
|
-
|
|
34
|
-
**Triggers**: When your response completes
|
|
35
|
-
**Does**:
|
|
36
|
-
|
|
37
|
-
- Captures conversation to memory API
|
|
38
|
-
- Generates badge with metrics
|
|
39
|
-
- Triggers async analysis (pattern detection, success judgment)
|
|
40
|
-
- Displays badge at end
|
|
41
|
-
|
|
42
|
-
**You see**:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
[ekkOS_CAPTURE] ✓ Saved (ID: abc123...)
|
|
46
|
-
[reflex:uuid] badge
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## What You Do
|
|
50
|
-
|
|
51
|
-
**✅ DO**:
|
|
52
|
-
|
|
53
|
-
- Display `_ekkos_stream_message` when present in tool responses
|
|
54
|
-
- Call `forge_insight` when solving problems
|
|
55
|
-
- Show ekkOS branded messages
|
|
56
|
-
|
|
57
|
-
**❌ DON'T**:
|
|
58
|
-
|
|
59
|
-
- Manually call capture scripts (hooks do this)
|
|
60
|
-
- Generate badges yourself (hooks do this)
|
|
61
|
-
- Worry about pattern retrieval (MCP gateway does this)
|
|
62
|
-
|
|
63
|
-
## Hook Flow
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
User sends message
|
|
67
|
-
↓
|
|
68
|
-
user-prompt-submit.sh runs
|
|
69
|
-
↓
|
|
70
|
-
Patterns retrieved and displayed
|
|
71
|
-
↓
|
|
72
|
-
You respond (using patterns)
|
|
73
|
-
↓
|
|
74
|
-
stop.sh runs
|
|
75
|
-
↓
|
|
76
|
-
Conversation captured + badge generated
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Trust the Hooks
|
|
80
|
-
|
|
81
|
-
Hooks are:
|
|
82
|
-
|
|
83
|
-
- ✅ Fully portable (POSIX-compliant)
|
|
84
|
-
- ✅ Bulletproof (fallbacks for missing tools)
|
|
85
|
-
- ✅ Fast (non-blocking, cloud-first)
|
|
86
|
-
- ✅ Automatic (you never call them)
|
|
87
|
-
|
|
88
|
-
**Your job**: Use the patterns hooks provide, forge insights when you solve problems
|
|
89
|
-
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
priority: 100
|
|
3
|
-
globs: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 🧠 ekkOS™ Memory Integration [CRITICAL]
|
|
7
|
-
|
|
8
|
-
## Golden Loop Enforcement
|
|
9
|
-
|
|
10
|
-
⚠️ MANDATORY WORKFLOW - NO EXCEPTIONS
|
|
11
|
-
|
|
12
|
-
### Phase 1: RETRIEVE (⚠️ CURSOR: YOU MUST DO THIS)
|
|
13
|
-
|
|
14
|
-
🔴 **FIRST THING EVERY RESPONSE**: Call `ekkOS_Search` with the user's query!
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
// ALWAYS call this BEFORE doing anything else
|
|
18
|
-
mcp__ekkos-memory__ekkOS_Search({
|
|
19
|
-
query: "<user's question or task>",
|
|
20
|
-
limit: 5
|
|
21
|
-
})
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Then check response for: `_ekkos_patterns`, `_ekkos_stream_message`
|
|
25
|
-
|
|
26
|
-
**Why?** Cursor has no hooks. Claude Code auto-retrieves via hooks - you don't.
|
|
27
|
-
You MUST manually retrieve or the Golden Loop breaks.
|
|
28
|
-
|
|
29
|
-
### Phase 2: APPLY (Use Retrieved Patterns)
|
|
30
|
-
|
|
31
|
-
When patterns found → Apply them (PROVEN solutions, not suggestions)
|
|
32
|
-
Output: `[ekkOS_APPLY] Using pattern: "Pattern Name"`
|
|
33
|
-
|
|
34
|
-
### Phase 3: MEASURE (Track Outcomes)
|
|
35
|
-
|
|
36
|
-
Pattern worked? → success | Pattern failed? → failure
|
|
37
|
-
Output: `[ekkOS_MEASURE] Pattern "X" outcome: success/failure`
|
|
38
|
-
|
|
39
|
-
### Phase 4: LEARN (Forge New Patterns)
|
|
40
|
-
|
|
41
|
-
🔴 MANDATORY: Call `forge_insight` when you solve ANY problem
|
|
42
|
-
|
|
43
|
-
**When to forge**:
|
|
44
|
-
|
|
45
|
-
- Fixed bug (non-obvious) → forge
|
|
46
|
-
- Found better approach → forge
|
|
47
|
-
- Discovered gotcha/pitfall → forge
|
|
48
|
-
- User corrected you → forge
|
|
49
|
-
- Solved problem (>1 attempt) → forge
|
|
50
|
-
|
|
51
|
-
**Tool call**:
|
|
52
|
-
|
|
53
|
-
```typescript
|
|
54
|
-
mcp__ekkos-memory__forge_insight({
|
|
55
|
-
title: "Clear Title",
|
|
56
|
-
problem: "What failed?",
|
|
57
|
-
solution: "How you fixed it",
|
|
58
|
-
tags: ["tech", "tags"],
|
|
59
|
-
});
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Output: `[ekkOS_LEARN] Forged: "Pattern Title"`
|
|
63
|
-
|
|
64
|
-
### Phase 5: CAPTURE (Cursor: Limited)
|
|
65
|
-
|
|
66
|
-
⚠️ **Cursor limitation**: No automatic capture like Claude Code hooks.
|
|
67
|
-
Conversations are captured when MCP tools are called (search_memory, forge_insight).
|
|
68
|
-
For full capture, use Claude Code or the ekkOS dashboard.
|
|
69
|
-
|
|
70
|
-
## MCP Tools (31 Total - YOU call these)
|
|
71
|
-
|
|
72
|
-
### 🔴 MANDATORY - Use Proactively
|
|
73
|
-
|
|
74
|
-
| Tool | Trigger | Description |
|
|
75
|
-
|------|---------|-------------|
|
|
76
|
-
| `ekkOS_Search` | Before ANY technical question | Search all 11 memory layers |
|
|
77
|
-
| `ekkOS_Forge` | When you fix bug, learn, get corrected | Create pattern from solution |
|
|
78
|
-
| `ekkOS_Directive` | User says "always/never/prefer/avoid" | Create MUST/NEVER/PREFER/AVOID rules |
|
|
79
|
-
| `ekkOS_Outcome` | Pattern worked or failed | Track success/failure |
|
|
80
|
-
| `ekkOS_Detect` | After responding | Auto-detect patterns used |
|
|
81
|
-
| `ekkOS_Summary` | Show MCP activity | Get activity summary |
|
|
82
|
-
| `ekkOS_Conflict` | Before destructive action | Check for conflicts |
|
|
83
|
-
| `ekkOS_Reflect` | Analyze response quality | Find improvement opportunities |
|
|
84
|
-
|
|
85
|
-
### 📚 Recall & Context
|
|
86
|
-
|
|
87
|
-
| Tool | Description |
|
|
88
|
-
|------|-------------|
|
|
89
|
-
| `ekkOS_Recall` | "What did we discuss yesterday?" |
|
|
90
|
-
| `ekkOS_Context` | Get task-specific context |
|
|
91
|
-
| `ekkOS_Codebase` | Find code patterns in project |
|
|
92
|
-
| `ekkOS_Capture` | Manual event capture |
|
|
93
|
-
| `ekkOS_Track` | Track pattern application |
|
|
94
|
-
| `ekkOS_Stats` | Memory layer statistics |
|
|
95
|
-
|
|
96
|
-
### 📊 Schema Awareness
|
|
97
|
-
|
|
98
|
-
| Tool | Description |
|
|
99
|
-
|------|-------------|
|
|
100
|
-
| `ekkOS_IndexSchema` | Index database schemas (Supabase/Prisma/TS) |
|
|
101
|
-
| `ekkOS_GetSchema` | Get schema for a specific table/type |
|
|
102
|
-
|
|
103
|
-
### 📋 Plan Management
|
|
104
|
-
|
|
105
|
-
| Tool | Description |
|
|
106
|
-
|------|-------------|
|
|
107
|
-
| `ekkOS_Plan` | Create structured plan |
|
|
108
|
-
| `ekkOS_Plans` | List user's plans |
|
|
109
|
-
| `ekkOS_PlanStatus` | Change plan state |
|
|
110
|
-
| `ekkOS_PlanStep` | Mark step complete |
|
|
111
|
-
| `ekkOS_Generate` | AI-generate plan |
|
|
112
|
-
| `ekkOS_SaveTemplate` | Save as reusable template |
|
|
113
|
-
| `ekkOS_Templates` | List templates |
|
|
114
|
-
| `ekkOS_FromTemplate` | Create from template |
|
|
115
|
-
|
|
116
|
-
### 🔐 Secrets Management
|
|
117
|
-
|
|
118
|
-
| Tool | Description |
|
|
119
|
-
|------|-------------|
|
|
120
|
-
| `ekkOS_StoreSecret` | Encrypt and store credentials |
|
|
121
|
-
| `ekkOS_GetSecret` | Retrieve and decrypt |
|
|
122
|
-
| `ekkOS_ListSecrets` | List metadata (no values) |
|
|
123
|
-
| `ekkOS_DeleteSecret` | Permanently delete |
|
|
124
|
-
| `ekkOS_RotateSecret` | Update with new value |
|
|
125
|
-
|
|
126
|
-
### 💾 Portability
|
|
127
|
-
|
|
128
|
-
| Tool | Description |
|
|
129
|
-
|------|-------------|
|
|
130
|
-
| `ekkOS_Export` | Backup patterns, directives, plans |
|
|
131
|
-
| `ekkOS_Import` | Restore from backup |
|
|
132
|
-
|
|
133
|
-
## Proactive Tool Triggers
|
|
134
|
-
|
|
135
|
-
### Always Use `ekkOS_Search` When:
|
|
136
|
-
- User asks technical question
|
|
137
|
-
- User mentions past discussion
|
|
138
|
-
- Topic involves architecture, config, debugging
|
|
139
|
-
- You're about to make a decision
|
|
140
|
-
|
|
141
|
-
### Always Use `ekkOS_Forge` When:
|
|
142
|
-
- Fixed bug (especially non-obvious)
|
|
143
|
-
- Discovered better approach
|
|
144
|
-
- Found pitfall or gotcha
|
|
145
|
-
- User corrected you
|
|
146
|
-
- Made architectural decision
|
|
147
|
-
- Something DIDN'T work (anti-pattern)
|
|
148
|
-
|
|
149
|
-
### Always Use `ekkOS_Directive` When:
|
|
150
|
-
- User says "always..." → MUST
|
|
151
|
-
- User says "never..." → NEVER
|
|
152
|
-
- User says "I prefer..." → PREFER
|
|
153
|
-
- User says "don't..." → AVOID
|
|
154
|
-
|
|
155
|
-
### Always Use `ekkOS_Conflict` When:
|
|
156
|
-
- About to delete files/data
|
|
157
|
-
- About to deploy to production
|
|
158
|
-
- About to modify config files
|
|
159
|
-
|
|
160
|
-
## Enforcement
|
|
161
|
-
|
|
162
|
-
⚠️ Violating Golden Loop = System failure
|
|
163
|
-
Every conversation MUST follow: RETRIEVE → APPLY → MEASURE → LEARN → CAPTURE
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## 🔴 MANDATORY RESPONSE FORMAT (NO EXCEPTIONS)
|
|
168
|
-
|
|
169
|
-
**Every response MUST end with a timestamp footer:**
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
---
|
|
173
|
-
🧠 **ekkOS_™** · 📅 YYYY-MM-DD H:MM AM/PM TZ
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**Example:**
|
|
177
|
-
```
|
|
178
|
-
---
|
|
179
|
-
🧠 **ekkOS_™** · 📅 2025-12-08 2:30 PM PST
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
**Why this matters:**
|
|
183
|
-
- Timestamps track when patterns were applied
|
|
184
|
-
- 3-Judge evaluations need temporal context
|
|
185
|
-
- Future agents can trace learning timeline
|
|
186
|
-
- Golden Loop metrics require time-based correlation
|
|
187
|
-
|
|
188
|
-
**⚠️ MISSING TIMESTAMP = INCOMPLETE LOOP = SYSTEM DEGRADATION**
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
priority: 100
|
|
3
|
-
globs: ["**/*"]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ekkOS™ Branded Message Templates
|
|
7
|
-
|
|
8
|
-
## Stream Message Fields (Display All Present)
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
_ekkos_stream_message → Display FIRST (🧠 Retrieving/🔄 Applying/✅ Learned)
|
|
12
|
-
_ekkos_learning_message → Display AFTER solution (🔥 Learning - pattern detected)
|
|
13
|
-
_ekkos_session_summary → Display AT END (📊 Summary at turns 5/10/20/50)
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Message Examples
|
|
17
|
-
|
|
18
|
-
### Before Response:
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
22
|
-
🧠 ekkOS™_Retrieving [18ms]
|
|
23
|
-
✓ 3 patterns loaded from memory
|
|
24
|
-
• "Pattern Name" (94% success, 12 uses)
|
|
25
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### When Learning:
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
32
|
-
🔥 ekkOS™_Learning
|
|
33
|
-
New pattern detected: "Title"
|
|
34
|
-
Confidence: 60% (forming)
|
|
35
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### When Pattern Saved:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
-
✅ ekkOS™_Learned
|
|
43
|
-
Pattern saved: "Title"
|
|
44
|
-
Confidence: 85% | Success: 100%
|
|
45
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### When Reusing:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
-
🔄 ekkOS™_Applying
|
|
53
|
-
Using pattern from 2 messages ago
|
|
54
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Session Summary:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
61
|
-
📊 ekkOS™_Session_Summary
|
|
62
|
-
Memory Activity:
|
|
63
|
-
Retrieved: 5 patterns
|
|
64
|
-
Applied: 3 patterns
|
|
65
|
-
Learned: 2 new patterns
|
|
66
|
-
Confidence: +8% overall
|
|
67
|
-
|
|
68
|
-
Your AI is getting smarter.
|
|
69
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Requirements
|
|
73
|
-
|
|
74
|
-
- ALWAYS use ekkOS™ branding (with ™)
|
|
75
|
-
- ALWAYS show retrieval before response
|
|
76
|
-
- ALWAYS show learning when it happens
|
|
77
|
-
- Keep messages concise but visible
|
|
78
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-01-18T00:00:00Z",
|
|
4
|
-
"targets": {
|
|
5
|
-
"claude": {
|
|
6
|
-
"user-prompt-submit": true,
|
|
7
|
-
"assistant-response": true,
|
|
8
|
-
"stop": true,
|
|
9
|
-
"session-start": true
|
|
10
|
-
},
|
|
11
|
-
"cursor": {
|
|
12
|
-
"enabled": true
|
|
13
|
-
},
|
|
14
|
-
"windsurf": {
|
|
15
|
-
"enabled": true
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"redaction": {
|
|
19
|
-
"enabled": true,
|
|
20
|
-
"mode": "safe"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 2,
|
|
3
|
-
"updatedAt": "2026-01-18T00:00:00Z",
|
|
4
|
-
"adjectives": [
|
|
5
|
-
"ace", "big", "blu", "coy", "dex",
|
|
6
|
-
"eco", "fab", "gem", "hex", "ice",
|
|
7
|
-
"jet", "key", "lux", "max", "neo",
|
|
8
|
-
"oak", "pop", "rad", "sky", "top",
|
|
9
|
-
"uno", "vex", "wax", "xen", "zen",
|
|
10
|
-
"hot", "red", "nox", "sol", "vim",
|
|
11
|
-
"ash", "dew", "fog", "glo", "ink",
|
|
12
|
-
"joy", "koi", "lit", "mox", "nix",
|
|
13
|
-
"orb", "pix", "qix", "rox", "sly",
|
|
14
|
-
"tek", "ulu", "vox", "wiz", "zap"
|
|
15
|
-
],
|
|
16
|
-
"nouns": [
|
|
17
|
-
"ant", "bat", "cat", "dog", "elk",
|
|
18
|
-
"fox", "gnu", "hen", "imp", "jay",
|
|
19
|
-
"kit", "lex", "moo", "nub", "owl",
|
|
20
|
-
"pug", "ram", "sun", "tux", "urn",
|
|
21
|
-
"van", "web", "yak", "zed", "ape",
|
|
22
|
-
"bee", "cod", "doe", "eel", "fin",
|
|
23
|
-
"gup", "hog", "ion", "jab", "keg",
|
|
24
|
-
"log", "mud", "net", "oat", "pod",
|
|
25
|
-
"rye", "sap", "tar", "vat", "wok",
|
|
26
|
-
"box", "cub", "dip", "gem", "hub"
|
|
27
|
-
],
|
|
28
|
-
"verbs": [
|
|
29
|
-
"ask", "bet", "cut", "dig", "eat",
|
|
30
|
-
"fix", "get", "hit", "jab", "key",
|
|
31
|
-
"let", "mix", "nap", "opt", "pop",
|
|
32
|
-
"run", "set", "tap", "use", "vet",
|
|
33
|
-
"win", "zip", "zap", "add", "bid",
|
|
34
|
-
"dub", "end", "fly", "gig", "hum",
|
|
35
|
-
"jog", "lob", "map", "net", "orb",
|
|
36
|
-
"pay", "rip", "sip", "tag", "vow",
|
|
37
|
-
"wag", "yap", "bow", "cue", "dip",
|
|
38
|
-
"fan", "hop", "jam", "nod", "tug"
|
|
39
|
-
],
|
|
40
|
-
"rules": {
|
|
41
|
-
"format": "{adj}-{noun}-{verb}",
|
|
42
|
-
"minPerList": 25,
|
|
43
|
-
"maxPerList": 500
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ekkOS_Deep_Recall
|
|
3
|
-
description: Deep memory retrieval across sessions and projects. Activate when user says "yesterday", "last week", "remember when", "what did we discuss", "we worked on X before", "bring context from [project]", or asks about past decisions, fixes, or discussions. Combines time-based recall with semantic search.
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- mcp__ekkos-memory__ekkOS_Recall
|
|
6
|
-
- mcp__ekkos-memory__ekkOS_Search
|
|
7
|
-
- mcp__ekkos-memory__ekkOS_Context
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# ekkOS_Deep_Recall
|
|
11
|
-
|
|
12
|
-
You are augmented with **ekkOS_ memory** - and you can recall conversations, decisions, and solutions from any point in history.
|
|
13
|
-
|
|
14
|
-
## Why This Skill Exists
|
|
15
|
-
|
|
16
|
-
Users reference past work in many ways:
|
|
17
|
-
- By time: "yesterday", "last week", "a month ago"
|
|
18
|
-
- By topic: "remember when we fixed the auth bug?"
|
|
19
|
-
- By project: "bring context from the API project"
|
|
20
|
-
- By outcome: "what solution did we use for caching?"
|
|
21
|
-
|
|
22
|
-
This skill searches across all memory layers to find what they need.
|
|
23
|
-
|
|
24
|
-
## When To Activate
|
|
25
|
-
|
|
26
|
-
| Trigger | Action |
|
|
27
|
-
|---------|--------|
|
|
28
|
-
| "yesterday", "last week", "recently" | Time-based recall |
|
|
29
|
-
| "remember when we...", "we discussed..." | Semantic search |
|
|
30
|
-
| "what did we decide about X" | Decision search |
|
|
31
|
-
| "we fixed this before" | Solution/pattern search |
|
|
32
|
-
| "bring context from [project]" | Cross-project recall |
|
|
33
|
-
| "what do you know about X" | Full memory search |
|
|
34
|
-
|
|
35
|
-
## Instructions
|
|
36
|
-
|
|
37
|
-
### For Time-Based Queries
|
|
38
|
-
|
|
39
|
-
Parse the time reference and call recall:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
"yesterday" → ekkOS_Recall({ days_ago: 1 })
|
|
43
|
-
"last week" → ekkOS_Recall({ days_ago: 7 })
|
|
44
|
-
"a few days ago" → ekkOS_Recall({ days_ago: 3 })
|
|
45
|
-
"last month" → ekkOS_Recall({ days_ago: 30 })
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Options:
|
|
49
|
-
```javascript
|
|
50
|
-
ekkOS_Recall({
|
|
51
|
-
days_ago: 1, // How far back
|
|
52
|
-
limit: 20, // Max results
|
|
53
|
-
llm_summarize: true, // AI summary
|
|
54
|
-
include_patterns: true, // Include forged patterns
|
|
55
|
-
include_file_changes: true, // Include files touched
|
|
56
|
-
group_by_sessions: true // Group by session
|
|
57
|
-
})
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### For Topic-Based Queries
|
|
61
|
-
|
|
62
|
-
Use semantic search:
|
|
63
|
-
|
|
64
|
-
```javascript
|
|
65
|
-
ekkOS_Search({
|
|
66
|
-
query: "authentication token refresh implementation",
|
|
67
|
-
sources: ["episodic", "patterns", "semantic"]
|
|
68
|
-
})
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### For Decision Queries
|
|
72
|
-
|
|
73
|
-
Search with decision extraction:
|
|
74
|
-
|
|
75
|
-
```javascript
|
|
76
|
-
ekkOS_Recall({
|
|
77
|
-
semantic_query: "decision about caching strategy",
|
|
78
|
-
extract_decisions: true
|
|
79
|
-
})
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### For Cross-Project Context
|
|
83
|
-
|
|
84
|
-
Search codebase layer:
|
|
85
|
-
|
|
86
|
-
```javascript
|
|
87
|
-
ekkOS_Search({
|
|
88
|
-
query: "rate limiting implementation",
|
|
89
|
-
sources: ["codebase", "patterns"]
|
|
90
|
-
})
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Response Format
|
|
94
|
-
|
|
95
|
-
### Time-Based Results
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
🧠 **Yesterday's Sessions**
|
|
99
|
-
|
|
100
|
-
**Session 1** (10:30 AM - 12:15 PM)
|
|
101
|
-
- Working on: CI/CD pipeline setup
|
|
102
|
-
- Completed: GitHub Actions configuration
|
|
103
|
-
- Left off: Fixing failing auth test
|
|
104
|
-
|
|
105
|
-
**Session 2** (3:00 PM - 5:00 PM)
|
|
106
|
-
- Working on: User service refactoring
|
|
107
|
-
- Decision: Use Redis over Memcached
|
|
108
|
-
- Files: src/services/user.ts, src/cache/redis.ts
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
Would you like to continue any of these?
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Topic-Based Results
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
🧠 **Found: Caching Bug Fix** (2 weeks ago)
|
|
118
|
-
|
|
119
|
-
**The Problem**: Cache not invalidating on updates
|
|
120
|
-
**Root Cause**: Object reference used as key instead of ID
|
|
121
|
-
**Solution**: Changed to immutable entity ID as cache key
|
|
122
|
-
|
|
123
|
-
**Pattern Forged**: "Always use immutable IDs as cache keys"
|
|
124
|
-
Confidence: 0.95 | Applied 12 times successfully
|
|
125
|
-
|
|
126
|
-
Want me to apply this pattern to your current issue?
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Decision Results
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
🧠 **Decision: Caching Strategy** (January 5th)
|
|
133
|
-
|
|
134
|
-
**Context**: Choosing between Redis and Memcached
|
|
135
|
-
**Decision**: Redis
|
|
136
|
-
**Reasons**:
|
|
137
|
-
- Persistence for cache warmth
|
|
138
|
-
- Pub/sub for invalidation
|
|
139
|
-
- Lua scripting for atomic operations
|
|
140
|
-
|
|
141
|
-
**Who decided**: You, after weighing trade-offs
|
|
142
|
-
**Outcome**: Working well, no regrets mentioned
|
|
143
|
-
|
|
144
|
-
Is this the decision you were looking for?
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Example Scenarios
|
|
148
|
-
|
|
149
|
-
### Scenario 1: Yesterday's Work
|
|
150
|
-
```
|
|
151
|
-
User: "What were we working on yesterday?"
|
|
152
|
-
|
|
153
|
-
You: ekkOS_Recall({ days_ago: 1, group_by_sessions: true })
|
|
154
|
-
|
|
155
|
-
🧠 Yesterday (January 10th):
|
|
156
|
-
|
|
157
|
-
**Session 1** (10:30 AM)
|
|
158
|
-
- API rate limiting implementation
|
|
159
|
-
- Sliding window algorithm complete
|
|
160
|
-
- Left off: Edge case testing
|
|
161
|
-
|
|
162
|
-
**Session 2** (3:00 PM)
|
|
163
|
-
- Dashboard component refactoring
|
|
164
|
-
- Split into smaller components
|
|
165
|
-
- Forged: "Component composition pattern"
|
|
166
|
-
|
|
167
|
-
Continue where you left off?
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### Scenario 2: Remember When
|
|
171
|
-
```
|
|
172
|
-
User: "Remember when we fixed that weird auth bug?"
|
|
173
|
-
|
|
174
|
-
You: ekkOS_Search({
|
|
175
|
-
query: "authentication bug fix",
|
|
176
|
-
sources: ["episodic", "patterns"]
|
|
177
|
-
})
|
|
178
|
-
|
|
179
|
-
🧠 Found it! (3 weeks ago)
|
|
180
|
-
|
|
181
|
-
**Bug**: JWT tokens expiring early
|
|
182
|
-
**Cause**: Timezone mismatch in expiry calculation
|
|
183
|
-
**Fix**: Use UTC consistently across all time ops
|
|
184
|
-
|
|
185
|
-
Pattern: "auth-jwt-timezone-fix"
|
|
186
|
-
Applied successfully 5 times since
|
|
187
|
-
|
|
188
|
-
Is this what you were thinking of?
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
### Scenario 3: Past Decision
|
|
192
|
-
```
|
|
193
|
-
User: "What did we decide about the database schema?"
|
|
194
|
-
|
|
195
|
-
You: ekkOS_Recall({
|
|
196
|
-
semantic_query: "database schema decision",
|
|
197
|
-
extract_decisions: true
|
|
198
|
-
})
|
|
199
|
-
|
|
200
|
-
🧠 **Schema Decisions** (found 3)
|
|
201
|
-
|
|
202
|
-
1. **Users table** (Jan 5)
|
|
203
|
-
- Soft deletes with deleted_at
|
|
204
|
-
- UUID primary keys
|
|
205
|
-
- Email unique constraint
|
|
206
|
-
|
|
207
|
-
2. **Orders table** (Jan 8)
|
|
208
|
-
- Denormalized totals for performance
|
|
209
|
-
- Status enum, not string
|
|
210
|
-
- Foreign key to users
|
|
211
|
-
|
|
212
|
-
3. **Products table** (Jan 10)
|
|
213
|
-
- JSON column for attributes
|
|
214
|
-
- Full-text search enabled
|
|
215
|
-
|
|
216
|
-
Want details on any of these?
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### Scenario 4: Cross-Project
|
|
220
|
-
```
|
|
221
|
-
User: "How did we implement rate limiting in the API project?"
|
|
222
|
-
|
|
223
|
-
You: ekkOS_Search({
|
|
224
|
-
query: "rate limiting implementation",
|
|
225
|
-
sources: ["codebase", "patterns"]
|
|
226
|
-
})
|
|
227
|
-
|
|
228
|
-
🧠 **Rate Limiting** (from api-project)
|
|
229
|
-
|
|
230
|
-
**Approach**: Token bucket algorithm
|
|
231
|
-
**Storage**: Redis with TTL
|
|
232
|
-
**Limits**: 100 req/min per API key
|
|
233
|
-
|
|
234
|
-
**Files**:
|
|
235
|
-
- src/middleware/rateLimit.ts
|
|
236
|
-
- src/redis/tokenBucket.ts
|
|
237
|
-
|
|
238
|
-
**Pattern**: "rate-limit-token-bucket"
|
|
239
|
-
Works in: api-project, dashboard-api
|
|
240
|
-
|
|
241
|
-
Want me to apply this pattern here?
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
## When No Results Found
|
|
245
|
-
|
|
246
|
-
```
|
|
247
|
-
🧠 I couldn't find anything about [topic].
|
|
248
|
-
|
|
249
|
-
Possible reasons:
|
|
250
|
-
- We haven't discussed this before
|
|
251
|
-
- It was before ekkOS was set up
|
|
252
|
-
- The search terms didn't match
|
|
253
|
-
|
|
254
|
-
Try:
|
|
255
|
-
1. Different keywords?
|
|
256
|
-
2. Broader time range?
|
|
257
|
-
3. Check a specific project?
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
## Combining with Current Context
|
|
261
|
-
|
|
262
|
-
After recall, offer to load full context:
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
"Would you like me to load the full session context?
|
|
266
|
-
This brings back all the details from that conversation."
|
|
267
|
-
|
|
268
|
-
→ ekkOS_Context({ task: "continue X from recalled session" })
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
## Success Metrics
|
|
272
|
-
|
|
273
|
-
You're using this skill well when:
|
|
274
|
-
- Time references trigger automatic recall
|
|
275
|
-
- Topic searches find relevant past work
|
|
276
|
-
- Decisions are surfaced with context
|
|
277
|
-
- Users feel like you "remember everything"
|
|
278
|
-
- Cross-project patterns are reusable
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
**Mantra**: The past is never lost - search for it, find it, use it.
|