@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,257 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ekkOS_Reflect
|
|
3
|
-
description: Analyze response quality and learn from it. Activate after completing complex tasks, when the user provides feedback on your response, when you could have done something better, or when you want to improve pattern quality. This skill helps the memory system get smarter by evaluating what worked and what didn't.
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- mcp__ekkos-memory__ekkOS_Reflect
|
|
6
|
-
- mcp__ekkos-memory__ekkOS_Outcome
|
|
7
|
-
- mcp__ekkos-memory__ekkOS_Forge
|
|
8
|
-
- mcp__ekkos-memory__ekkOS_Search
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# ekkOS_Reflect
|
|
12
|
-
|
|
13
|
-
You are augmented with **ekkOS_ memory** - and you can analyze your own responses to improve future performance.
|
|
14
|
-
|
|
15
|
-
## Why This Skill Exists
|
|
16
|
-
|
|
17
|
-
The memory system only improves if we close the feedback loop:
|
|
18
|
-
- Did that pattern actually help?
|
|
19
|
-
- Could the response have been better?
|
|
20
|
-
- What should be remembered for next time?
|
|
21
|
-
|
|
22
|
-
This skill enables self-improvement.
|
|
23
|
-
|
|
24
|
-
## When To Activate
|
|
25
|
-
|
|
26
|
-
This skill should trigger when:
|
|
27
|
-
|
|
28
|
-
| Trigger | Example |
|
|
29
|
-
|---------|---------|
|
|
30
|
-
| Complex task completed | Finished multi-step implementation |
|
|
31
|
-
| User provides feedback | "That's not quite right", "Perfect!" |
|
|
32
|
-
| You sense improvement opportunity | "I could have done this better" |
|
|
33
|
-
| Pattern was applied | Need to record if it worked |
|
|
34
|
-
| User corrects you | Learn from the correction |
|
|
35
|
-
| After difficult debugging | What was the key insight? |
|
|
36
|
-
|
|
37
|
-
## Instructions
|
|
38
|
-
|
|
39
|
-
### Step 1: Analyze the Response
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
ekkOS_Reflect({
|
|
43
|
-
user_query: "Original user question",
|
|
44
|
-
response: "Your complete response",
|
|
45
|
-
context: {
|
|
46
|
-
patterns_used: 3,
|
|
47
|
-
session_id: "...",
|
|
48
|
-
model: "claude-opus-4-5"
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Response:
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"quality_score": 8.5,
|
|
57
|
-
"improvement_opportunities": [
|
|
58
|
-
"Could have included error handling example",
|
|
59
|
-
"Solution was correct but verbose"
|
|
60
|
-
],
|
|
61
|
-
"pattern_suggestions": [
|
|
62
|
-
{
|
|
63
|
-
"title": "Concise error handling patterns",
|
|
64
|
-
"reason": "Response could be more concise"
|
|
65
|
-
}
|
|
66
|
-
],
|
|
67
|
-
"positive_aspects": [
|
|
68
|
-
"Correct solution",
|
|
69
|
-
"Good explanation of trade-offs"
|
|
70
|
-
]
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Step 2: Record Outcomes
|
|
75
|
-
|
|
76
|
-
For each pattern that was applied:
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
ekkOS_Outcome({
|
|
80
|
-
success: true, // or false
|
|
81
|
-
model_used: "claude-opus-4-5"
|
|
82
|
-
})
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
This updates the pattern's success rate.
|
|
86
|
-
|
|
87
|
-
### Step 3: Forge Improvements
|
|
88
|
-
|
|
89
|
-
If reflection reveals a better approach:
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
ekkOS_Forge({
|
|
93
|
-
title: "Concise error handling in async functions",
|
|
94
|
-
problem: "Error handling code is often verbose and repetitive",
|
|
95
|
-
solution: "Use wrapper function: const safe = (fn) => async (...args) => { try { return await fn(...args); } catch (e) { handleError(e); } }",
|
|
96
|
-
tags: ["improvement", "reflection", "error-handling"]
|
|
97
|
-
})
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Example Scenarios
|
|
101
|
-
|
|
102
|
-
### Scenario 1: User Feedback - Positive
|
|
103
|
-
```
|
|
104
|
-
User: "Perfect, that's exactly what I needed!"
|
|
105
|
-
|
|
106
|
-
You: *Reflect on what made it good*
|
|
107
|
-
|
|
108
|
-
ekkOS_Outcome({ success: true })
|
|
109
|
-
|
|
110
|
-
ekkOS_Reflect({
|
|
111
|
-
response: "...",
|
|
112
|
-
user_query: "..."
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
Analysis: Pattern #auth-jwt-123 was applied, user confirmed success.
|
|
116
|
-
|
|
117
|
-
"Glad it helped! I've recorded that this approach works well.
|
|
118
|
-
It'll be even faster to help with similar issues next time."
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Scenario 2: User Feedback - Needs Improvement
|
|
122
|
-
```
|
|
123
|
-
User: "This works but it's way too complicated"
|
|
124
|
-
|
|
125
|
-
You: *Reflect on the complexity issue*
|
|
126
|
-
|
|
127
|
-
ekkOS_Outcome({ success: false }) // Partially failed
|
|
128
|
-
|
|
129
|
-
ekkOS_Reflect({
|
|
130
|
-
response: "...",
|
|
131
|
-
user_query: "..."
|
|
132
|
-
})
|
|
133
|
-
|
|
134
|
-
Analysis: Solution was correct but overly complex.
|
|
135
|
-
|
|
136
|
-
"You're right, let me simplify:
|
|
137
|
-
|
|
138
|
-
[Simpler solution]
|
|
139
|
-
|
|
140
|
-
I've noted that simpler solutions are preferred.
|
|
141
|
-
|
|
142
|
-
ekkOS_Forge({
|
|
143
|
-
title: 'Prefer simple solutions over comprehensive ones',
|
|
144
|
-
problem: 'Tendency to over-engineer solutions',
|
|
145
|
-
solution: 'Start with minimal implementation, add complexity only when needed',
|
|
146
|
-
tags: ['meta', 'style', 'simplicity']
|
|
147
|
-
})
|
|
148
|
-
|
|
149
|
-
This preference is now saved."
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Scenario 3: Post-Task Reflection
|
|
153
|
-
```
|
|
154
|
-
*After completing a complex debugging session*
|
|
155
|
-
|
|
156
|
-
You: "Let me reflect on this debugging session...
|
|
157
|
-
|
|
158
|
-
ekkOS_Reflect({
|
|
159
|
-
response: 'Full debugging process and solution',
|
|
160
|
-
user_query: 'Original bug report'
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
📊 Session Analysis:
|
|
164
|
-
|
|
165
|
-
✅ What worked:
|
|
166
|
-
- Systematic elimination of causes
|
|
167
|
-
- Using git bisect to find regression
|
|
168
|
-
- Checking logs before guessing
|
|
169
|
-
|
|
170
|
-
⚠️ Could improve:
|
|
171
|
-
- Took 3 attempts before checking logs
|
|
172
|
-
- Should have reproduced issue first
|
|
173
|
-
|
|
174
|
-
💡 Key insight to remember:
|
|
175
|
-
'Always reproduce the bug in isolation first'
|
|
176
|
-
|
|
177
|
-
ekkOS_Forge({
|
|
178
|
-
title: 'Reproduce bug before debugging',
|
|
179
|
-
problem: 'Jumping into debugging without reproduction wastes time',
|
|
180
|
-
solution: 'First step: create minimal reproduction case',
|
|
181
|
-
tags: ['debugging', 'methodology', 'reflection']
|
|
182
|
-
})
|
|
183
|
-
|
|
184
|
-
This insight is now saved for future debugging sessions."
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Scenario 4: Pattern Quality Check
|
|
188
|
-
```
|
|
189
|
-
*After applying a pattern that didn't work*
|
|
190
|
-
|
|
191
|
-
You: *Pattern #db-query-123 was applied but query failed*
|
|
192
|
-
|
|
193
|
-
ekkOS_Outcome({ success: false })
|
|
194
|
-
|
|
195
|
-
"That pattern didn't work for this case. Let me update it...
|
|
196
|
-
|
|
197
|
-
ekkOS_Search({
|
|
198
|
-
query: 'db-query-123',
|
|
199
|
-
sources: ['patterns']
|
|
200
|
-
})
|
|
201
|
-
|
|
202
|
-
Found: 'Use LIMIT for pagination'
|
|
203
|
-
Current success rate: 85%
|
|
204
|
-
|
|
205
|
-
The pattern is generally good but doesn't handle
|
|
206
|
-
offset-based pagination with large tables.
|
|
207
|
-
|
|
208
|
-
ekkOS_Forge({
|
|
209
|
-
title: 'Use cursor-based pagination for large tables',
|
|
210
|
-
problem: 'OFFSET pagination slows down on large datasets',
|
|
211
|
-
solution: 'Use WHERE id > last_id ORDER BY id LIMIT n',
|
|
212
|
-
works_when: ['table > 100k rows', 'pagination needed'],
|
|
213
|
-
anti_patterns: ['Using OFFSET with large datasets']
|
|
214
|
-
})
|
|
215
|
-
|
|
216
|
-
Added a more specific pattern for this case."
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## Reflection Questions
|
|
220
|
-
|
|
221
|
-
Ask yourself after responses:
|
|
222
|
-
|
|
223
|
-
1. **Did the applied patterns help?**
|
|
224
|
-
- Yes → `ekkOS_Outcome({ success: true })`
|
|
225
|
-
- No → `ekkOS_Outcome({ success: false })`
|
|
226
|
-
|
|
227
|
-
2. **Was the response quality good?**
|
|
228
|
-
- Run `ekkOS_Reflect` to analyze
|
|
229
|
-
|
|
230
|
-
3. **What would I do differently?**
|
|
231
|
-
- Forge the improvement as a new pattern
|
|
232
|
-
|
|
233
|
-
4. **Did I learn something new?**
|
|
234
|
-
- Forge it immediately
|
|
235
|
-
|
|
236
|
-
## Integration with Learning
|
|
237
|
-
|
|
238
|
-
Reflection feeds back into the Golden Loop:
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
Response → Reflect → Improve Patterns → Better Future Responses
|
|
242
|
-
↑ ↓
|
|
243
|
-
└────────────────────────────────────────────┘
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
## Success Metrics
|
|
247
|
-
|
|
248
|
-
You're using this skill correctly when:
|
|
249
|
-
- Pattern success rates are accurate
|
|
250
|
-
- Improvements are forged after corrections
|
|
251
|
-
- Response quality increases over time
|
|
252
|
-
- You proactively reflect, not just when asked
|
|
253
|
-
- The memory system gets demonstrably smarter
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
**Mantra**: Every response is a learning opportunity. Reflect. Record. Improve.
|
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ekkOS_Safety
|
|
3
|
-
description: Check for conflicts before dangerous operations. Activate before deleting files, dropping tables, deploying to production, pushing to main, running destructive commands, modifying configuration files, or any irreversible action. This skill prevents accidents by checking user directives and patterns first.
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- mcp__ekkos-memory__ekkOS_Conflict
|
|
6
|
-
- mcp__ekkos-memory__ekkOS_Search
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# ekkOS_Safety
|
|
10
|
-
|
|
11
|
-
You are augmented with **ekkOS_ memory** - and your job is to PREVENT accidents by checking before dangerous operations.
|
|
12
|
-
|
|
13
|
-
## Why This Skill Exists
|
|
14
|
-
|
|
15
|
-
Users have directives (MUST/NEVER rules) and learned anti-patterns. Before any destructive action, you MUST check if it conflicts with these rules.
|
|
16
|
-
|
|
17
|
-
**This skill can BLOCK actions** that violate user directives.
|
|
18
|
-
|
|
19
|
-
## When To Activate
|
|
20
|
-
|
|
21
|
-
This skill should trigger BEFORE:
|
|
22
|
-
|
|
23
|
-
| Action Category | Examples |
|
|
24
|
-
|-----------------|----------|
|
|
25
|
-
| **File deletion** | `rm -rf`, `unlink`, delete files/folders |
|
|
26
|
-
| **Database destruction** | `DROP TABLE`, `DELETE FROM`, truncate |
|
|
27
|
-
| **Deployment** | `deploy`, `push to prod`, release |
|
|
28
|
-
| **Branch operations** | `push to main`, `force push`, `rebase main` |
|
|
29
|
-
| **Config changes** | Modify `.env`, change secrets, update config |
|
|
30
|
-
| **Package operations** | `npm publish`, release new version |
|
|
31
|
-
| **Infrastructure** | Destroy resources, scale down, terminate |
|
|
32
|
-
|
|
33
|
-
## Instructions
|
|
34
|
-
|
|
35
|
-
### Step 1: Detect Dangerous Intent
|
|
36
|
-
|
|
37
|
-
Before executing, identify if the action is:
|
|
38
|
-
- Irreversible (can't undo)
|
|
39
|
-
- Destructive (deletes/modifies data)
|
|
40
|
-
- Production-affecting (impacts live systems)
|
|
41
|
-
- Security-sensitive (credentials, permissions)
|
|
42
|
-
|
|
43
|
-
### Step 2: Check for Conflicts
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
ekkOS_Conflict({
|
|
47
|
-
proposed_action: "delete all files in /tmp",
|
|
48
|
-
scope: "deployment", // Optional: narrow the check
|
|
49
|
-
include_patterns: true // Check anti-patterns too
|
|
50
|
-
})
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Step 3: Evaluate Response
|
|
54
|
-
|
|
55
|
-
The conflict check returns:
|
|
56
|
-
```json
|
|
57
|
-
{
|
|
58
|
-
"has_conflicts": true,
|
|
59
|
-
"blocking_directives": [
|
|
60
|
-
{"type": "NEVER", "rule": "Delete without backup"}
|
|
61
|
-
],
|
|
62
|
-
"warning_patterns": [
|
|
63
|
-
{"title": "Always backup before delete"}
|
|
64
|
-
],
|
|
65
|
-
"recommendation": "Create backup first"
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Step 4: Act on Conflicts
|
|
70
|
-
|
|
71
|
-
**If blocking conflicts found:**
|
|
72
|
-
```
|
|
73
|
-
⛔ BLOCKED: This action conflicts with your directive:
|
|
74
|
-
[NEVER] Delete without backup
|
|
75
|
-
|
|
76
|
-
Would you like to:
|
|
77
|
-
1. Create a backup first
|
|
78
|
-
2. Override this directive (requires confirmation)
|
|
79
|
-
3. Cancel the operation
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**If warnings found (not blocking):**
|
|
83
|
-
```
|
|
84
|
-
⚠️ WARNING: This action has potential issues:
|
|
85
|
-
- Pattern suggests: "Always backup before delete"
|
|
86
|
-
|
|
87
|
-
Proceeding with caution. Do you want to continue?
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**If no conflicts:**
|
|
91
|
-
```
|
|
92
|
-
✅ Safety check passed. No conflicts with your directives or patterns.
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Example Scenarios
|
|
96
|
-
|
|
97
|
-
### Scenario 1: Delete Operation
|
|
98
|
-
```
|
|
99
|
-
User: "Delete all the old log files"
|
|
100
|
-
|
|
101
|
-
You: *Before executing*
|
|
102
|
-
|
|
103
|
-
ekkOS_Conflict({
|
|
104
|
-
proposed_action: "delete log files in /var/log/old",
|
|
105
|
-
scope: "files"
|
|
106
|
-
})
|
|
107
|
-
|
|
108
|
-
Response: No conflicts found.
|
|
109
|
-
|
|
110
|
-
"✅ Safety check passed. Proceeding to delete old log files..."
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Scenario 2: Blocked by Directive
|
|
114
|
-
```
|
|
115
|
-
User: "Push this directly to main"
|
|
116
|
-
|
|
117
|
-
You: *Before executing*
|
|
118
|
-
|
|
119
|
-
ekkOS_Conflict({
|
|
120
|
-
proposed_action: "git push to main branch",
|
|
121
|
-
scope: "git"
|
|
122
|
-
})
|
|
123
|
-
|
|
124
|
-
Response:
|
|
125
|
-
{
|
|
126
|
-
"has_conflicts": true,
|
|
127
|
-
"blocking_directives": [
|
|
128
|
-
{"type": "NEVER", "rule": "Push directly to main"}
|
|
129
|
-
]
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
"⛔ BLOCKED: This conflicts with your directive:
|
|
133
|
-
[NEVER] Push directly to main
|
|
134
|
-
|
|
135
|
-
You previously set this rule. Options:
|
|
136
|
-
1. Create a feature branch and PR instead
|
|
137
|
-
2. Override (type 'override push to main')
|
|
138
|
-
3. Cancel"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Scenario 3: Warning from Pattern
|
|
142
|
-
```
|
|
143
|
-
User: "Drop the users table"
|
|
144
|
-
|
|
145
|
-
You: *Before executing*
|
|
146
|
-
|
|
147
|
-
ekkOS_Conflict({
|
|
148
|
-
proposed_action: "DROP TABLE users",
|
|
149
|
-
scope: "database"
|
|
150
|
-
})
|
|
151
|
-
|
|
152
|
-
Response:
|
|
153
|
-
{
|
|
154
|
-
"has_conflicts": false,
|
|
155
|
-
"warning_patterns": [
|
|
156
|
-
{"title": "Always backup tables before DROP"}
|
|
157
|
-
]
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
"⚠️ WARNING: A pattern suggests backing up first.
|
|
161
|
-
|
|
162
|
-
Pattern: 'Always backup tables before DROP'
|
|
163
|
-
|
|
164
|
-
Should I:
|
|
165
|
-
1. Create a backup first, then drop
|
|
166
|
-
2. Proceed without backup
|
|
167
|
-
3. Cancel"
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### Scenario 4: Production Deployment
|
|
171
|
-
```
|
|
172
|
-
User: "Deploy to production"
|
|
173
|
-
|
|
174
|
-
You: *Before executing*
|
|
175
|
-
|
|
176
|
-
ekkOS_Conflict({
|
|
177
|
-
proposed_action: "deploy to production environment",
|
|
178
|
-
scope: "deployment"
|
|
179
|
-
})
|
|
180
|
-
|
|
181
|
-
Response:
|
|
182
|
-
{
|
|
183
|
-
"has_conflicts": true,
|
|
184
|
-
"blocking_directives": [
|
|
185
|
-
{"type": "MUST", "rule": "Run tests before production deploy"}
|
|
186
|
-
]
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
"⛔ BLOCKED: Deployment requires tests first.
|
|
190
|
-
[MUST] Run tests before production deploy
|
|
191
|
-
|
|
192
|
-
Running tests now..."
|
|
193
|
-
|
|
194
|
-
*Runs tests, then proceeds if they pass*
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Override Protocol
|
|
198
|
-
|
|
199
|
-
If user wants to override a directive:
|
|
200
|
-
|
|
201
|
-
1. **Require explicit confirmation:**
|
|
202
|
-
```
|
|
203
|
-
User: "Override it, push to main anyway"
|
|
204
|
-
You: "Overriding [NEVER] Push directly to main.
|
|
205
|
-
Type 'CONFIRM OVERRIDE' to proceed."
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
2. **Log the override:**
|
|
209
|
-
```
|
|
210
|
-
ekkOS_Forge({
|
|
211
|
-
title: "Override: Pushed to main despite directive",
|
|
212
|
-
problem: "User overrode NEVER directive for specific reason",
|
|
213
|
-
solution: "Allowed because: [user's reason]",
|
|
214
|
-
tags: ["override", "directive-exception"]
|
|
215
|
-
})
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
3. **Proceed with caution:**
|
|
219
|
-
```
|
|
220
|
-
"Override confirmed. Proceeding with push to main.
|
|
221
|
-
⚠️ This action was logged."
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## Common Conflict Scopes
|
|
225
|
-
|
|
226
|
-
| Scope | Checks Against |
|
|
227
|
-
|-------|----------------|
|
|
228
|
-
| `"git"` | Branch rules, push policies |
|
|
229
|
-
| `"database"` | Data protection rules |
|
|
230
|
-
| `"deployment"` | Release procedures |
|
|
231
|
-
| `"files"` | Deletion/modification rules |
|
|
232
|
-
| `"security"` | Credential handling |
|
|
233
|
-
| `"infrastructure"` | Resource management |
|
|
234
|
-
|
|
235
|
-
## Integration with Directives
|
|
236
|
-
|
|
237
|
-
This skill enforces Layer 9 (Directives):
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
241
|
-
│ USER ACTION REQUEST │
|
|
242
|
-
│ └── "Delete all test files" │
|
|
243
|
-
│ ↓ │
|
|
244
|
-
│ ekkOS_Safety SKILL (This Skill) │
|
|
245
|
-
│ └── ekkOS_Conflict check │
|
|
246
|
-
│ ↓ │
|
|
247
|
-
│ DIRECTIVE LAYER (Layer 9) │
|
|
248
|
-
│ └── [NEVER] Delete without confirmation │
|
|
249
|
-
│ ↓ │
|
|
250
|
-
│ BLOCKED or PROCEED │
|
|
251
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
## Success Metrics
|
|
255
|
-
|
|
256
|
-
You're using this skill correctly when:
|
|
257
|
-
- EVERY destructive action is checked first
|
|
258
|
-
- Blocking directives actually BLOCK
|
|
259
|
-
- Warnings are shown but don't block unnecessarily
|
|
260
|
-
- Overrides are logged
|
|
261
|
-
- Users feel protected, not annoyed
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
**Mantra**: About to destroy something? Check first. Always. No exceptions.
|