OpenParable
Skip to content
← Back to skills

Ecomode

Others
ecomode

Ecomode is an Agent Skill for general use published in the Yeachan-Heo/oh-my-codex repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Ecomode deprecated shim

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/Yeachan-Heo/oh-my-codex/blob/HEAD/skills/ecomode/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/ecomode, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Ecomode deprecated

Hard-deprecated. Do not invoke or route this skill. Use $ultrawork directly for maintained high-throughput execution workflows.

What Ecomode Does

Overrides default model selection to prefer cheaper tiers:

Default TierEcomode Override
THOROUGHSTANDARD, THOROUGH only if essential
STANDARDLOW first, STANDARD if needed
LOWLOW - no change

What Ecomode Does NOT Do

  • Persistence: Use ralph for "don't stop until done"
  • Parallel Execution: Use ultrawork for parallel agents
  • Delegation Enforcement: Always active via core orchestration

Combining Ecomode with Other Modes

Ecomode is a modifier that combines with execution modes:

CombinationEffect
eco ralphRalph loop with cheaper agents
eco ultraworkParallel execution with cheaper agents
eco autopilotFull autonomous with cost optimization

Ecomode Routing Rules

ALWAYS prefer lower tiers. Only escalate when task genuinely requires it.

DecisionRule
DEFAULTStart with LOW tier for most tasks
UPGRADEEscalate to STANDARD when LOW tier fails or task requires multi-file reasoning
AVOIDTHOROUGH tier - only for planning/critique if essential

Agent Selection in Ecomode

FIRST ACTION: Before delegating any work, read the agent reference file:

Read file: references/agent-tiers.md

This provides the complete agent tier matrix, MCP tool assignments, and selection guidance.

Ecomode preference order:

// PREFERRED - Use for most tasks
use /prompts:executor for this scoped task
use /prompts:explore for this scoped task
use /prompts:architect for this scoped task

// FALLBACK - Only if LOW fails
use /prompts:executor for this scoped task
use /prompts:architect for this scoped task

// AVOID - Only for planning/critique if essential
use /prompts:planner for this scoped task

Delegation Enforcement

Ecomode maintains all delegation rules from core protocol with cost-optimized routing:

ActionDelegate ToModel
Code changesexecutorLOW / STANDARD
AnalysisarchitectLOW
SearchexploreLOW
DocumentationwriterLOW

Background Execution

Long-running commands (install, build, test) run in background. Maximum 20 concurrent.

Token Savings Tips

  1. Batch similar tasks to one agent instead of spawning many
  2. Use explore (LOW tier) for file discovery, not architect
  3. Prefer LOW-tier executor routing for simple changes - only upgrade if it fails
  4. Use writer (LOW tier) for all documentation tasks
  5. Avoid THOROUGH-tier agents unless the task genuinely requires deep reasoning

Disabling Ecomode

Ecomode can be completely disabled via config. When disabled, all ecomode keywords are ignored.

Set in ~/.codex/.omx-config.json:

{
  "ecomode": {
    "enabled": false
  }
}

State Management

Use the CLI-first state surface (omx state ... --json) for ecomode lifecycle state. If explicit MCP compatibility tools are already available, equivalent omx_state calls are optional compatibility, not the default.

  • On activation: omx state write --input '{"mode":"ecomode","active":true}' --json
  • On deactivation/completion: omx state write --input '{"mode":"ecomode","active":false}' --json
  • On cancellation/cleanup: run $cancel (which should call omx state clear --input '{"mode":"ecomode"}' --json)