Nima Skill Creator
Treat skill creation as workflow design, not just file formatting.
Start Here
- Ground the skill in 2-4 concrete user requests before writing structure.
- Choose the simplest fitting pattern from design-patterns.md.
- Create only the resources that remove repeated work:
scripts/,references/,assets/, and optionallyagents/openai.yaml. - Keep
SKILL.mdprocedural and concise. Move deep detail intoreferences/. - Validate before packaging.
Do not create the skill body until the trigger examples, outputs, and reusable resources are clear.
Phase 1: Discovery Gate
Run this phase first. Do not jump into implementation until the gaps below are resolved.
Capture:
- What inputs the future skill must handle.
- What outputs it must reliably produce.
- What a user would actually say to trigger it.
- Whether the skill is new or an update to an existing folder.
Ask in Chinese when the user is exploring requirements. Keep it short and concrete. Use the prompts in interaction-guide.md if the request is underspecified.
Before moving on, summarize:
- Primary job of the skill.
- Trigger phrases or task shapes.
- Constraints or quality bar.
- Target directory.
Phase 2: Pattern Selection
Choose one primary pattern, then add a secondary pattern only if it removes ambiguity.
- Use design-patterns.md to map the request to
tool-wrapper,generator,reviewer,inversion, orpipeline. - Use
inversionwhen the agent must collect structured context before acting. - Use
generatorwhen output shape must stay consistent. - Use
reviewerwhen evaluation criteria should live in a checklist. - Use
pipelinewhen steps must happen in order with explicit checkpoints. - Use
tool-wrapperwhen the main value is on-demand domain guidance.
For most skill-creation requests, combine:
inversionfor discoverygeneratorfor scaffoldingreviewerfor validationpipelinefor the overall sequence
Phase 3: Resource Planning
Translate the examples into reusable artifacts.
- Put deterministic automation in
scripts/. - Put long-lived, load-on-demand guidance in
references/. - Put templates or starter files in
assets/.
Use best-practices.md to tighten naming, frontmatter, and progressive disclosure. Use workflows.md to shape staged skills with gates.
Avoid:
- Auxiliary docs like
README.md,PROJECT.md, or status reports inside the skill folder. - Repeating the same guidance in both
SKILL.mdandreferences/. - Deep reference chains.
Phase 4: Implementation
When creating a new skill, initialize it with the provided scripts instead of hand-building the folder.
Create a new skill
python3 scripts/init_skill.py my-skill --path "${CODEX_HOME:-$HOME/.codex}/skills" --resources scripts,references
Optional:
python3 scripts/init_skill.py my-skill --path /path/to/skills --resources scripts,references,assets --examples --interface display_name="My Skill" --interface short_description="Create or update My Skill tasks"
Validate a skill
python3 scripts/validate_skill.py /path/to/skill
Package a skill
python3 scripts/package_skill.py /path/to/skill
Phase 5: Review Gate
Before calling the skill done, verify:
- Frontmatter has only
nameanddescription. descriptionexplains both function and trigger scenarios.SKILL.mdtells the agent what to do, not what the project is.- Every optional directory exists for a reason.
- Scripts are real, runnable programs.
- References are one hop away from
SKILL.md.
If the skill still feels vague, run another discovery pass instead of adding filler.
Output Shape
When responding to a user about a skill you are creating or improving, prefer this order:
- Discovery summary
- Chosen pattern and why
- Planned resources
- Files created or changed
- Validation result
Use output-patterns.md when you need a compact deliverable format.