Releases: code-yeongyu/oh-my-opencode
v2.12.3
- f550462 Merge branch 'fix/v1.1.1-permission-migration' into dev
- 2992902 fix: skip invalid YAML skills and enable Planner-Sisyphus in Tab selector
- b66c8dc feat(frontmatter): track parsing errors and frontmatter existence in result type
- 8f2209a fix: proper OpenCode v1.1.1 permission migration (#490)
- 6c3ef65 fix: add runtime migration for user agent configs in config-handler
- e1e8b24 fix: update all agents to use createAgentToolRestrictions()
- 0d0ddef fix: implement proper version-aware permission format for OpenCode v1.1.1
- 09f72e2 feat: OpenCode v1.1.1 permission system compatibility (#489)
- 6fd9734 fix(keyword-detector): show ultrawork toast on every activation
- 4bf853f test(context-injector): remove keyword-specific test cases
- 87134d3 refactor(keyword): unify keyword injection into UserPromptSubmit pipeline
- 36c42ac fix(context-injector): inline keyword detection in messages transform hook
- 56fe32c @Skyline-23 has signed the CLA in #484
- 09756b8 @RhysSullivan has signed the CLA in #482
- 9ba9f90 feat(context-injector): implement messages transform hook for context injection
- ce69007 perf(skill-loader): add blocking discovery API with worker threads
- b1f36d6 perf(skill): implement lazy content loading
- 97e51c4 perf(init): integrate async skill/command loaders
- 91d2705 perf(plugin-loader): parallelize component loading
- 6575dfc perf(skill-loader): parallelize directory scanning
- 59b0e69 perf(command-loader): parallelize directory scanning
- 9d64f21 perf(init): use background tmux path check
- e572c7c perf(init): parallelize googleAuth and tmuxPath initialization
- be2adff feat(skill-loader): add async directory scanner
- 37f4c48 @geq1fan has signed the CLA in #481
- a49fbee refactor(todo-continuation-enforcer): update message mock structure and remove unreliable abort error handling tests
- 7a7b16f feat(context-injector): introduce centralized context collection and integrate with keyword-detector
- ae781f1 @ChiR24 has signed the CLA in #473
- d7645a4 docs: remove sponsor request row from README header tables
- 1692772 @fparrav has signed the CLA in #469
- a4ba63c docs: add sponsors Suyeol Jeon (devxoul) and Daewoong An (devwon) to README files (#460)
- 063db0d fix(skill-mcp-manager): filter npm/pnpm/yarn env vars that break MCP servers (#459)
- dc52395 feat(lsp): sync LSP catalog with OpenCode (#455)
- c8e9f90 docs: add missing LLM Agent installation step links to translated READMEs ToC (#458)
- 6fbc5ba fix: preserve custom provider prefixes in think mode model switching (#451)
- fc76ea9 fix(skill-mcp-manager): prevent memory leaks from orphaned MCP processes (#453)
- 2a3b45b docs: update Discord invite link across all README files
- 79b80e5 docs: sync README reviews and orchestrator banner across languages
- e2cbe8c @hqone has signed the CLA in #451
- 99c7df5 fix: respect ANTHROPIC_1M_CONTEXT and VERTEX_ANTHROPIC_1M_CONTEXT env vars (#450)
- f61e1a5 fix(non-interactive-env): use export for env vars to apply to all chained commands
- 03c51c9 update readme
- c109945 add .sisyphus
- d188688 feat(keyword-detector): enhance ultrawork mode with zero-tolerance execution rules
- 95645ef fix(ralph-loop): clear orphaned state when original session no longer exists (#446)
- 00b8f62 feat(installer): add opencode-desktop compatibility with dynamic config paths (#442)
- 967e532 docs: fix outdated Builder-Sisyphus references to OpenCode-Builder (#444)
- c40f562 @changeroa has signed the CLA in #446
- a9523bc feat(ci): enhance sisyphus-agent workflow with PR/issue title and mandatory context reading guidelines
- f26bf24 feat(keyword-detector): enhance ultrawork mode instructions with TODO emphasis
- bc65fce refactor(sisyphus-prompt-builder): rename buildUltraworkAgentTable to buildUltraworkAgentSection
- 3a8eac7 make tables
- 48dc829 fix(webfetch): apply aggressive truncation for webfetch outputs (#434)
- 8bc9d6a fix(ci): fix YAML indentation in sisyphus-agent workflow heredoc
- 6a6e20c feat(ci): add actionlint workflow linter
- 3a5aea7 fix(ci): harden sisyphus-agent workflow condition for push event safety
- a481280 fix(non-interactive-env): add line continuation for command display
- 6422ff2 feat(workflow): restore sisyphus agent enhancements with ultrawork/analyze-mode (#439)
- 3c27206 Revert "feat(workflow): enhance sisyphus agent with mandatory context reading…" (#437)
- 8510a22 feat(workflow): enhance sisyphus agent with mandatory context reading and todo creation (#430)
- a8ca3ad docs: add TDD section with RED-GREEN-REFACTOR cycle to AGENTS.md (#433)
Thank you to 4 community contributors:
- @sisyphus-dev-ai:
- docs: add TDD section with RED-GREEN-REFACTOR cycle to AGENTS.md (#433)
- feat(workflow): enhance sisyphus agent with mandatory context reading and todo creation (#430)
- feat(workflow): restore sisyphus agent enhancements with ultrawork/analyze-mode (#439)
- fix(webfetch): apply aggressive truncation for webfetch outputs (#434)
- docs: fix outdated Builder-Sisyphus references to OpenCode-Builder (#444)
- feat(installer): add opencode-desktop compatibility with dynamic config paths (#442)
- docs: add missing LLM Agent installation step links to translated READMEs ToC (#458)
- feat(lsp): sync LSP catalog with OpenCode (#455)
- fix(skill-mcp-manager): filter npm/pnpm/yarn env vars that break MCP servers (#459)
- @changeroa:
- fix(ralph-loop): clear orphaned state when original session no longer exists (#446)
- @stevenvo:
- fix: respect ANTHROPIC_1M_CONTEXT and VERTEX_ANTHROPIC_1M_CONTEXT env vars (#450)
- @hqone:
- fix: preserve custom provider prefixes in think mode model switching (#451)
v2.12.2
- f345101 fix(ralph-loop): adopt OContinue patterns for better performance and abort handling (#431)
- d09c994 fix(session-recovery): detect 'final block cannot be thinking' error pattern (#420)
- 8c30974 fix: address review feedback - fix typos and wording consistency
- c341c15 docs: update Discord invite link in all README files (#429)
Thank you to 1 community contributor:
v2.12.1
- 8b99133 fix(todo-continuation-enforcer): add 500ms grace period to prevent false countdown cancellation (#424)
- 924fa79 style: improve git command env prefix readability with line continuation
- c78241e docs(agents): regenerate AGENTS.md with updated commit reference (d0694e5) and corrected line counts
- d0694e5 fix(background-agent): prevent memory leaks by cleaning notifications in finally block and add TTL-based task pruning
- 4a9bdc8 fix(non-interactive-env): prepend env vars directly to git command string
- b64b3f9 fix(recovery): correct prompt_async API path parameter from sessionID to id
- e3ad790 feat(hooks): add edit-error-recovery hook for handling Edit tool errors (opencode#4718)
Thank you to 1 community contributor:
v2.12.0
v2.11.0
Highlights
New Features
- Handoffs Support: Added speckit compatibility with handoffs support for commands (#410)
- GitHub Copilot Instructions: Rules injector now supports GitHub Copilot instructions format (#403)
- Smart MCP Conflict Resolution: Auto-disable builtin skills when overlapping MCP servers are configured
Bug Fixes
- Windows Support: Fixed auto-update path detection and install function on Windows (#404)
- Ralph Loop: Fixed completion promise detection from session messages API (#413)
- Recovery Pipeline: Improved compaction and tool output truncation with early exit
- MCP Environment: MCP servers now properly inherit process.env
- Agent Prompt: Sisyphus now receives available agents for dynamic prompt sections (#414)
- Todo Continuation: Replaced time-based cooldown with event-order abort detection
Documentation
- Comprehensive AGENTS.md regeneration with codebase analysis
- Added npx alternative and Snap Bun warning for Ubuntu users (#401)
- Added ultrawork guidance and skill-mcp feature documentation
- fd957e7 let it not mess up tui
- 3ba6179 fix(ralph-loop): detect completion promise from session messages API (#413)
- 3224c15 Merge branch 'fix-sentry-skill-project-loading' into dev
- a51ad98 fix(skill-mcp): always inherit process.env for MCP servers
- b98a1b2 fix(non-interactive-env): inherit process.env before applying NON_INTERACTIVE_ENV overrides
- 9a92dc8 fix(agents): pass available agents to Sisyphus for dynamic prompt sections (#411) (#414)
- 99711da feat(commands): add handoffs support for speckit compatibility (#410)
- 6eaa96f fix: Windows auto-update path detection and install function support (#404)
- f6b066e fix(todo-continuation-enforcer): replace time-based cooldown with event-order abort detection
- 4434a59 fix(non-interactive-env): use shell no-op for editor env vars
- 038d838 refactor(index): extract config loading and handlers to reduce file size
- dc057e9 fix(recovery): restore compaction pipeline sufficient check and conservative charsPerToken
- d4787c4 fix(recovery): implement early exit in tool output truncation
- e6ffdc4 feat(claude-code-mcp-loader): auto-disable builtin skills with overlapping MCP servers
- a1fe0f8 docs(agents): regenerate all AGENTS.md files with comprehensive codebase analysis
- bebe660 feat(rules-injector): add GitHub Copilot instructions format support (#403)
- f088f00 Add comprehensive MCP loader documentation
- f64210c docs: add ultrawork guidance and skill-mcp feature to READMEs
- b75383f docs: add npx alternative and Snap Bun warning for Ubuntu users (#401)
Thank you to 1 community contributor:
- @sisyphus-dev-ai:
- docs: add npx alternative and Snap Bun warning for Ubuntu users (#401)
- feat(rules-injector): add GitHub Copilot instructions format support (#403)
- fix: Windows auto-update path detection and install function support (#404)
- feat(commands): add handoffs support for speckit compatibility (#410)
- fix(ralph-loop): detect completion promise from session messages API (#413)
v2.10.0
Highlights
🎭 Skill-Embedded MCP Support
Skills can now embed MCP server configurations directly in their YAML frontmatter or via mcp.json files. This enables skills to bring their own tooling - load a skill, get its MCP capabilities automatically.
🎪 Built-in Playwright Skill
New playwright skill ships out of the box for browser automation, web scraping, testing, and screenshots. Disable via disabled_skills: ["playwright"].
📁 Recursive Command Loader
Commands now load from subdirectories recursively. Organize your .claude/commands/ with nested folders.
⚡ Recovery Pipeline Overhaul
Changed phase order to DCP → Truncate → Summarize for more aggressive context recovery when hitting token limits.
Changelog
- 13ebeb9 fix: correct preemptive_compaction schema comment default value (#400)
- 2452a47 fix(tests): resolve mock.module leakage breaking ralph-loop tests
- 44640b9 docs(agents): update AGENTS.md with skill-mcp feature documentation
- 794b526 fix(keyword-detector): remove word boundary requirement for ulw/ultrawork detection
- b0c39e2 feat(builtin-skills): add playwright skill with MCP config and disabled_skills option
- bd05f5b feat(skill_mcp): add dynamic truncation and grep filtering
- a82575b feat(skill): display MCP tool inputSchema when loading skills
- ff760e5 feat(skill-loader): support mcp.json file for AmpCode compatibility
- 4039722 feat(plugin): integrate skill_mcp tool with session-scoped lifecycle management
- 439785e feat(skill): display MCP server capabilities when skill with MCP is loaded
- e533031 feat(tools): add skill_mcp tool for invoking skill-embedded MCP operations
- b122273 feat(skill-loader): parse MCP server config from skill frontmatter
- 06dee72 feat(skill-mcp): add MCP client manager with lazy loading and session cleanup
- c8aed3f chore(deps): add @modelcontextprotocol/sdk and js-yaml for skill-embedded MCP support
- 1d4b5de feat(mcp): restrict grep_app tools to librarian agent only (#395)
- a217610 Fix Bun mock.module() leak between test files preventing ralph-loop tests from passing
- b377571 Update AGENTS.md documentation hierarchy with auth and hooks details
- 490c0b6 Add auto-slash-command hook for intercepting and replacing slash commands
- b30c17a fix(recovery): more aggressive truncation, remove revert fallback
- a5983f1 fix(anthropic-context-window-limit-recovery): add revert fallback when truncation insufficient
- 2948d94 Change recovery phase ordering to DCP → Truncate → Summarize
- c66cfbb Remove invalid model reference from publish command
- f66c886 feat(keyword-detector): show toast notification when ultrawork mode is activated (#393)
- 1c55385 feat(command-loader): add recursive subdirectory scanning for commands (#378)
- f3db564 fix: reduce context duplication from ~22k to ~11k tokens (#383)
- 15b0ee8 feat(doctor): add GitHub CLI check (#384)
Thank you to 2 community contributors:
- @sisyphus-dev-ai:
- feat(doctor): add GitHub CLI check (#384)
- fix: reduce context duplication from ~22k to ~11k tokens (#383)
- feat(keyword-detector): show toast notification when ultrawork mode is activated (#393)
- feat(mcp): restrict grep_app tools to librarian agent only (#395)
- fix: correct preemptive_compaction schema comment default value (#400)
- @ul8:
- feat(command-loader): add recursive subdirectory scanning for commands (#378)
v2.9.1
Highlights
This patch release adds skill support to the Sisyphus agent, enabling more flexible agent capabilities with specialized skills.
Changes
- Sisyphus agent now supports skills for enhanced task execution
- Documentation updates and README improvements
- Several new CLA signatures from community contributors
- 4efa586 Add skill support to sisyphus agent
- fbae3ae update readme
- 74da07d @vsumner has signed the CLA in #388
- 7cd04a2 @eudresfs has signed the CLA in #385
- 1de7df4 @ul8 has signed the CLA in #378
- ea6121e @gtg7784 has signed the CLA in #377
- 4939f81 THE ORCHESTRATOR IS COMING (#375)
- 820b339 @junhoyeo has signed the CLA in #375
- 5412578 docs: regenerate AGENTS.md hierarchy via init-deep
Thank you to 1 community contributor:
v2.9.0
Highlights
🚀 Preemptive Compaction Now Default
Sessions automatically compact at 85% context window usage, preventing token limit interruptions. No configuration needed—just works out of the box.
⚡ Parallel /init-deep Execution
Restructured to fire 6+ background explore agents immediately while main session runs structural analysis + LSP codemap concurrently. Dynamic agent scaling (1-13 agents) based on project size for faster codebase understanding.
🔧 Dynamic Sisyphus Prompts
Modularized prompt generation system with runtime agent/tool metadata injection for better context awareness.
Changelog
- 8c3d413 Restructure /init-deep command prompt with dynamic phases and concurrent execution
- b51d0bd Revert "feat(keyword-detector): improve ultrawork-mode prompt with LSP in main session execution"
- b2adda6 feat(keyword-detector): improve ultrawork-mode prompt with LSP in main session execution
- 0da20f2 feat(session-manager): add project path filtering for session listing
- 2f1ede0 refactor(index): use migration module from shared
- ffeb92e refactor(config): extract config migration logic to testable module
- d49c221 fix(anthropic-context-window-limit-recovery): remove emergency fallback message revert logic
- dea17dc fix(command-loader): strip incompatible fields before registering with OpenCode
- c6efe70 feat(agents): implement dynamic Sisyphus prompt system with agent metadata
- 8cbdfba feat(init-deep): restructure Phase 1 to fire background explore first, then LSP codemap
- 7cb3f23 feat: make preemptive compaction enabled by default (#372)
- 471cf86 fix(doctor): unify version check to use same source as get-local-version (#367)
Thank you to 1 community contributor:
v2.8.3
- a295202 fix(ralph-loop): generate transcript path from sessionID instead of relying on event properties (#355)
Thank you to 1 community contributor:
- @sisyphus-dev-ai:
- fix(ralph-loop): generate transcript path from sessionID instead of relying on event properties (#355)
v2.8.2
- bceeba8 feat(hooks): enable tool-output-truncator by default
- d8f10f5 fix(windows): resolve paths[0] TypeError crash on Windows startup (#351)
- 4507604 fix: improve installation error handling with actionable suggestions (#343)
- a63f761 fix: add --external @ast-grep/napi to CLI build command (#350)
- 7b57364 @purelledhand has signed the CLA in #349
Thank you to 1 community contributor: