claudecode-omc 5.3.0 → 5.5.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 (91) hide show
  1. package/.local/guidelines/CLAUDE.md +31 -0
  2. package/README.md +57 -1
  3. package/bundled/manifest.json +2 -2
  4. package/bundled/upstream/oh-my-claudecode/agents/analyst.md +1 -1
  5. package/bundled/upstream/oh-my-claudecode/agents/architect.md +1 -1
  6. package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +1 -1
  7. package/bundled/upstream/oh-my-claudecode/agents/code-simplifier.md +1 -1
  8. package/bundled/upstream/oh-my-claudecode/agents/critic.md +1 -1
  9. package/bundled/upstream/oh-my-claudecode/agents/debugger.md +1 -1
  10. package/bundled/upstream/oh-my-claudecode/agents/designer.md +1 -1
  11. package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
  12. package/bundled/upstream/oh-my-claudecode/agents/executor.md +1 -1
  13. package/bundled/upstream/oh-my-claudecode/agents/explore.md +1 -1
  14. package/bundled/upstream/oh-my-claudecode/agents/git-master.md +3 -3
  15. package/bundled/upstream/oh-my-claudecode/agents/planner.md +1 -1
  16. package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +1 -1
  17. package/bundled/upstream/oh-my-claudecode/agents/scientist.md +1 -1
  18. package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +1 -1
  19. package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +1 -75
  20. package/bundled/upstream/oh-my-claudecode/agents/tracer.md +1 -1
  21. package/bundled/upstream/oh-my-claudecode/agents/verifier.md +1 -1
  22. package/bundled/upstream/oh-my-claudecode/agents/writer.md +1 -1
  23. package/bundled/upstream/oh-my-claudecode/hooks/hooks.json +21 -1
  24. package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +200 -0
  25. package/bundled/upstream/oh-my-claudecode/skills/autopilot/SKILL.md +17 -10
  26. package/bundled/upstream/oh-my-claudecode/skills/autoresearch/SKILL.md +90 -0
  27. package/bundled/upstream/oh-my-claudecode/skills/cancel/SKILL.md +15 -6
  28. package/bundled/upstream/oh-my-claudecode/skills/configure-notifications/SKILL.md +12 -12
  29. package/bundled/upstream/oh-my-claudecode/skills/debug/SKILL.md +35 -0
  30. package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +4 -0
  31. package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +23 -18
  32. package/bundled/upstream/oh-my-claudecode/skills/hud/SKILL.md +23 -101
  33. package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +27 -2
  34. package/bundled/upstream/oh-my-claudecode/skills/mcp-setup/SKILL.md +67 -8
  35. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +32 -47
  36. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/SKILL.md +4 -2
  37. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +15 -4
  38. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +9 -9
  39. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +13 -13
  40. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/04-welcome.md +3 -3
  41. package/bundled/upstream/oh-my-claudecode/skills/omc-teams/SKILL.md +28 -0
  42. package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +1 -0
  43. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/SKILL.md +25 -5
  44. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +2 -15
  45. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
  46. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +2 -2
  47. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +109 -4
  48. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +26 -0
  49. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +46 -5
  50. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/templates/pr-review.md +5 -2
  51. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/templates/projects.json +1 -1
  52. package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +336 -0
  53. package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +18 -9
  54. package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +2 -0
  55. package/bundled/upstream/oh-my-claudecode/skills/release/SKILL.md +167 -57
  56. package/bundled/upstream/oh-my-claudecode/skills/remember/SKILL.md +41 -0
  57. package/bundled/upstream/oh-my-claudecode/skills/self-improve/SKILL.md +391 -0
  58. package/bundled/upstream/oh-my-claudecode/skills/self-improve/data_contracts.md +274 -0
  59. package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/plot_progress.py +128 -0
  60. package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/resolve-paths.mjs +192 -0
  61. package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/validate.sh +404 -0
  62. package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-benchmark-builder.md +79 -0
  63. package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-goal-clarifier.md +94 -0
  64. package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-researcher.md +73 -0
  65. package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/agent-settings.json +14 -0
  66. package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/goal.md +22 -0
  67. package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/harness.md +18 -0
  68. package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/idea.md +5 -0
  69. package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/settings.json +23 -0
  70. package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +46 -77
  71. package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +53 -0
  72. package/bundled/upstream/oh-my-claudecode/skills/team/SKILL.md +83 -11
  73. package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +1 -0
  74. package/bundled/upstream/oh-my-claudecode/skills/ultraqa/SKILL.md +1 -0
  75. package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +1 -0
  76. package/bundled/upstream/oh-my-claudecode/skills/verify/SKILL.md +37 -0
  77. package/bundled/upstream/oh-my-claudecode/skills/wiki/SKILL.md +67 -0
  78. package/package.json +3 -1
  79. package/src/cli/artifact.js +63 -2
  80. package/src/cli/guidelines.js +83 -0
  81. package/src/cli/index.js +13 -1
  82. package/src/cli/setup.js +48 -18
  83. package/src/cli/source.js +35 -1
  84. package/src/config/artifact-types.js +12 -2
  85. package/src/config/paths.js +95 -4
  86. package/src/config/sources.js +29 -5
  87. package/src/guidelines/apply.js +152 -0
  88. package/src/guidelines/optimizer.js +325 -0
  89. package/src/merge/claude-md-merger.js +35 -12
  90. package/templates/merge-config.json +12 -1
  91. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/skill-debugger.md +0 -101
