Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Installation

npx skills add https://github.com/boshu2/agentops --skill standards

Summary

Source of truth: docs/contracts/codex skill api.md

SKILL.md

Codex Skill Standards

Canonical Contract

Source of truth: docs/contracts/codex-skill-api.md

Frontmatter

Codex SKILL.md frontmatter must contain only name and description:

---
name: skill-name
description: 'When this skill triggers and when it does not.'
---

Prohibited fields (Claude-internal, ignored by Codex): skill_api_version, context, metadata, allowed-tools, model, user-invocable, output_contract

Tool References

Skills must reference only tools available in Codex sessions:

Codex ToolPurposeClaude Equivalent
read_fileRead file contentsRead
apply_patchApply file editsEdit
rgSearch file contentsGrep
glob_file_searchFind files by patternGlob
cmdShell executionBash
gitGit operationsBash(git ...)
list_dirList directoryBash(ls)
spawn_agentSpawn a focused sub-agentAgent
send_inputSend follow-up input to a sub-agentSendMessage
wait_agentWait for one or more sub-agentsBuilt into Agent tool
close_agentStop a stuck or no-longer-needed sub-agentTaskStop

Prohibited Tool References

These Claude Code primitives have no Codex equivalent and must not appear:

  • TaskCreate, TaskList, TaskUpdate, TaskGet, TaskStop
  • TeamCreate, TeamDelete, SendMessage
  • EnterPlanMode, ExitPlanMode, EnterWorktree
  • Skill(skill=...) — Codex uses $skill-name invocation, not a Skill tool
  • Agent(subagent_type=...) — Codex uses agent roles, not subagent_type

Mapped Forms Also Prohibited

Lowercase-hyphenated forms are equally invalid (task-create, team-create, send-message).

The previously-mapped todo_write and update_plan are not available as general-purpose tools in Codex sessions (empirically verified via codex exec).

Skill Discovery Paths

ScopePath
Repo.agents/skills/
User~/.agents/skills/
Admin/etc/codex/skills/

Prohibited paths: ~/.claude/skills/, ~/.codex/skills/

Sub-Agent Patterns

Codex orchestration uses:

PatternToolUse Case
Repeated spawnspawn_agentMany similar tasks, one agent per unit of work
Agent rolesagent_typeSpecialized sub-agents (worker, explorer, monitor)
Shell orchestrationcmd + bd CLIIssue tracking, wave management

NOT: TaskList-based queueing, TeamCreate/SendMessage coordination, or Skill tool chaining.

Common Issues

PatternProblemFix
TaskCreate(subject=...)Claude primitive, doesn't existUse bd create via shell or spawn_agent
TeamCreate(team_name=...)Claude primitive, doesn't existUse agent roles in config
SendMessage(to=...)Claude primitive, doesn't existUse send_input for brief follow-up messages
Skill(skill="vibe")Claude Skill tool, doesn't existUse $validate invocation syntax
context.window: forkClaude frontmatter, ignoredRemove from Codex SKILL.md
~/.claude/skills/Wrong pathUse .agents/skills/
todo_write(...)Not available in Codex sessionsUse bd CLI or file-based tracking

Testing Codex Skills

Two-Phase Validation (Recommended)

Use a two-phase approach for comprehensive coverage at minimal cost:

Phase 1 — Static (fast, no API cost):

  • Check frontmatter has only name + description
  • Grep for Claude-only primitives (TaskCreate, TeamCreate, SendMessage, etc.)
  • Check for ~/.claude/ paths
  • Verify reference files are also clean

Phase 2 — Live (thorough, requires Codex API):

# Check if skill loads and is understood
codex exec -s read-only -C "$(pwd)" \
  "Read \$skill-name. Verify it loads, check all referenced tools exist. Rate PASS/PARTIAL/FAIL."

DAG-First Traversal

When validating multiple interdependent skills, traverse in dependency order (leaves first). This ensures that when a skill references $other-skill, the referenced skill has already been validated. Encode the dependency graph explicitly — computed DAGs from frontmatter parsing are error-prone.

Prompt Constraint Boundaries

When using LLM judges to evaluate skills, always include explicit constraint boundaries:

  • "Read-only sandbox and missing network access are NOT reasons to FAIL — those are test environment limits, not skill defects"
  • "Rate the skill's design quality, not whether it can execute in this test environment"

Without these boundaries, judges conflate environment limits with skill defects.

Shell Compatibility

Scripts that validate Codex skills must work on both macOS (BSD tools) and Linux (GNU tools):

  • Use [[:space:]] not \s in grep patterns (BSD grep doesn't support \s)
  • Use awk instead of BSD-incompatible sed compound expressions
  • Pre-process multi-line LLM output with tr -d '\n' before regex extraction

Release Gate Script

Full DAG-based validation: scripts/smoke-test-codex-skills.sh

scripts/smoke-test-codex-skills.sh --static-only    # Fast CI check (no API)
scripts/smoke-test-codex-skills.sh --chain 2         # Test one chain
scripts/smoke-test-codex-skills.sh                   # Full 54-skill live test

Checklist

When reviewing Codex skills (skills-codex/*/SKILL.md):

  • [ ] Frontmatter has only name + description
  • [ ] No Claude primitive names (PascalCase or lowercase-hyphenated)
  • [ ] No ~/.claude/ paths
  • [ ] No Skill(skill=...) tool invocations
  • [ ] No Agent(subagent_type=...) tool invocations
  • [ ] No context. or metadata. frontmatter
  • [ ] Reference files (references/*.md) also free of Claude primitives
  • [ ] Instructions are actionable for a Codex agent with only Codex tools

Recommended skills

Browse all →

Related guides

Hand-picked reading to help you choose, install, and use agent skills.