đ Estrutura do .claude/
A pasta .claude/ Ă© onde Claude Code procura tudo do projeto. Convenção sobre configuração â nĂŁo precisa apontar paths.
.claude/
âââ skills/ # SKILL.md (markdown + YAML)
â âââ revisar-pr/
â â âââ SKILL.md
â âââ deploy-check/
â âââ SKILL.md
âââ agents/ # Subagents (markdown + YAML frontmatter)
â âââ pr-reviewer.md
â âââ test-runner.md
âââ hooks/ # Scripts de evento
â âââ pre-edit.sh
â âââ post-tool.sh
âââ settings.json # Config (commit)
âââ settings.local.json # Config local (gitignore)
Regra: settings.json commitado (regras pro time), settings.local.json NO .gitignore (suas preferĂȘncias pessoais).
đ Estrutura do .codex/
A pasta .codex/ tem filosofia diferente: TOML ao invĂ©s de markdown. Mais explĂcito, menos amigĂĄvel visualmente.
.codex/
âââ config.toml # Config (TOML)
âââ agents/ # Subagents (TOML, um por arquivo)
âââ pr-reviewer.toml
âââ test-runner.toml
.agents/ # SKILLS ficam fora â padrĂŁo aberto
âââ skills/
âââ revisar-pr/
âââ SKILL.md
đ Diferença sutil mas importante
Skills no Codex moram em .agents/skills/ (nĂŁo em .codex/skills/) â Ă© o padrĂŁo aberto Agent Skills, entĂŁo qualquer agente (Cursor, Gemini) tambĂ©m encontra ali.
đ€ Skills: o lado bom
SKILL.md Ă© o ponto de convergĂȘncia. Mesmo arquivo funciona em Claude Code, Codex CLI, Cursor e Gemini CLI. Ă o Agent Skills standard.
Anatomia de SKILL.md:
---
name: revisar-pr
description: Revisa PR aberto procurando regressÔes, código duplicado e cobertura faltante
allowed-tools: [Read, Grep, Bash]
disable-model-invocation: false
---
# Skill: Revisar PR
Quando invocada, faça:
1. Liste arquivos mudados (git diff main...HEAD --name-only)
2. Para cada um, analise diff procurando:
- FunçÔes sem teste
- Imports nĂŁo usados
- Edge cases nĂŁo cobertos
3. Retorne markdown com seçÔes "CrĂticos", "SugestĂ”es", "Nits"
Investimento amortizado: escreva uma vez, usa em qualquer agente. Maior alavancagem prĂĄtica do curso.
⥠Agents: o lado divergente
Subagents Ă© onde os formatos divergem mais. Claude usa markdown puro (corpo = system prompt). Codex usa TOML com campo explĂcito.
Claude: pr-reviewer.md
---
name: pr-reviewer
description: Revisa PRs
tools: [Read, Bash]
---
VocĂȘ revisa PRs procurando
regressÔes e código duplicado.
Sempre retorne markdown com:
- CrĂticos
- SugestÔes
- Nits
Codex: pr-reviewer.toml
name = "pr-reviewer"
description = "Revisa PRs"
model = "gpt-5-pro"
sandbox_mode = "read-only"
developer_instructions = """
VocĂȘ revisa PRs procurando
regressÔes e código duplicado.
Sempre retorne markdown com:
- CrĂticos
- SugestÔes
- Nits
"""
Mesma informação, formatos diferentes: markdown body vira developer_instructions. YAML frontmatter vira campos TOML. ConversĂŁo Ă© determinĂstica â IA faz por vocĂȘ.
đ Global vs projeto
Ambos suportam 2 escopos. Cada um serve a um propĂłsito â confundir gera duplicação ou conflito.
| Path | Escopo | O que vai |
|---|---|---|
| ~/.claude/skills/ | Global | Skills genéricas (revisão, formatação, doc) |
| ./.claude/skills/ | Projeto | Skills especĂficas (deploy desse projeto) |
| ~/.codex/agents/ | Global | Subagents pessoais |
| ./.codex/agents/ | Projeto | Subagents do time |
Regra de precedĂȘncia: projeto sobrescreve global. Se vocĂȘ tem skill deploy em ambos, a do projeto vence.
đșïž Cheat sheet de conversĂŁo
A tabela pra colar na parede. Bate o olho, sabe onde mexer.
| Claude Code | â | Codex CLI |
|---|---|---|
| CLAUDE.md | â | AGENTS.md |
| .claude/skills/ | â | .agents/skills/ |
| .claude/agents/X.md | â | .codex/agents/X.toml |
| settings.json | â | config.toml |
| .claude/hooks/ | â ïž | (sem equivalente) |
| /agents | â | spawn (manual) |
â ïž Atenção: hooks
Claude tem hooks programĂĄveis (PreToolUse, PostToolUse, SessionStart) que Codex NĂO tem equivalente direto. Se seu workflow depende muito de hooks, mantenha Claude pra esse caso ou modele como skill invocĂĄvel.
đ Resumo do MĂłdulo
PrĂłxima Trilha:
T2 Dicas PrĂĄticas â começa convertendo um projeto Claude â Codex de verdade