AI Skill Report Card
Creating Agent Skills
Creates structured agent skills that extend Codex with task-specific capabilities. Use when building reusable workflows, packaging expertise for teams, or creating skills for the agent skills ecosystem.
Quick Start15 / 15
Create a basic skill:
Bashmkdir my-skill && cd my-skill cat > SKILL.md << 'EOF' --- name: my-skill-name description: Explains exactly when this skill should and should not trigger. ---
Recommendation▾
Remove redundant explanation of what Codex is in the description - assume Claude knows the context
Quick Start15 / 15
Immediate actionable example or steps.
Recommendation▾
The workflow could be more concise by combining some steps and reducing explanatory text
Workflow15 / 15
- Step one with specific inputs
- Step two with expected outputs
- Final step with deliverables
Recommendation▾
Consider moving some of the detailed file structure explanation to a reference section to improve flow
Examples18 / 20
Example 1: Input: [specific scenario] Output: [concrete result]
Best Practices
- Keep focused on one job
- Use imperative steps
- Test trigger descriptions EOF
Workflow15 / 15
-
Define Scope
- Identify the single job this skill should handle
- Write clear trigger conditions for implicit invocation
- Determine if instruction-only or scripts needed
-
Create Structure
my-skill/ ├── SKILL.md # Required: instructions + metadata ├── scripts/ # Optional: executable code ├── references/ # Optional: documentation ├── assets/ # Optional: templates, resources └── agents/openai.yaml # Optional: UI metadata, dependencies -
Write SKILL.md
- YAML frontmatter with name (kebab-case) and description
- Progressive sections: Quick Start, Workflow, Examples, Best Practices
- Focus on imperative steps with explicit inputs/outputs
-
Add Optional Metadata (agents/openai.yaml):
YAMLinterface: display_name: "User-Facing Name" short_description: "Brief description for UI" icon_small: "./assets/icon.svg" brand_color: "#3B82F6" policy: allow_implicit_invocation: true dependencies: tools: - type: "mcp" value: "toolName" -
Test and Deploy
- Save to appropriate location (repo/.agents/skills or ~/.agents/skills)
- Test trigger phrases match description
- Verify Codex auto-detects (restart if needed)
Examples18 / 20
Example 1: Repository Skill
Location: $REPO_ROOT/.agents/skills/code-review/
Markdown--- name: code-review-checklist description: Performs systematic code reviews using team standards. Use when reviewing pull requests or code changes. ---
Quick Start15 / 15
Review this PR: [paste URL or diff]
Workflow15 / 15
- Security: Check for vulnerabilities, secrets, permissions
- Logic: Verify correctness, edge cases, error handling
- Style: Enforce coding standards, naming, comments
- Performance: Identify bottlenecks, inefficient patterns
**Example 2: User Skill**
Location: `~/.agents/skills/meeting-notes/`
```markdown
---
name: meeting-notes-formatter
description: Converts raw meeting transcripts into structured notes with action items. Use when processing meeting recordings or notes.
---
Quick Start15 / 15
Format these meeting notes: [paste transcript]
Workflow15 / 15
- Extract key decisions and action items
- Organize by topic with timestamps
- Create follow-up task list with owners
- Generate summary for stakeholders
Best Practices
- Single Responsibility: One skill = one job. Split complex workflows.
- Clear Triggers: Description should predict when Codex will invoke it.
- Instruction-First: Prefer instructions over scripts unless deterministic execution required.
- Progressive Disclosure: Start simple, add complexity in later sections.
- Concrete Examples: Show specific inputs and outputs, not abstract concepts.
- Team Alignment: Check skills into repository for shared workflows.
Common Pitfalls
- Vague Descriptions: "Helps with data" won't trigger reliably. Be specific about when and what.
- Too Broad: Avoid "general purpose" skills. Narrow scope improves matching.
- Missing Examples: Abstract instructions confuse Codex. Always include concrete scenarios.
- Wrong Location: User skills (~/.agents/skills) for personal use, repo skills for team workflows.
- Ignoring Implicit Matching: If skill triggers unexpectedly, refine description boundaries.