بنقرة واحدة
oma
Thin Host Agent entrypoint for using OMA as a context-saving auxiliary offload sidecar.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Thin Host Agent entrypoint for using OMA as a context-saving auxiliary offload sidecar.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when setting up OMA with ACPX-backed agents, when real ACPX Execute Mode is blocked by NO_AGENT_ONBOARDING or NO_APPROVED_AGENT, or when the user asks to approve, onboard, initialize, or configure ACPX agents for OMA.
Use when user requests multi-agent task execution, parallel coding, or task decomposition across agents. Triggers: '用多个agent', '并行处理', '分派任务', 'multi-agent', 'parallel agents', 'orchestrate', 'oh my acpx', '帮我拆任务', 'dispatch to agents'.
Product-structured skill entry for the oh-my-acpx orchestration runtime.
| name | oma |
| description | Thin Host Agent entrypoint for using OMA as a context-saving auxiliary offload sidecar. |
Use OMA only when you are the Host Agent and you want to offload a bounded Auxiliary Task while keeping the main context and Host Plan in your own session.
Before executing an ACPX-backed Offload Plan, the Host Agent must verify that ACPX-backed agents have been approved through the oma-acpx-init skill.
Rules:
oma setup, oma schema, proposal-only oma run, reading/explaining an existing plan, and fake/local execution are allowed before onboarding.~/.oma/config/agents.json or .oma/config/agents.json, must use the oma-acpx-init skill before oma run <plan-path> --execute for an acpx route.oma acpx approve, summarize the current approval state: project config path/status, global config path/status, existing Approved Agents, discovered Declared ACPX adapters, and locally installed client commands from installedClients.quick, deep, visual), permissions (read, edit), and scope (project, global). Recommend roles per selected client or adapter, for example claude -> deep and gemini -> visual, instead of using one global role for every selection.route.agent from model preference, defaults, or examples. Plan routes must come from Approved Agents.oma run <plan-path> --execute until this gate passes.--scope project for team repositories. Global approvals cross project boundaries.permissions: edit for agents that need shell-backed reads even for read-only audits; permissions: read maps to ACPX --approve-reads and may reject shell tool calls.Route selection after onboarding:
visual Approved Agent role for UI, frontend, design implementation, screenshots, and visual verification tasks.deep Approved Agent role for complex implementation, diagnosis, research, and cross-file work.quick Approved Agent role for small, low-risk, clearly scoped auxiliary tasks.oma-acpx-init and ask whether to approve another agent or role. Do not guess.Use this command flow when the Host Agent chooses to use OMA:
oma setup
oma acpx init
oma acpx approve --agent codex --role deep --permissions edit --scope project
oma acpx approve --agent gemini --role visual --permissions edit --scope project
oma run .oma/plans/plan.json
oma run .oma/plans/plan.json --execute
oma run .oma/plans/plan.json --tasks docs-check,api-check
oma run .oma/plans/plan.json --execute --tasks docs-check,api-check --parallel 2
oma result show <task-id>
oma schema
oma setupRun once per workspace, or whenever the Host Agent needs the default OMA directory structure.
Expected behavior:
.oma/plans/.oma/artifacts/.oma/plans/plan.json if it does not already existoma run <plan-path>Run after writing or updating an Offload Plan.
Expected behavior:
If no plan exists, treat NO_PLAN as a safe stop and create or pass an Offload Plan.
If all tasks are done, treat ALL_DONE as "no auxiliary work remains"; do not claim the Host Plan is complete.
oma run <plan-path> --tasks <task-id,task-id>Run only when the Host Agent has explicitly decided which pending Auxiliary Tasks are safe to consider as one batch.
Expected behavior:
--tasksoma acpx initUse the oma-acpx-init skill before executing ACPX-backed Offload Plans or creating/revising ACPX routes when the project has not approved agents yet. Proposal-only planning, fake/local execution, and schema checks do not require onboarding. The CLI command itself is non-interactive discovery/status; the skill owns user approval and calls scriptable approval commands.
Expected behavior:
oma acpx init reports discovery/status and must not promptoma acpx approve --agent <name> --role <role> --permissions <read|edit> persists explicit approval.oma/config/agents.json by default~/.oma/config/agents.json with --scope globalIf a plan cannot be created because no installed/approved agent is known, or if oma run <plan-path> --execute returns NO_AGENT_ONBOARDING or NO_APPROVED_AGENT, switch to the oma-acpx-init skill instead of guessing an agent.
oma run <plan-path> --executeRun only after the Host Agent has inspected and accepted the Offload Proposal.
Expected behavior in this MVP:
fake-local routesacpx routessessions history first, then stdout fallback.oma/artifacts/localOutputs itself for fake/local routes; for ACPX routes, includes those outputs in the delegated prompt and relies on result verification before Host integrationcompleted + provisional_accept + accept; revise/retry stays pending for follow-upstatus separate from verdicthostPlanComplete falseoma run <plan-path> --execute --tasks <task-id,task-id> [--parallel N] [--full]Run only after the Host Agent has inspected and accepted the Offload Batch Proposal.
Expected behavior:
--parallel N as the concurrency cap; without it, defaults to selected task count capped at 4.oma/artifacts/<task-id>.json.oma/artifacts/batches/<batchRunId>.json--full is passedcompleted + provisional_accept + accept rulelocalOutputs.path conflicts before executionmodifiedFiles / readFiles overlaps as warnings, not scheduling decisionsoma result show <task-id>Use this after Execute Mode when the Host Agent needs the complete captured answer without manually browsing .oma/artifacts/.
Expected behavior:
kind: "Auxiliary Result Inspection", capturedAnswer, concise findings, and evidence.acpxResult unless --full is passed.Use --full only when the Host Agent needs raw transport evidence:
oma result show <task-id> --full
For acpx routes, use persistent ACPX prompt sessions so the work is observable in ~/.acpx/sessions/.
Rules:
exec for OMA Auxiliary Tasks. exec is a one-shot temporary ACP session and does not preserve persistent session state.route.sessionName as the session-name prefix; OMA appends the current runId so each execution gets a fresh observable session instead of inheriting stale assistant context.route.timeoutSeconds when provided; otherwise OMA uses the default ACPX prompt timeout of 600 seconds.-s <session-name> or --session <session-name>.sessions show <session-name> and sessions history <session-name> output when available.sessionName, session metadata, history summary, command evidence, stdout, and stderr into .oma/artifacts/<task-id>.json.sessions history for capture only when the history command exits successfully; otherwise use stdout fallback.failed Auxiliary Task Return instead of claiming completion.Expected command shape:
acpx --cwd <workspace> <agent> sessions ensure --name <session-name>-<runId>
acpx --cwd <workspace> --approve-all --timeout <route.timeoutSeconds-or-600> <agent> -s <session-name>-<runId> "<prompt>"
acpx --cwd <workspace> <agent> sessions show <session-name>-<runId>
acpx --cwd <workspace> <agent> sessions history <session-name>-<runId> --limit 20
Use --approve-reads instead of --approve-all when the Approved Agent permission is read.
Use these rules when interpreting oma run --execute results:
auxiliaryTaskId from trusted session history, then stdout.runId; when session history includes that marker, ignore older history before the current run to avoid stale result capture from reused sessions.runId, it must match the current run.auxiliaryTaskId returns as evidence only; never adopt them.assistant final block or the last timestamped assistant entry in trusted sessions history.capturedAnswer for oma result show even when the Host-facing return is failed/reject.Hard execution failures override result trust:
status=failed and verdict=reject.[tool] ... (failed) events are treated as execution failures even if the assistant later emits optimistic schema JSON.oma result show <task-id> when artifact persistence succeeds.provisional_accept.For file creation tasks, the Host Agent must put every file OMA should create in the Offload Plan under localOutputs. Do not create those files by hand and then claim OMA created them.
Minimal file-writing Auxiliary Task shape:
{
"id": "react-demo-app",
"title": "Build a React demo app",
"status": "pending",
"contextBudget": {
"maxTokens": 3000,
"rationale": "The file outputs are fully declared in the Offload Plan."
},
"route": {
"runtime": "acpx",
"agent": "codex",
"role": "deep",
"sessionName": "oma-react-demo-app",
"timeoutSeconds": 300
},
"prompt": "Create the declared React demo files.",
"expectedReturn": "AuxiliaryTaskReturn",
"modifiedFiles": [
"examples/react-demo/package.json",
"examples/react-demo/src/App.tsx"
],
"localOutputs": [
{
"path": "examples/react-demo/package.json",
"content": "{...package json...}\n"
},
{
"path": "examples/react-demo/src/App.tsx",
"content": "export function App() { return <main>OMA demo</main>; }\n"
}
]
}
localOutputs only supports workspace-relative paths. OMA refuses absolute paths and parent-directory escapes.
oma schemaRun when the Host Agent, tests, or documentation need to inspect the current Auxiliary Task Return contract.
Expected behavior:
completed means auxiliary completion only, not Host Plan completion--execute.OMA must not self-schedule beyond the next pending Auxiliary Task and must not claim Host-level completion.