Create and update Codex custom agents using standalone custom-agent TOML files.
Install
npx skills add https://github.com/am-will/codex-skills --skill role-creatorSKILL.md
Role Creator
Overview
Use this skill to author, update, or troubleshoot custom Codex agents as standalone TOML files.
Current behavior:
- Each custom agent is defined by one file:
- Global:
~/.codex/agents/<agent-name>.toml - Project:
<project>/.codex/agents/<agent-name>.toml
- Global:
- The agent file is the role source of truth.
~/.codex/config.tomlis only for global/runtime settings (for example[agents]thread limits), not per-role registration.
Non-Negotiable Inputs
Step 1 is required before writing files:
name(role identifier used byagent_type)description(short, human-readable purpose)developer_instructionsmodel(recommendgpt-5.3-codexunless requested)model_reasoning_effort(none|minimal|low|medium|high|xhigh)- role scope (
globalorproject) - output TOML path (canonical absolute path preferred)
- whether to include
nickname_candidatesand exact values
Execution rule:
- Do not infer required values.
- Do not write until required inputs are explicitly confirmed.
Role file contract (current)
From Codex custom agent docs (/codex/subagents):
- Required keys:
name,description,developer_instructions. - Optional keys:
nickname_candidates,model,model_reasoning_effort,sandbox_mode,web_search,mcp_servers,skills.config, etc. nameis the spawn identifier and source of truth.description+developer_instructionsdefine behavior and usage boundaries.nickname_candidatesis optional and used only for display.
nickname_candidates requirements:
- Must be a non-empty list of unique values when present.
- Allowed characters: ASCII letters, digits, spaces, hyphens, underscores.
Default policy for optional settings
- Do not add sandboxing/MCP/web-search/model extras unless requested.
- Keep generated files minimal by default.
- If the user says "inherit defaults", omit optional keys instead of setting explicit values.
Workflow
- Collect and confirm required inputs.
- Resolve output path:
global→~/.codex/agents/<name>.tomlproject→<project>/.codex/agents/<name>.toml
- Create or update the file directly with required keys.
- Validate TOML parse and required keys.
- Return a ready-to-run example call:
{"agent_type":"<name>","message":"<task>"}
Commands
# 1) Write a standalone custom-agent file
/home/willr/Applications/skills/skills/role-creator/scripts/write_role_config.sh \
--output ~/.codex/agents/reviewer.toml \
--role-name reviewer \
--description "PR reviewer focused on correctness, security, and risk." \
--model gpt-5.4 \
--reasoning high \
--developer-instructions "Review code like an owner. Lead with concrete findings and residual risks."
# Optional: include nickname candidates for display
/home/willr/Applications/skills/skills/role-creator/scripts/write_role_config.sh \
--output ~/.codex/agents/reviewer.toml \
--role-name reviewer \
--description "PR reviewer focused on correctness, security, and risk." \
--model gpt-5.4 \
--reasoning high \
--developer-instructions "Review code like an owner. Lead with concrete findings and residual risks." \
--nickname-candidates "Atlas,Delta,Echo" \
--sandbox-mode read-only \
--web-search disabled
Guardrails
- If runtime returns
unknown agent_type, verify the active scope and confirm the file exists at the expected path. - Check syntax first with
tomlqortomlq -C. - Keep role instructions operational and narrowly scoped to avoid drift.
References
- Codex subagents docs:
https://developers.openai.com/codex/subagents - Display nicknames:
https://developers.openai.com/codex/subagents#display-nicknames - Reusable templates:
templates/
Related skills
find-skillsvercel-labs3.6MHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.handoffmattpocock883KCompact the current conversation into a handoff document for another agent to pick up.microsoft-foundrymicrosoft618KBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, create agent, update agent, add tool to agent, invoke agent, agent.yaml, agent insights, pull agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, prompt optimizer, optimize agcavemanjuliusbrussee544KUltra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".