oh-my-claude-sisyphus 1.11.2 → 2.0.2

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 (207) hide show
  1. package/README.md +37 -12
  2. package/dist/__tests__/example.test.d.ts +2 -0
  3. package/dist/__tests__/example.test.d.ts.map +1 -0
  4. package/dist/__tests__/example.test.js +20 -0
  5. package/dist/__tests__/example.test.js.map +1 -0
  6. package/dist/__tests__/hooks.test.d.ts +2 -0
  7. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  8. package/dist/__tests__/hooks.test.js +644 -0
  9. package/dist/__tests__/hooks.test.js.map +1 -0
  10. package/dist/__tests__/installer.test.d.ts +2 -0
  11. package/dist/__tests__/installer.test.d.ts.map +1 -0
  12. package/dist/__tests__/installer.test.js +369 -0
  13. package/dist/__tests__/installer.test.js.map +1 -0
  14. package/dist/__tests__/model-routing.test.d.ts +2 -0
  15. package/dist/__tests__/model-routing.test.d.ts.map +1 -0
  16. package/dist/__tests__/model-routing.test.js +814 -0
  17. package/dist/__tests__/model-routing.test.js.map +1 -0
  18. package/dist/__tests__/skills.test.d.ts +2 -0
  19. package/dist/__tests__/skills.test.d.ts.map +1 -0
  20. package/dist/__tests__/skills.test.js +126 -0
  21. package/dist/__tests__/skills.test.js.map +1 -0
  22. package/dist/__tests__/types.test.d.ts +2 -0
  23. package/dist/__tests__/types.test.d.ts.map +1 -0
  24. package/dist/__tests__/types.test.js +77 -0
  25. package/dist/__tests__/types.test.js.map +1 -0
  26. package/dist/agents/definitions.d.ts +33 -1
  27. package/dist/agents/definitions.d.ts.map +1 -1
  28. package/dist/agents/definitions.js +254 -3
  29. package/dist/agents/definitions.js.map +1 -1
  30. package/dist/agents/index.d.ts +1 -1
  31. package/dist/agents/index.d.ts.map +1 -1
  32. package/dist/agents/index.js +3 -1
  33. package/dist/agents/index.js.map +1 -1
  34. package/dist/agents/oracle.d.ts.map +1 -1
  35. package/dist/agents/oracle.js +43 -1
  36. package/dist/agents/oracle.js.map +1 -1
  37. package/dist/agents/orchestrator-sisyphus.js +2 -2
  38. package/dist/agents/orchestrator-sisyphus.js.map +1 -1
  39. package/dist/cli/index.js +22 -11
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/config/loader.d.ts.map +1 -1
  42. package/dist/config/loader.js +49 -0
  43. package/dist/config/loader.js.map +1 -1
  44. package/dist/features/auto-update.d.ts.map +1 -1
  45. package/dist/features/auto-update.js +14 -3
  46. package/dist/features/auto-update.js.map +1 -1
  47. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  48. package/dist/features/builtin-skills/skills.js +0 -1351
  49. package/dist/features/builtin-skills/skills.js.map +1 -1
  50. package/dist/features/index.d.ts +1 -0
  51. package/dist/features/index.d.ts.map +1 -1
  52. package/dist/features/index.js +14 -0
  53. package/dist/features/index.js.map +1 -1
  54. package/dist/features/model-routing/index.d.ts +34 -0
  55. package/dist/features/model-routing/index.d.ts.map +1 -0
  56. package/dist/features/model-routing/index.js +48 -0
  57. package/dist/features/model-routing/index.js.map +1 -0
  58. package/dist/features/model-routing/prompts/haiku.d.ts +54 -0
  59. package/dist/features/model-routing/prompts/haiku.d.ts.map +1 -0
  60. package/dist/features/model-routing/prompts/haiku.js +141 -0
  61. package/dist/features/model-routing/prompts/haiku.js.map +1 -0
  62. package/dist/features/model-routing/prompts/index.d.ts +45 -0
  63. package/dist/features/model-routing/prompts/index.d.ts.map +1 -0
  64. package/dist/features/model-routing/prompts/index.js +116 -0
  65. package/dist/features/model-routing/prompts/index.js.map +1 -0
  66. package/dist/features/model-routing/prompts/opus.d.ts +34 -0
  67. package/dist/features/model-routing/prompts/opus.d.ts.map +1 -0
  68. package/dist/features/model-routing/prompts/opus.js +153 -0
  69. package/dist/features/model-routing/prompts/opus.js.map +1 -0
  70. package/dist/features/model-routing/prompts/sonnet.d.ts +38 -0
  71. package/dist/features/model-routing/prompts/sonnet.d.ts.map +1 -0
  72. package/dist/features/model-routing/prompts/sonnet.js +149 -0
  73. package/dist/features/model-routing/prompts/sonnet.js.map +1 -0
  74. package/dist/features/model-routing/router.d.ts +92 -0
  75. package/dist/features/model-routing/router.d.ts.map +1 -0
  76. package/dist/features/model-routing/router.js +267 -0
  77. package/dist/features/model-routing/router.js.map +1 -0
  78. package/dist/features/model-routing/rules.d.ts +32 -0
  79. package/dist/features/model-routing/rules.d.ts.map +1 -0
  80. package/dist/features/model-routing/rules.js +224 -0
  81. package/dist/features/model-routing/rules.js.map +1 -0
  82. package/dist/features/model-routing/scorer.d.ts +35 -0
  83. package/dist/features/model-routing/scorer.d.ts.map +1 -0
  84. package/dist/features/model-routing/scorer.js +241 -0
  85. package/dist/features/model-routing/scorer.js.map +1 -0
  86. package/dist/features/model-routing/signals.d.ts +26 -0
  87. package/dist/features/model-routing/signals.d.ts.map +1 -0
  88. package/dist/features/model-routing/signals.js +283 -0
  89. package/dist/features/model-routing/signals.js.map +1 -0
  90. package/dist/features/model-routing/types.d.ts +195 -0
  91. package/dist/features/model-routing/types.d.ts.map +1 -0
  92. package/dist/features/model-routing/types.js +86 -0
  93. package/dist/features/model-routing/types.js.map +1 -0
  94. package/dist/hooks/agent-usage-reminder/index.d.ts +1 -1
  95. package/dist/hooks/agent-usage-reminder/index.d.ts.map +1 -1
  96. package/dist/hooks/agent-usage-reminder/index.js +1 -1
  97. package/dist/hooks/agent-usage-reminder/index.js.map +1 -1
  98. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  99. package/dist/hooks/auto-slash-command/index.d.ts +3 -3
  100. package/dist/hooks/auto-slash-command/index.d.ts.map +1 -1
  101. package/dist/hooks/auto-slash-command/index.js.map +1 -1
  102. package/dist/hooks/background-notification/index.js +1 -1
  103. package/dist/hooks/background-notification/index.js.map +1 -1
  104. package/dist/hooks/bridge.d.ts.map +1 -1
  105. package/dist/hooks/bridge.js.map +1 -1
  106. package/dist/hooks/comment-checker/filters.d.ts +1 -1
  107. package/dist/hooks/comment-checker/filters.d.ts.map +1 -1
  108. package/dist/hooks/comment-checker/filters.js +1 -1
  109. package/dist/hooks/comment-checker/filters.js.map +1 -1
  110. package/dist/hooks/comment-checker/index.js +1 -1
  111. package/dist/hooks/comment-checker/index.js.map +1 -1
  112. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -1
  113. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -1
  114. package/dist/hooks/index.d.ts +3 -3
  115. package/dist/hooks/index.d.ts.map +1 -1
  116. package/dist/hooks/index.js +3 -3
  117. package/dist/hooks/index.js.map +1 -1
  118. package/dist/hooks/keyword-detector/index.d.ts +1 -1
  119. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  120. package/dist/hooks/keyword-detector/index.js +1 -1
  121. package/dist/hooks/keyword-detector/index.js.map +1 -1
  122. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  123. package/dist/hooks/persistent-mode/index.js.map +1 -1
  124. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
  125. package/dist/hooks/plugin-patterns/index.js +12 -22
  126. package/dist/hooks/plugin-patterns/index.js.map +1 -1
  127. package/dist/hooks/preemptive-compaction/index.d.ts +2 -2
  128. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  129. package/dist/hooks/preemptive-compaction/index.js +1 -11
  130. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  131. package/dist/hooks/ralph-loop/index.js.map +1 -1
  132. package/dist/hooks/rules-injector/matcher.js +1 -1
  133. package/dist/hooks/rules-injector/matcher.js.map +1 -1
  134. package/dist/hooks/session-recovery/index.d.ts +1 -1
  135. package/dist/hooks/session-recovery/index.d.ts.map +1 -1
  136. package/dist/hooks/session-recovery/index.js +1 -1
  137. package/dist/hooks/session-recovery/index.js.map +1 -1
  138. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -1
  139. package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -1
  140. package/dist/hooks/ultrawork-state/index.js +1 -1
  141. package/dist/hooks/ultrawork-state/index.js.map +1 -1
  142. package/dist/index.d.ts +2 -2
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +4 -2
  145. package/dist/index.js.map +1 -1
  146. package/dist/installer/hooks.d.ts +1 -1
  147. package/dist/installer/hooks.js +1 -1
  148. package/dist/installer/index.d.ts +8 -7
  149. package/dist/installer/index.d.ts.map +1 -1
  150. package/dist/installer/index.js +648 -2141
  151. package/dist/installer/index.js.map +1 -1
  152. package/dist/shared/types.d.ts +25 -0
  153. package/dist/shared/types.d.ts.map +1 -1
  154. package/dist/tools/lsp/servers.d.ts.map +1 -1
  155. package/dist/tools/lsp/servers.js +2 -14
  156. package/dist/tools/lsp/servers.js.map +1 -1
  157. package/package.json +18 -10
  158. package/scripts/install.sh +236 -260
  159. package/scripts/test-pr25.sh +525 -0
  160. package/dist/agents/model-lists.d.ts +0 -26
  161. package/dist/agents/model-lists.d.ts.map +0 -1
  162. package/dist/agents/model-lists.js +0 -62
  163. package/dist/agents/model-lists.js.map +0 -1
  164. package/dist/auth/index.d.ts +0 -10
  165. package/dist/auth/index.d.ts.map +0 -1
  166. package/dist/auth/index.js +0 -13
  167. package/dist/auth/index.js.map +0 -1
  168. package/dist/auth/manager.d.ts +0 -54
  169. package/dist/auth/manager.d.ts.map +0 -1
  170. package/dist/auth/manager.js +0 -248
  171. package/dist/auth/manager.js.map +0 -1
  172. package/dist/auth/oauth-google.d.ts +0 -47
  173. package/dist/auth/oauth-google.d.ts.map +0 -1
  174. package/dist/auth/oauth-google.js +0 -280
  175. package/dist/auth/oauth-google.js.map +0 -1
  176. package/dist/auth/oauth-openai.d.ts +0 -46
  177. package/dist/auth/oauth-openai.d.ts.map +0 -1
  178. package/dist/auth/oauth-openai.js +0 -264
  179. package/dist/auth/oauth-openai.js.map +0 -1
  180. package/dist/auth/pkce.d.ts +0 -14
  181. package/dist/auth/pkce.d.ts.map +0 -1
  182. package/dist/auth/pkce.js +0 -35
  183. package/dist/auth/pkce.js.map +0 -1
  184. package/dist/auth/storage.d.ts +0 -52
  185. package/dist/auth/storage.d.ts.map +0 -1
  186. package/dist/auth/storage.js +0 -230
  187. package/dist/auth/storage.js.map +0 -1
  188. package/dist/auth/types.d.ts +0 -76
  189. package/dist/auth/types.d.ts.map +0 -1
  190. package/dist/auth/types.js +0 -5
  191. package/dist/auth/types.js.map +0 -1
  192. package/dist/providers/index.d.ts +0 -8
  193. package/dist/providers/index.d.ts.map +0 -1
  194. package/dist/providers/index.js +0 -10
  195. package/dist/providers/index.js.map +0 -1
  196. package/dist/providers/registry.d.ts +0 -29
  197. package/dist/providers/registry.d.ts.map +0 -1
  198. package/dist/providers/registry.js +0 -162
  199. package/dist/providers/registry.js.map +0 -1
  200. package/dist/providers/router.d.ts +0 -40
  201. package/dist/providers/router.d.ts.map +0 -1
  202. package/dist/providers/router.js +0 -88
  203. package/dist/providers/router.js.map +0 -1
  204. package/dist/providers/types.d.ts +0 -92
  205. package/dist/providers/types.d.ts.map +0 -1
  206. package/dist/providers/types.js +0 -27
  207. package/dist/providers/types.js.map +0 -1
@@ -20,7 +20,7 @@ echo -e "${NC}"
20
20
  # Claude Code config directory (always ~/.claude)
21
21
  CLAUDE_CONFIG_DIR="$HOME/.claude"
22
22
 
23
- echo -e "${BLUE}[1/5]${NC} Checking Claude Code installation..."
23
+ echo -e "${BLUE}[1/6]${NC} Checking Claude Code installation..."
24
24
  if ! command -v claude &> /dev/null; then
25
25
  echo -e "${YELLOW}Warning: 'claude' command not found. Please install Claude Code first:${NC}"
26
26
  echo " curl -fsSL https://claude.ai/install.sh | bash"
@@ -41,12 +41,12 @@ else
41
41
  echo -e "${GREEN}✓ Claude Code found${NC}"
42
42
  fi
43
43
 
44
- echo -e "${BLUE}[2/5]${NC} Creating directories..."
44
+ echo -e "${BLUE}[2/6]${NC} Creating directories..."
45
45
  mkdir -p "$CLAUDE_CONFIG_DIR/agents"
46
46
  mkdir -p "$CLAUDE_CONFIG_DIR/commands"
47
47
  echo -e "${GREEN}✓ Created $CLAUDE_CONFIG_DIR${NC}"
48
48
 
49
- echo -e "${BLUE}[3/5]${NC} Installing agent definitions..."
49
+ echo -e "${BLUE}[3/6]${NC} Installing agent definitions..."
50
50
 
