skill-creator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Karma Skill Creator

Karma技能创建工具

Create well-structured Claude Code skills for the Karma ecosystem.
为Karma生态系统创建结构规范的Claude Code技能。

Skill Creation Process

技能创建流程

  1. Understand the skill with concrete examples
  2. Plan reusable skill contents (references, assets)
  3. Initialize the skill directory structure
  4. Write the skill (implement resources and SKILL.md)
  5. Validate against the checklist before shipping
  6. Iterate based on real usage
  1. 需求理解:结合具体示例明确技能用途
  2. 资源规划:规划可复用的技能内容(参考资料、资源文件)
  3. 初始化技能:创建技能目录结构
  4. 编写技能:实现资源并撰写SKILL.md
  5. 上线验证:根据检查清单完成验证
  6. 迭代优化:基于实际使用情况改进

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 TypeWhen to UseExample
references/
Domain knowledge Claude needs
references/gap-schema.md
assets/
Files used in output
assets/report-template.md
针对每个示例,确定可复用的资源类型:
资源类型适用场景示例
references/
Claude需要的领域知识
references/gap-schema.md
assets/
输出时用到的文件
assets/report-template.md

Step 3: Initialize the Skill

步骤3:初始化技能

Create the skill directory under
skills/
:
skills/<skill-name>/
├── SKILL.md          # Required
├── references/       # Optional
└── assets/           # Optional
Naming rules:
  • kebab-case, lowercase letters, digits, and hyphens only
  • Max 64 characters
  • Descriptive:
    grant-milestone-tracker
    , not
    tracker
skills/
目录下创建技能文件夹:
skills/<skill-name>/
├── SKILL.md          # 必填文件
├── references/       # 可选目录
└── assets/           # 可选目录
命名规则:
  • 仅使用短横线分隔的小写字母、数字和连字符(kebab-case)
  • 最多64个字符
  • 名称需具有描述性:例如
    grant-milestone-tracker
    ,而非
    tracker

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:
  1. YAML frontmatter — always loaded into Claude's system prompt. This is how Claude decides whether to activate the skill. Keep it lean: just
    name
    and
    description
    .
  2. SKILL.md body — loaded only when Claude thinks the skill is relevant. Contains the full instructions.
  3. Linked files (
    references/
    ,
    assets/
    ) — Claude navigates to these on demand. Use for detailed docs, templates, and examples.
The implication: frontmatter must be self-sufficient for triggering. The body must be self-sufficient for execution. Reference files are for depth.
技能采用三级加载系统——理解这一点是编写高效技能的关键:
  1. YAML前置元数据 —— 始终加载到Claude的系统提示词中。这是Claude判断是否激活技能的依据。需保持简洁:仅包含
    name
    description
    字段。
  2. SKILL.md正文 —— 仅当Claude认为技能相关时才会加载。包含完整的执行说明。
  3. 关联文件
    references/
    assets/
    )—— Claude会根据需求访问这些文件。用于存放详细文档、模板和示例。
核心要点:前置元数据必须能独立支撑技能触发判断;正文必须能独立指导技能执行;参考文件用于补充深度信息。

Writing the Description (Most Important Field)

编写描述字段(最重要的部分)

The
description
field determines whether your skill triggers. Get this right.
Structure: [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
undefined
description
字段决定了技能是否会被触发,务必认真编写。
结构:[功能说明] + [触发场景] + [核心能力]
规则:
  • 长度不超过1024个字符
  • 必须同时包含技能功能和触发场景(触发短语)
  • 需包含用户实际会使用的具体短语
  • 不得包含XML尖括号(
    <
    >
优秀示例:
yaml
undefined

Specific, 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:**
```yaml
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).

**反面示例:**
```yaml

Too 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
  • SKILL.md
    exists (exact casing)
  • YAML frontmatter has
    ---
    delimiters on both sides
  • name
    field: kebab-case, no spaces, no capitals
  • No XML angle brackets (
    <
    >
    ) anywhere in frontmatter
  • Skill name does not contain "claude" or "anthropic" (reserved)
  • No
    README.md
    inside the skill folder
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前置元数据首尾均有
    ---
    分隔符
  • name
    字段:kebab-case格式,无空格,无大写字母
  • 前置元数据中无XML尖括号(
    <
    >
  • 技能名称不包含“claude”或“anthropic”(为保留关键词)
  • 技能文件夹内无
    README.md
    文件
描述字段:
  • 包含技能功能说明
  • 包含触发场景(触发短语)
  • 长度不超过1024个字符
  • 触发短语符合用户实际用语习惯
触发逻辑:
  • 对明确的任务请求能触发
  • 对转述的请求能触发
  • 对无关主题不会误触发
执行说明:
  • 说明清晰且可执行
  • 关键步骤使用明确语言,而非模糊指导
  • 包含针对常见失败场景的错误处理方案
  • 参考资料采用链接形式(而非内嵌)

Step 6: Iterate

步骤6:迭代优化

  1. Use the skill on real tasks
  2. Note struggles or inefficiencies
  3. Update SKILL.md or resources
Let the user's specifications guide the skill's domain and direction.
  1. 在实际任务中使用该技能
  2. 记录使用过程中的问题或低效环节
  3. 更新SKILL.md或相关资源
根据用户的实际需求来引导技能的应用领域和优化方向。