更新时间:2026-06-06 gmt 08:00

skill代码包文件要求-j9九游会登录

一个标准的skill是一个文件夹,其结构和命名需要遵循特定的规范。

skill文件夹结构与命名规范

skill-name/                       # 文件夹名 = skill 名称
├── skill.md                   # 【必需】核心定义文件
├── scripts/                   # 【可选】可执行脚本
│   ├── script1.py
│   └── script2.py
├── references/                # 【可选】参考文档
│   ├── guide.md
│   └── schemas.md
├── assets/                    # 【可选】静态资源
│   ├── template.html
│   └── icon.png
├── agents/                    # 【可选】子 agent 定义
│   ├── analyzer.md
│   └── grader.md
├── evals/                     # 【可选】测试用例
│   ├── evals.json
│   └── files/
├── license.txt                # 【可选】许可证
└── readme.md                  # 【可选】说明文档
  1. skill.md文件
    • 这是skill的核心文件,必须被精确命名为skill.md,区分大小写。不接受skill.md或skill.md等变体。
    • 该文件包含yaml格式的元数据和markdown格式的技能指令。
  2. 文件夹命名规则
    • 必须使用短横线命名法,例如:notion-project-setup。
    • 禁止使用空格,反例:notion project setup。
    • 禁止使用下划线,反例:notion_project_setup。
    • 禁止使用大写字母,反例:notionprojectsetup。
  3. 不应包含readme.md
    • skill文件夹内不应包含readme.md文件。所有面向ai的文档都应放在skill.md或references/目录中。

skill.md格式要求

skill.md文件是skill的核心,它由两部分组成:顶部的yaml frontmatter(元数据) 和下方的 markdown正文(指令)

  • yaml frontmatter(必需)
    ---
    name: skill-name                          # 【必需】skill 标识符(小写、连字符)
    description: "描述何时触发、做什么"        # 【必需】触发条件   功能说明
    homepage: https://example.com             # 【可选】j9九游会登录主页
    license: mit                              # 【可选】许可证
    metadata:                                 # 【可选】元数据
      openclaw:
        emoji: ""
        requires: { "bins": ["python"] }
    ---

    关键点:

    • name: 小写字母 连字符,如pdf、skill-creator
    • description: 这是触发机制。请描述清晰明确,确保用户意图能够精准匹配。包含:
      • 这个skill做什么
      • 什么情况下应该使用
      • 什么情况下应该使用
  • markdown正文

    正文是给ai的操作指南,建议结构:

    # skill title
    简短介绍这个 skill 的用途。
    ## when to use
      **use this skill when:**
    - 用户说 "..."
    - 涉及 xxx 操作
    ## when not to use
       **don't use this skill when:**
    - 需要 xxx → 用其他 skill
    ## how to use
    具体操作步骤...
    ## examples
    示例代码或命令...
    ## notes
    注意事项...

示例1:单文件skill(todo-manager)

todo-manager/
└── skill.md    ← 唯一文件
  • 功能:待办事项管理
    • 添加/查看/完成/删除待办
    • 数据存储在memory/todos.json
  • skill.md文件内容
    ---
    name: todo-manager
    description: "管理待办事项清单。当用户说添加待办、查看待办、完成待办、待办列表、todo、任务清单时使用此 skill。支持添加、查看、标记完成、删除待办事项。"
    ---
    # 待办事项管理 skill
    一个简单的待办事项管理工具,帮助用户追踪日常任务。
    ## 何时使用
      **使用场景:**
    - 帮我记一个待办:明天开会
    - 查看我的待办列表
    - 完成第一个待办
    - 删除某个任务
    - 我有什么事没做?
      **不适用场景:**
    - 项目管理(用专业工具如 notion)
    - 团队协作任务(用飞书/钉钉)
    - 复杂的甘特图/时间线
    ## 数据存储
    待办数据存储在 memory/todos.json
    ## 操作命令
    ### 添加待办
    1. 读取 memory/todos.json
    2. 生成新 id
    3. 添加新条目
    4. 保存文件
    ### 查看待办
    1. 读取 memory/todos.json
    2. 按完成状态分组显示
    ### 标记完成
    1. 找到对应条目
    2. 设置 completed = true
    3. 保存
    ### 删除待办
    1. 找到并删除对应条目
    2. 保存

示例2:文件夹形式skill(daily-report)

daily-report/
├── skill.md              ← 核心定义
├── scripts/              ← 脚本目录
│   └── generate_report.py
└── references/           ← 参考文档目录
    └── config.md
  • 功能: 工作日报生成
    • 收集今日工作内容
    • 按模板生成日报
    • 支持多种输出格式
  • skill.md文件内容
    ---
    name: daily-report
    description: "生成工作日报。当用户说写日报、生成日报、今日工作总结、daily report时使用。自动汇总今日完成的任务、遇到的问题、明日计划。"
    ---
    # 日报生成器 skill
    自动生成结构化的工作日报,支持多种输出格式。
    ## 何时使用
      **使用场景:**
    - 帮我写个日报
    - 生成今日工作总结
    - 写个 daily report
    - 汇总今天的工作
      **不适用场景:**
    - 周报/月报(用专门的报告 skill)
    - 项目进度报告(用项目管理工具)
    ## 日报模板
    生成的日报包含以下部分:
    - 今日完成
    - 进行中
    - 遇到的问题
    - 明日计划
    ## 使用流程
    ### step 1: 收集信息
    询问用户今日工作内容
    ### step 2: 生成日报
    根据用户输入,按模板格式生成日报
    ### step 3: 保存输出
    将日报保存到 reports/daily/yyyy-mm-dd.md
    ### step 4: 可选格式转换
    询问用户是否需要其他格式:
    - word 文档
    - 发送飞书
    ## 快捷命令
    如果用户说快速日报,直接生成简化版
  • generate_report.py示例代码
    #!/usr/bin/env python3
    """生成日报脚本"""
    import os
    from datetime import datetime
    def generate_report(data):
        today = datetime.now().strftime("%y-%m-%d")
        report = f"# 工作日报\n\n**日期:** {today}\n\n---\n\n## 今日完成\n"
        for i, item in enumerate(data.get("completed", []), 1):
            report  = f"{i}. {item}\n"
        return report
    if __name__ == "__main__":
        print("日报生成器")
  • config.md文件内容
    # 日报配置
    ## 模板设置
    | 配置项 | 默认值 | 说明 |
    |--------|--------|------|
    | template | standard | 日报模板样式 |
    | output_dir | reports/daily | 输出目录 |

相关文档

网站地图