@@ -0,0 +1,18 @@
1
+ # Harness Rules
2
+
3
+ ## H001 — One Hypothesis Per Plan
4
+ Each plan must test exactly ONE hypothesis. Plans with zero or multiple hypotheses are rejected by the critic.
5
+
6
+ ## H002 — No Approach Family Streak
7
+ The same `approach_family` must not appear as the winner for 3 or more consecutive iterations. This prevents the system from getting stuck in a local exploration loop.
8
+
9
+ ## H003 — Intra-Round Diversity
10
+ Within a single round, no two plans may share the same `approach_family`. The critic rejects the later plan if a duplicate family is detected.
11
+
12
+ ## Custom Rules
13
+ <!-- Add project-specific rules here -->
14
+
15
+ ## Custom Approach Families
16
+ <!-- Add custom approach families here (one per line, prefixed with - or *) -->
17
+ <!-- Example: -->
18
+ <!-- - `prompt_engineering` -->
@@ -0,0 +1,5 @@
1
+ # Experiment Ideas
2
+
3
+ <!-- Add your experiment ideas here. These will be given highest priority by the planners. -->
4
+ <!-- Format: one idea per section with a title and description. -->
5
+ <!-- Ideas are consumed once per iteration and cleared after planners read them. -->
@@ -0,0 +1,23 @@
1
+ {
2
+ "si_claude_setting": false,
3
+ "number_of_agents": 3,
4
+ "number_of_max_critics": 3,
5
+ "current_repo_url": "",
6
+ "fork_url": "",
7
+ "upstream_url": "",
8
+ "topic_slug": "default",
9
+ "target_branch": "main",
10
+ "benchmark_command": "",
11
+ "benchmark_format": "json",
12
+ "benchmark_direction": "higher_is_better",
13
+ "max_iterations": 50,
14
+ "plateau_threshold": 0.01,
15
+ "plateau_window": 3,
16
+ "target_value": null,
17
+ "primary_metric": "primary",
18
+ "sealed_files": [],
19
+ "regression_threshold": 0.05,
20
+ "circuit_breaker_threshold": 3,
21
+ "auto_push": false,
22
+ "auto_pr": false
23
+ }
@@ -2,6 +2,7 @@
2
2
  name: skill
3
3
  description: Manage local skills - list, add, remove, search, edit, setup wizard
4
4
  argument-hint: "<command> [args]"
5
+ level: 2
5
6
  ---
6
7
 
7
8
  # Skill Management CLI
@@ -12,18 +13,23 @@ Meta-skill for managing oh-my-claudecode skills via CLI-like commands.
12
13
 
13
14
  ### /skill list
14
15
 
15
- Show all local skills organized by scope.
16
+ Show all available skills organized by scope.
16
17
 
17
18
  **Behavior:**
18
- 1. Scan user skills at `~/.omc/skills/` (preferred)
19
- 2. Scan legacy user skills at `~/.claude/skills/omc-learned/` (compatibility)
19
+ 1. Scan bundled built-in skills in the plugin `skills/` directory (read-only)
20
+ 2. Scan user skills at `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/`
20
21
  3. Scan project skills at `.omc/skills/`
21
- 4. Scan builtin plugin skills at `~/.claude/plugins/oh-my-claudecode/skills/`
22
- 5. Parse YAML frontmatter for metadata
23
- 6. Display in organized table format:
22
+ 4. Parse YAML frontmatter for metadata
23
+ 5. Display in organized table format:
24
24
 
