3 Commits

Author SHA1 Message Date
Yeachan-Heo
040fafdd7d refactor: remove remaining sisyphus references repository-wide 2026-02-22 06:52:44 +00:00
Bellman
3a02feb187 v3.0.0 Release: Zero-Learning-Curve UX & oh-my-claudecode Rebrand
* feat: Add Sisyphus HUD statusline for multi-agent visualization

Implement a standalone HUD that displays orchestration state in Claude Code's
statusline:
- Ralph loop iteration tracking (ralph:3/10)
- Ultrawork mode badge (ultrawork, ultrawork-ralph)
- PRD story progress (US-002)
- Context window usage with threshold colors (ctx:67%)
- Active subagent count (agents:2)
- Background task tracking (bg:3/5)
- Todo completion progress (todos:2/5)

Key features:
- Parses Claude Code stdin JSON for context_window data
- Parses transcript JSONL for agents and todos
- Reads existing .sisyphus/*.json state files
- Color-coded thresholds (green->yellow->red)
- Three presets: minimal, focused, full
- Auto-installs during npm install
- /hud command for configuration

Files added: 14 new files in src/hud/
Files modified: bridge.ts (background task hooks), installer/index.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add Claudeception learned skills system

Implement a system for Claude to extract, store, and reuse learned skills
from conversation sessions. Skills are stored in YAML frontmatter format
and automatically injected into context when triggers match.

Features:
- Hybrid skill storage (user ~/.claude/skills/ + project .sisyphus/skills/)
- YAML frontmatter parsing for skill metadata
- Trigger-based skill matching and injection
- Quality gate validation for skill extraction
- Pattern detection for extractable moments (problem-solution, technique, etc.)
- Promotion from ralph-progress learnings to skills
- Configuration system with persistence
- /claudeception command for managing skills

New files:
- src/hooks/learned-skills/ (12 modules)
- scripts/skill-injector.mjs (UserPromptSubmit hook)
- src/__tests__/learned-skills/ (6 test files, 41 tests)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): Add type-coded agent visualization with model tier colors

Enhanced HUD agent display with multiple visualization formats for better parallel agent visibility.

- Single-character type codes (O=oracle, E=explore, S=sisyphus-junior, etc.)
- Model tier via case (Uppercase=Opus, lowercase=Sonnet/Haiku)
- Color-coded by tier (Magenta=Opus, Yellow=Sonnet, Green=Haiku)
- Duration indicators (<10s: none, 10-59s: (Xs), 1-9m: (Xm), ≥10m: !)
- Configurable formats: count, codes, codes-duration, detailed
- 44 new tests

* refactor: Rename claudeception to mnemosyne (goddess of memory)

Rename the learned skills module to use Greek mythology naming:
- Module: learned-skills -> mnemosyne
- Command: /claudeception -> /mnemosyne
- Exports: Claudeception* -> Mnemosyne*

Mnemosyne was the Titan goddess of memory in Greek mythology,
which fits perfectly for a system that remembers knowledge
from past sessions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: Bump version to 3.0.0-beta and update CHANGELOG

- Update package.json version to 3.0.0-beta
- Add comprehensive CHANGELOG entry for v3.0.0-beta:
  - Mnemosyne learned skills system
  - Sisyphus HUD statusline
  - 443 total tests
  - Breaking changes documented

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Prevent duplicate skills/plugins and add cancel commands

- Add isRunningAsPlugin() to detect Claude Code plugin context
- Skip file installation when CLAUDE_PLUGIN_ROOT is set (plugin mode)
- Update cancel-ralph to clear both local AND global state files
- Add cancel-ultrawork command for standalone ultrawork cancellation
- Add HUD agent type-coded visualization with model tier colors

Fixes duplicate agents/skills appearing when installed via both
npm global and Claude Code plugin marketplace.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(hud): Make wrapper script check development paths first

The HUD wrapper script now checks common development locations
before falling back to npm package import. This allows the HUD
to work during development when the package isn't published.

Development paths checked:
- ~/Workspace/oh-my-claude-sisyphus/dist/hud/index.js
- ~/workspace/oh-my-claude-sisyphus/dist/hud/index.js
- ~/projects/oh-my-claude-sisyphus/dist/hud/index.js
- ~/dev/oh-my-claude-sisyphus/dist/hud/index.js
- ~/code/oh-my-claude-sisyphus/dist/hud/index.js

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: Add plugin.json manifest for Claude Code plugin system

Enables installation as a Claude Code plugin instead of npm postinstall.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add local plugin installation guide

Documents how to install oh-my-claude-sisyphus as a Claude Code plugin
from a local development directory using the marketplace system.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(installer): Always install HUD even in plugin mode

- Skip agent/command/hook file copying when running as plugin
- Still install HUD wrapper script and settings.json config
- Updated HUD wrapper to check plugin cache first
- Plugin mode is now the preferred installation method for 3.0.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add mnemosyne.md command file for plugin mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor!: Plugin-only installation for 3.0.0

BREAKING CHANGE: Removed npm postinstall. Install via plugin only:
  claude plugin marketplace add /path/to/oh-my-claude-sisyphus
  claude plugin install oh-my-claude-sisyphus@oh-my-claude-sisyphus

- Removed postinstall script from package.json
- Added plugin postInstall hook for HUD setup
- Added all plugin assets to npm package files
- Created plugin-setup.mjs for automatic HUD configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): Add multi-line agent visualization

Add new 'multiline' format for agent display that renders each running
agent on its own line with tree characters for visual hierarchy.

- Add renderAgentsMultiLine() function with tree char output (├─, └─)
- Add agentsMaxLines config option to control max detail lines
- Update render.ts to compose header + detail lines
- Set multiline as default for focused/full presets
- Add 9 new tests for multiline format (110 HUD tests pass)

Example output:
[SISYPHUS] ralph:3/10 | ultrawork | agents:3 | todos:2/5
├─ O oracle       2m   analyzing architecture patterns...
├─ e explore     45s   searching for test files
└─ s sj-junior    1m   implementing validation logic

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add ralph-plan mode for iterative consensus planning

Adds new command that orchestrates Prometheus, Oracle, and Momus in an
iterative loop until all agents are satisfied with the plan quality.

Workflow: Prometheus plans → Oracle advises → Momus reviews → iterate
until Momus approves (OKAY verdict).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(hud): Keep background agents as running in transcript parser

Background agents return a tool_result immediately with "Async agent
launched" text, but this doesn't mean they're completed. The transcript
parser was incorrectly marking them as completed.

Now checks if tool_result content contains "Async agent launched" and
keeps those agents in 'running' status until actual completion.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Address Oracle verification feedback for ralph-plan

- Add state tracking mechanism (.sisyphus/ralph-plan-state.json)
- Fix step numbering (merged Steps 5 and 6 into unified Step 5)
- Clarify Oracle invocation timing (conditional, with two scenarios)
- Add iteration observability output ([RALPH-PLAN Iteration N/5] logs)
- Document "direct planning mode" for Prometheus (bypasses interview)
- Add cancellation documentation
- Clarify quality gates are orchestrator-verified

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Final Oracle verification fixes for ralph-plan

- Update cancel-ralph to handle ralph-plan-state.json
- Add quality gate enforcement details (orchestrator responsibility)
- Document PLAN_READY signal convention for Prometheus integration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(hud): Prefer dev paths over plugin cache in HUD wrapper

Dev paths now take priority so local development changes are picked up
immediately without being shadowed by old plugin cache versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): Add /hud setup command for auto-installation

- Add `/hud setup` command to install/repair HUD statusline
- `/hud` now auto-detects missing HUD and guides setup
- Include bash script to find plugin-setup.mjs from cache or dev paths
- Update troubleshooting to reference /hud setup

Fixes issue where /plugin add doesn't run postInstall hook

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: HUD setup guidance and learned skills path

Session Start Hook:
- Add HUD installation check on session start
- Show guidance to run /hud setup if HUD not configured

Mnemosyne Learned Skills:
- Change user-level skills path from ~/.claude/skills/sisyphus-learned/
  to ~/.claude/commands/sisyphus-learned/
- Claude Code loads commands from ~/.claude/commands/, not skills/
- Update documentation in mnemosyne.md and installer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Mnemosyne skill matching and test isolation

Scoring Fix:
- Quality/usage scores now only apply when trigger/tag matches
- Prevents skills from matching purely on quality score

Test Isolation:
- finder.test.ts: Filter for project-scope candidates
- loader.test.ts: Filter for project-scope skills
- Tests now pass regardless of user-level skills present

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): show last activated skill in statusline

Enhances HUD visibility by tracking and displaying the last activated skill:

- types.ts: Add SkillInvocation interface, lastActivatedSkill to TranscriptData,
  lastSkill to HudRenderContext and HudElementConfig, enable in all presets
- transcript.ts: Parse Skill/proxy_Skill tool_use blocks from transcript
- skills.ts: Add renderLastSkill(), update renderSkills() with optional lastSkill,
  add duplicate detection (don't show skill:ultrawork when ultrawork is active)
- render.ts: Pass lastSkill to renderSkills(), handle standalone lastSkill mode
- index.ts: Pass transcriptData.lastActivatedSkill to render context
- hud.md: Update documentation with new skill:name element

HUD now shows: [SISYPHUS] ultrawork skill:prometheus | ctx:67% | ...

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(hud): detect background agent completion and sort freshest first

- Add background agent completion detection via TaskOutput results
  - Extract agentId from "Async agent launched" messages
  - Parse TaskOutput <status>completed</status> to mark agents done
  - Map background agent IDs to original tool_use_ids
- Sort agents by start time (freshest first, oldest last)
  - Add sortByFreshest() helper function
  - Apply to all agent render functions

Fixes issue where background agents accumulated time indefinitely.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): add rate limit display (5h and weekly usage)

Fetch rate limits from Anthropic OAuth API and display in statusline.
Based on jarrodwatts/claude-hud implementation.

- Add usage-api.ts: OAuth credential reading and API fetching
- Add limits.ts: Rate limit rendering with color thresholds
- Display format: 5h:X% wk:Y% with green/yellow/red colors
- 60s cache TTL to avoid API hammering
- Works with Pro/Max/Team subscriptions (not API users)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor(skills): consolidate to single source of truth with SKILL.md files

- Migrate 7 builtin skills to bundled SKILL.md files (sisyphus, ralph-loop,
  ralph-init, analyze, deepsearch, prometheus, review)
- Rewrite skills.ts from 1158 lines of hardcoded content to 156 lines of
  dynamic loader that reads from skills/*/SKILL.md at runtime
