Nima Skill Creator
Treat skill creation as workflow design, not just file formatting.
Start Here
- 1. 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 optionally agents/openai.yaml. - Keep
SKILL.md procedural and concise. Move deep detail into references/. - 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, or pipeline. - Use
inversion when the agent must collect structured context before acting. - Use
generator when output shape must stay consistent. - Use
reviewer when evaluation criteria should live in a checklist. - Use
pipeline when steps must happen in order with explicit checkpoints. - Use
tool-wrapper when the main value is on-demand domain guidance.
For most skill-creation requests, combine:
- -
inversion for discovery - INLINECODE17 for scaffolding
- INLINECODE18 for validation
- INLINECODE19 for 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.md and references/. - 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
CODEBLOCK0
Optional:
CODEBLOCK1
Validate a skill
CODEBLOCK2
Package a skill
CODEBLOCK3
Phase 5: Review Gate
Before calling the skill done, verify:
- - Frontmatter has only
name and description. - INLINECODE29 explains both function and trigger scenarios.
- INLINECODE30 tells 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:
- 1. 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.
Nima 技能创建器
将技能创建视为工作流设计,而不仅仅是文件格式化。
从这里开始
- 1. 在编写结构之前,先基于 2-4 个具体的用户请求来确立技能。
- 从 design-patterns.md 中选择最简洁的适配模式。
- 仅创建能消除重复工作的资源:scripts/、references/、assets/,以及可选的 agents/openai.yaml。
- 保持 SKILL.md 的流程性和简洁性。将深层细节移至 references/。
- 打包前进行验证。
在触发示例、输出和可复用资源明确之前,不要创建技能主体。
阶段一:发现关卡
先执行此阶段。在解决以下缺口之前,不要跳入实现阶段。
捕获:
- - 未来技能必须处理的输入。
- 必须可靠生成的输出。
- 用户实际会说的触发语句。
- 技能是新建还是对现有文件夹的更新。
当用户正在探索需求时,用中文提问。保持简短具体。如果请求不明确,使用 interaction-guide.md 中的提示。
在继续之前,总结:
- - 技能的主要职责。
- 触发短语或任务形态。
- 约束条件或质量标准。
- 目标目录。
阶段二:模式选择
选择一个主要模式,然后仅在能消除歧义时添加次要模式。
- - 使用 design-patterns.md 将请求映射到 tool-wrapper、generator、reviewer、inversion 或 pipeline。
- 当代理必须在行动前收集结构化上下文时,使用 inversion。
- 当输出形态必须保持一致时,使用 generator。
- 当评估标准应存在于检查清单中时,使用 reviewer。
- 当步骤必须按顺序执行并设有明确检查点时,使用 pipeline。
- 当主要价值在于按需领域指导时,使用 tool-wrapper。
对于大多数技能创建请求,组合使用:
- - inversion 用于发现
- generator 用于搭建框架
- reviewer 用于验证
- pipeline 用于整体序列
阶段三:资源规划
将示例转化为可复用的工件。
- - 将确定性自动化放入 scripts/。
- 将长期存在、按需加载的指导放入 references/。
- 将模板或起始文件放入 assets/。
使用 best-practices.md 来收紧命名、前置元数据和渐进式披露。使用 workflows.md 来塑造带有关卡的分阶段技能。
避免:
- - 在技能文件夹内放置辅助文档,如 README.md、PROJECT.md 或状态报告。
- 在 SKILL.md 和 references/ 中重复相同的指导。
- 深层的引用链。
阶段四:实现
创建新技能时,使用提供的脚本进行初始化,而不是手动构建文件夹。
创建新技能
bash
python3 scripts/initskill.py my-skill --path ${CODEXHOME:-$HOME/.codex}/skills --resources scripts,references
可选:
bash
python3 scripts/initskill.py my-skill --path /path/to/skills --resources scripts,references,assets --examples --interface displayname=My Skill --interface short_description=创建或更新 My Skill 任务
验证技能
bash
python3 scripts/validate_skill.py /path/to/skill
打包技能
bash
python3 scripts/package_skill.py /path/to/skill
阶段五:审查关卡
在宣布技能完成之前,验证:
- - 前置元数据仅包含 name 和 description。
- description 同时解释功能和触发场景。
- SKILL.md 告诉代理要做什么,而不是项目是什么。
- 每个可选目录的存在都有其理由。
- 脚本是真实、可运行的程序。
- 引用文件与 SKILL.md 之间仅隔一层。
如果技能仍然感觉模糊,执行另一次发现过程,而不是添加填充内容。
输出形态
当就正在创建或改进的技能回复用户时,优先采用以下顺序:
- 1. 发现总结
- 选择的模式及原因
- 规划的资源
- 创建或更改的文件
- 验证结果
当需要紧凑的可交付格式时,使用 output-patterns.md。