25
25
  ```
26
- USER SKILLS (~/.omc/skills + ~/.claude/skills/omc-learned):
26
+ BUILT-IN SKILLS (bundled with oh-my-claudecode):
27
+ | Name | Description | Scope |
28
+ |-------------------|--------------------------------|----------|
29
+ | visual-verdict | Structured visual QA verdicts | built-in |
30
+ | ralph | Persistence loop | built-in |
31
+
32
+ USER SKILLS (~/.claude/skills/omc-learned/):
27
33
  | Name | Triggers | Quality | Usage | Scope |
28
34
  |-------------------|--------------------|---------|-------|-------|
29
35
  | error-handler | fix, error | 95% | 42 | user |
@@ -33,16 +39,12 @@ PROJECT SKILLS (.omc/skills/):
33
39
  | Name | Triggers | Quality | Usage | Scope |
34
40
  |-------------------|--------------------|---------|-------|---------|
35
41
  | test-runner | test, run | 92% | 15 | project |
36
-
37
- BUILTIN SKILLS (~/.claude/plugins/oh-my-claudecode/skills):
38
- | Name | Source | Scope |
39
- |-------------------|---------|---------|
40
- | omc-setup | plugin | builtin |
41
- | code-review | plugin | builtin |
42
42
  ```
43
43
 
44
44
  **Fallback:** If quality/usage stats not available, show "N/A"
45
45
 
46
+ **Built-in skill note:** Built-in skills are bundled with oh-my-claudecode and are discoverable/readable, but not removed or edited through `/skill remove` or `/skill edit`.
47
+
46
48
  ---
47
49
 
48
50
  ### /skill add [name]
@@ -59,8 +61,8 @@ Interactive wizard for creating a new skill.
59
61
  4. **Ask for argument hint** (optional)
60
62
  - Example: "<file> [options]"
61
63
  5. **Ask for scope:**
62
- - `user` → `~/.omc/skills/<name>.md` (fallback: `~/.claude/skills/omc-learned/<name>.md`)
63
- - `project` → `.omc/skills/<name>.md`
64
+ - `user` → `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md`
65
+ - `project` → `.omc/skills/<name>/SKILL.md`
64
66
  6. **Create skill file** with template:
65
67
 
66
68
  ```yaml
@@ -113,7 +115,7 @@ Triggers (comma-separated): log, logger, logging
113
115
  Argument hint (optional): <level> [message]
114
116
  Scope (user/project): user
115
117
 
116
- ✓ Created skill at ~/.omc/skills/custom-logger.md
118
+ ✓ Created skill at ~/.claude/skills/omc-learned/custom-logger/SKILL.md
117
119
  → Edit with: /skill edit custom-logger
118
120
  ```
119
121
 
@@ -125,13 +127,13 @@ Remove a skill by name.
125
127
 
126
128
  **Behavior:**
127
129
  1. **Search for skill** in both scopes:
128
- - `~/.omc/skills/<name>.md` and `~/.claude/skills/omc-learned/<name>.md`
129
- - `.omc/skills/<name>.md`
130
+ - `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md`
131
+ - `.omc/skills/<name>/SKILL.md`
130
132
  2. **If found:**
131
133
  - Display skill info (name, description, scope)
132
134
  - **Ask for confirmation:** "Delete '<name>' skill from <scope>? (yes/no)"
133
135
  3. **If confirmed:**
134
- - Delete the matching skill file (e.g., `~/.omc/skills/<name>.md`)
136
+ - Delete entire skill directory (e.g., `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/`)
135
137
  - Report: "✓ Removed skill '<name>' from <scope>"
136
138
  4. **If not found:**
137
139
  - Report: "✗ Skill '<name>' not found in user or project scope"
@@ -143,7 +145,7 @@ Remove a skill by name.
143
145
  User: /skill remove old-logger
144
146
  Assistant: Found skill 'old-logger' in user scope:
145
147
  Description: Legacy logging utility
146
- Scope: user (~/.omc/skills/)
148
+ Scope: user (~/.claude/skills/omc-learned/)
147
149
 
148
150
  Delete 'old-logger' skill? (yes/no)
149
151
 
@@ -259,13 +261,13 @@ Show detailed information about a skill.
259
261
 
260
262
  ```
261
263
  Skill: custom-logger
262
- Scope: user (~/.omc/skills/custom-logger.md)
264
+ Scope: user (~/.claude/skills/omc-learned/custom-logger/)
263
265
  Description: Enhanced logging with structured output
264
266
  Triggers: log, logger, logging
265
267
  Argument Hint: <level> [message]
266
268
  Quality: 95% (if available)
267
269
  Usage Count: 42 times (if available)
268
- File Path: /home/user/.omc/skills/custom-logger.md
270
+ File Path: /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md
269
271
 
270
272
  --- FULL CONTENT ---
271
273
  [entire markdown content]
@@ -280,7 +282,7 @@ Assistant: Skill: custom-logger
280
282
  Scope: user
281
283
  Description: Enhanced logging with structured output
282
284
  Triggers: log, logger, logging
283
- File: ~/.omc/skills/custom-logger.md
285
+ File: ~/.claude/skills/omc-learned/custom-logger/SKILL.md
284
286
 
285
287
  --- CONTENT ---
286
288
  # Custom Logger Skill
@@ -298,7 +300,7 @@ Sync skills between user and project scopes.
298
300
 
299
301
  **Behavior:**
300
302
  1. **Scan both scopes:**
301
- - User skills: `~/.omc/skills/` and `~/.claude/skills/omc-learned/`
303
+ - User skills: `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/`
302
304
  - Project skills: `.omc/skills/`
303
305
  2. **Compare and categorize:**
304
306
  - User-only skills (not in project)
@@ -367,9 +369,8 @@ Interactive wizard for setting up and managing local skills (formerly local-skil
367
369
  First, check if skill directories exist and create them if needed:
368
370
 
369
371
  ```bash
