skill-creator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseKarma Skill Creator
Karma技能创建工具
Create well-structured Claude Code skills for the Karma ecosystem.
为Karma生态系统创建结构规范的Claude Code技能。
Skill Creation Process
技能创建流程
- Understand the skill with concrete examples
- Plan reusable skill contents (references, assets)
- Initialize the skill directory structure
- Write the skill (implement resources and SKILL.md)
- Validate against the checklist before shipping
- Iterate based on real usage
- 需求理解:结合具体示例明确技能用途
- 资源规划:规划可复用的技能内容(参考资料、资源文件)
- 初始化技能:创建技能目录结构
- 编写技能:实现资源并撰写SKILL.md
- 上线验证:根据检查清单完成验证
- 迭代优化:基于实际使用情况改进
Step 1: Understand the Skill
步骤1:需求理解
Ask the user for concrete examples of how the skill will be used:
- "What should this skill do? Can you give 2-3 example prompts?"
- "What would a user say that should trigger this skill?"
- "What Karma-specific context does this need?" (grants, funding maps, ecosystem data)
向用户询问技能的具体使用示例:
- “这个技能需要实现什么功能?能否提供2-3个示例提示词?”
- “用户说出哪些内容时应该触发这个技能?”
- “技能需要哪些Karma特定的上下文信息?”(如资助权限、资金地图、生态系统数据)
Step 2: Plan Reusable Contents
步骤2:资源规划
For each example, identify what reusable resources would help:
| Resource Type | When to Use | Example |
|---|---|---|
| Domain knowledge Claude needs | |
| Files used in output | |
针对每个示例,确定可复用的资源类型:
| 资源类型 | 适用场景 | 示例 |
|---|---|---|
| Claude需要的领域知识 | |
| 输出时用到的文件 | |
Step 3: Initialize the Skill
步骤3:初始化技能
Create the skill directory under :
skills/skills/<skill-name>/
├── SKILL.md # Required
├── references/ # Optional
└── assets/ # OptionalNaming rules:
- kebab-case, lowercase letters, digits, and hyphens only
- Max 64 characters
- Descriptive: , not
grant-milestone-trackertracker
在目录下创建技能文件夹:
skills/skills/<skill-name>/
├── SKILL.md # 必填文件
├── references/ # 可选目录
└── assets/ # 可选目录命名规则:
- 仅使用短横线分隔的小写字母、数字和连字符(kebab-case)
- 最多64个字符
- 名称需具有描述性:例如,而非
grant-milestone-trackertracker
Step 4: Write the Skill
步骤4:编写技能
How Skills Load (Progressive Disclosure)
技能加载机制(渐进式披露)
Skills use a three-level system — understanding this is critical for writing effective skills:
- YAML frontmatter — always loaded into Claude's system prompt. This is how Claude decides whether to activate the skill. Keep it lean: just and
name.description - SKILL.md body — loaded only when Claude thinks the skill is relevant. Contains the full instructions.
- Linked files (,
references/) — Claude navigates to these on demand. Use for detailed docs, templates, and examples.assets/
The implication: frontmatter must be self-sufficient for triggering. The body must be self-sufficient for execution. Reference files are for depth.
技能采用三级加载系统——理解这一点是编写高效技能的关键:
- YAML前置元数据 —— 始终加载到Claude的系统提示词中。这是Claude判断是否激活技能的依据。需保持简洁:仅包含和
name字段。description - SKILL.md正文 —— 仅当Claude认为技能相关时才会加载。包含完整的执行说明。
- 关联文件(、
references/)—— Claude会根据需求访问这些文件。用于存放详细文档、模板和示例。assets/
核心要点:前置元数据必须能独立支撑技能触发判断;正文必须能独立指导技能执行;参考文件用于补充深度信息。
Writing the Description (Most Important Field)
编写描述字段(最重要的部分)
The field determines whether your skill triggers. Get this right.
descriptionStructure: [What it does] + [When to use it] + [Key capabilities]
Rules:
- Under 1024 characters
- MUST include both what the skill does AND when to use it (trigger phrases)
- Include specific phrases users would actually say
- No XML angle brackets (or
<)>
Good examples:
yaml
undefineddescription结构:[功能说明] + [触发场景] + [核心能力]
规则:
- 长度不超过1024个字符
- 必须同时包含技能功能和触发场景(触发短语)
- 需包含用户实际会使用的具体短语
- 不得包含XML尖括号(或
<)>
优秀示例:
yaml
undefinedSpecific, with trigger phrases
具体明确,包含触发短语
description: Analyzes grant milestone reports and generates
compliance summaries. Use when user asks to "review milestones",
"check grant progress", or "generate a milestone report".
description: Analyzes grant milestone reports and generates
compliance summaries. Use when user asks to "review milestones",
"check grant progress", or "generate a milestone report".
Clear scope with negative triggers
范围清晰,包含排除触发场景
description: Advanced data analysis for CSV files. Use for
statistical modeling, regression, clustering. Do NOT use for
simple data exploration (use data-viz skill instead).
**Bad examples:**
```yamldescription: Advanced data analysis for CSV files. Use for
statistical modeling, regression, clustering. Do NOT use for
simple data exploration (use data-viz skill instead).
**反面示例:**
```yamlToo vague — won't trigger reliably
过于模糊,无法可靠触发
description: Helps with projects.
description: Helps with projects.
Missing triggers — when should Claude load this?
缺少触发场景,Claude何时加载该技能?
description: Creates sophisticated multi-page documentation systems.
description: Creates sophisticated multi-page documentation systems.
Too technical, no user-facing triggers
过于技术化,缺少用户视角的触发短语
description: Implements the Project entity model with hierarchical
relationships.
**Debugging tip:** Ask Claude "When would you use the [skill-name] skill?" — it will quote the description back. Adjust based on what's missing.description: Implements the Project entity model with hierarchical
relationships.
**调试技巧:** 询问Claude“你会在什么场景下使用[skill-name]技能?”——它会引用描述字段内容进行回答。根据缺失的信息调整描述。SKILL.md Body
SKILL.md正文格式
yaml
---
name: skill-name
description: What the skill does and when to use it. Include specific triggers.
---The body contains instructions Claude will follow. Key principles:
Concise is key. Claude is already smart — only add what it doesn't know. Challenge each paragraph: "Does this justify its token cost?"
Set appropriate freedom levels:
- High freedom (text instructions): multiple valid approaches, context-dependent
- Medium freedom (pseudocode/parameterized scripts): preferred pattern with some variation
- Low freedom (exact scripts): fragile operations, consistency critical
Progressive disclosure: Keep SKILL.md under 500 lines. Split into reference files when approaching this limit.
yaml
---
name: skill-name
description: What the skill does and when to use it. Include specific triggers.
---正文包含Claude需要遵循的执行说明。核心原则:
简洁为上。Claude本身具备智能——仅添加它不知道的信息。对每一段内容都要反问:“这段内容的token成本是否值得?”
设置合适的自由度:
- 高自由度(文本指令):存在多种有效实现方式,需结合上下文判断
- 中等自由度(伪代码/参数化脚本):推荐实现模式,但允许一定变通
- 低自由度(精确脚本):操作要求严格一致,容错性低
渐进式披露: 保持SKILL.md内容在500行以内。接近该限制时,将内容拆分到参考文件中。
Design Patterns
设计模式
Consult these guides based on your skill's needs:
- Multi-step processes: See workflows.md for sequential and conditional patterns
- Output format/quality: See output-patterns.md for template and example patterns
根据技能需求参考以下指南:
- 多步骤流程:参考workflows.md中的顺序和条件执行模式
- 输出格式/质量:参考output-patterns.md中的模板和示例模式
What NOT to Include
禁止包含的内容
- README.md, CHANGELOG.md, or other auxiliary docs
- "When to use" sections in the body (put this in the frontmatter description)
- Setup/testing procedures
- Information Claude already knows
- README.md、CHANGELOG.md或其他辅助文档
- 正文中的“适用场景”部分(需放在前置元数据的description字段中)
- 安装/测试流程
- Claude已具备的常识性信息
Step 5: Validate Before Shipping
步骤5:上线前验证
Run through this checklist before considering the skill done:
Structure:
- Folder named in kebab-case
- exists (exact casing)
SKILL.md - YAML frontmatter has delimiters on both sides
--- - field: kebab-case, no spaces, no capitals
name - No XML angle brackets (
<) anywhere in frontmatter> - Skill name does not contain "claude" or "anthropic" (reserved)
- No inside the skill folder
README.md
Description:
- Includes WHAT the skill does
- Includes WHEN to use it (trigger phrases)
- Under 1024 characters
- Trigger phrases match how users actually talk
Triggering:
- Triggers on obvious task requests
- Triggers on paraphrased requests
- Does NOT trigger on unrelated topics
Instructions:
- Instructions are clear and actionable
- Critical steps use explicit language, not vague guidance
- Error handling included for likely failure points
- References clearly linked (not inlined)
在技能完成前,逐一检查以下清单:
结构规范:
- 文件夹名称采用kebab-case格式
- 存在文件(大小写完全匹配)
SKILL.md - YAML前置元数据首尾均有分隔符
--- - 字段:kebab-case格式,无空格,无大写字母
name - 前置元数据中无XML尖括号(
<)> - 技能名称不包含“claude”或“anthropic”(为保留关键词)
- 技能文件夹内无文件
README.md
描述字段:
- 包含技能功能说明
- 包含触发场景(触发短语)
- 长度不超过1024个字符
- 触发短语符合用户实际用语习惯
触发逻辑:
- 对明确的任务请求能触发
- 对转述的请求能触发
- 对无关主题不会误触发
执行说明:
- 说明清晰且可执行
- 关键步骤使用明确语言,而非模糊指导
- 包含针对常见失败场景的错误处理方案
- 参考资料采用链接形式(而非内嵌)
Step 6: Iterate
步骤6:迭代优化
- Use the skill on real tasks
- Note struggles or inefficiencies
- Update SKILL.md or resources
Let the user's specifications guide the skill's domain and direction.
- 在实际任务中使用该技能
- 记录使用过程中的问题或低效环节
- 更新SKILL.md或相关资源
根据用户的实际需求来引导技能的应用领域和优化方向。