oh-my-claude-sisyphus 3.4.3 → 3.5.1

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 (52) hide show
  1. package/README.md +74 -0
  2. package/dist/__tests__/learner/auto-learner.test.d.ts +7 -0
  3. package/dist/__tests__/learner/auto-learner.test.d.ts.map +1 -0
  4. package/dist/__tests__/learner/auto-learner.test.js +507 -0
  5. package/dist/__tests__/learner/auto-learner.test.js.map +1 -0
  6. package/dist/__tests__/learner/matcher.test.d.ts +2 -0
  7. package/dist/__tests__/learner/matcher.test.d.ts.map +1 -0
  8. package/dist/__tests__/learner/matcher.test.js +330 -0
  9. package/dist/__tests__/learner/matcher.test.js.map +1 -0
  10. package/dist/analytics/analytics-summary.d.ts.map +1 -1
  11. package/dist/analytics/analytics-summary.js +12 -11
  12. package/dist/analytics/analytics-summary.js.map +1 -1
  13. package/dist/analytics/backfill-dedup.d.ts.map +1 -1
  14. package/dist/analytics/backfill-dedup.js +8 -11
  15. package/dist/analytics/backfill-dedup.js.map +1 -1
  16. package/dist/analytics/backfill-engine.d.ts.map +1 -1
  17. package/dist/analytics/backfill-engine.js +12 -3
  18. package/dist/analytics/backfill-engine.js.map +1 -1
  19. package/dist/analytics/query-engine.d.ts.map +1 -1
  20. package/dist/analytics/query-engine.js +3 -2
  21. package/dist/analytics/query-engine.js.map +1 -1
  22. package/dist/analytics/token-tracker.d.ts.map +1 -1
  23. package/dist/analytics/token-tracker.js +22 -27
  24. package/dist/analytics/token-tracker.js.map +1 -1
  25. package/dist/analytics/transcript-token-extractor.d.ts +17 -1
  26. package/dist/analytics/transcript-token-extractor.d.ts.map +1 -1
  27. package/dist/analytics/transcript-token-extractor.js +66 -19
  28. package/dist/analytics/transcript-token-extractor.js.map +1 -1
  29. package/dist/analytics/types.d.ts +13 -0
  30. package/dist/analytics/types.d.ts.map +1 -1
  31. package/dist/analytics/types.js.map +1 -1
  32. package/dist/cli/index.js +2 -2
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/hooks/learner/auto-invoke.d.ts +82 -0
  35. package/dist/hooks/learner/auto-invoke.d.ts.map +1 -0
  36. package/dist/hooks/learner/auto-invoke.js +234 -0
  37. package/dist/hooks/learner/auto-invoke.js.map +1 -0
  38. package/dist/hooks/learner/auto-learner.d.ts +55 -0
  39. package/dist/hooks/learner/auto-learner.d.ts.map +1 -0
  40. package/dist/hooks/learner/auto-learner.js +361 -0
  41. package/dist/hooks/learner/auto-learner.js.map +1 -0
  42. package/dist/hooks/learner/index.d.ts +3 -0
  43. package/dist/hooks/learner/index.d.ts.map +1 -1
  44. package/dist/hooks/learner/index.js +4 -0
  45. package/dist/hooks/learner/index.js.map +1 -1
  46. package/dist/hooks/learner/matcher.d.ts +40 -0
  47. package/dist/hooks/learner/matcher.d.ts.map +1 -0
  48. package/dist/hooks/learner/matcher.js +230 -0
  49. package/dist/hooks/learner/matcher.js.map +1 -0
  50. package/package.json +1 -1
  51. package/skills/local-skills-setup/SKILL.md +465 -0
  52. package/skills/skill/SKILL.md +406 -0