370
- # Check and create user-level skills directories (preferred + legacy)
371
- USER_SKILLS_DIR="$HOME/.omc/skills"
372
- LEGACY_USER_SKILLS_DIR="$HOME/.claude/skills/omc-learned"
372
+ # Check and create user-level skills directory
373
+ USER_SKILLS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned"
373
374
  if [ -d "$USER_SKILLS_DIR" ]; then
374
375
  echo "User skills directory exists: $USER_SKILLS_DIR"
375
376
  else
@@ -377,13 +378,6 @@ else
377
378
  echo "Created user skills directory: $USER_SKILLS_DIR"
378
379
  fi
379
380
 
380
- if [ -d "$LEGACY_USER_SKILLS_DIR" ]; then
381
- echo "Legacy user skills directory exists: $LEGACY_USER_SKILLS_DIR"
382
- else
383
- mkdir -p "$LEGACY_USER_SKILLS_DIR"
384
- echo "Created legacy user skills directory: $LEGACY_USER_SKILLS_DIR"
385
- fi
386
-
387
381
  # Check and create project-level skills directory
388
382
  PROJECT_SKILLS_DIR=".omc/skills"
389
383
  if [ -d "$PROJECT_SKILLS_DIR" ]; then
@@ -399,34 +393,28 @@ fi
399
393
  Scan both directories and show a comprehensive inventory:
400
394
 
401
395
  ```bash
402
- # Scan user-level skills (preferred + legacy)
403
- echo "=== USER-LEVEL SKILLS (~/.omc/skills + ~/.claude/skills/omc-learned/) ==="
404
- USER_COUNT=0
405
- for USER_DIR in "$HOME/.omc/skills" "$HOME/.claude/skills/omc-learned"; do
406
- if [ -d "$USER_DIR" ]; then
407
- USER_COUNT=$((USER_COUNT + $(find "$USER_DIR" -name "*.md" 2>/dev/null | wc -l)))
408
- fi
409
- done
410
- echo "Total skills: $USER_COUNT"
411
-
412
- if [ $USER_COUNT -gt 0 ]; then
413
- echo ""
414
- echo "Skills found:"
415
- for USER_DIR in "$HOME/.omc/skills" "$HOME/.claude/skills/omc-learned"; do
416
- [ -d "$USER_DIR" ] || continue
417
- find "$USER_DIR" -name "*.md" -type f -exec sh -c '
396
+ # Scan user-level skills
397
+ echo "=== USER-LEVEL SKILLS (~/.claude/skills/omc-learned/) ==="
398
+ if [ -d "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" ]; then
399
+ USER_COUNT=$(find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" 2>/dev/null | wc -l)
400
+ echo "Total skills: $USER_COUNT"
401
+
402
+ if [ $USER_COUNT -gt 0 ]; then
403
+ echo ""
404
+ echo "Skills found:"
405
+ find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" -type f -exec sh -c '
418
406
  FILE="$1"
419
407
  NAME=$(grep -m1 "^name:" "$FILE" 2>/dev/null | sed "s/name: //")
420
408
  DESC=$(grep -m1 "^description:" "$FILE" 2>/dev/null | sed "s/description: //")
421
409
  MODIFIED=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
422
- [ -z "$NAME" ] && NAME=$(basename "$FILE" .md)
423
410
  echo " - $NAME"
424
411
  [ -n "$DESC" ] && echo " Description: $DESC"
425
- echo " File: $FILE"
426
412
  echo " Modified: $MODIFIED"
427
413
  echo ""
428
414
  ' sh {} \;
429
- done
415
+ fi
416
+ else
417
+ echo "Directory not found"
430
418
  fi
431
419
 
432
420
  echo ""
@@ -453,19 +441,8 @@ else
453
441
  echo "Directory not found"
454
442
  fi
455
443
 
456
- # Scan builtin plugin skills (read-only)
457
- echo ""
458
- echo "=== BUILTIN SKILLS (~/.claude/plugins/oh-my-claudecode/skills/) ==="
459
- if [ -d "$HOME/.claude/plugins/oh-my-claudecode/skills" ]; then
460
- BUILTIN_COUNT=$(find "$HOME/.claude/plugins/oh-my-claudecode/skills" -name "SKILL.md" 2>/dev/null | wc -l)
461
- echo "Total skills: $BUILTIN_COUNT"
462
- else
463
- BUILTIN_COUNT=0
464
- echo "Directory not found (plugin may not be installed yet)"
465
- fi
466
-
467
444
  # Summary
468
- TOTAL=$((USER_COUNT + PROJECT_COUNT + BUILTIN_COUNT))
445
+ TOTAL=$((USER_COUNT + PROJECT_COUNT))
469
446
  echo "=== SUMMARY ==="
470
447
  echo "Total skills across all directories: $TOTAL"
471
448
  ```