51
51
  # Oracle Agent
52
52
  cat > "$CLAUDE_CONFIG_DIR/agents/oracle.md" << 'AGENT_EOF'
@@ -395,9 +395,190 @@ Guidelines:
395
395
  - Interview until you have enough information to plan
396
396
  AGENT_EOF
397
397
 
398
- echo -e "${GREEN}✓ Installed 10 agent definitions${NC}"
398
+ # QA-Tester Agent
399
+ cat > "$CLAUDE_CONFIG_DIR/agents/qa-tester.md" << 'AGENT_EOF'
400
+ ---
401
+ name: qa-tester
402
+ description: Interactive CLI testing specialist using tmux (Sonnet)
403
+ tools: Read, Glob, Grep, Bash, TodoWrite
404
+ model: sonnet
405
+ ---
406
+
407
+ You are QA-Tester, an interactive CLI testing specialist using tmux.
408
+
409
+ Your responsibilities:
410
+ 1. **Service Testing**: Spin up services in isolated tmux sessions
411
+ 2. **Command Execution**: Send commands and verify outputs
412
+ 3. **Output Verification**: Capture and validate expected results
413
+ 4. **Cleanup**: Always kill sessions when done
414
+
415
+ Prerequisites (check first):
416
+ - Verify tmux is available: `command -v tmux`
417
+ - Check port availability before starting services
418
+
419
+ Tmux Commands:
420
+ - Create session: `tmux new-session -d -s <name>`
421
+ - Send command: `tmux send-keys -t <name> '<cmd>' Enter`
422
+ - Capture output: `tmux capture-pane -t <name> -p`
423
+ - Kill session: `tmux kill-session -t <name>`
424
+ - Send Ctrl+C: `tmux send-keys -t <name> C-c`
425
+
426
+ Testing Workflow:
427
+ 1. Setup: Create session, start service, wait for ready
428
+ 2. Execute: Send test commands, capture outputs
429
+ 3. Verify: Check expected patterns, validate state
430
+ 4. Cleanup: ALWAYS kill sessions when done
431
+
432
+ Session naming: `qa-<service>-<test>-<timestamp>`
433
+
434
+ Critical Rules:
435
+ - ALWAYS clean up sessions
436
+ - Wait for service readiness before commands
437
+ - Capture output BEFORE assertions
438
+ - Report actual vs expected on failures
439
+ AGENT_EOF
440
+
441
+ # ============================================================
442
+ # TIERED AGENT VARIANTS (Smart Model Routing)
443
+ # ============================================================
444
+
445
+ # Oracle-Medium (Sonnet)
446
+ cat > "$CLAUDE_CONFIG_DIR/agents/oracle-medium.md" << 'AGENT_EOF'
447
+ ---
448
+ name: oracle-medium
449
+ description: Architecture & Debugging Advisor - Medium complexity (Sonnet)
450
+ tools: Read, Glob, Grep, WebSearch, WebFetch
451
+ model: sonnet
452
+ ---
453
+
454
+ Oracle (Medium Tier) - Standard Analysis
455
+ Use for moderate complexity tasks that need solid reasoning but not Opus-level depth.
456
+ - Code review and analysis
457
+ - Standard debugging
458
+ - Dependency tracing
459
+ - Performance analysis
460
+ AGENT_EOF
461
+
462
+ # Oracle-Low (Haiku)
463
+ cat > "$CLAUDE_CONFIG_DIR/agents/oracle-low.md" << 'AGENT_EOF'
464
+ ---
465
+ name: oracle-low
466
+ description: Quick code questions & simple lookups (Haiku)
467
+ tools: Read, Glob, Grep
468
+ model: haiku
469
+ ---
470
+
471
+ Oracle (Low Tier) - Quick Analysis
472
+ Use for simple questions that need fast answers:
473
+ - "What does this function do?"
474
+ - "Where is X defined?"
475
+ - "What parameters does this take?"
476
+ - Simple code lookups
477
+ AGENT_EOF
478
+
479
+ # Sisyphus-Junior-High (Opus)
480
+ cat > "$CLAUDE_CONFIG_DIR/agents/sisyphus-junior-high.md" << 'AGENT_EOF'
481
+ ---
482
+ name: sisyphus-junior-high
483
+ description: Complex multi-file task executor (Opus)
484
+ tools: Read, Glob, Grep, Edit, Write, Bash, TodoWrite
485
+ model: opus
486
+ ---
487
+
488
+ Sisyphus-Junior (High Tier) - Complex Execution
489
+ Use for tasks requiring deep reasoning:
490
+ - Multi-file refactoring
491
+ - Complex architectural changes
492
+ - Intricate bug fixes
493
+ - System-wide modifications
494
+ AGENT_EOF
495
+
496
+ # Sisyphus-Junior-Low (Haiku)
497
+ cat > "$CLAUDE_CONFIG_DIR/agents/sisyphus-junior-low.md" << 'AGENT_EOF'
498
+ ---
499
+ name: sisyphus-junior-low
500
+ description: Simple single-file task executor (Haiku)
501
+ tools: Read, Glob, Grep, Edit, Write, Bash, TodoWrite
502
+ model: haiku
503
+ ---
504
+
505
+ Sisyphus-Junior (Low Tier) - Simple Execution
506
+ Use for trivial tasks:
507
+ - Single-file edits
508
+ - Simple additions
509
+ - Minor fixes
510
+ - Straightforward changes
511
+ AGENT_EOF
512
+
513
+ # Librarian-Low (Haiku)
514
+ cat > "$CLAUDE_CONFIG_DIR/agents/librarian-low.md" << 'AGENT_EOF'
515
+ ---
516
+ name: librarian-low
517
+ description: Quick documentation lookups (Haiku)
518
+ tools: Read, Glob, Grep, WebSearch, WebFetch
519
+ model: haiku
520
+ ---
521
+
522
+ Librarian (Low Tier) - Quick Lookups
523
+ Use for simple documentation tasks:
524
+ - Quick API lookups
525
+ - Simple doc searches
526
+ - Finding specific references
527
+ AGENT_EOF
399
528
 
