[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EWF44PDEPPBACZ2YZ86BG1":3,"skill-same:01M6EWF44PDEPPBACZ2YZ86BG1":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6EWF44PDEPPBACZ2YZ86BG1","lark-openapi-explorer",null,"飞书\u002FLark 原生 OpenAPI 探索：从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足，需要查找并调用原生飞书 OpenAPI 时使用。","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Flarksuite\u002Flark-openapi-explorer\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29],"openapi","explorer","lark openapi explorer","lark","cli","文档","2026-11-10 10:12:30",false,"---\nname: lark-openapi-explorer\nversion: 1.0.0\ndescription: \"飞书\u002FLark 原生 OpenAPI 探索：从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足，需要查找并调用原生飞书 OpenAPI 时使用。\"\nmetadata:\n  requires:\n    bins: [\"lark-cli\"]\n---\n\n# OpenAPI Explorer\n\n> **前置条件：** 先阅读 [`..\u002Flark-shared\u002FSKILL.md`](..\u002Flark-shared\u002FSKILL.md) 了解认证、身份切换和安全规则。\n\n当用户的需求**无法被现有 skill 或 CLI 已注册 API 覆盖**时，使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口，然后通过 `lark-cli api` 裸调完成任务。\n\n## 文档库结构\n\n飞书 OpenAPI 文档以 markdown 层级组织：\n\n```\nllms.txt                          ← 顶层索引，列出所有模块文档链接\n  └─ llms-\u003Cmodule>.txt            ← 模块文档，包含功能概述 + 底层 API 文档链接\n       └─ \u003Capi-doc>.md            ← 单个 API 的完整说明（方法\u002F路径\u002F参数\u002F响应\u002F错误码）\n```\n\n文档入口：\n\n| 品牌 | 入口 URL |\n|------|----------|\n| 飞书 (Feishu) | `https:\u002F\u002Fopen.feishu.cn\u002Fllms.txt` |\n| Lark | `https:\u002F\u002Fopen.larksuite.com\u002Fllms.txt` |\n\n> 所有文档以**中文**编写。如果用户使用英文交流，需将文档内容翻译为英文后输出。\n\n## 挖掘流程\n\n严格按以下步骤逐层检索，**不要跳步或猜测 API**：\n\n### Step 1：确认现有能力不足\n\n```bash\n# 先检查是否已有对应的 skill 或已注册 API\nlark-cli \u003C可能的service> --help\n```\n\n如果已有对应命令或 shortcut，直接使用，**不需要继续挖掘**。\n\n### Step 2：从顶层索引定位模块\n\n用 WebFetch 获取顶层索引，找到与需求相关的模块文档链接：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fllms.txt\n  → 提取问题：\"列出所有模块文档链接，找出与 \u003C用户需求关键词> 相关的链接\"\n```\n\n- 飞书品牌使用 `open.feishu.cn`\n- Lark 品牌使用 `open.larksuite.com`\n- 如不确定用户品牌，默认使用飞书\n\n### Step 3：从模块文档定位具体 API\n\n用 WebFetch 获取模块文档，找到具体 API 的文档链接：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fllms-docs\u002Fzh-CN\u002Fllms-\u003Cmodule>.txt\n  → 提取问题：\"找出与 \u003C用户需求> 相关的 API 说明和文档链接\"\n```\n\n### Step 4：获取 API 完整规范\n\n用 WebFetch 获取具体 API 文档，提取完整的调用规范：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fserver-docs\u002F...\u002F\u003Capi>.md\n  → 提取问题：\"返回完整 API 规范：HTTP 方法、URL 路径、路径参数、查询参数、请求体字段（名称\u002F类型\u002F必填\u002F说明）、响应字段、所需权限、错误码\"\n```\n\n### Step 5：通过 CLI 调用 API\n\n使用 `lark-cli api` 裸调：\n\n```bash\n# GET 请求\nlark-cli api GET \u002Fopen-apis\u002F\u003Cpath> --params '{\"key\":\"value\"}'\n\n# POST 请求\nlark-cli api POST \u002Fopen-apis\u002F\u003Cpath> --data '{\"key\":\"value\"}'\n\n# PUT 请求\nlark-cli api PUT \u002Fopen-apis\u002F\u003Cpath> --data '{\"key\":\"value\"}'\n\n# DELETE 请求\nlark-cli api DELETE \u002Fopen-apis\u002F\u003Cpath>\n```\n\n## 输出规范\n\n向用户呈现挖掘结果时，按以下格式组织：\n\n1. **API 名称与功能**：一句话描述\n2. **HTTP 方法与路径**：`METHOD \u002Fopen-apis\u002F...`\n3. **关键参数**：列出必填和常用可选参数\n4. **所需权限**：scope 列表\n5. **调用示例**：给出 `lark-cli api` 的完整命令\n6. **注意事项**：频率限制、特殊约束等\n\n如果用户使用英文交流，将以上所有内容翻译为英文。\n\n## 安全规则\n\n- **写入\u002F删除类 API**（POST\u002FPUT\u002FDELETE）调用前必须确认用户意图\n- 建议先用 `--dry-run` 预览请求（如支持）\n- 不要猜测 API 路径或参数——必须从文档中获取确认\n- 涉及敏感操作（删除群、移除成员等）时，向用户说明影响范围\n\n## 使用场景示例\n\n### 场景 1：用户需要拉人进群（未被 CLI 封装）\n\n```bash\n# Step 1: 确认 CLI 没有封装\nlark-cli im --help\n# → 发现没有 chat_members 相关的 create 命令\n\n# Step 2-4: 通过文档挖掘获得 API 规范\n# → POST \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002F:chat_id\u002Fmembers\n\n# Step 5: 调用\nlark-cli api POST \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002Foc_xxx\u002Fmembers \\\n  --data '{\"id_list\":[\"ou_xxx\",\"ou_yyy\"]}' \\\n  --params '{\"member_id_type\":\"open_id\"}'\n```\n\n### 场景 2：用户需要设置群公告\n\n```bash\n# Step 1: 确认 CLI 没有封装\nlark-cli im --help\n# → 没有 announcement 相关命令\n\n# Step 2-4: 挖掘文档\n# → PATCH \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002F:chat_id\u002Fannouncement\n\n# Step 5: 调用\nlark-cli api PATCH \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002Foc_xxx\u002Fannouncement \\\n  --data '{\"revision\":\"0\",\"requests\":[\"\u003Chtml>公告内容\u003C\u002Fhtml>\"]}'\n```\n\n## 参考\n\n- [lark-shared](..\u002Flark-shared\u002FSKILL.md) — 认证和全局参数\n- [lark-skill-maker](..\u002Flark-skill-maker\u002FSKILL.md) — 如需将挖掘到的 API 固化为新 Skill\n","# OpenAPI Explorer\n\n> **前置条件：** 先阅读 [`..\u002Flark-shared\u002FSKILL.md`](..\u002Flark-shared\u002FSKILL.md) 了解认证、身份切换和安全规则。\n\n当用户的需求**无法被现有 skill 或 CLI 已注册 API 覆盖**时，使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口，然后通过 `lark-cli api` 裸调完成任务。\n\n## 文档库结构\n\n飞书 OpenAPI 文档以 markdown 层级组织：\n\n```\nllms.txt                          ← 顶层索引，列出所有模块文档链接\n  └─ llms-\u003Cmodule>.txt            ← 模块文档，包含功能概述 + 底层 API 文档链接\n       └─ \u003Capi-doc>.md            ← 单个 API 的完整说明（方法\u002F路径\u002F参数\u002F响应\u002F错误码）\n```\n\n文档入口：\n\n| 品牌 | 入口 URL |\n|------|----------|\n| 飞书 (Feishu) | `https:\u002F\u002Fopen.feishu.cn\u002Fllms.txt` |\n| Lark | `https:\u002F\u002Fopen.larksuite.com\u002Fllms.txt` |\n\n> 所有文档以**中文**编写。如果用户使用英文交流，需将文档内容翻译为英文后输出。\n\n## 挖掘流程\n\n严格按以下步骤逐层检索，**不要跳步或猜测 API**：\n\n### Step 1：确认现有能力不足\n\n```bash\n# 先检查是否已有对应的 skill 或已注册 API\nlark-cli \u003C可能的service> --help\n```\n\n如果已有对应命令或 shortcut，直接使用，**不需要继续挖掘**。\n\n### Step 2：从顶层索引定位模块\n\n用 WebFetch 获取顶层索引，找到与需求相关的模块文档链接：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fllms.txt\n  → 提取问题：\"列出所有模块文档链接，找出与 \u003C用户需求关键词> 相关的链接\"\n```\n\n- 飞书品牌使用 `open.feishu.cn`\n- Lark 品牌使用 `open.larksuite.com`\n- 如不确定用户品牌，默认使用飞书\n\n### Step 3：从模块文档定位具体 API\n\n用 WebFetch 获取模块文档，找到具体 API 的文档链接：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fllms-docs\u002Fzh-CN\u002Fllms-\u003Cmodule>.txt\n  → 提取问题：\"找出与 \u003C用户需求> 相关的 API 说明和文档链接\"\n```\n\n### Step 4：获取 API 完整规范\n\n用 WebFetch 获取具体 API 文档，提取完整的调用规范：\n\n```\nWebFetch https:\u002F\u002Fopen.feishu.cn\u002Fdocument\u002Fserver-docs\u002F...\u002F\u003Capi>.md\n  → 提取问题：\"返回完整 API 规范：HTTP 方法、URL 路径、路径参数、查询参数、请求体字段（名称\u002F类型\u002F必填\u002F说明）、响应字段、所需权限、错误码\"\n```\n\n### Step 5：通过 CLI 调用 API\n\n使用 `lark-cli api` 裸调：\n\n```bash\n# GET 请求\nlark-cli api GET \u002Fopen-apis\u002F\u003Cpath> --params '{\"key\":\"value\"}'\n\n# POST 请求\nlark-cli api POST \u002Fopen-apis\u002F\u003Cpath> --data '{\"key\":\"value\"}'\n\n# PUT 请求\nlark-cli api PUT \u002Fopen-apis\u002F\u003Cpath> --data '{\"key\":\"value\"}'\n\n# DELETE 请求\nlark-cli api DELETE \u002Fopen-apis\u002F\u003Cpath>\n```\n\n## 输出规范\n\n向用户呈现挖掘结果时，按以下格式组织：\n\n1. **API 名称与功能**：一句话描述\n2. **HTTP 方法与路径**：`METHOD \u002Fopen-apis\u002F...`\n3. **关键参数**：列出必填和常用可选参数\n4. **所需权限**：scope 列表\n5. **调用示例**：给出 `lark-cli api` 的完整命令\n6. **注意事项**：频率限制、特殊约束等\n\n如果用户使用英文交流，将以上所有内容翻译为英文。\n\n## 安全规则\n\n- **写入\u002F删除类 API**（POST\u002FPUT\u002FDELETE）调用前必须确认用户意图\n- 建议先用 `--dry-run` 预览请求（如支持）\n- 不要猜测 API 路径或参数——必须从文档中获取确认\n- 涉及敏感操作（删除群、移除成员等）时，向用户说明影响范围\n\n## 使用场景示例\n\n### 场景 1：用户需要拉人进群（未被 CLI 封装）\n\n```bash\n# Step 1: 确认 CLI 没有封装\nlark-cli im --help\n# → 发现没有 chat_members 相关的 create 命令\n\n# Step 2-4: 通过文档挖掘获得 API 规范\n# → POST \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002F:chat_id\u002Fmembers\n\n# Step 5: 调用\nlark-cli api POST \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002Foc_xxx\u002Fmembers \\\n  --data '{\"id_list\":[\"ou_xxx\",\"ou_yyy\"]}' \\\n  --params '{\"member_id_type\":\"open_id\"}'\n```\n\n### 场景 2：用户需要设置群公告\n\n```bash\n# Step 1: 确认 CLI 没有封装\nlark-cli im --help\n# → 没有 announcement 相关命令\n\n# Step 2-4: 挖掘文档\n# → PATCH \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002F:chat_id\u002Fannouncement\n\n# Step 5: 调用\nlark-cli api PATCH \u002Fopen-apis\u002Fim\u002Fv1\u002Fchats\u002Foc_xxx\u002Fannouncement \\\n  --data '{\"revision\":\"0\",\"requests\":[\"\u003Chtml>公告内容\u003C\u002Fhtml>\"]}'\n```\n\n## 参考\n\n- [lark-shared](..\u002Flark-shared\u002FSKILL.md) — 认证和全局参数\n- [lark-skill-maker](..\u002Flark-skill-maker\u002FSKILL.md) — 如需将挖掘到的 API 固化为新 Skill\n",{"name":5,"version":35,"metadata":36,"description":7},"1.0.0",{"requires":37},{"bins":38},[39],"lark-cli","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Flarksuite\u002Flark-openapi-explorer",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill lark-openapi-explorer",{"tool":55,"command":56},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill lark-openapi-explorer",{"tool":58,"command":59},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill lark-openapi-explorer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Flarksuite\u002Flark-openapi-explorer\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"skill-report.json","REFERENCE","参考文档",12079,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Flarksuite\u002Flark-openapi-explorer\u002Fskill-report.json",[70,80,90,99,105,112],{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":76,"publishedAt":30},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[75],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[77,78,79],"model","model hierarchy","model hierarchy skill",{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":86,"publishedAt":30},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[85],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[87,88,89],"MCP","zoom","zoom mcp",{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":30},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[96,97,98,88],"sdk","zoom apps sdk","apps",{"skillNo":100,"name":101,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":30},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[101],{"skillNo":106,"name":107,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":111,"publishedAt":30},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[110],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[107],{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":30},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[114]]