@@ -500,9 +477,8 @@ Ask user to provide either:
500
477
  - **Paste content**: Paste skill markdown content directly
501
478
 
502
479
  Then ask for scope:
503
- - **User-level** (~/.omc/skills/ preferred, ~/.claude/skills/omc-learned/ legacy) - Available across all projects
480
+ - **User-level** (~/.claude/skills/omc-learned/) - Available across all projects
504
481
  - **Project-level** (.omc/skills/) - Only for this project
505
- - **Builtin** (~/.claude/plugins/oh-my-claudecode/skills/) - Plugin-provided, read-only
506
482
 
507
483
  Validate the skill format and save to the chosen location.
508
484
 
@@ -795,8 +771,7 @@ Good skills are:
795
771
  > /oh-my-claudecode:skill list
796
772
 
797
773
  Checking skill directories...
798
- ✓ User skills directory exists: ~/.omc/skills/
799
- ✓ Legacy user skills directory exists: ~/.claude/skills/omc-learned/
774
+ ✓ User skills directory exists: ~/.claude/skills/omc-learned/
800
775
  ✓ Project skills directory exists: .omc/skills/
801
776
 
802
777
  Scanning for skills...
@@ -821,14 +796,8 @@ Total skills: 5
821
796
  Description: When to clear TypeScript build cache to fix phantom errors
822
797
  Modified: 2026-01-21 11:28:37
823
798
 
824
- === BUILTIN SKILLS ===
825
- Total skills: 37
826
- - omc-setup
827
- - code-review
828
- - ultrawork
829
-
830
799
  === SUMMARY ===
831
- Total skills: 45
800
+ Total skills: 8
832
801
 
833
802
  What would you like to do?
834
803
  1. Add new skill
@@ -845,7 +814,7 @@ What would you like to do?
845
814
  - Run `/oh-my-claudecode:skill list` periodically to review your skill library
846
815
  - After solving a tricky bug, immediately run learner to capture it
847
816
  - Use project-level skills for codebase-specific knowledge
848
- - Use user-level skills (`~/.omc/skills/`) for general patterns that apply everywhere
817
+ - Use user-level skills for general patterns that apply everywhere
849
818
  - Review and refine triggers over time to improve matching accuracy
850
819
 
851
820
  ---
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: skillify
3
+ description: Turn a repeatable workflow from the current session into a reusable OMC skill draft
4
+ ---
5
+
6
+ # Skillify
7
+
8
+ Use this skill when the current session uncovered a repeatable workflow that should become a reusable OMC skill.
9
+
10
+ ## Goal
11
+ Capture a successful multi-step workflow as a concrete skill draft instead of rediscovering it later.
12
+
13
+ ## Workflow
14
+ 1. Identify the repeatable task the session accomplished.
15
+ 2. Extract:
16
+ - inputs
17
+ - ordered steps
18
+ - success criteria
19
+ - constraints / pitfalls
20
+ - best target location for the skill
21
+ 3. Decide whether the workflow belongs as:
22
+ - a repo built-in skill
23
+ - a user/project learned skill
24
+ - documentation only
25
+ 4. When drafting a learned skill file, output a complete skill file that starts with YAML frontmatter.
26
+ - Never emit plain markdown-only skill files.
27
+ - Minimum frontmatter:
28
+ ```yaml
29
+ ---
30
+ name: <skill-name>
31
+ description: <one-line description>
32
+ triggers:
33
+ - <trigger-1>
34
+ - <trigger-2>
35
+ ---
36
+ ```
37
+ - Write learned/user/project skills to:
38
+ - `${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<skill-name>.md`
39
+ - `.omc/skills/<skill-name>.md`
40
+ 5. Draft the rest of the skill file with clear triggers, steps, and success criteria.
41
+ 6. Point out anything still too fuzzy to encode safely.
42
+
43
+ ## Rules
44
+ - Only capture workflows that are actually repeatable.
45
+ - Keep the skill practical and scoped.
46
+ - Prefer explicit success criteria over vague prose.
47
+ - If the workflow still has unresolved branching decisions, note them before drafting.
48
+
49
+ ## Output
50
+ - Proposed skill name
51
+ - Target location
52
+ - Draft workflow structure
53
+ - Open questions, if any
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: team
3
3
  description: N coordinated agents on shared task list using Claude Code native teams
4
+ argument-hint: "[N:agent-type] [ralph] <task description>"
4
5
  aliases: []
5
6
  level: 4
6
7
  ---
@@ -799,7 +800,7 @@ See Cancellation section below for details.
799
800
 
800
801
  If the lead crashes mid-run, the team skill should detect existing state and resume:
801
802
 
802
- 1. Check `~/.claude/teams/` for teams matching the task slug
803
+ 1. Check `${CLAUDE_CONFIG_DIR:-~/.claude}/teams/` for teams matching the task slug
803
804
  2. If found, read `config.json` to discover active members
804
805
  3. Resume monitor mode instead of creating a duplicate team
805
806
  4. Call `TaskList` to determine current progress
@@ -871,26 +872,97 @@ When `OMC_TEAM_SCALING_ENABLED=1` is set, the team supports mid-session scaling:
871
872
 
872
873
  ## Configuration
873
874
 
874
- Optional settings via `.omc-config.json`:
875
+ Optional settings live in `.claude/omc.jsonc` (project) or `~/.config/claude-omc/config.jsonc` (user). Project values override user values; `OMC_TEAM_ROLE_OVERRIDES` (env JSON) supersedes both.
875
876
 
876
- ```json
877
+ ```jsonc
877
878
  {
878
879
  "team": {
879
- "maxAgents": 20,
880
- "defaultAgentType": "executor",
881
- "monitorIntervalMs": 30000,
882
- "shutdownTimeoutMs": 15000
880
+ "ops": {
881
+ "maxAgents": 20,
882
+ "defaultAgentType": "claude",
883
+ "monitorIntervalMs": 30000,
884
+ "shutdownTimeoutMs": 15000
885
+ }
883
886
  }
884
887
  }