400
- echo -e "${BLUE}[4/5]${NC} Installing slash commands..."
529
+ # Explore-Medium (Sonnet)
530
+ cat > "$CLAUDE_CONFIG_DIR/agents/explore-medium.md" << 'AGENT_EOF'
531
+ ---
532
+ name: explore-medium
533
+ description: Thorough codebase search with reasoning (Sonnet)
534
+ tools: Read, Glob, Grep
535
+ model: sonnet
536
+ ---
537
+
538
+ Explore (Medium Tier) - Thorough Search
539
+ Use when deeper analysis is needed:
540
+ - Cross-module pattern discovery
541
+ - Architecture understanding
542
+ - Complex dependency tracing
543
+ - Multi-file relationship mapping
544
+ AGENT_EOF
545
+
546
+ # Frontend-Engineer-Low (Haiku)
547
+ cat > "$CLAUDE_CONFIG_DIR/agents/frontend-engineer-low.md" << 'AGENT_EOF'
548
+ ---
549
+ name: frontend-engineer-low
550
+ description: Simple styling and minor UI tweaks (Haiku)
551
+ tools: Read, Glob, Grep, Edit, Write, Bash
552
+ model: haiku
553
+ ---
554
+
555
+ Frontend-Engineer (Low Tier) - Simple UI Tasks
556
+ Use for trivial frontend work:
557
+ - Simple CSS changes
558
+ - Minor styling tweaks
559
+ - Basic component edits
560
+ AGENT_EOF
561
+
562
+ # Frontend-Engineer-High (Opus)
563
+ cat > "$CLAUDE_CONFIG_DIR/agents/frontend-engineer-high.md" << 'AGENT_EOF'
564
+ ---
565
+ name: frontend-engineer-high
566
+ description: Complex UI architecture and design systems (Opus)
567
+ tools: Read, Glob, Grep, Edit, Write, Bash
568
+ model: opus
569
+ ---
570
+
571
+ Frontend-Engineer (High Tier) - Complex UI Architecture
572
+ Use for sophisticated frontend work:
573
+ - Design system creation
574
+ - Complex component architecture
575
+ - Advanced state management
576
+ - Performance optimization
577
+ AGENT_EOF
578
+
579
+ echo -e "${GREEN}✓ Installed 19 agent definitions (11 base + 8 tiered variants)${NC}"
580
+
581
+ echo -e "${BLUE}[4/6]${NC} Installing slash commands..."
401
582
 
