--platform=claudecode (alias cc normalized in resolveInstallArgs); hasClaudeCode;
runClaudeCodeInstaller shells to claude plugin marketplace add/install, prints
/plugin commands + errors (no ~/.claude write) when claude absent; install
telemetry via @oh-my-opencode/omo-claude/telemetry; lazyclaudecode invocation
routes to claudecode. 26 target tests + 23 dependent tests green; both unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Keeps package.json workspaces and bun.lock consistent so CI bun install
--frozen-lockfile resolves @oh-my-opencode/omo-claude.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add packages/omo-claude to workspaces + files; lazyclaudecode bin alias;
typecheck:packages covers omo-claude; new test:claude script. test:codex stays
green (no regression), test:claude green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Goal content under ./.omo/ultragoal/sessions/claude-<id>/ keyed by Claude Code
session_id (claude: prefix); UltragoalScope struct threaded; plan version 2 +
index.json registry with read-only v1 forward-migration (never deletes v1);
create_goal/get_goal/update_goal dependency dropped (file/steering-based); the
PreToolUse create_goal budget guard kept compiled+unit-tested but its hooks.json
registration removed (inert in CC). 26 tests pass. ultragoal removed from
sync-components HANDLED set — it is a hand-fork, not patch-synced.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
codex:->claude: session prefix; model/turn_id optional in Stop validator. QA: no-op without boulder.json, no crash.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Keyword detector injects directive.md on ulw/ultrawork; silent otherwise. QA: directive injects, no crash.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ast_grep + lsp servers vendored under plugin/mcp via sync-mcp.mjs; .mcp.json uses
${CLAUDE_PLUGIN_ROOT} (no ../). Both boot from a node_modules-free tree (verified
JSON-RPC initialize handshakes). lsp hook bundled to inline lsp-tools-mcp. mcp/
dist is gitignored (regenerated by build).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per-component COPY_DIRS_BY_COMPONENT (lsp:scripts, rules:bundled-rules) and
directive.md in COPY_FILES — ultrawork/start-work-continuation read directive.md
from the component root at runtime; rules needs its bundled-rules.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Vendored from omo-codex via sync-components: model/turn_id optional in the
PostToolUse validator (permission_mode kept), CLAUDE_PLUGIN_ROOT hook path.
Builds clean; runs without crash on a CC-shaped PostToolUse payload (no turn_id).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tsconfig.build.json extends ./tsconfig.json (types:[node], strict); without the
base, vendored components lost @types/node and strict config. Also exclude
dist/ and node_modules/ from the --check comparison (they are build artifacts,
not synced source).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirrors the codex sync-skills structure; injects a Claude Code Harness Tool
Compatibility block (maps task()/call_omo_agent()/spawn_agent()/background_output/
team_* -> the Task + Skill tools), extends the detection regex to Codex-native
verbs, and demotes any embedded Codex compat heading to (superseded).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Product-agnostic sync-telemetry-component.mjs (verbatim from omo-codex) +
test; generates the telemetry component's atomic-write/data-path/env-flags/
posthog-activity-state from src/telemetry. product-identity is authored
per-package, not synced.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copies 6 omo-codex components (rules, comment-checker, lsp, ultrawork,
ultragoal, start-work-continuation) into the CC plugin tree and applies a
declarative patch manifest: relax model/turn_id validators, CLAUDE_PLUGIN_ROOT/
DATA env fallbacks, .codex-plugin->.claude-plugin, rules matcher widened to
Write|Edit|MultiEdit, start-work-continuation claude: session prefix. ultragoal
copied verbatim (deep refactor is a later task). --check detects vendor drift.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Marketplace 'sisyphuslabs' / plugin 'omo' reused verbatim; CC native
{name,owner,plugins[]} schema with explicit source ./plugins/omo (no
metadata.pluginRoot, no Codex interface block).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Distinct omo-claude branding (brandColor #D97757, Claude Code copy), same
plugin name 'omo'. Declares skills/hooks/mcpServers paths; homepage/repository
point at code-yeongyu/lazyclaudecode.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirror packages/omo-codex layout for the Claude Code port: package.json
(@oh-my-opencode/omo-claude), tsconfig, index.d.ts, src/ + src/telemetry
stubs, and the plugin/ tree (.claude-plugin, components, agents, hooks,
scripts, skills, test, mcp) with a CC-worded plugin README + placeholder
package.json.
Plan: .omo/plans/omo-claude-plugin-port.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fully rename the ultragoal component to ulw-loop so the identifier
matches the ulw-loop skill it powers. Renames the component directory,
nested skill, TS identifiers (UlwLoop / ULW_LOOP_* / ulwLoop*), the
omo ulw-loop CLI subcommand, the .omo/ulw-loop state directory, the
OMO_ULW_LOOP_STEER directive token, and the @code-yeongyu/codex-ulw-loop
package. Also threads Atlas-style right-sized parallel worker delegation
and a Prometheus-style QA + maximum-parallelism plan into the ulw-loop
skill, with a critical post-subagent QA gate.
Updates aggregate wiring (plugin package components, hooks.json,
sync-skills), the install-codex agent-link test fixture, and user docs.
Rename ultragoal skill to ulw-loop with a CLI bootstrap fallback and
openai.yaml hint metadata, while keeping ultragoal as a discoverable
alias. Drop the metis and momus skills in favor of bundled ultrawork
planner agents and rewrite the planing-prometheustic skill. Update
aggregate and sync-skills tests to match.
Discover component .toml agent files and symlink (or copy on Windows)
them into the Codex agents dir during install, recording an installed
agent manifest and wiring agent config_file entries into config.toml.
Add CodexAgentConfig type and support local marketplace source.
Trim rule and result char budgets after compaction via new
postCompactMaxRuleChars/postCompactMaxResultChars config, applied
through withPostCompactBudget. Extract codex-hook helpers into
dynamic-target-fingerprints, hook-output, path-utils,
rules-engine-factory, and transcript-rule-filter modules.
Ports the OpenCode /start-work flow onto Codex as a discoverable skill.
The skill drives plan selection, Boulder state with codex:<session_id>
prefixed ids, worktree binding, parallel spawn_agent sub-tasks with
6-section prompts, 4-channel Manual-QA evidence (HTTP / tmux / browser /
computer use), ledger append at .omo/start-work/ledger.jsonl, and a
4-phase verification gate. Pairs with the start-work-continuation Codex
Stop / SubagentStop hook component that re-injects continuation while
boulder.json shows incomplete work for the active codex: session.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
metis/momus are Codex subagents, not skills. Move them to
components/ultrawork/agents/ as TOML agent role files:
- metis.toml: gpt-5.5 high, pre-planning analyst that detects
contradictions, ambiguity, missing constraints, and execution risks.
Ouroboros/ralplan-inspired gap analysis. Read-only.
- momus.toml: gpt-5.5 xhigh, plan reviewer with OKAY/ITERATE/REJECT
three-verdict system. Blocker-finder with approval bias. Read-only.
planing-prometheustic SKILL.md rewritten to match the structure of
packages/prompts-core/prompts/prometheus/gpt.md (the omo Prometheus
GPT-5.5 prompt):
- Same XML-tagged sections: identity, mission, core_principles,
output_verbosity_spec, scope_constraints, phases, plan_template,
critical_rules, stop_rules
- Same phase flow: Classify Intent -> Ground -> Interview -> Plan
Generation (with Metis) -> High Accuracy Review (with Momus)
- Metis called via spawn_agent(agent_type="metis") not skill load
- Momus called via spawn_agent(agent_type="momus") not skill load
- "Rigorous Review" renamed to "High Accuracy Review"
- Removed shared-skills/skills/metis/ and momus/ (deleted)
- sync-skills.mjs no longer copies metis/momus into plugin/skills/
Improvements inspired by Q00/ouroboros and Yeachan-Heo/gajae-code:
planing-prometheustic:
- Add brownfield detection (greenfield vs brownfield context awareness)
- Add topology enumeration (Round 0) to lock component list before
deep interview, preventing depth-first overfitting to one component
- Add interview routing rule (facts→code, tradeoffs→user, mixed→both)
- Add retrieval budget (direct reads first, subagents only when needed)
- Add challenge perspective shifts (Contrarian/Simplifier/Ontologist)
- Per-component clearance checklist (every component must pass)
- Handle ITERATE verdict from Momus (max 2 auto-fix rounds)
- NO numeric scoring — qualitative clearance only, per Prometheus style
metis:
- Add brownfield/greenfield detection with evidence to output
- Add topology enumeration (top-level components) to output format
- Add topology directives (planner must cover every active component)
- Add per-component coverage tracking guidance
- Explicit prohibition on numeric scoring formulas
momus:
- Add ITERATE verdict between OKAY and REJECT (fixable gaps the
planner can patch without user input, max 2 auto-fix rounds)
- Update output format for three-verdict system
- Update review process step 6 for three-way decision
- REJECT now reserved for fundamental blockers or missing user decisions
Add three GPT-5.5 optimized skills to the shared-skills package:
- planing-prometheustic: Prometheus-style strategic planning consultant
that produces decision-complete work plans through interview, context
gathering, gap analysis, and optional rigorous review.
- metis: Pre-planning consultant that classifies intent, discovers
codebase patterns, identifies hidden requirements, flags AI-slop
risks, and outputs actionable directives for the planner.
- momus: Practical work plan reviewer that verifies plans are executable
and references are valid. Blocker-finder with OKAY/REJECT verdicts
and max 3 blocking issues per rejection.
All three use GPT-5.5 prompting style (XML-tagged blocks, outcome-first
structure, personality/collaboration separation) and are auto-synced
into omo-codex plugin/skills/ by sync-skills.mjs.