885
888
  ```
886
889
 
887
- - **maxAgents** - Maximum teammates (default: 20)
888
- - **defaultAgentType** - Agent type when not specified (default: `executor`)
889
- - **monitorIntervalMs** - How often to poll `TaskList` (default: 30s)
890
- - **shutdownTimeoutMs** - How long to wait for shutdown responses (default: 15s)
890
+ - **ops.maxAgents** - Maximum teammates (default: 20)
891
+ - **ops.defaultAgentType** - CLI provider when a `/team` invocation does not specify one (`claude` | `codex` | `gemini`, default: `claude`)
892
+ - **ops.monitorIntervalMs** - How often to poll `TaskList` (default: 30s)
893
+ - **ops.shutdownTimeoutMs** - How long to wait for shutdown responses (default: 15s)
891
894
 
892
895
  > **Note:** Team members do not have a hardcoded model default. Each teammate is a separate Claude Code session that inherits the user's configured model. Since teammates can spawn their own subagents, the session model acts as the orchestration layer while subagents can use any model tier.
893
896
 
897
+ ## Per-Role Provider & Model Routing
898
+
899
+ > **Scope:** Applies to `/team` only. Task-based delegation uses `delegationRouting` (see separate docs). The two systems coexist by design.
900
+
901
+ Declare which provider (`claude`, `codex`, `gemini`) and which model tier should back each canonical role. Routing is resolved **once** at team creation and persisted in `TeamConfig.resolved_routing` — spawn, scale-up, and restart all read from the snapshot, so a role's worker CLI and model are stable for the lifetime of the team.
902
+
903
+ ### Example — user target mapping
904
+
905
+ ```jsonc
906
+ // .claude/omc.jsonc
907
+ {
908
+ "team": {
909
+ "roleRouting": {
910
+ "orchestrator": { "model": "inherit" },
911
+ "planner": { "provider": "claude", "model": "HIGH" },
912
+ "analyst": { "provider": "claude", "model": "HIGH" },
913
+ "executor": { "provider": "claude", "model": "MEDIUM" },
914
+ "critic": { "provider": "codex" },
915
+ "code-reviewer": { "provider": "gemini" },
916
+ "test-engineer": { "provider": "gemini", "model": "MEDIUM" }
917
+ }
918
+ }
919
+ }
920
+ ```
921
+
922
+ | Role | Provider | Model |
923
+ |---|---|---|
924
+ | `orchestrator` | claude (pinned) | inherits invoking session |
925
+ | `planner` | claude | `HIGH` (opus) |
926
+ | `analyst` | claude | `HIGH` (opus) |
927
+ | `executor` | claude | `MEDIUM` (sonnet) |
928
+ | `critic` | codex | codex default |
929
+ | `code-reviewer` | gemini | gemini default |
930
+ | `test-engineer` | gemini | `MEDIUM` (sonnet) |
931
+
932
+ ### Canonical roles
933
+
934
+ `orchestrator`, `planner`, `analyst`, `architect`, `executor`, `debugger`, `critic`, `code-reviewer`, `security-reviewer`, `test-engineer`, `designer`, `writer`, `code-simplifier`, `explore`, `document-specialist`.
935
+
936
+ User-friendly aliases normalize via `normalizeDelegationRole()` — e.g. `reviewer` → `code-reviewer`, `quality-reviewer` → `code-reviewer`, `harsh-critic` → `critic`, `build-fixer` → `debugger`. Accepted alias keys are honored during resolved snapshot creation and later stage routing, not just validation. Unknown roles fail validation at parse time.
937
+
938
+ ### Spec fields (`TeamRoleAssignmentSpec`)
939
+
940
+ - **provider** — `"claude" | "codex" | "gemini"`. Omitted → defaults to `claude`.
941
+ - **model** — tier name (`"HIGH" | "MEDIUM" | "LOW"`) or an explicit model ID. Tiers resolve through `routing.tierModels`.
942
+ - **agent** — optional Claude agent name (e.g. `"critic"`, `"executor"`). Only honored when the resolved provider is `claude`.
943
+
944
+ `orchestrator` is pinned to `claude`; only `model` is user-configurable. Any other key on `orchestrator` is rejected by the validator.
945
+
946
+ ### Env override
947
+
948
+ ```bash
949
+ OMC_TEAM_ROLE_OVERRIDES='{"critic":{"provider":"codex"},"code-reviewer":{"provider":"gemini"}}'
950
+ ```
951
+
952
+ Precedence: `OMC_TEAM_ROLE_OVERRIDES` > `.claude/omc.jsonc` (project) > `~/.config/claude-omc/config.jsonc` (user) > built-in defaults. Invalid JSON logs a warning and is ignored — env overrides are best-effort and never abort the run.
953
+
954
+ ### Fallback when a CLI is missing
955
+
956
+ If the CLI for a configured provider is absent from `PATH` at spawn time, `buildLaunchArgs()` throws, the team lead emits a visible `SendMessage` warning, and the runtime falls back to a deterministic Claude assignment pre-computed by `buildResolvedRoutingSnapshot` (same tier + same agent, `provider: "claude"`). Fallback is loud by design — silent fallback is a test failure. Probe provider availability with `omc doctor --team-routing`.
957
+
958
+ ### Stickiness — resolved once, reused everywhere
959
+
960
+ Resolved routing is immutable per team. Editing config mid-team-lifetime does not affect running teams; a new `/team` invocation picks up the new mapping. This guarantees that spawn, scale-up, and worker-restart all see identical routing, including across worktree detaches (the snapshot travels with `TeamConfig`).
961
+
962
+ ### Zero-config behavior
963
+
964
+ An empty `team.roleRouting` preserves pre-patch behavior: every worker is Claude, model tiers follow `routing.tierModels`, and `/team 3:executor ...` still spawns three Claude Sonnet executors.
965
+
894
966
  ## State Cleanup
895
967
 
896
968
  On successful completion:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: trace
3
3
  description: Evidence-driven tracing lane that orchestrates competing tracer hypotheses in Claude built-in team mode
4
+ argument-hint: "<observation to trace>"
4
5
  agent: tracer
5
6
  level: 2
6
7
  ---
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: ultraqa
3
3
  description: QA cycling workflow - test, verify, fix, repeat until goal met
4
+ argument-hint: "[--tests|--build|--lint|--typecheck|--custom <pattern>] [--interactive]"
4
5
  level: 3
5
6
  ---
6
7
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: ultrawork
3
3
  description: Parallel execution engine for high-throughput task completion
4
+ argument-hint: "<task description with parallel work items>"
4
5
  level: 4
5
6
  ---
6
7
 
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: verify
3
+ description: Verify that a change really works before you claim completion
4
+ ---
5
+
6
+ # Verify
7
+
8
+ Use this skill when the user wants confidence that a feature, fix, or refactor actually works.
9
+
10
+ ## Goal
11
+ Turn vague “it should work” claims into concrete evidence.
12
+
13
+ ## Workflow
14
+ 1. Identify the exact behavior that must be proven.
15
+ 2. Prefer existing tests first.
16
+ 3. If coverage is missing, run the narrowest direct verification commands available.
17
+ 4. If direct automation is not enough, describe the manual validation steps and gather concrete observable evidence.
18
+ 5. Report only what was actually verified.
19
+
20
+ ## Verification order
21
+ 1. Existing tests
22
+ 2. Typecheck / build
23
+ 3. Narrow direct command checks
24
+ 4. Manual or interactive validation
25
+
26
+ ## Rules
27
+ - Do not say a change is complete without evidence.
28
+ - If a check fails, include the failure clearly.
29
+ - If no realistic verification path exists, say that explicitly instead of bluffing.
30
+ - Prefer concise evidence summaries over noisy logs.
31
+
32
+ ## Output
33
+ - What was verified
34
+ - Which commands/tests were run
35
+ - What passed
36
+ - What failed or remains unverified
37
+
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: wiki
3
+ description: LLM Wiki — persistent markdown knowledge base that compounds across sessions (Karpathy model)
4
+ triggers: ["wiki", "wiki this", "wiki add", "wiki lint", "wiki query"]
5
+ ---
6
+
7
+ # Wiki
8
+
9
+ Persistent, self-maintained markdown knowledge base for project and session knowledge. Inspired by Karpathy's LLM Wiki concept.
10
+
11
+ ## Operations
12
+
13
+ ### Ingest
14
+ Process knowledge into wiki pages. A single ingest can touch multiple pages.
15
+
16
+ ```
17
+ wiki_ingest({ title: "Auth Architecture", content: "...", tags: ["auth", "architecture"], category: "architecture" })
18
+ ```
19
+
20
+ ### Query
21
+ Search across all wiki pages by keywords and tags. Returns matching pages with snippets — YOU (the LLM) synthesize answers with citations from the results.
22
+
23
+ ```
24
+ wiki_query({ query: "authentication", tags: ["auth"], category: "architecture" })
25
+ ```
26
+
27
+ ### Lint
28
+ Run health checks on the wiki. Detects orphan pages, stale content, broken cross-references, oversized pages, and structural contradictions.
29
+
30
+ ```
31
+ wiki_lint()
32
+ ```
33
+
34
+ ### Quick Add
35
+ Add a single page quickly (simpler than ingest).
36
+
37
+ ```
38
+ wiki_add({ title: "Page Title", content: "...", tags: ["tag1"], category: "decision" })
39
+ ```
40
+
41
+ ### List / Read / Delete
42
+ ```
43
+ wiki_list() # Show all pages (reads index.md)
44
+ wiki_read({ page: "auth-architecture" }) # Read specific page
45
+ wiki_delete({ page: "outdated-page" }) # Delete a page
46
+ ```
47
+
48
+ ### Log
49
+ View wiki operation history by reading `.omc/wiki/log.md`.
50
+
51
+ ## Categories
52
+ Pages are organized by category: `architecture`, `decision`, `pattern`, `debugging`, `environment`, `session-log`
53
+
54
+ ## Storage
55
+ - Pages: `.omc/wiki/*.md` (markdown with YAML frontmatter)
56
+ - Index: `.omc/wiki/index.md` (auto-maintained catalog)
57
+ - Log: `.omc/wiki/log.md` (append-only operation chronicle)
58
+
59
+ ## Cross-References
60
+ Use `[[page-name]]` wiki-link syntax to create cross-references between pages.
61
+
62
+ ## Auto-Capture
63
+ At session end, significant discoveries are automatically captured as session-log pages. Configure via `wiki.autoCapture` in `.omc-config.json` (default: enabled).
64
+
65
+ ## Hard Constraints
66
+ - NO vector embeddings — query uses keyword + tag matching only
67
+ - Wiki pages are git-ignored by default (`.omc/wiki/` is project-local)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudecode-omc",
3
- "version": "5.3.0",
3
+ "version": "5.5.0",
4
4
  "description": "Claude Code harness — best-practice skills, agents, hooks, and configs from multiple sources",
5
5
  "bin": {
6
6
  "omc-manage": "bin/omc-manage.js"
@@ -17,6 +17,8 @@
17
17
  "scripts": {
18
18
  "setup": "node bin/omc-manage.js setup",
19
19
  "doctor": "node bin/omc-manage.js doctor",
20
+ "guidelines:optimize": "node bin/omc-manage.js guidelines optimize",
21
+ "guidelines:apply": "node bin/omc-manage.js guidelines apply",
20
22
  "source:list": "node bin/omc-manage.js source list",
21
23
  "source:sync": "node bin/omc-manage.js source sync",
22
24
  "source:status": "node bin/omc-manage.js source status",