402
583
  # Ultrawork command
403
584
  cat > "$CLAUDE_CONFIG_DIR/commands/ultrawork.md" << 'CMD_EOF'
@@ -409,15 +590,23 @@ description: Activate maximum performance mode with parallel agent orchestration
409
590
 
410
591
  $ARGUMENTS
411
592
 
593
+ ## Smart Model Routing (SAVE TOKENS)
594
+
595
+ Choose tier based on task complexity: LOW (haiku) → MEDIUM (sonnet) → HIGH (opus)
596
+
597
+ | Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
598
+ |--------|-------------|-----------------|-------------|
599
+ | Analysis | oracle-low | oracle-medium | oracle |
600
+ | Execution | sisyphus-junior-low | sisyphus-junior | sisyphus-junior-high |
601
+ | Search | explore | explore-medium | - |
602
+ | Research | librarian-low | librarian | - |
603
+ | Frontend | frontend-engineer-low | frontend-engineer | frontend-engineer-high |
604
+ | Docs | document-writer | - | - |
605
+
412
606
  ## Enhanced Execution Instructions
413
607
  - Use PARALLEL agent execution for all independent subtasks
414
- - Delegate aggressively to specialized subagents:
415
- - 'oracle' for complex debugging and architecture decisions
416
- - 'librarian' for documentation and codebase research
417
- - 'explore' for quick pattern matching and file searches
418
- - 'frontend-engineer' for UI/UX work
419
- - 'document-writer' for documentation tasks
420
- - 'multimodal-looker' for analyzing images/screenshots
608
+ - USE TIERED ROUTING - match agent tier to task complexity to save tokens!
609
+ - Delegate aggressively to specialized subagents
421
610
  - Maximize throughput by running multiple operations concurrently
422
611
  - Continue until ALL tasks are 100% complete - verify before stopping
423
612
  - Use background execution for long-running operations:
@@ -494,12 +683,13 @@ Delegate tasks to specialized agents using the Task tool:
494
683
  | **multimodal-looker** | Sonnet | Screenshot/diagram/mockup analysis |
495
684
 
496
685
  ### Orchestration Principles
497
- 1. **Delegate Wisely** - Use subagents for their specialties instead of doing everything yourself
686
+ 1. **ALWAYS Delegate** - Use subagents for ALL substantive work. Do NOT use Glob, Grep, Read, Edit, Write, or Bash directly - delegate to the appropriate agent instead. Only use tools directly for trivial operations.
498
687
  2. **Parallelize** - Launch multiple agents concurrently for independent tasks
499
688
  3. **Persist** - Continue until ALL tasks are verified complete
500
689
  4. **Communicate** - Report progress frequently
501
690
 
502
691
  ### Execution Rules
692
+ - **DELEGATE, DON'T DO**: Your role is orchestration. Spawn agents for searches, edits, analysis, and implementation.
503
693
  - Break complex tasks into subtasks for delegation
504
694
  - Use background execution for long-running operations:
