skills/codex-agent-setup/SKILL.md
Explicit-only installer for bopen-tools Codex custom agents. Use ONLY when the user explicitly asks to install, update, check, uninstall, or set up Codex agents / custom agents from this plugin — phrases include "install codex agents", "setup codex agents", "update codex agents", "check codex agents", "install all codex agents", "uninstall codex agents", "project codex agents", "user codex agents", or "install bopen agents into .codex". Never auto-invoke. Never silently modify global Codex configuration.
npx skillsauth add b-open-io/prompts codex-agent-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Installs the plugin's generated Codex custom-agent adapters as regular files into a Codex agents directory. Explicit invocation only — do not run unless the user asked to install, update, check, or uninstall these agents.
~/.codex/config.toml or any global Codex config..codex/agents/), not user-global.--check first when the user asks what would change.Run via the bundled launcher (resolves checkout or installed plugin cache):
bash "${SKILL_DIR}/scripts/setup.sh" [options]
If SKILL_DIR is unknown, resolve from this skill's path or set
BOPEN_PLUGIN_ROOT to the plugin root and run:
python3 "${BOPEN_PLUGIN_ROOT}/scripts/codex-agents/install.py" [options]
| User intent | Command |
|---|---|
| Install curated roster into project .codex/agents/ | bash scripts/setup.sh |
| Install curated roster into user ${CODEX_HOME:-~/.codex}/agents/ | bash scripts/setup.sh --user |
| Install all generated agents (project) | bash scripts/setup.sh --all |
| Install all into user scope | bash scripts/setup.sh --user --all |
| Dry-run / drift check | bash scripts/setup.sh --check (add --user / --all as needed) |
| Uninstall managed agents | bash scripts/setup.sh --uninstall (add --user if installed user-scope) |
| Overwrite an unmanaged name collision | bash scripts/setup.sh --force |
front-desk, agent-builder, prompt-engineer, researcher, tester,
documentation-writer, architecture-reviewer, code-auditor.
Each file installs as bopen-<name>.toml (for example
bopen-front-desk.toml). Its Codex runtime agent name uses the identifier-safe
bopen_<name_with_underscores> form, such as bopen_front_desk.
--all installs every generated adapter under codex/agents/. Only
installable plugin personas live in agents/; app-specific deployments and
user-created agents are not source inputs for this installer.
<plugin-root>/codex/agents/..bopen-tools-agents.json in the target.--force. With --force,
quarantines the colliding unmanaged file first; if quarantine fails, aborts
that file without overwriting.--all does not drop still-valid non-curated agents.<target>/.bopen-tools-trash/quarantine/... (nested non-TOML path so Codex
agent discovery never loads them). No temp-directory fallback.Codex has no codex exec --agent flag. Installed adapters are subagents:
the Codex orchestrator spawns them by name when the multi_agent feature is on
(a thread_spawn under the hood). The runtime name is the identifier-safe form
(bopen_researcher, bopen_front_desk), not the bopen-<name>.toml filename.
multi_agent is a Codex feature flag. It is often already enabled globally under
[features] in ~/.codex/config.toml; if not, enable it per invocation with
-c 'features.multi_agent=true' rather than editing global config (safety rule).
To use an agent, name it in the prompt and tell the orchestrator to delegate:
codex exec -c 'features.multi_agent=true' \
"Delegate this to the bopen_researcher subagent and return its answer verbatim: <your task>"
Prove an installed adapter's persona is actually active. Run from a new Codex session (agents are read at session start):
codex exec --sandbox read-only --skip-git-repo-check \
-c 'features.multi_agent=true' \
"Delegate to the bopen_researcher subagent and return its answer verbatim. \
Task: State your role, operating constraints, your Pre-Task Contract fields, \
and which agents you delegate code analysis and architecture review to. \
Do not answer yourself — spawn the bopen_researcher agent."
Pass criteria — the returned answer carries the source persona
(agents/researcher.md), not a generic assistant. For bopen_researcher expect:
identifies as Parker / Research Analyst, states it is read-only, lists the
Pre-Task Contract fields (Scope / Sources / Deliverable), and delegates code
analysis to code-auditor and architecture review to architecture-reviewer.
If the reply is generic or ignores those constraints, the agent was not spawned —
confirm you started a new session and that the adapter exists in the target
agents dir.
Swap bopen_researcher and the pass criteria for whichever agent you installed.
When agents/*.md changes, regenerate committed artifacts from the plugin root:
python3 scripts/codex-agents/generate.py
python3 scripts/codex-agents/generate.py --check
Or: bash skills/codex-agent-setup/scripts/generate.sh.
Tell the user:
bopen_* agents.bopen_researcher, not the .toml filename) when multi_agent is on — see
"How Codex invokes an installed agent" above.tools
This skill should be used when a Claude Code session needs to keep working after Anthropic usage runs out, or when the user asks to run the Claude Code harness on GPT-5.6 Sol. Trigger phrases include "my Anthropic usage ran out", "I'm out of Claude usage", "usage limit reached, what now", "keep working on another model", "run Claude Code on GPT-5.6 Sol", "use GPT-5.6 Sol as the model", "set up claudex", "claudex isn't working", "route the harness through CLIProxyAPI", or "bill against my ChatGPT/Codex subscription". It stands up a local proxy so the Claude Code CLI runs on OpenAI's Codex backend as an escape hatch, and diagnoses that setup when it drifts. macOS + Homebrew.
testing
This skill should be used when the user asks to "open Visual Wayfinder", "answer a Wayfinder ticket visually", "turn this decision into a configurator", "show Wayfinder choices as a dashboard", "prototype the Wayfinder questionnaire", or wants interactive choice cards, tradeoff controls, rankings, ranges, toggles, and consequence previews for one active Wayfinder decision. It wraps the Wayfinder skill and JSON Render; it never replaces the tracker or resolves more than the active decision.
development
This skill should be used when the user asks to "make a visual proposal", "write this up so I can share it", "present these options visually", "diagram the trade-offs", "turn this plan into something reviewable", or requests a shareable design pitch, architecture proposal, RFC, options comparison, or visual roadmap for work that has not been built. It produces one self-contained, theme-aware HTML page led by grounded diagrams. Use visual-review instead for completed code changes; do not use this skill for internal task tracking.
tools
This skill should be used when the user asks to "add plugin settings", "make a plugin configurable", "store per-project plugin configuration", "use settings.local.json", "create a plugin state file", "expose skill settings in Agent Master", or "add a skill interface". Distinguishes official Claude Code settings from project-owned configuration and documents bOpen Agent Master skill interface discovery.