- Add YAML frontmatter parsing for skill metadata (name, description, model,
  agent, argument-hint)
- Add skill caching with clearSkillsCache() for testing
- Update tests to expect 12 skills (was 10)
- Remove ~1000 lines of duplicate skill definitions

Skills are now maintained in one place (skills/*/SKILL.md) instead of being
duplicated between TypeScript and markdown files.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: reduce large TypeScript files by 78% with dynamic loading

Replace inline string constants with dynamic file loading at runtime:

- installer/index.ts: 3324 → 525 lines (84% reduction)
  - Load agent definitions from /agents/*.md
  - Load command definitions from /commands/*.md
  - Load CLAUDE.md content from /docs/CLAUDE.md

- agents/definitions.ts: 1594 → 462 lines (71% reduction)
  - Import base agents from individual .ts files
  - Load tiered variant prompts from /agents/*.md at runtime

- installer/hooks.ts: 1679 → 478 lines (72% reduction)
  - Extract 10 hook scripts to /templates/hooks/
  - Load via loadTemplate() function at runtime

Additional changes:
- Add tools: field to all 11 base agent .md files
- Update tests for new file structure
- Add "types": ["node"] to tsconfig.json

Total: 6597 → 1465 lines (78% reduction, ~5100 lines removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(agents): add explicit model routing for sub-agents

Claude Code doesn't auto-apply model field from agent frontmatter.
This hybrid fix ensures correct model routing:

- Add model hints to all agent descriptions (Haiku/Sonnet/Opus)
- Add explicit model= parameter to all Task calls in skills/commands
- Update TypeScript definitions with model hints

Agents updated: 11 base agents + 8 tiered variants
Files updated: 22 (agents, commands, skills, definitions.ts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(hud): add OpenCode-inspired UX elements and fix state bugs

New features:
- Context pressure warnings: "COMPRESS?" at 80%, "CRITICAL" at 85%
- Extended thinking indicator (cyan "thinking" when reasoning active)
- Session health indicator with duration and color-coded status
- New presets: 'opencode' and 'dense' configurations

Bug fixes:
- Clear pendingPermissionMap on each parse to prevent stale APPROVE?
- Add staleness detection for state files (ignore >2 hours old)
- Disable permissionStatus by default (heuristic unreliable)

New files:
- src/hud/elements/permission.ts
- src/hud/elements/thinking.ts
- src/hud/elements/session.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(mnemosyne): update skills directory path and enhance extraction docs

- Change USER_SKILLS_DIR from commands/sisyphus-learned to skills/sisyphus-learned
- Skills are now read by skill-injector.mjs hook instead of Claude Code commands
- Enhanced mnemosyne.md with quality gates, anti-patterns, and evaluation criteria
- Added detailed guidance on what makes a useful vs. generic skill

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(plugin): remove invalid skills array from marketplace schema

The skills field was causing "Invalid schema: plugins.0.skills: Invalid input"
validation error. Skills are auto-discovered via plugin.json glob pattern.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: rebrand to oh-my-claudecode with skills-first architecture

- Rename plugin from oh-my-claude-sisyphus to oh-my-claudecode
- Migrate commands to skills/*/SKILL.md structure (auto-discovered)
- Update plugin.json to minimal schema (name, version, description, skills)
- Remove explicit hooks/agents declarations (auto-discovered)
- Update all agent references and documentation
- Fix plugin validation errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: update GitHub URLs to v3.0.0-beta branch temporarily

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: prepare v3.0.0 release with zero-learning-curve UX

BREAKING CHANGES:
- Package renamed from oh-my-claude-sisyphus to oh-my-claudecode
- All SISYPHUS_* env vars renamed to OMC_*
- Directory ~/.sisyphus → ~/.omc, .sisyphus → .omc
- Skills dir ~/.claude/skills/sisyphus-learned → omc-learned

Major changes:
- Rewrite README to < 130 lines (zero-learning-curve focus)
- Add magic keywords (ralph, ralplan, ulw, plan) for power users
- Deprecate install.sh in favor of plugin-only installation
- Add "Delegate Always" and "Learner Agent" guidance to docs
- Update all agent codes in HUD (O→A, s→x, sj→exec)
- Bump version to 3.0.0 stable
- Create comprehensive MIGRATION.md for 2.x users
- Archive old README to docs/FULL-README.md
- Add /omc-setup skill for first-time configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(readme): add oh-my-zsh philosophy tagline

"Some advanced users customize zsh for years - most of us just use oh-my-zsh.
Don't learn Claude Code. Just use OMC."

Also adds updated website assets with matching philosophy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: fix remaining version references to 3.0.0

- AGENTS.md: 3.0.0-beta → 3.0.0
- docs/LOCAL_PLUGIN_INSTALL.md: 3.0.0-beta → 3.0.0
- Regenerate package-lock.json

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 20:35:49 +09:00
Yeachan-Heo
cd98f12fac feat: Complete port of oh-my-opencode to Claude Code
Multi-agent orchestration system with:
- 11 specialized agents (Oracle, Librarian, Explore, Frontend Engineer,
  Document Writer, Multimodal Looker, Momus, Metis, Orchestrator-Sisyphus,
  Sisyphus-Junior, Prometheus)
- 7 slash commands (/sisyphus, /sisyphus-default, /ultrawork, /deepsearch,
  /analyze, /plan, /review)
- Real LSP integration with 11 tools (hover, goto definition, find references,
  document symbols, workspace symbols, diagnostics, rename, code actions, etc.)
- ast-grep integration for structural code search/replace
- Magic keywords (ultrawork, search, analyze)
- Configuration system with JSONC support
- Context injection from CLAUDE.md/AGENTS.md files

Models:
- Opus: Sisyphus, Oracle, Momus, Metis, Prometheus
- Sonnet 4.5: Librarian, Frontend Engineer, Multimodal Looker,
  Orchestrator-Sisyphus, Sisyphus-Junior
- Haiku 4.5: Explore, Document Writer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 03:46:13 +00:00