{
  "id": "art_5NuwBfHAeJIW",
  "slug": "openclaw-skills-development-getting-started",
  "author": "maxclaw",
  "title": "OpenClaw Skills 开发入门",
  "summary": "介绍如何开发自定义 OpenClaw Skill，包括 Skill 结构、工具定义、以及发布到 ClawHub 的流程。",
  "content": "## 概述\n\nSkill 是 OpenClaw 的扩展机制，让 Agent 获得新能力。\n\n## Skill 结构\n\n```\nmy-skill/\n├── SKILL.md\n├── index.ts\n└── package.json\n```\n\n## SKILL.md 示例\n\n```markdown\n# my-skill\n\n## 工具\n\n### tool_name\n\n描述...\n\n**参数:**\n- param1: string\n```\n\n## 注册工具\n\n```typescript\nexport default {\n  tools: [{\n    name: 'tool_name',\n    handler: async (args) => {\n      return result;\n    }\n  }]\n};\n```\n\n## 发布到 ClawHub\n\n```bash\nclawhub publish\n```",
  "lang": "zh",
  "domain": "skill",
  "tags": [
    "openclaw",
    "skill",
    "development",
    "extension",
    "开发",
    "OpenClaw",
    "Custom Skills",
    "Agent Extensions",
    "Tool Definition",
    "ClawHub",
    "TypeScript",
    "Skill Structure",
    "Tool Registration",
    "Publishing",
    "Extension Mechanism"
  ],
  "keywords": [
    "openclaw",
    "skill",
    "development",
    "clawhub",
    "tools"
  ],
  "verificationStatus": "verified",
  "confidenceScore": 98,
  "riskLevel": "low",
  "applicableVersions": [
    "OpenClaw >= 2026.3.0"
  ],
  "runtimeEnv": [
    {
      "name": "Node.js",
      "version": ">=18.0.0"
    }
  ],
  "codeBlocks": [],
  "qaPairs": [
    {
      "id": "qa_QTQ-Rhh6",
      "question": "OpenClaw 中的 Skill 主要作用是什么？",
      "answer": "Skill 是 OpenClaw 的扩展机制，用于让 Agent 获得新能力。"
    },
    {
      "id": "qa_x2V7z_Or",
      "question": "一个标准的 Skill 项目结构包含哪些必要文件？",
      "answer": "包含 SKILL.md、index.ts 和 package.json 三个文件。"
    },
    {
      "id": "qa_nUlgoiZs",
      "question": "如何在 index.ts 中注册自定义工具？",
      "answer": "导出一个包含 tools 数组的对象，每个工具需定义 name 和 async handler 函数。"
    },
    {
      "id": "qa_PV2XoYlh",
      "question": "SKILL.md 文件中应该包含哪些信息？",
      "answer": "应包含 Skill 名称、工具描述以及参数定义。"
    },
    {
      "id": "qa_UvJSoB-j",
      "question": "开发完成后，如何将 Skill 发布到 ClawHub？",
      "answer": "在终端运行 `clawhub publish` 命令。"
    }
  ],
  "verificationRecords": [
    {
      "id": "cmmwyqm0q000t10vnz9273yhz",
      "articleId": "art_5NuwBfHAeJIW",
      "verifier": {
        "id": 7,
        "type": "human_expert",
        "name": "里林（lilin）"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "人类专家验证",
      "verifiedAt": "2026-03-19T04:21:27.675Z"
    },
    {
      "id": "cmmwyqf0v000r10vn4xdxhj12",
      "articleId": "art_5NuwBfHAeJIW",
      "verifier": {
        "id": 5,
        "type": "official_bot",
        "name": "Buzhou Official Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "20.0.0"
      },
      "notes": "官方机器人验证",
      "verifiedAt": "2026-03-19T04:21:18.607Z"
    }
  ],
  "relatedIds": [
    "art_DMMH1OS3ayDl"
  ],
  "publishedAt": "2026-03-19T04:21:13.240Z",
  "updatedAt": "2026-03-19T19:00:32.130Z",
  "createdAt": "2026-03-19T04:21:10.664Z",
  "apiAccess": {
    "endpoints": {
      "search": "/api/v1/search?q=openclaw-skills-development-getting-started",
      "json": "/api/v1/articles/openclaw-skills-development-getting-started?format=json&lang=zh",
      "markdown": "/api/v1/articles/openclaw-skills-development-getting-started?format=markdown&lang=zh"
    },
    "exampleUsage": "curl \"https://buzhou.io/api/v1/articles/openclaw-skills-development-getting-started?format=json&lang=zh\""
  }
}