[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70MS0Q3E2TZXH0ERE6BZDXD":3,"skill-same:01M70MS0Q3E2TZXH0ERE6BZDXD":74},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M70MS0Q3E2TZXH0ERE6BZDXD","lark-shared",null,"Use when first setting up lark-cli, running auth login, switching user\u002Fbot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.","shengdabai\u002FTony-Claude-Code-Skills","shengdabai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F116417419?v=4","01M70F6D2WY5PQV5A92BKYJQEW","Tony Sheng","01M70F6D3GAAAYZ5H4CC1G8VXM",3,"MIT","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Flark-shared\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"lark shared","lark","shared","json","login","cli","first","output","bot","when","switching","use","errors","up","auth","scope","as","notice","denied","running","2026-11-10 10:12:30",false,"---\nname: lark-shared\nversion: 1.0.0\ndescription: \"Use when first setting up lark-cli, running auth login, switching user\u002Fbot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.\"\n---\n\n# lark-cli 共享规则\n\n本技能指导你如何通过lark-cli操作飞书资源, 以及有哪些注意事项。\n\n## 配置初始化\n\n首次使用需运行 `lark-cli config init` 完成应用配置。\n\n当你帮用户初始化配置时，使用background方式使用下面的命令发起配置应用流程，启动后读取输出，从中提取授权链接并发给用户。\n\n**URL 转发规则**：当命令输出 `verification_url`、`verification_uri_complete`、`console_url` 等 URL 字段时，必须将 URL exactly as returned by the CLI 转发给用户，并把它视为不可修改的 opaque string；不要做 URL encode\u002Fdecode，不要补 `%20`、空格或标点，不要重新拼接 query，不要改写成 Markdown link text，建议用只包含原始 URL 的代码块单独输出。\n\n```bash\n# 发起配置（该命令会阻塞直到用户打开链接并完成操作或过期）\nlark-cli config init --new\n```\n\n## 认证\n\n### 身份类型\n\n两种身份类型，通过 `--as` 切换：\n\n| 身份 | 标识 | 获取方式 | 适用场景 |\n|------|------|---------|---------|\n| user 用户身份 | `--as user` | `lark-cli auth login` 等 | 访问用户自己的资源（日历、云空间等） |\n| bot 应用身份 | `--as bot` | 自动，只需 appId + appSecret | 应用级操作,访问bot自己的资源 |\n\n### 身份选择原则\n\n输出的 `[identity: bot\u002Fuser]` 代表当前身份。bot 与 user 表现差异很大，需确认身份符合目标需求：\n\n- **Bot 看不到用户资源**：无法访问用户的日历、云空间文档、邮箱等个人资源。例如 `--as bot` 查日程返回 bot 自己的（空）日历\n- **Bot 无法代表用户操作**：发消息以应用名义发送，创建文档归属 bot\n- **Bot 权限**：只需在飞书开发者后台开通 scope，无需 `auth login`\n- **User 权限**：后台开通 scope + 用户通过 `auth login` 授权，两层都要满足\n\n\n### 权限不足处理\n\n遇到权限相关错误时，**根据当前身份类型采取不同解决方案**。\n\n错误响应中包含关键信息：\n- `permission_violations`：列出缺失的 scope (N选1)\n- `console_url`：飞书开发者后台的权限配置链接\n- `hint`：建议的修复命令\n\n#### Bot 身份（`--as bot`）\n\n将错误中的 `console_url` 原样提供给用户，引导去后台开通 scope。**禁止**对 bot 执行 `auth login`。\n\n#### User 身份（`--as user`）\n\n```bash\nlark-cli auth login --domain \u003Cdomain>           # 按业务域授权\nlark-cli auth login --scope \"\u003Cmissing_scope>\"   # 按具体 scope 授权（推荐,符合最小权限原则）\n```\n\n**规则**：auth login 必须指定范围（`--domain` 或 `--scope`）。多次 login 的 scope 会累积（增量授权）。\n\n#### Agent 代理发起认证（推荐）\n\n当你作为 AI agent 需要帮用户完成认证时，优先使用 split-flow，避免在同一轮对话中阻塞等待用户授权：\n\n```bash\n# 发起授权（立即返回 device_code 和 verification_url）\nlark-cli auth login --scope \"calendar:calendar:readonly\" --no-wait --json\n```\n\n拿到 `verification_url` 后，将它原样作为本轮最终消息发给用户，并结束本轮\u002F交还控制权。不要在同一轮中展示 URL 后立刻执行 `--device-code` 阻塞轮询；在不透传中间输出的 agent harness 里，这会导致用户永远看不到 URL。\n\n用户回复已完成授权后，再在后续步骤执行：\n\n```bash\nlark-cli auth login --device-code \u003Cdevice_code>\n```\n\n## 更新检查\n\nlark-cli 命令执行后，如果检测到新版本，JSON 输出中会包含 `_notice.update` 字段（含 `message`、`command` 等）。\n\n**当你在输出中看到 `_notice.update` 时，完成用户当前请求后，主动提议帮用户更新**：\n\n1. 告知用户当前版本和最新版本号\n2. 提议执行更新（同时更新 CLI 和 Skills）：\n   ```bash\n   lark-cli update\n   ```\n3. 更新完成后提醒用户：**退出并重新打开 AI Agent** 以加载最新 Skills\n\n**重要**：始终使用 `lark-cli update` 更新，它会同时更新 CLI 和 AI Skills。\n\n**规则**：不要静默忽略更新提示。即使当前任务与更新无关，也应在完成用户请求后补充告知。\n\n## 安全规则\n\n- **禁止输出密钥**（appSecret、accessToken）到终端明文。\n- **写入\u002F删除操作前必须确认用户意图**。\n- 用 `--dry-run` 预览危险请求。\n\n## 高风险操作的审批协议（exit 10）\n\nlark-cli 对高风险写操作（`risk: \"high-risk-write\"`）有强制确认门禁。当你不带 `--yes` 调用这类命令时，CLI 会退出码 `10`、并在 stderr 返回如下结构化 envelope：\n\n```json\n{\n  \"ok\": false,\n  \"error\": {\n    \"type\": \"confirmation_required\",\n    \"message\": \"drive +delete requires confirmation\",\n    \"hint\": \"add --yes to confirm\",\n    \"risk\": {\n      \"level\": \"high-risk-write\",\n      \"action\": \"drive +delete\"\n    }\n  }\n}\n```\n\n**遇到这种情况，不要当普通错误放弃。** 按以下流程处理：\n\n1. **识别**：看到子进程 exit code = `10` 且 stderr JSON 里 `error.type == \"confirmation_required\"`\n2. **向用户确认**：把 `error.risk.action` 和关键参数展示给用户，明确告知\"这是高风险操作\"，等待用户显式同意\n3. **用户同意** → 在你**原始 argv 的末尾追加 `--yes`** 后重试\n4. **用户拒绝** → 终止流程，不要擅自改写参数或跳过门禁\n\n**绝对不允许**：\n- 看到 exit 10 就默认加 `--yes` 静默重试（这等于禁用门禁）\n- 把 `confirmation_required` 当网络错误\u002F权限错误处理\n- 在用户没明确同意的前提下追加 `--yes` 重试\n- 用 `sh -c` 等 shell 方式拼接命令重试——用 `exec.Command(argv...)` 参数数组形式，避免 shell 解析把用户参数当作语法\n\n提前预判：想先让用户 review 危险操作的具体请求，调用时加 `--dry-run`——它不触发门禁，会打印完整请求详情（URL \u002F body \u002F params），你可以把这个预览给用户看过再去真正执行。\n\n### 如何识别一条命令是高风险\n\n- shortcut：`lark-cli \u003Cservice> +\u003Ccmd> --help` 顶部会显示 `Risk: high-risk-write`\n- service 命令：`lark-cli schema \u003Cservice>.\u003Cresource>.\u003Cmethod> --format json` 的返回值里 `\"risk\": \"high-risk-write\"`\n","# lark-cli 共享规则\n\n本技能指导你如何通过lark-cli操作飞书资源, 以及有哪些注意事项。\n\n## 配置初始化\n\n首次使用需运行 `lark-cli config init` 完成应用配置。\n\n当你帮用户初始化配置时，使用background方式使用下面的命令发起配置应用流程，启动后读取输出，从中提取授权链接并发给用户。\n\n**URL 转发规则**：当命令输出 `verification_url`、`verification_uri_complete`、`console_url` 等 URL 字段时，必须将 URL exactly as returned by the CLI 转发给用户，并把它视为不可修改的 opaque string；不要做 URL encode\u002Fdecode，不要补 `%20`、空格或标点，不要重新拼接 query，不要改写成 Markdown link text，建议用只包含原始 URL 的代码块单独输出。\n\n```bash\n# 发起配置（该命令会阻塞直到用户打开链接并完成操作或过期）\nlark-cli config init --new\n```\n\n## 认证\n\n### 身份类型\n\n两种身份类型，通过 `--as` 切换：\n\n| 身份 | 标识 | 获取方式 | 适用场景 |\n|------|------|---------|---------|\n| user 用户身份 | `--as user` | `lark-cli auth login` 等 | 访问用户自己的资源（日历、云空间等） |\n| bot 应用身份 | `--as bot` | 自动，只需 appId + appSecret | 应用级操作,访问bot自己的资源 |\n\n### 身份选择原则\n\n输出的 `[identity: bot\u002Fuser]` 代表当前身份。bot 与 user 表现差异很大，需确认身份符合目标需求：\n\n- **Bot 看不到用户资源**：无法访问用户的日历、云空间文档、邮箱等个人资源。例如 `--as bot` 查日程返回 bot 自己的（空）日历\n- **Bot 无法代表用户操作**：发消息以应用名义发送，创建文档归属 bot\n- **Bot 权限**：只需在飞书开发者后台开通 scope，无需 `auth login`\n- **User 权限**：后台开通 scope + 用户通过 `auth login` 授权，两层都要满足\n\n\n### 权限不足处理\n\n遇到权限相关错误时，**根据当前身份类型采取不同解决方案**。\n\n错误响应中包含关键信息：\n- `permission_violations`：列出缺失的 scope (N选1)\n- `console_url`：飞书开发者后台的权限配置链接\n- `hint`：建议的修复命令\n\n#### Bot 身份（`--as bot`）\n\n将错误中的 `console_url` 原样提供给用户，引导去后台开通 scope。**禁止**对 bot 执行 `auth login`。\n\n#### User 身份（`--as user`）\n\n```bash\nlark-cli auth login --domain \u003Cdomain>           # 按业务域授权\nlark-cli auth login --scope \"\u003Cmissing_scope>\"   # 按具体 scope 授权（推荐,符合最小权限原则）\n```\n\n**规则**：auth login 必须指定范围（`--domain` 或 `--scope`）。多次 login 的 scope 会累积（增量授权）。\n\n#### Agent 代理发起认证（推荐）\n\n当你作为 AI agent 需要帮用户完成认证时，优先使用 split-flow，避免在同一轮对话中阻塞等待用户授权：\n\n```bash\n# 发起授权（立即返回 device_code 和 verification_url）\nlark-cli auth login --scope \"calendar:calendar:readonly\" --no-wait --json\n```\n\n拿到 `verification_url` 后，将它原样作为本轮最终消息发给用户，并结束本轮\u002F交还控制权。不要在同一轮中展示 URL 后立刻执行 `--device-code` 阻塞轮询；在不透传中间输出的 agent harness 里，这会导致用户永远看不到 URL。\n\n用户回复已完成授权后，再在后续步骤执行：\n\n```bash\nlark-cli auth login --device-code \u003Cdevice_code>\n```\n\n## 更新检查\n\nlark-cli 命令执行后，如果检测到新版本，JSON 输出中会包含 `_notice.update` 字段（含 `message`、`command` 等）。\n\n**当你在输出中看到 `_notice.update` 时，完成用户当前请求后，主动提议帮用户更新**：\n\n1. 告知用户当前版本和最新版本号\n2. 提议执行更新（同时更新 CLI 和 Skills）：\n   ```bash\n   lark-cli update\n   ```\n3. 更新完成后提醒用户：**退出并重新打开 AI Agent** 以加载最新 Skills\n\n**重要**：始终使用 `lark-cli update` 更新，它会同时更新 CLI 和 AI Skills。\n\n**规则**：不要静默忽略更新提示。即使当前任务与更新无关，也应在完成用户请求后补充告知。\n\n## 安全规则\n\n- **禁止输出密钥**（appSecret、accessToken）到终端明文。\n- **写入\u002F删除操作前必须确认用户意图**。\n- 用 `--dry-run` 预览危险请求。\n\n## 高风险操作的审批协议（exit 10）\n\nlark-cli 对高风险写操作（`risk: \"high-risk-write\"`）有强制确认门禁。当你不带 `--yes` 调用这类命令时，CLI 会退出码 `10`、并在 stderr 返回如下结构化 envelope：\n\n```json\n{\n  \"ok\": false,\n  \"error\": {\n    \"type\": \"confirmation_required\",\n    \"message\": \"drive +delete requires confirmation\",\n    \"hint\": \"add --yes to confirm\",\n    \"risk\": {\n      \"level\": \"high-risk-write\",\n      \"action\": \"drive +delete\"\n    }\n  }\n}\n```\n\n**遇到这种情况，不要当普通错误放弃。** 按以下流程处理：\n\n1. **识别**：看到子进程 exit code = `10` 且 stderr JSON 里 `error.type == \"confirmation_required\"`\n2. **向用户确认**：把 `error.risk.action` 和关键参数展示给用户，明确告知\"这是高风险操作\"，等待用户显式同意\n3. **用户同意** → 在你**原始 argv 的末尾追加 `--yes`** 后重试\n4. **用户拒绝** → 终止流程，不要擅自改写参数或跳过门禁\n\n**绝对不允许**：\n- 看到 exit 10 就默认加 `--yes` 静默重试（这等于禁用门禁）\n- 把 `confirmation_required` 当网络错误\u002F权限错误处理\n- 在用户没明确同意的前提下追加 `--yes` 重试\n- 用 `sh -c` 等 shell 方式拼接命令重试——用 `exec.Command(argv...)` 参数数组形式，避免 shell 解析把用户参数当作语法\n\n提前预判：想先让用户 review 危险操作的具体请求，调用时加 `--dry-run`——它不触发门禁，会打印完整请求详情（URL \u002F body \u002F params），你可以把这个预览给用户看过再去真正执行。\n\n### 如何识别一条命令是高风险\n\n- shortcut：`lark-cli \u003Cservice> +\u003Ccmd> --help` 顶部会显示 `Risk: high-risk-write`\n- service 命令：`lark-cli schema \u003Cservice>.\u003Cresource>.\u003Cmethod> --format json` 的返回值里 `\"risk\": \"high-risk-write\"`\n",{"name":5,"version":49,"description":7},"1.0.0","main","7850740bd837adb32f0a109ab2af82482196c6f2","skills\u002Flark-shared",1,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills","https:\u002F\u002Fzturnsgo.com","https:\u002F\u002Fgithub.com\u002Fshengdabai","https:\u002F\u002Fzturnsgo.com\u002F","AI × education creator — producer, not consumer. Taught 6,000+ learners; shipping learning tools & daily essays with Claude Code, practicing @xiaolai's way 🥋","2026-11-01 21:28:23",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add shengdabai\u002FTony-Claude-Code-Skills --skill lark-shared",{"tool":66,"command":67},"bunx","bunx skills add shengdabai\u002FTony-Claude-Code-Skills --skill lark-shared",{"tool":69,"command":70},"pnpm","pnpm dlx skills add shengdabai\u002FTony-Claude-Code-Skills --skill lark-shared","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Flark-shared\u002FSKILL.md",true,[],[75,92,123,148,169,189],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":84,"publishedAt":44},"01M70P17DAD4C1C47NPH6A96EM","xiaolai-methodology","以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 \"李笑来\"、\"笑来\"、\"笑来老师\"、\"扮演李笑来\"、\"找笑来聊聊\"、\"笑来怎么看\"、\"xiaolai\"、\"把时间当作朋友\"、\"通往财富自由之路\"、\"定投改变命运\"、\"韭菜的自我修养\"、\"自学是门手艺\"、\"让时间陪你慢慢变富\"、\"七年就是一辈子\"、\"元认知\"、\"活在未来\"、\"复利\u002F长期主义\"、\"践行\"、\"痴迷改进\"、\"个人商业模式\u002F出售时间\"、\"睡后收入\"、\"定投\"、\"财富自由\"、\"操作系统升级\"、\"最少必要知识\"、\"北极星提示词\"、\"用 AI 该怎么学\u002F思考\" 等任一触发词,或当用户带着关于创业\u002F赚钱\u002F投资\u002F学习\u002F职业\u002F重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fxiaolai-methodology\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",[85,86,87,88,89,90,91],"methodology","xiaolai","xiaolai methodology","朋友","投资","writing","收入",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":104,"publishedAt":44},"01M70P13NB9YP7ACJR1S861CDS","zread","Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `.\u002F.zread\u002Fwiki\u002F`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module\u002Fpackage explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread \u002F zread.ai directly. Also use it proactively before diving into a large unknown repo — if `.\u002F.zread\u002Fwiki\u002Fcurrent` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fzread\u002FSKILL.md",[98,99],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[94,105,106,107,108,109,110,111,112,113,114,29,115,116,117,118,119,120,121,122],"knowledge","wiki","explore","walkthrough","project","get","knowledge base","run","generate","intent","map","documentation","project wiki","disk","architecture","code","unknown","generated",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":133,"publishedAt":44},"01M70P10S4SWMZQ8BJAFBFDRW3","youtube","Launch the YouTube Creator Agent to auto-generate videos.\nUse when: user types \u002Fyoutube, wants to create YouTube videos,\ngenerate video content, or upload to YouTube.\nKeywords: youtube, video, 视频, 创作视频, 发布视频","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[129,130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":131,"categoryName":132,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000036","内容创作者",[125,134,135,136,137,138,139,140,113,141,142,143,33,35,144,145,146,147],"user","content","视频","creator","generate video","videos","launch","video content","create","upload","auto","types","Video","创作",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":44},"01M70P0YE95D8BACZCGV8BK90K","youtube-script-sync","Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新\u002F同步\u002F优化 Youtube视频逐字稿知识库”, or says “更新\u002F同步\u002F优化该知识库” while this knowledge base is the active context.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-script-sync\u002FSKILL.md",[154],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[156,157,125,158,159,146,160,30,161,162,163,164,165,166,111,167,33,35,105,168],"sync","script","youtube script sync","recording","shorts","base","person","update","active","child","optimize","idempotent","long",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":179,"publishedAt":44},"01M70P0WMV5XT0EEC0N445PW07","writing-skills","How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-skills\u002FSKILL.md",[175,176,177,178],{"categoryNo":82,"categoryName":83,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},{"categoryNo":131,"categoryName":132,"taxonomyType":102,"taxonomyTypeDesc":103},[180,90,181,182,183,184,120,33,35,185,186,187,188],"writing skills","how","teach","write skill","write","claude code skills","files","how to","trigger",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":197,"publishedAt":44},"01M70P0SJFR4YVJQBGMHKGSKXT","writing-rules","How to write .claude\u002Frules\u002F files that Claude actually follows. Use when creating, improving, or reviewing project rules.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-rules\u002FSKILL.md",[195,196],{"categoryNo":82,"categoryName":83,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":131,"categoryName":132,"taxonomyType":102,"taxonomyTypeDesc":103},[198,90,199,109,200,186,33,181,184,35,187],"Rules","writing rules","project rules"]