@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.
Files changed (135) hide show
  1. package/dist/cache/LocalSessionStore.d.ts +129 -0
  2. package/dist/cache/LocalSessionStore.js +688 -0
  3. package/dist/cache/capture.d.ts +26 -0
  4. package/dist/cache/capture.js +461 -0
  5. package/dist/cache/index.d.ts +7 -0
  6. package/dist/cache/index.js +23 -0
  7. package/dist/cache/types.d.ts +147 -0
  8. package/dist/cache/types.js +40 -0
  9. package/dist/commands/init.d.ts +9 -0
  10. package/dist/commands/init.js +478 -0
  11. package/dist/commands/run.d.ts +12 -0
  12. package/dist/commands/run.js +829 -0
  13. package/dist/commands/setup.d.ts +6 -0
  14. package/dist/commands/setup.js +658 -0
  15. package/dist/commands/status.d.ts +1 -0
  16. package/dist/commands/status.js +109 -0
  17. package/dist/commands/test.d.ts +1 -0
  18. package/dist/commands/test.js +157 -0
  19. package/dist/deploy/agents.d.ts +15 -0
  20. package/dist/deploy/agents.js +72 -0
  21. package/dist/deploy/hooks.d.ts +16 -0
  22. package/dist/deploy/hooks.js +121 -0
  23. package/dist/deploy/index.d.ts +7 -0
  24. package/dist/deploy/index.js +24 -0
  25. package/dist/deploy/instructions.d.ts +12 -0
  26. package/dist/deploy/instructions.js +36 -0
  27. package/dist/deploy/mcp.d.ts +19 -0
  28. package/dist/deploy/mcp.js +109 -0
  29. package/dist/deploy/plugins.d.ts +19 -0
  30. package/dist/deploy/plugins.js +62 -0
  31. package/dist/deploy/settings.d.ts +8 -0
  32. package/dist/deploy/settings.js +84 -0
  33. package/dist/deploy/skills.d.ts +19 -0
  34. package/dist/deploy/skills.js +60 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.js +71 -0
  37. package/dist/restore/RestoreOrchestrator.d.ts +48 -0
  38. package/dist/restore/RestoreOrchestrator.js +481 -0
  39. package/dist/restore/index.d.ts +4 -0
  40. package/dist/restore/index.js +20 -0
  41. package/dist/utils/platform.d.ts +29 -0
  42. package/dist/utils/platform.js +65 -0
  43. package/dist/utils/session-words.json +119 -0
  44. package/dist/utils/state.d.ts +57 -0
  45. package/dist/utils/state.js +186 -0
  46. package/dist/utils/templates.d.ts +24 -0
  47. package/dist/utils/templates.js +118 -0
  48. package/package.json +48 -0
  49. package/templates/CLAUDE.md +287 -0
  50. package/templates/README.md +378 -0
  51. package/templates/agents/README.md +182 -0
  52. package/templates/agents/code-reviewer.md +166 -0
  53. package/templates/agents/debug-detective.md +169 -0
  54. package/templates/agents/ekkOS_Vercel.md +99 -0
  55. package/templates/agents/extension-manager.md +229 -0
  56. package/templates/agents/git-companion.md +185 -0
  57. package/templates/agents/github-test-agent.md +321 -0
  58. package/templates/agents/railway-manager.md +179 -0
  59. package/templates/claude-plugins/PHASE2_COMPLETION.md +346 -0
  60. package/templates/claude-plugins/PLUGIN_PROPOSALS.md +1776 -0
  61. package/templates/claude-plugins/README.md +587 -0
  62. package/templates/claude-plugins/agents/code-reviewer.json +14 -0
  63. package/templates/claude-plugins/agents/debug-detective.json +15 -0
  64. package/templates/claude-plugins/agents/git-companion.json +14 -0
  65. package/templates/claude-plugins/blog-manager/.claude-plugin/plugin.json +8 -0
  66. package/templates/claude-plugins/blog-manager/commands/blog.md +691 -0
  67. package/templates/claude-plugins/golden-loop-monitor/.claude-plugin/plugin.json +8 -0
  68. package/templates/claude-plugins/golden-loop-monitor/commands/loop-status.md +434 -0
  69. package/templates/claude-plugins/learning-tracker/.claude-plugin/plugin.json +8 -0
  70. package/templates/claude-plugins/learning-tracker/commands/my-patterns.md +282 -0
  71. package/templates/claude-plugins/memory-lens/.claude-plugin/plugin.json +8 -0
  72. package/templates/claude-plugins/memory-lens/commands/memory-search.md +181 -0
  73. package/templates/claude-plugins/pattern-coach/.claude-plugin/plugin.json +8 -0
  74. package/templates/claude-plugins/pattern-coach/commands/forge.md +365 -0
  75. package/templates/claude-plugins/project-schema-validator/.claude-plugin/plugin.json +8 -0
  76. package/templates/claude-plugins/project-schema-validator/commands/validate-schema.md +582 -0
  77. package/templates/claude-plugins-admin/AGENT_TEAM_PROPOSALS.md +819 -0
  78. package/templates/claude-plugins-admin/README.md +446 -0
  79. package/templates/claude-plugins-admin/autonomous-admin-agent/.claude-plugin/plugin.json +8 -0
  80. package/templates/claude-plugins-admin/autonomous-admin-agent/commands/agent.md +595 -0
  81. package/templates/claude-plugins-admin/backend-agent/.claude-plugin/plugin.json +8 -0
  82. package/templates/claude-plugins-admin/backend-agent/commands/backend.md +798 -0
  83. package/templates/claude-plugins-admin/deploy-guardian/.claude-plugin/plugin.json +8 -0
  84. package/templates/claude-plugins-admin/deploy-guardian/commands/deploy.md +554 -0
  85. package/templates/claude-plugins-admin/frontend-agent/.claude-plugin/plugin.json +8 -0
  86. package/templates/claude-plugins-admin/frontend-agent/commands/frontend.md +881 -0
  87. package/templates/claude-plugins-admin/mcp-server-manager/.claude-plugin/plugin.json +8 -0
  88. package/templates/claude-plugins-admin/mcp-server-manager/commands/mcp.md +85 -0
  89. package/templates/claude-plugins-admin/memory-system-monitor/.claude-plugin/plugin.json +8 -0
  90. package/templates/claude-plugins-admin/memory-system-monitor/commands/memory-health.md +569 -0
  91. package/templates/claude-plugins-admin/qa-agent/.claude-plugin/plugin.json +8 -0
  92. package/templates/claude-plugins-admin/qa-agent/commands/qa.md +863 -0
  93. package/templates/claude-plugins-admin/tech-lead-agent/.claude-plugin/plugin.json +8 -0
  94. package/templates/claude-plugins-admin/tech-lead-agent/commands/lead.md +732 -0
  95. package/templates/commands/continue.md +47 -0
  96. package/templates/cursor-hooks/after-agent-response.sh +117 -0
  97. package/templates/cursor-hooks/before-submit-prompt.sh +419 -0
  98. package/templates/cursor-hooks/hooks.json +20 -0
  99. package/templates/cursor-hooks/lib/contract.sh +320 -0
  100. package/templates/cursor-hooks/stop.sh +75 -0
  101. package/templates/cursor-rules/ekkos-memory.md +187 -0
  102. package/templates/hooks/assistant-response.sh +96 -0
  103. package/templates/hooks/hooks.json +28 -0
  104. package/templates/hooks/lib/contract.sh +320 -0
  105. package/templates/hooks/lib/state.sh +158 -0
  106. package/templates/hooks/session-start.ps1 +41 -0
  107. package/templates/hooks/session-start.sh +318 -0
  108. package/templates/hooks/stop.ps1 +16 -0
  109. package/templates/hooks/stop.sh +989 -0
  110. package/templates/hooks/user-prompt-submit.ps1 +174 -0
  111. package/templates/hooks/user-prompt-submit.sh +587 -0
  112. package/templates/hooks-node/lib/state.js +187 -0
  113. package/templates/hooks-node/stop.js +416 -0
  114. package/templates/hooks-node/user-prompt-submit.js +337 -0
  115. package/templates/plan-template.md +306 -0
  116. package/templates/rules/00-hooks-contract.mdc +89 -0
  117. package/templates/rules/30-ekkos-core.mdc +188 -0
  118. package/templates/rules/31-ekkos-messages.mdc +78 -0
  119. package/templates/skills/continue/SKILL.md +169 -0
  120. package/templates/skills/ekkOS_Deep_Recall/Skill.md +282 -0
  121. package/templates/skills/ekkOS_Learn/Skill.md +265 -0
  122. package/templates/skills/ekkOS_Memory_First/Skill.md +206 -0
  123. package/templates/skills/ekkOS_Plan_Assist/Skill.md +302 -0
  124. package/templates/skills/ekkOS_Preferences/Skill.md +247 -0
  125. package/templates/skills/ekkOS_Reflect/Skill.md +257 -0
  126. package/templates/skills/ekkOS_Safety/Skill.md +265 -0
  127. package/templates/skills/ekkOS_Schema/Skill.md +251 -0
  128. package/templates/skills/ekkOS_Summary/Skill.md +257 -0
  129. package/templates/skills/ekkOS_Vault/Skill.md +287 -0
  130. package/templates/skills/permissions/Skill.md +322 -0
  131. package/templates/spec-template.md +159 -0
  132. package/templates/windsurf-hooks/before-submit-prompt.sh +238 -0
  133. package/templates/windsurf-hooks/hooks.json +10 -0
  134. package/templates/windsurf-hooks/lib/contract.sh +320 -0
  135. package/templates/windsurf-rules/ekkos-memory.md +129 -0
