Adoption · Codex Skill
The agentic-first Codex Skill.
A drop-in SKILL.md for the Codex CLI. Same authoring
workflow as the Claude version, but it can write the file
to disk, run pitch-mcp validate-file
locally if you have it installed, and fire the
submit_website curl for you when you confirm.
Designed for developers who already live in their terminal.
Install
Codex CLI (per-user)
- Create the skill directory if it doesn't already exist:
mkdir -p ~/.codex/skills/agentic-first - Drop the downloaded
SKILL.mdinto it:curl -L -o ~/.codex/skills/agentic-first/SKILL.md \ https://www.agentic-first.co/skills/codex/agentic-first/SKILL.md - The skill is active for any new
codexsession.
Project-scoped install
Drop it inside a repo so anyone using Codex CLI in that repo gets the skill automatically:
{your-repo}/.codex/skills/agentic-first/SKILL.md
Optional: install the validator
The skill is more useful with the pitch-mcp CLI on
your PATH - it will run
pitch-mcp validate-file against the file it just
authored to catch any drift from the canonical schema before you
publish.
pip install pitch-cli pitch-schema pitch-client
# or, from the source tree:
git clone https://github.com/yqup/pitch-mcp && cd pitch-mcp && make setup
How to invoke
Once installed, the skill is triggered by any of these phrasings:
- "Help me publish my agentic-first profile."
- "Create an agentic-profile.json for {domain}."
- "Generate a personal agentic-first profile for me."
- "Validate my agentic-first profile."
- Any mention of
/.well-known/agentic-profile.json.
What this version adds over the Claude one
| Capability | What Codex does with it |
|---|---|
| Filesystem write | Writes the finished JSON to
./public/.well-known/agentic-profile.json
(Next.js, Vite, Nuxt) or
./.well-known/agentic-profile.json (everything
else) by default. Asks before overwriting an existing
file. |
| Shell execution | Runs pitch-mcp validate-file against the
file it wrote, parsing the structured report and surfacing
errors back to you. Also fires the
submit_website curl when you confirm. |
| Network fetch | If your Codex session has network enabled, the skill
fetches the canonical schema live from
https://directory.agentic-first.co/schemas/
rather than relying on field rules from training data, so
it stays correct as the schema evolves. |
| Repo awareness | Detects a Vercel / Netlify / Cloudflare Pages / Astro / SvelteKit setup and writes the file in the right place for that build pipeline. |
Example session
$ codex
> help me publish my agentic-first profile for acme.com
[skill: agentic-first activated]
I'll help you publish an agentic-first profile.
1. Are you publishing about a company or yourself as an individual?
2. Are we writing your public profile or your protected profile?
3. Confirm domain: acme.com
> company, public, yes
Got it. Walking the company / public schema in spec order. First the
required fields:
- Trading name?
- Legal name (if different)?
- Country of registration (ISO 3166-1 alpha-2)?
- Statutory registry: type / id / lookup URL?
…
[…field walk…]
Self-check:
✓ All required fields present
✓ All numerics use banded enums
✓ All URLs parse as https://…
✓ updated_at is current UTC, ending in Z
✓ schema_version: "0.1.0"
✓ profile_kind: "company", tier: "public"
Writing to ./public/.well-known/agentic-profile.json …
Running pitch-mcp validate-file …
OK acme.com warns=0 errs=0
Done. To publish:
1. Your next deploy will serve this at
https://acme.com/.well-known/agentic-profile.json
2. To submit to the directory now, run:
curl -sS -X POST https://directory.agentic-first.co/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"submit_website",
"arguments":{"domain":"acme.com"}}}'
Run it now? [y/N]
Built-in safety
Same prompt-injection guardrails as the Claude skill, plus two Codex-specific protections:
- Never deploys for you. The skill writes the
file and offers the submit curl, but it will not push to a
remote, run
vercel deploy, rungit push, or do anything else that publishes on your behalf without you running the command yourself. - Never overwrites without confirming. If a file already exists at the target path, the skill diffs it against what it would write and asks before clobbering.
Full ruleset: security page.