@@ -0,0 +1,406 @@
1
+ ---
2
+ name: skill
3
+ description: Manage local skills - list, add, remove, search, edit
4
+ argument-hint: "<command> [args]"
5
+ ---
6
+
7
+ # Skill Management CLI
8
+
9
+ Meta-skill for managing oh-my-claudecode skills via CLI-like commands.
10
+
11
+ ## Subcommands
12
+
13
+ ### /skill list
14
+
15
+ Show all local skills organized by scope.
16
+
17
+ **Behavior:**
18
+ 1. Scan user skills at `~/.claude/skills/omc-learned/`
19
+ 2. Scan project skills at `.omc/skills/`
20
+ 3. Parse YAML frontmatter for metadata
21
+ 4. Display in organized table format:
22
+
23
+ ```
24
+ USER SKILLS (~/.claude/skills/omc-learned/):
25
+ | Name | Triggers | Quality | Usage | Scope |
26
+ |-------------------|--------------------|---------|-------|-------|
27
+ | error-handler | fix, error | 95% | 42 | user |
28
+ | api-builder | api, endpoint | 88% | 23 | user |
29
+
30
+ PROJECT SKILLS (.omc/skills/):
31
+ | Name | Triggers | Quality | Usage | Scope |
32
+ |-------------------|--------------------|---------|-------|---------|
33
+ | test-runner | test, run | 92% | 15 | project |
34
+ ```
35
+
36
+ **Fallback:** If quality/usage stats not available, show "N/A"
37
+
38
+ ---
39
+
40
+ ### /skill add [name]
41
+
42
+ Interactive wizard for creating a new skill.
43
+
44
+ **Behavior:**
45
+ 1. **Ask for skill name** (if not provided in command)
46
+ - Validate: lowercase, hyphens only, no spaces
47
+ 2. **Ask for description**
48
+ - Clear, concise one-liner
49
+ 3. **Ask for triggers** (comma-separated keywords)
50
+ - Example: "error, fix, debug"
51
+ 4. **Ask for argument hint** (optional)
52
+ - Example: "<file> [options]"
53
+ 5. **Ask for scope:**
54
+ - `user` → `~/.claude/skills/omc-learned/<name>/SKILL.md`
55
+ - `project` → `.omc/skills/<name>/SKILL.md`
56
+ 6. **Create skill file** with template:
57
+
58
+ ```yaml
59
+ ---
60
+ name: <name>
61
+ description: <description>
62
+ triggers:
63
+ - <trigger1>
64
+ - <trigger2>
65
+ argument-hint: "<args>"
66
+ ---
67
+
68
+ # <Name> Skill
69
+
70
+ ## Purpose
71
+
72
+ [Describe what this skill does]
73
+
74
+ ## When to Activate
75
+
76
+ [Describe triggers and conditions]
77
+
78
+ ## Workflow
79
+
80
+ 1. [Step 1]
81
+ 2. [Step 2]
82
+ 3. [Step 3]
83
+
84
+ ## Examples
85
+
86
+ ```
87
+ /oh-my-claudecode:<name> example-arg
88
+ ```
89
+
90
+ ## Notes
91
+
92
+ [Additional context, edge cases, gotchas]
93
+ ```
94
+
95
+ 7. **Report success** with file path
96
+ 8. **Suggest:** "Edit `/skill edit <name>` to customize content"
97
+
98
+ **Example:**
99
+ ```
100
+ User: /skill add custom-logger
101
+ Assistant: Creating new skill 'custom-logger'...
102
+
103
+ Description: Enhanced logging with structured output
104
+ Triggers (comma-separated): log, logger, logging
105
+ Argument hint (optional): <level> [message]
106
+ Scope (user/project): user
107
+
108
+ ✓ Created skill at ~/.claude/skills/omc-learned/custom-logger/SKILL.md
109
+ → Edit with: /skill edit custom-logger
110
+ ```
111
+
112
+ ---
113
+
114
+ ### /skill remove <name>
115
+
116
+ Remove a skill by name.
117
+
118
+ **Behavior:**
119
+ 1. **Search for skill** in both scopes:
120
+ - `~/.claude/skills/omc-learned/<name>/SKILL.md`
121
+ - `.omc/skills/<name>/SKILL.md`
122
+ 2. **If found:**
123
+ - Display skill info (name, description, scope)
124
+ - **Ask for confirmation:** "Delete '<name>' skill from <scope>? (yes/no)"
125
+ 3. **If confirmed:**
126
+ - Delete entire skill directory (e.g., `~/.claude/skills/omc-learned/<name>/`)
127
+ - Report: "✓ Removed skill '<name>' from <scope>"
128
+ 4. **If not found:**
129
+ - Report: "✗ Skill '<name>' not found in user or project scope"
130
+
131
+ **Safety:** Never delete without explicit user confirmation.
132
+
133
+ **Example:**
134
+ ```
135
+ User: /skill remove old-logger
136
+ Assistant: Found skill 'old-logger' in user scope:
137
+ Description: Legacy logging utility
138
+ Scope: user (~/.claude/skills/omc-learned/)
139
+
140
+ Delete 'old-logger' skill? (yes/no)
141
+
142
+ User: yes
143
+ Assistant: ✓ Removed skill 'old-logger' from user scope
144
+ ```
145
+
146
+ ---
147
+
148
+ ### /skill edit <name>
149
+
150
+ Edit an existing skill interactively.
151
+
152
+ **Behavior:**
153
+ 1. **Find skill** by name (search both scopes)
154
+ 2. **Read current content** via Read tool
155
+ 3. **Display current values:**
156
+ ```
157
+ Current skill 'custom-logger':
158
+ - Description: Enhanced logging with structured output
159
+ - Triggers: log, logger, logging
160
+ - Argument hint: <level> [message]
161
+ - Scope: user
162
+ ```
163
+ 4. **Ask what to change:**
164
+ - `description` - Update description
165
+ - `triggers` - Update trigger keywords
166
+ - `argument-hint` - Update argument hint
167
+ - `content` - Edit full markdown content
168
+ - `rename` - Rename skill (move file)
169
+ - `cancel` - Exit without changes
170
+ 5. **For selected field:**
171
+ - Show current value
172
+ - Ask for new value
173
+ - Update YAML frontmatter or content
174
+ - Write back to file
175
+ 6. **Report success** with summary of changes
176
+
177
+ **Example:**
178
+ ```
179
+ User: /skill edit custom-logger
180
+ Assistant: Current skill 'custom-logger':
181
+ - Description: Enhanced logging with structured output
182
+ - Triggers: log, logger, logging
183
+ - Argument hint: <level> [message]
184
+
185
+ What would you like to edit? (description/triggers/argument-hint/content/rename/cancel)
186
+
187
+ User: triggers
188
+ Assistant: Current triggers: log, logger, logging
189
+ New triggers (comma-separated): log, logger, logging, trace
190
+
191
+ ✓ Updated triggers for 'custom-logger'
192
+ ```
193
+
194
+ ---
195
+
196
+ ### /skill search <query>
197
+
198
+ Search skills by content, triggers, name, or description.
199
+
200
+ **Behavior:**
201
+ 1. **Scan all skills** in both scopes
202
+ 2. **Match query** (case-insensitive) against:
203
+ - Skill name
204
+ - Description
205
+ - Triggers
206
+ - Full markdown content
207
+ 3. **Display matches** with context:
208
+
209
+ ```
210
+ Found 3 skills matching "typescript error":
211
+
212
+ 1. typescript-fixer (user)
213
+ Description: Fix common TypeScript errors
214
+ Match: "typescript error handling patterns"
215
+
216
+ 2. error-handler (user)
217
+ Description: Generic error handling utilities
218
+ Match: "Supports TypeScript and JavaScript errors"
219
+
220
+ 3. lint-fix (project)
221
+ Description: Auto-fix linting errors
222
+ Match: "TypeScript ESLint error resolution"
223
+ ```
224
+
225
+ **Ranking:** Prioritize matches in name/triggers over content matches
226
+
227
+ **Example:**
228
+ ```
229
+ User: /skill search api endpoint
230
+ Assistant: Found 2 skills matching "api endpoint":
231
+
232
+ 1. api-builder (user)
233
+ Description: Generate REST API endpoints
234
+ Triggers: api, endpoint, rest
235
+
236
+ 2. backend-scaffold (project)
237
+ Description: Scaffold backend services
238
+ Match: "Creates API endpoint boilerplate"
239
+ ```
240
+
241
+ ---
242
+
243
+ ### /skill info <name>
244
+
245
+ Show detailed information about a skill.
246
+
247
+ **Behavior:**
248
+ 1. **Find skill** by name (search both scopes)
249
+ 2. **Parse YAML frontmatter** and content
250
+ 3. **Display complete details:**
251
+
252
+ ```
253
+ Skill: custom-logger
254
+ Scope: user (~/.claude/skills/omc-learned/custom-logger/)
255
+ Description: Enhanced logging with structured output
256
+ Triggers: log, logger, logging
257
+ Argument Hint: <level> [message]
258
+ Quality: 95% (if available)
259
+ Usage Count: 42 times (if available)
260
+ File Path: /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md
261
+
262
+ --- FULL CONTENT ---
263
+ [entire markdown content]
264
+ ```
265
+
266
+ **If not found:** Report error with suggestion to use `/skill search`
267
+
268
+ **Example:**
269
+ ```
270
+ User: /skill info custom-logger
271
+ Assistant: Skill: custom-logger
272
+ Scope: user
273
+ Description: Enhanced logging with structured output
274
+ Triggers: log, logger, logging
275
+ File: ~/.claude/skills/omc-learned/custom-logger/SKILL.md
276
+
277
+ --- CONTENT ---
278
+ # Custom Logger Skill
279
+
280
+ ## Purpose
281
+ Enhanced logging with structured JSON output...
282
+ [rest of content]
283
+ ```
284
+
285
+ ---
286
+
287
+ ### /skill sync
288
+
289
+ Sync skills between user and project scopes.
290
+
291
+ **Behavior:**
292
+ 1. **Scan both scopes:**
293
+ - User skills: `~/.claude/skills/omc-learned/`
294
+ - Project skills: `.omc/skills/`
295
+ 2. **Compare and categorize:**
296
+ - User-only skills (not in project)
297
+ - Project-only skills (not in user)
298
+ - Common skills (in both)
299
+ 3. **Display sync opportunities:**
300
+
301
+ ```
302
+ SYNC REPORT:
303
+
304
+ User-only skills (5):
305
+ - error-handler
306
+ - api-builder
307
+ - custom-logger
308
+ - test-generator
309
+ - deploy-helper
310
+
311
+ Project-only skills (2):
312
+ - test-runner
313
+ - backend-scaffold
314
+
315
+ Common skills (3):
316
+ - frontend-ui-ux
317
+ - git-master
318
+ - planner
319
+
320
+ Options:
321
+ [1] Copy user skill to project
322
+ [2] Copy project skill to user
323
+ [3] View differences
324
+ [4] Cancel
325
+ ```
326
+
327
+ 4. **Handle user choice:**
328
+ - Option 1: Select skill(s) to copy to project
329
+ - Option 2: Select skill(s) to copy to user
330
+ - Option 3: Show side-by-side diff for common skills
331
+ - Option 4: Exit
332
+
333
+ **Safety:** Never overwrite without confirmation
334
+
335
+ **Example:**
336
+ ```
337
+ User: /skill sync
338
+ Assistant: Found 5 user-only skills and 2 project-only skills.
339
+
340
+ Copy 'error-handler' from user to project? (yes/no/skip)
341
+ User: yes
342
+ Assistant: ✓ Copied 'error-handler' to .omc/skills/
343
+
344
+ Copy 'api-builder' from user to project? (yes/no/skip)
345
+ User: skip
346
+ ...
347
+ ```
348
+
349
+ ---
350
+
351
+ ## Error Handling
352
+
353
+ **All commands must handle:**
354
+ - File/directory doesn't exist
355
+ - Permission errors
356
+ - Invalid YAML frontmatter
357
+ - Duplicate skill names
358
+ - Invalid skill names (spaces, special chars)
359
+
360
+ **Error format:**
361
+ ```
362
+ ✗ Error: <clear message>
363
+ → Suggestion: <helpful next step>
364
+ ```
365
+
366
+ ## Usage Examples
367
+
368
+ ```bash
369
+ # List all skills
370
+ /skill list
371
+
372
+ # Create a new skill
373
+ /skill add my-custom-skill
374
+
375
+ # Remove a skill
376
+ /skill remove old-skill
377
+
378
+ # Edit existing skill
379
+ /skill edit error-handler
380
+
381
+ # Search for skills
382
+ /skill search typescript error
383
+
384
+ # Get detailed info
385
+ /skill info my-custom-skill
386
+
387
+ # Sync between scopes
388
+ /skill sync
389
+ ```
390
+
391
+ ## Implementation Notes
392
+
393
+ 1. **YAML Parsing:** Use frontmatter extraction for metadata
394
+ 2. **File Operations:** Use Read/Write tools, never Edit for new files
395
+ 3. **User Confirmation:** Always confirm destructive operations
396
+ 4. **Clear Feedback:** Use checkmarks (✓), crosses (✗), arrows (→) for clarity
397
+ 5. **Scope Resolution:** Always check both user and project scopes
398
+ 6. **Validation:** Enforce naming conventions (lowercase, hyphens only)
399
+
400
+ ## Future Enhancements
401
+
402
+ - `/skill export <name>` - Export skill as shareable file
403
+ - `/skill import <file>` - Import skill from file
404
+ - `/skill stats` - Show usage statistics across all skills
405
+ - `/skill validate` - Check all skills for format errors
406
+ - `/skill template <type>` - Create from predefined templates