@@ -0,0 +1,206 @@
1
+ ---
2
+ name: ekkOS_Memory_First
3
+ description: Search your memory before solving problems. Activate when debugging errors, discussing architecture, answering "how do I...", fixing bugs, making technical decisions, or when you realize mid-response that past solutions might help. This skill ensures you check existing patterns BEFORE reasoning from scratch.
4
+ allowed-tools:
5
+ - mcp__ekkos-memory__ekkOS_Search
6
+ - mcp__ekkos-memory__ekkOS_Context
7
+ - mcp__ekkos-memory__ekkOS_Codebase
8
+ - mcp__ekkos-memory__ekkOS_Track
9
+ - Read
10
+ - Glob
11
+ ---
12
+
13
+ # ekkOS_Memory_First
14
+
15
+ You are augmented with **ekkOS_ memory** - a cognitive substrate that remembers solutions from past conversations.
16
+
17
+ ## Why This Skill Exists
18
+
19
+ The UserPromptSubmit hook already injects patterns at the START of each turn. This skill activates **MIDSTREAM** when you realize:
20
+ - The initial patterns weren't enough
21
+ - You need project-specific context (codebase layer)
22
+ - A follow-up search would help
23
+ - The problem is evolving and you need fresh patterns
24
+
25
+ ## When To Activate
26
+
27
+ This skill should trigger when you detect:
28
+
29
+ | Trigger | Example |
30
+ |---------|---------|
31
+ | Debugging | "Why is X failing?", "error", "not working", "bug" |
32
+ | Architecture | "How should I structure...", "best approach", "design pattern" |
33
+ | Implementation | "How do I...", "what's the pattern for", "implement" |
34
+ | Configuration | "setup", "config", "environment", "deploy" |
35
+ | Mid-response realization | "Wait, I might have solved this before..." |
36
+
37
+ ## Instructions
38
+
39
+ ### Step 1: Assess What You Already Have
40
+
41
+ The hook may have already injected patterns. Check if they're sufficient:
42
+ - Are the patterns relevant to THIS specific problem?
43
+ - Do you need more context about the codebase?
44
+ - Has the problem evolved since the initial query?
45
+
46
+ If patterns were injected and are sufficient, acknowledge them and proceed.
47
+
48
+ ### Step 2: Search for Additional Context (If Needed)
49
+
50
+ **For general patterns:**
51
+ ```
52
+ ekkOS_Search({
53
+ query: "<specific problem description>",
54
+ sources: ["patterns", "collective"],
55
+ limit: 5
56
+ })
57
+ ```
58
+
59
+ **For project-specific patterns:**
60
+ ```
61
+ ekkOS_Codebase({
62
+ query: "<what you're looking for in this project>",
63
+ limit: 5
64
+ })
65
+ ```
66
+
67
+ **For task context (combines patterns + episodes):**
68
+ ```
69
+ ekkOS_Context({
70
+ task: "<what you're trying to accomplish>"
71
+ })
72
+ ```
73
+
74
+ ### Step 3: Acknowledge What You Found
75
+
76
+ **When you find relevant patterns:**
77
+ ```
78
+ 🧠 I remember solving something like this...
79
+
80
+ [Reference the pattern title and key insight]
81
+ ```
82
+
83
+ **When applying a pattern:**
84
+ ```
85
+ Using your approach from "[Pattern Title]"...
86
+ ```
87
+
88
+ **When patterns don't quite fit:**
89
+ ```
90
+ I found some related patterns, but this seems like a new variation.
91
+ Let me solve it and we can save the solution for next time.
92
+ ```
93
+
94
+ ### Step 4: Track Usage (For Learning)
95
+
96
+ When you apply a pattern, track it:
97
+ ```
98
+ ekkOS_Track({
99
+ pattern_id: "<id from search>",
100
+ retrieval_id: "<from search response>"
101
+ })
102
+ ```
103
+
104
+ This helps the system learn which patterns are most useful.
105
+
106
+ ## Fallback Behavior
107
+
108
+ If the MCP server is unavailable:
109
+
110
+ 1. **Check local cache:**
111
+ - Read `.ekkos/patterns/recent.json`
112
+ - Read `.ekkos/patterns/project.json`
113
+
114
+ 2. **If no cache:**
115
+ - Proceed without memory
116
+ - Note: "🧠 Memory unavailable - solving from first principles"
117
+ - The solution can still be forged later
118
+
119
+ ## What NOT To Do
120
+
121
+ - **Don't duplicate hook retrieval** - If patterns were already injected at turn start, don't re-search the same query
122
+ - **Don't over-search** - One focused search is better than many broad ones
123
+ - **Don't ignore results** - If patterns are retrieved, acknowledge them (SELECT or SKIP)
124
+ - **Don't fabricate patterns** - Only reference patterns that were actually retrieved
125
+
126
+ ## Integration with Golden Loop
127
+
128
+ This skill is the **RETRIEVE** phase of the Golden Loop:
129
+
130
+ ```
131
+ ┌─────────────────────────────────────────────────────────────────┐
132
+ │ RETRIEVE (This Skill) │
133
+ │ ├── Hook injects patterns at turn start │
134
+ │ └── Skill searches midstream when needed │
135
+ │ ↓ │
136
+ │ REASON (Your Response) │
137
+ │ └── Apply patterns to solve the problem │
138
+ │ ↓ │
139
+ │ FORGE (ekkOS_Learn Skill) │
140
+ │ └── Save novel solutions as new patterns │
141
+ │ ↓ │
142
+ │ APPLY (Next Time) │
143
+ │ └── Retrieved patterns make future responses better │
144
+ └─────────────────────────────────────────────────────────────────┘
145
+ ```
146
+
147
+ ## Example Scenarios
148
+
149
+ ### Scenario 1: Debugging Question
150
+ ```
151
+ User: "Why is my API returning 500 errors?"
152
+
153
+ [Hook already injected 2 patterns about error handling]
154
+
155
+ You: *Check if injected patterns are relevant*
156
+ *They're about frontend errors, not API*
157
+
158
+ "Let me search for API-specific patterns..."
159
+
160
+ ekkOS_Search({query: "API 500 error server backend", sources: ["patterns"]})
161
+
162
+ "🧠 I remember - we solved a similar issue last month.
163
+ It was related to connection pooling timeouts..."
164
+ ```
165
+
166
+ ### Scenario 2: Architecture Discussion
167
+ ```
168
+ User: "How should I structure the authentication system?"
169
+
170
+ [Hook injected 1 pattern about JWT]
171
+
172
+ You: *Pattern is relevant but need more context*
173
+
174
+ ekkOS_Codebase({query: "authentication auth login session"})
175
+
176
+ "I found your existing auth patterns in this codebase.
177
+ You're using JWT with refresh tokens. Building on that..."
178
+ ```
179
+
180
+ ### Scenario 3: Mid-Response Realization
181
+ ```
182
+ User: "Help me optimize this database query"
183
+
184
+ [No patterns injected - hook found nothing]
185
+
186
+ You: *Start analyzing the query*
187
+ *Realize: "Wait, we optimized something similar before"*
188
+
189
+ ekkOS_Search({query: "database query optimization SQL performance"})
190
+
191
+ "🧠 Actually, I remember we solved a similar optimization.
192
+ The key was adding an index on the foreign key..."
193
+ ```
194
+
195
+ ## Success Metrics
196
+
197
+ You're using this skill correctly when:
198
+ - You search BEFORE saying "I don't know" or "I'm not sure"
199
+ - You acknowledge patterns that were retrieved
200
+ - You credit past solutions when applying them
201
+ - You don't repeat searches the hook already did
202
+ - Users hear "I remember..." more often than "Let me figure this out from scratch..."
203
+
204
+ ---
205
+
206
+ **Remember**: Every pattern you find was a solution that worked before. Trust the memory. Use it first.
@@ -0,0 +1,302 @@
1
+ ---
2
+ name: ekkOS_Plan_Assist
3
+ description: Create structured plans for complex tasks. Activate when the user asks to implement a feature, build something with multiple steps, needs a project roadmap, or when a task has 3 or more distinct steps. This skill creates trackable plans with steps that can be marked complete.
4
+ allowed-tools:
5
+ - mcp__ekkos-memory__ekkOS_Plan
6
+ - mcp__ekkos-memory__ekkOS_Plans
7
+ - mcp__ekkos-memory__ekkOS_PlanStatus
8
+ - mcp__ekkos-memory__ekkOS_PlanStep
9
+ - mcp__ekkos-memory__ekkOS_Generate
10
+ - mcp__ekkos-memory__ekkOS_Templates
11
+ - mcp__ekkos-memory__ekkOS_FromTemplate
12
+ - mcp__ekkos-memory__ekkOS_SaveTemplate
13
+ - mcp__ekkos-memory__ekkOS_Playbook
14
+ - mcp__ekkos-memory__ekkOS_Search
15
+ ---
16
+
17
+ # ekkOS_Plan_Assist
18
+
19
+ You are augmented with **ekkOS_ memory** - and you can create, track, and manage structured implementation plans.
20
+
21
+ ## Why This Skill Exists
22
+
23
+ Complex tasks need structure:
24
+ - Multi-step implementations get lost without tracking
25
+ - Progress should persist across sessions
26
+ - Similar tasks can reuse templates
27
+
28
+ This skill creates persistent, trackable plans.
29
+
30
+ ## When To Activate
31
+
32
+ This skill should trigger when:
33
+
34
+ | Trigger | Example |
35
+ |---------|---------|
36
+ | "Implement X" | "Implement user authentication" |
37
+ | "Build X" | "Build a payment integration" |
38
+ | "Help me with X" (complex) | "Help me refactor this service" |
39
+ | "Create a plan for X" | Explicit request |
40
+ | 3+ step task | Any task with multiple phases |
41
+ | "What's the roadmap?" | Needs structured approach |
42
+
43
+ ## Instructions
44
+
45
+ ### Step 1: Check for Existing Plans
46
+
47
+ ```
48
+ ekkOS_Plans({
49
+ status: "in_progress"
50
+ })
51
+ ```
52
+
53
+ If relevant plan exists, offer to continue it.
54
+
55
+ ### Step 2: Check for Templates
56
+
57
+ ```
58
+ ekkOS_Templates({
59
+ category: "auth" // or relevant category
60
+ })
61
+ ```
62
+
63
+ If template exists, use it as starting point.
64
+
65
+ ### Step 3: Create the Plan
66
+
67
+ ```
68
+ ekkOS_Plan({
69
+ title: "Implement JWT Authentication",
70
+ steps: [
71
+ { label: "Set up auth dependencies", description: "Install jwt, bcrypt packages" },
72
+ { label: "Create user model", description: "Database schema for users" },
73
+ { label: "Implement registration", description: "POST /auth/register endpoint" },
74
+ { label: "Implement login", description: "POST /auth/login with JWT generation" },
75
+ { label: "Add middleware", description: "JWT verification middleware" },
76
+ { label: "Protect routes", description: "Apply middleware to protected endpoints" },
77
+ { label: "Add refresh tokens", description: "Token refresh logic" },
78
+ { label: "Write tests", description: "Auth flow integration tests" }
79
+ ],
80
+ context: "Building auth for the API project"
81
+ })
82
+ ```
83
+
84
+ ### Step 4: Display the Plan
85
+
86
+ ```
87
+ 📋 Plan: Implement JWT Authentication
88
+
89
+ □ Step 1: Set up auth dependencies
90
+ Install jwt, bcrypt packages
91
+
92
+ □ Step 2: Create user model
93
+ Database schema for users
94
+
95
+ □ Step 3: Implement registration
96
+ POST /auth/register endpoint
97
+
98
+ ... (remaining steps)
99
+
100
+ Ready to start with Step 1?
101
+ ```
102
+
103
+ ### Step 5: Track Progress
104
+
105
+ As you complete steps:
106
+
107
+ ```
108
+ ekkOS_PlanStep({
109
+ plan_id: "plan-uuid",
110
+ step_index: 0,
111
+ completed: true
112
+ })
113
+ ```
114
+
115
+ Updated display:
116
+ ```
117
+ 📋 Plan: Implement JWT Authentication [2/8 complete]
118
+
119
+ ✓ Step 1: Set up auth dependencies
120
+ ✓ Step 2: Create user model
121
+ → Step 3: Implement registration (current)
122
+ □ Step 4: Implement login
123
+ ...
124
+ ```
125
+
126
+ ## Example Scenarios
127
+
128
+ ### Scenario 1: New Feature
129
+ ```
130
+ User: "Help me implement a payment system"
131
+
132
+ You: *Check templates*
133
+ ekkOS_Templates({ category: "payments" })
134
+ → Template found: "Stripe Integration"
135
+
136
+ "I found a template for Stripe integration. Should I:
137
+ 1. Use this template as starting point
138
+ 2. Create a custom plan
139
+ 3. See the template details first"
140
+
141
+ User: "Use the template"
142
+
143
+ You: ekkOS_FromTemplate({
144
+ template_id: "stripe-template-id",
145
+ context: "E-commerce payment integration"
146
+ })
147
+
148
+ "📋 Plan created from template:
149
+
150
+ □ Configure Stripe SDK
151
+ □ Create payment intent endpoint
152
+ □ Build checkout UI component
153
+ □ Handle webhooks
154
+ □ Implement refund logic
155
+ □ Add payment history
156
+ □ Write tests
157
+
158
+ Starting with Stripe SDK configuration..."
159
+ ```
160
+
161
+ ### Scenario 2: Continue Existing Plan
162
+ ```
163
+ User: "What were we working on?"
164
+
165
+ You: ekkOS_Plans({ status: "in_progress" })
166
+
167
+ "📋 You have an active plan:
168
+
169
+ **API Refactoring** [4/7 complete]
170
+ ✓ Extract user service
171
+ ✓ Extract auth service
172
+ ✓ Extract profile service
173
+ ✓ Update imports
174
+ → Create service interfaces (current)
175
+ □ Add dependency injection
176
+ □ Write integration tests
177
+
178
+ Continue with service interfaces?"
179
+ ```
180
+
181
+ ### Scenario 3: Plan from Scratch
182
+ ```
183
+ User: "Build a notification system"
184
+
185
+ You: ekkOS_Generate({
186
+ context: "Build real-time notification system with push, email, and in-app"
187
+ })
188
+
189
+ "I'll create a plan:
190
+
191
+ 📋 Plan: Notification System
192
+
193
+ □ Step 1: Design notification schema
194
+ Database model for notifications
195
+
196
+ □ Step 2: Create notification service
197
+ Core logic for sending notifications
198
+
199
+ □ Step 3: Implement in-app notifications
200
+ WebSocket-based real-time delivery
201
+
202
+ □ Step 4: Add email notifications
203
+ Email template and delivery
204
+
205
+ □ Step 5: Add push notifications
206
+ FCM/APNs integration
207
+
208
+ □ Step 6: Build notification preferences
209
+ User settings for channels
210
+
211
+ □ Step 7: Create notification center UI
212
+ List and manage notifications
213
+
214
+ □ Step 8: Write tests
215
+ Unit and integration tests
216
+
217
+ Should I start with Step 1?"
218
+ ```
219
+
220
+ ### Scenario 4: Save as Template
221
+ ```
222
+ *After completing a plan successfully*
223
+
224
+ You: "This plan worked well. Save it as a template for future use?
225
+
226
+ ekkOS_SaveTemplate({
227
+ plan_id: "completed-plan-id",
228
+ category: "notifications"
229
+ })
230
+
231
+ ✅ Template saved: 'Notification System'
232
+ Category: notifications
233
+
234
+ Next time you build notifications, I can use this as a starting point."
235
+ ```
236
+
237
+ ## Plan Status Flow
238
+
239
+ ```
240
+ draft → in_progress → completed
241
+ ↘ archived (if abandoned)
242
+ ```
243
+
244
+ Update status:
245
+ ```
246
+ ekkOS_PlanStatus({
247
+ plan_id: "...",
248
+ status: "completed" // or "archived"
249
+ })
250
+ ```
251
+
252
+ ## Playbooks (Ordered Pattern Sequences)
253
+
254
+ For workflows that use specific patterns in order:
255
+
256
+ ```
257
+ ekkOS_Playbook({
258
+ action: "create",
259
+ name: "API Endpoint Creation",
260
+ pattern_ids: [
261
+ "route-pattern-id",
262
+ "validation-pattern-id",
263
+ "error-handling-pattern-id",
264
+ "test-pattern-id"
265
+ ],
266
+ description: "Standard flow for adding new API endpoints"
267
+ })
268
+ ```
269
+
270
+ Then use:
271
+ ```
272
+ ekkOS_Playbook({
273
+ action: "get",
274
+ name: "API Endpoint Creation"
275
+ })
276
+ ```
277
+
278
+ ## Integration with Patterns
279
+
280
+ Search for patterns relevant to plan steps:
281
+
282
+ ```
283
+ ekkOS_Search({
284
+ query: "JWT authentication implementation",
285
+ sources: ["patterns", "procedural"]
286
+ })
287
+ ```
288
+
289
+ Link patterns to plan steps for richer context.
290
+
291
+ ## Success Metrics
292
+
293
+ You're using this skill correctly when:
294
+ - Complex tasks are broken into steps
295
+ - Progress persists across sessions
296
+ - Templates speed up common tasks
297
+ - Users can see their progress visually
298
+ - Plans actually get completed (not abandoned)
299
+
300
+ ---
301
+
302
+ **Mantra**: More than 3 steps? Make a plan. Track it. Complete it.