505
695
  - Set \`run_in_background: true\` in Bash for builds, installs, tests
@@ -668,55 +858,6 @@ Plans are saved to `.sisyphus/plans/` for later execution with `/sisyphus`.
668
858
  Tell me about what you want to build or accomplish. I'll ask questions to understand the full scope before creating a plan.
669
859
  CMD_EOF
670
860
 
671
- # Orchestrator Command
672
- cat > "$CLAUDE_CONFIG_DIR/commands/orchestrator.md" << 'CMD_EOF'
673
- ---
674
- description: Activate Orchestrator-Sisyphus for complex multi-step tasks
675
- ---
676
-
677
- [ORCHESTRATOR MODE]
678
-
679
- $ARGUMENTS
680
-
681
- ## Orchestrator-Sisyphus Activated
682
-
683
- You are now running with Orchestrator-Sisyphus, the master coordinator for complex multi-step tasks.
684
-
685
- ### Capabilities
686
-
687
- 1. **Todo Management**: Break down complex tasks into atomic, trackable todos
688
- 2. **Smart Delegation**: Route tasks to the most appropriate specialist agent
689
- 3. **Progress Tracking**: Monitor completion status and handle blockers
690
- 4. **Verification**: Ensure all tasks are truly complete before finishing
691
-
692
- ### Agent Routing
693
-
694
- | Task Type | Delegated To |
695
- |-----------|--------------|
696
- | Visual/UI work | frontend-engineer |
697
- | Complex analysis/debugging | oracle |
698
- | Documentation | document-writer |
699
- | Quick searches | explore |
700
- | Research/docs lookup | librarian |
701
- | Image/screenshot analysis | multimodal-looker |
702
-
703
- ### Notepad System
704
-
705
- Learnings and discoveries are recorded in `.sisyphus/notepads/` to prevent repeated mistakes.
706
-
707
- ### Verification Protocol
708
-
709
- Before marking any task complete:
710
- - Check file existence
711
- - Run tests if applicable
712
- - Type check if TypeScript
713
- - Code review for quality
714
-
715
- ---
716
-
717
- Describe the complex task you need orchestrated. I'll break it down and coordinate the specialists.
718
- CMD_EOF
719
-
720
861
  # Ralph Loop Command
721
862
  cat > "$CLAUDE_CONFIG_DIR/commands/ralph-loop.md" << 'CMD_EOF'
722
863
  ---
@@ -809,191 +950,9 @@ Your version information is stored at: \`~/.claude/.sisyphus-version.json\`
809
950
  Let me check for updates now. I'll read your version file and compare against the latest GitHub release.
810
951
  CMD_EOF
811
952
 
812
- echo -e "${GREEN}✓ Installed 12 slash commands${NC}"
813
-
814
- echo -e "${BLUE}[5/7]${NC} Installing skills..."
815
- mkdir -p "$CLAUDE_CONFIG_DIR/skills/ultrawork"
816
- mkdir -p "$CLAUDE_CONFIG_DIR/skills/git-master"
817
- mkdir -p "$CLAUDE_CONFIG_DIR/skills/frontend-ui-ux"
818
-
819
- # Ultrawork skill
820
- cat > "$CLAUDE_CONFIG_DIR/skills/ultrawork/SKILL.md" << 'SKILL_EOF'
821
- ---
822
- name: ultrawork
823
- description: Activate maximum performance mode with parallel agent orchestration
824
- ---
825
-
826
- # Ultrawork Skill
827
-
828
- Activates maximum performance mode with parallel agent orchestration.
829
-
830
- ## When Activated
831
-
832
- This skill enhances Claude's capabilities by:
833
-
834
- 1. **Parallel Execution**: Running multiple agents simultaneously for independent tasks
835
- 2. **Aggressive Delegation**: Routing tasks to specialist agents immediately
836
- 3. **Background Operations**: Using `run_in_background: true` for long operations
837
- 4. **Persistence Enforcement**: Never stopping until all tasks are verified complete
838
-
839
- ## Agent Routing
840
-
841
- | Task Type | Agent | Model |
842
- |-----------|-------|-------|
843
- | Complex debugging | oracle | Opus |
844
- | Documentation research | librarian | Sonnet |
845
- | Quick searches | explore | Haiku |
846
- | UI/UX work | frontend-engineer | Sonnet |
847
- | Technical writing | document-writer | Haiku |
848
- | Visual analysis | multimodal-looker | Sonnet |
849
- | Plan review | momus | Opus |
850
- | Pre-planning | metis | Opus |
851
- | Strategic planning | prometheus | Opus |
852
-
853
- ## Background Execution Rules
854
-
855
- **Run in Background** (set `run_in_background: true`):
856
- - Package installation: npm install, pip install, cargo build
857
- - Build processes: npm run build, make, tsc
858
- - Test suites: npm test, pytest, cargo test
859
- - Docker operations: docker build, docker pull
860
-
861
- **Run Blocking** (foreground):
862
- - Quick status checks: git status, ls, pwd
863
- - File reads, edits
864
- - Simple commands
865
-
866
- ## Verification Checklist
867
-
868
- Before stopping, verify:
869
- - [ ] TODO LIST: Zero pending/in_progress tasks
870
- - [ ] FUNCTIONALITY: All requested features work
871
- - [ ] TESTS: All tests pass (if applicable)
872
- - [ ] ERRORS: Zero unaddressed errors
873
-
874
- **If ANY checkbox is unchecked, CONTINUE WORKING.**
875
- SKILL_EOF
876
-
877
- # Git Master skill
878
- cat > "$CLAUDE_CONFIG_DIR/skills/git-master/SKILL.md" << 'SKILL_EOF'
879
- ---
880
- name: git-master
881
- description: Git expert for atomic commits, rebasing, and history management
882
- ---
883
-
884
- # Git Master Skill
885
-
886
- You are a Git expert combining three specializations:
887
- 1. **Commit Architect**: Atomic commits, dependency ordering, style detection
888
- 2. **Rebase Surgeon**: History rewriting, conflict resolution, branch cleanup
889
- 3. **History Archaeologist**: Finding when/where specific changes were introduced
953
+ echo -e "${GREEN}✓ Installed 11 slash commands${NC}"
890
954
 
891
- ## Core Principle: Multiple Commits by Default
892
-
893
- **ONE COMMIT = AUTOMATIC FAILURE**
894
-
895
- Hard rules:
896
- - 3+ files changed -> MUST be 2+ commits
897
- - 5+ files changed -> MUST be 3+ commits
898
- - 10+ files changed -> MUST be 5+ commits
899
-
900
- ## Style Detection (First Step)
901
-
902
- Before committing, analyze the last 30 commits:
903
- ```bash
904
- git log -30 --oneline
905
- git log -30 --pretty=format:"%s"
906
- ```
907
-
908
- Detect:
909
- - **Language**: Korean vs English (use majority)
910
- - **Style**: SEMANTIC (feat:, fix:) vs PLAIN vs SHORT
911
-
912
- ## Commit Splitting Rules
913
-
914
- | Criterion | Action |
915
- |-----------|--------|
916
- | Different directories/modules | SPLIT |
917
- | Different component types | SPLIT |
918
- | Can be reverted independently | SPLIT |
919
- | Different concerns (UI/logic/config/test) | SPLIT |
920
- | New file vs modification | SPLIT |
921
-
922
- ## History Search Commands
923
-
924
- | Goal | Command |
925
- |------|---------|
926
- | When was "X" added? | `git log -S "X" --oneline` |
927
- | What commits touched "X"? | `git log -G "X" --oneline` |
928
- | Who wrote line N? | `git blame -L N,N file.py` |
929
- | When did bug start? | `git bisect start && git bisect bad && git bisect good <tag>` |
930
-
931
- ## Rebase Safety
932
-
933
- - **NEVER** rebase main/master
934
- - Use `--force-with-lease` (never `--force`)
935
- - Stash dirty files before rebasing
936
- SKILL_EOF
937
-
938
- # Frontend UI/UX skill
939
- cat > "$CLAUDE_CONFIG_DIR/skills/frontend-ui-ux/SKILL.md" << 'SKILL_EOF'
940
- ---
941
- name: frontend-ui-ux
942
- description: Designer-turned-developer who crafts stunning UI/UX even without design mockups
943
- ---
944
-
945
- # Frontend UI/UX Skill
946
-
947
- You are a designer who learned to code. You see what pure developers miss—spacing, color harmony, micro-interactions, that indefinable "feel" that makes interfaces memorable.
948
-
949
- ## Design Process
950
-
951
- Before coding, commit to a **BOLD aesthetic direction**:
952
-
953
- 1. **Purpose**: What problem does this solve? Who uses it?
954
- 2. **Tone**: Pick an extreme:
955
- - Brutally minimal
956
- - Maximalist chaos
957
- - Retro-futuristic
958
- - Organic/natural
959
- - Luxury/refined
960
- - Playful/toy-like
961
- - Editorial/magazine
962
- - Brutalist/raw
963
- - Art deco/geometric
964
- - Soft/pastel
965
- - Industrial/utilitarian
966
- 3. **Constraints**: Technical requirements (framework, performance, accessibility)
967
- 4. **Differentiation**: What's the ONE thing someone will remember?
968
-
969
- ## Aesthetic Guidelines
970
-
971
- ### Typography
972
- Choose distinctive fonts. **Avoid**: Arial, Inter, Roboto, system fonts, Space Grotesk.
973
-
974
- ### Color
975
- Commit to a cohesive palette. Use CSS variables. **Avoid**: purple gradients on white (AI slop).
976
-
977
- ### Motion
978
- Focus on high-impact moments. One well-orchestrated page load > scattered micro-interactions. Use CSS-only where possible.
979
-
980
- ### Spatial Composition
981
- Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements.
982
-
983
- ### Visual Details
984
- Create atmosphere—gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows.
985
-
986
- ## Anti-Patterns (NEVER)
987
-
988
- - Generic fonts (Inter, Roboto, Arial)
989
- - Cliched color schemes (purple gradients on white)
990
- - Predictable layouts
991
- - Cookie-cutter design
992
- SKILL_EOF
993
-
994
- echo -e "${GREEN}✓ Installed 3 skills${NC}"
995
-
996
- echo -e "${BLUE}[6/8]${NC} Installing hook scripts..."
955
+ echo -e "${BLUE}[5/6]${NC} Installing hook scripts..."
997
956
  mkdir -p "$CLAUDE_CONFIG_DIR/hooks"
998
957
 
999
958
  # Ask user about silent auto-update preference (opt-in for security)
@@ -1418,7 +1377,7 @@ chmod +x "$CLAUDE_CONFIG_DIR/hooks/silent-auto-update.sh"
1418
1377
 
1419
1378
  echo -e "${GREEN}✓ Installed 3 hook scripts${NC}"
1420
1379
 
1421
- echo -e "${BLUE}[7/8]${NC} Configuring hooks in settings.json..."
1380
+ echo -e "${BLUE}[6/6]${NC} Configuring hooks in settings.json..."
1422
1381
 
1423
1382
  # Backup existing settings if present
1424
1383
  SETTINGS_FILE="$CLAUDE_CONFIG_DIR/settings.json"
@@ -1430,7 +1389,14 @@ fi
1430
1389
  if command -v jq &> /dev/null; then
1431
1390
  # Use jq if available for proper JSON handling
1432
1391
  if [ -f "$SETTINGS_FILE" ]; then
1433
- EXISTING=$(cat "$SETTINGS_FILE")
1392
+ # Validate existing JSON first
1393
+ if ! jq empty "$SETTINGS_FILE" 2>/dev/null; then
1394
+ echo -e "${YELLOW}⚠ Warning: settings.json is malformed. Creating backup and replacing.${NC}"
1395
+ cp "$SETTINGS_FILE" "$SETTINGS_FILE.malformed.bak"
1396
+ EXISTING='{}'
1397
+ else
1398
+ EXISTING=$(cat "$SETTINGS_FILE")
1399
+ fi
1434
1400
  else
1435
1401
  EXISTING='{}'
1436
1402
  fi
@@ -1466,10 +1432,18 @@ if command -v jq &> /dev/null; then
1466
1432
  }'
1467
1433
 
1468
1434
  # Merge: add hooks if not present
1469
- echo "$EXISTING" | jq --argjson hooks "$HOOKS_CONFIG" '
1435
+ RESULT=$(echo "$EXISTING" | jq --argjson hooks "$HOOKS_CONFIG" '
1470
1436
  if .hooks then . else . + $hooks end
1471
- ' > "$SETTINGS_FILE"
1472
- echo -e "${GREEN}✓ Hooks configured in settings.json${NC}"
1437
+ ' 2>/dev/null)
1438
+
1439
+ if [ $? -eq 0 ] && [ -n "$RESULT" ]; then
1440
+ echo "$RESULT" > "$SETTINGS_FILE"
1441
+ echo -e "${GREEN}✓ Hooks configured in settings.json${NC}"
1442
+ else
1443
+ echo -e "${YELLOW}⚠ Could not merge hooks. Creating fresh settings.json${NC}"
1444
+ echo "$HOOKS_CONFIG" > "$SETTINGS_FILE"
1445
+ echo -e "${GREEN}✓ Created new settings.json with hooks${NC}"
1446
+ fi
1473
1447
  else
1474
1448
  # Fallback without jq: try to merge or create
1475
1449
  if [ ! -f "$SETTINGS_FILE" ]; then
@@ -1536,9 +1510,7 @@ SETTINGS_EOF
1536
1510
  fi
1537
1511
  fi
1538
1512
 
1539
- echo -e "${BLUE}[8/8]${NC} Creating CLAUDE.md with Sisyphus system prompt..."
1540
-
1541
- # Only create if it doesn't exist in home directory
1513
+ # Only create CLAUDE.md if it doesn't exist in home directory
1542
1514
  if [ ! -f "$HOME/CLAUDE.md" ]; then
1543
1515
  cat > "$CLAUDE_CONFIG_DIR/CLAUDE.md" << 'CLAUDEMD_EOF'
1544
1516
  # Sisyphus Multi-Agent System
@@ -1671,7 +1643,7 @@ Use the Task tool to delegate to specialized agents:
1671
1643
 
1672
1644
  ## Orchestration Principles
1673
1645
 
1674
- 1. **Delegate Wisely**: Use subagents for specialized tasks
1646
+ 1. **ALWAYS Delegate**: Use subagents for ALL substantive work. Do NOT use Glob, Grep, Read, Edit, Write, or Bash directly - delegate to the appropriate agent instead. Only use tools directly for trivial operations (e.g., checking a single file you just edited).
1675
1647
  2. **Parallelize**: Launch multiple subagents concurrently when tasks are independent
1676
1648
  3. **Persist**: Continue until ALL tasks are complete
1677
1649
  4. **Verify**: Check your todo list before declaring completion
@@ -1679,6 +1651,7 @@ Use the Task tool to delegate to specialized agents:
1679
1651
 
1680
1652
  ## Critical Rules
1681
1653
 
1654
+ - **DELEGATE, DON'T DO**: Your role is orchestration. Spawn agents for searches, edits, analysis, and implementation. Only touch tools directly when absolutely necessary.
1682
1655
  - NEVER stop with incomplete work
1683
1656
  - ALWAYS verify task completion before finishing
1684
1657
  - Use parallel execution when possible for speed
@@ -1733,7 +1706,7 @@ else
1733
1706
  fi
1734
1707
 
1735
1708
  # Save version metadata for auto-update system
1736
- VERSION="1.11.2"
1709
+ VERSION="2.0.2"
1737
1710
  VERSION_FILE="$CLAUDE_CONFIG_DIR/.sisyphus-version.json"
1738
1711
 
1739
1712
  cat > "$VERSION_FILE" << VERSION_EOF
@@ -1776,11 +1749,14 @@ echo " momus - Plan review (Opus)"
1776
1749
  echo " metis - Pre-planning analysis (Opus)"
1777
1750
  echo " sisyphus-junior - Focused execution (Sonnet)"
1778
1751
  echo " prometheus - Strategic planning (Opus)"
1752
+ echo " qa-tester - CLI/service testing with tmux (Sonnet)"
1779
1753
  echo ""
1780
- echo -e "${YELLOW}Available Skills (via Skill tool):${NC}"
1781
- echo " ultrawork - Maximum performance mode"
1782
- echo " git-master - Git commit, rebase, and history expert"
1783
- echo " frontend-ui-ux - Designer-developer for stunning UI/UX"
1754
+ echo -e "${YELLOW}Smart Model Routing (Tiered Variants):${NC}"
1755
+ echo " oracle-low, oracle-medium - Quick to moderate analysis"
1756
+ echo " sisyphus-junior-low, -high - Simple to complex execution"
1757
+ echo " librarian-low - Quick doc lookups"
1758
+ echo " explore-medium - Thorough codebase search"
1759
+ echo " frontend-engineer-low, -high - Simple to complex UI work"
1784
1760
  echo ""
1785
1761
  echo -e "${YELLOW}Hooks:${NC}"
1786
1762
  echo " Configure hooks via /hooks command in Claude Code"