[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-gemini-cli-skills-zh":3,"doc-all-zh":1109},{"id":4,"title":5,"author":6,"body":7,"category":1094,"description":1095,"descriptionZh":1096,"extension":1097,"image":1098,"meta":1099,"navigation":283,"path":1100,"publishedAt":1101,"readTime":316,"seo":1102,"stem":1103,"tags":1104,"titleZh":1107,"updatedAt":1101,"__hash__":1108},"docs_zh\u002Fzh\u002Fguide\u002Fgemini-cli-skills.md","Gemini CLI Agent Skills — How to Install and Use AI Skills with Google's CLI","William Wang",{"type":8,"value":9,"toc":1068},"minimark",[10,14,19,39,58,61,99,103,106,135,138,151,154,170,173,194,197,209,215,219,229,260,266,366,373,465,472,476,484,489,492,533,546,550,575,582,586,589,593,599,605,623,630,633,637,642,647,665,671,673,677,682,687,705,711,713,717,726,731,749,755,761,763,767,772,777,795,801,803,807,812,817,835,841,843,847,852,857,875,881,883,887,892,897,915,921,923,927,930,935,940,971,974,977,981,1000,1004,1013,1017,1036,1039,1064],[11,12,13],"p",{},"这篇指南教你如何用 Agent Skill 扩展 Google Gemini CLI，实现编程工作流自动化——包括调试、项目管理、SEO 审计等，全在终端里完成。",[15,16,18],"h2",{"id":17},"gemini-cli-是什么","Gemini CLI 是什么？",[11,20,21,28,29,33,34,38],{},[22,23,27],"a",{"href":24,"rel":25},"https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli",[26],"nofollow","Gemini CLI"," 是 Google 开源的命令行 AI 编程工具，直接在终端调用 Gemini 模型。它和 ",[22,30,32],{"href":31},"\u002Fguide\u002Fbest-claude-code-skills","Claude Code"," 以及 ",[22,35,37],{"href":36},"\u002Fguide\u002Fcodex-cli-skills","OpenAI Codex CLI"," 属于同一类工具——AI 编程代理，能读取项目代码、编辑文件、执行命令，并且遵循 Markdown 格式的指令。",[11,40,41,42,46,47,49,50,53,54,57],{},"Gemini CLI 用 ",[43,44,45],"code",{},"GEMINI.md"," 作为指令文件。在项目根目录或 home 目录放一个 ",[43,48,45],{},"，Gemini CLI 启动时自动加载。这相当于 Claude Code 的 ",[43,51,52],{},".claude\u002Fcommands\u002F"," 或 Codex CLI 的 ",[43,55,56],{},"AGENTS.md","。",[11,59,60],{},"核心特性：",[62,63,64,72,78,84,90],"ul",{},[65,66,67,71],"li",{},[68,69,70],"strong",{},"免费额度："," Google 账号登录即可获得每分钟 60 次请求，无需 API Key",[65,73,74,77],{},[68,75,76],{},"开源："," Apache 2.0 协议，完全可扩展",[65,79,80,83],{},[68,81,82],{},"Gemini 2.5 Pro："," 直接使用 Google 最强的编程模型",[65,85,86,89],{},[68,87,88],{},"多模态："," 支持文本、图片和文件附件",[65,91,92,95,96,98],{},[68,93,94],{},"扩展系统："," 通过 ",[43,97,45],{}," 和 Extensions API 加载技能和工具",[15,100,102],{"id":101},"安装-gemini-cli","安装 Gemini CLI",[11,104,105],{},"Gemini CLI 需要 Node.js 18 或更高版本。通过 npm 全局安装：",[107,108,113],"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-bash shiki shiki-themes github-light github-dark","npm install -g @anthropic-ai\u002Fgemini-cli\n","bash","",[43,114,115],{"__ignoreMap":112},[116,117,120,124,128,132],"span",{"class":118,"line":119},"line",1,[116,121,123],{"class":122},"sScJk","npm",[116,125,127],{"class":126},"sZZnC"," install",[116,129,131],{"class":130},"sj4cs"," -g",[116,133,134],{"class":126}," @anthropic-ai\u002Fgemini-cli\n",[11,136,137],{},"也可以用 npx 免安装运行：",[107,139,141],{"className":109,"code":140,"language":111,"meta":112,"style":112},"npx @google\u002Fgemini-cli\n",[43,142,143],{"__ignoreMap":112},[116,144,145,148],{"class":118,"line":119},[116,146,147],{"class":122},"npx",[116,149,150],{"class":126}," @google\u002Fgemini-cli\n",[11,152,153],{},"安装后用 Google 账号登录：",[107,155,157],{"className":109,"code":156,"language":111,"meta":112,"style":112},"gemini auth login\n",[43,158,159],{"__ignoreMap":112},[116,160,161,164,167],{"class":118,"line":119},[116,162,163],{"class":122},"gemini",[116,165,166],{"class":126}," auth",[116,168,169],{"class":126}," login\n",[11,171,172],{},"如果需要更高的请求频率，设置 API Key 环境变量：",[107,174,176],{"className":109,"code":175,"language":111,"meta":112,"style":112},"export GEMINI_API_KEY=\"your-api-key-here\"\n",[43,177,178],{"__ignoreMap":112},[116,179,180,184,188,191],{"class":118,"line":119},[116,181,183],{"class":182},"szBVR","export",[116,185,187],{"class":186},"sVt8B"," GEMINI_API_KEY",[116,189,190],{"class":182},"=",[116,192,193],{"class":126},"\"your-api-key-here\"\n",[11,195,196],{},"验证安装：",[107,198,200],{"className":109,"code":199,"language":111,"meta":112,"style":112},"gemini --version\n",[43,201,202],{"__ignoreMap":112},[116,203,204,206],{"class":118,"line":119},[116,205,163],{"class":122},[116,207,208],{"class":130}," --version\n",[11,210,211,212,214],{},"看到版本号就可以在任意项目目录运行 ",[43,213,163],{}," 开始使用了。",[15,216,218],{"id":217},"gemini-cli-如何加载-skill","Gemini CLI 如何加载 Skill",[11,220,221,222,224,225,228],{},"Gemini CLI 按层级加载 ",[43,223,45],{}," 指令文件，类似 ",[43,226,227],{},".gitignore"," 的工作方式：",[230,231,232,242,251],"ol",{},[65,233,234,237,238,241],{},[68,235,236],{},"全局："," ",[43,239,240],{},"~\u002F.gemini\u002FGEMINI.md"," — 对所有项目生效",[65,243,244,237,247,250],{},[68,245,246],{},"项目根目录：",[43,248,249],{},".\u002FGEMINI.md"," — 对当前项目生效",[65,252,253,237,256,259],{},[68,254,255],{},"子目录：",[43,257,258],{},".\u002Fsrc\u002FGEMINI.md"," — 在该目录下工作时生效",[11,261,262,263,265],{},"一个基本的 ",[43,264,45],{}," 结构：",[107,267,271],{"className":268,"code":269,"language":270,"meta":112,"style":112},"language-markdown shiki shiki-themes github-light github-dark","# Project Instructions\n\nYou are working on a Nuxt 3 application with TypeScript.\n\n## Code Style\n- Use Composition API with `\u003Cscript setup>`\n- Prefer `const` over `let`\n- All components go in `components\u002F`\n\n## Testing\n- Run `npm test` before committing\n- Write unit tests for all utility functions\n\n## Deployment\n- Build with `npm run build`\n- Deploy to Vercel with `vercel --prod`\n","markdown",[43,272,273,278,285,291,296,302,308,314,320,325,331,337,343,348,354,360],{"__ignoreMap":112},[116,274,275],{"class":118,"line":119},[116,276,277],{},"# Project Instructions\n",[116,279,281],{"class":118,"line":280},2,[116,282,284],{"emptyLinePlaceholder":283},true,"\n",[116,286,288],{"class":118,"line":287},3,[116,289,290],{},"You are working on a Nuxt 3 application with TypeScript.\n",[116,292,294],{"class":118,"line":293},4,[116,295,284],{"emptyLinePlaceholder":283},[116,297,299],{"class":118,"line":298},5,[116,300,301],{},"## Code Style\n",[116,303,305],{"class":118,"line":304},6,[116,306,307],{},"- Use Composition API with `\u003Cscript setup>`\n",[116,309,311],{"class":118,"line":310},7,[116,312,313],{},"- Prefer `const` over `let`\n",[116,315,317],{"class":118,"line":316},8,[116,318,319],{},"- All components go in `components\u002F`\n",[116,321,323],{"class":118,"line":322},9,[116,324,284],{"emptyLinePlaceholder":283},[116,326,328],{"class":118,"line":327},10,[116,329,330],{},"## Testing\n",[116,332,334],{"class":118,"line":333},11,[116,335,336],{},"- Run `npm test` before committing\n",[116,338,340],{"class":118,"line":339},12,[116,341,342],{},"- Write unit tests for all utility functions\n",[116,344,346],{"class":118,"line":345},13,[116,347,284],{"emptyLinePlaceholder":283},[116,349,351],{"class":118,"line":350},14,[116,352,353],{},"## Deployment\n",[116,355,357],{"class":118,"line":356},15,[116,358,359],{},"- Build with `npm run build`\n",[116,361,363],{"class":118,"line":362},16,[116,364,365],{},"- Deploy to Vercel with `vercel --prod`\n",[11,367,368,369,372],{},"扩展系统允许加载 Markdown 指令之外的工具和能力。在 ",[43,370,371],{},"~\u002F.gemini\u002Fsettings.json"," 中声明扩展：",[107,374,378],{"className":375,"code":376,"language":377,"meta":112,"style":112},"language-json shiki shiki-themes github-light github-dark","{\n  \"extensions\": [\n    {\n      \"name\": \"web-search\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"code-execution\",\n      \"enabled\": true\n    }\n  ]\n}\n","json",[43,379,380,385,393,398,412,422,427,431,442,450,455,460],{"__ignoreMap":112},[116,381,382],{"class":118,"line":119},[116,383,384],{"class":186},"{\n",[116,386,387,390],{"class":118,"line":280},[116,388,389],{"class":130},"  \"extensions\"",[116,391,392],{"class":186},": [\n",[116,394,395],{"class":118,"line":287},[116,396,397],{"class":186},"    {\n",[116,399,400,403,406,409],{"class":118,"line":293},[116,401,402],{"class":130},"      \"name\"",[116,404,405],{"class":186},": ",[116,407,408],{"class":126},"\"web-search\"",[116,410,411],{"class":186},",\n",[116,413,414,417,419],{"class":118,"line":298},[116,415,416],{"class":130},"      \"enabled\"",[116,418,405],{"class":186},[116,420,421],{"class":130},"true\n",[116,423,424],{"class":118,"line":304},[116,425,426],{"class":186},"    },\n",[116,428,429],{"class":118,"line":310},[116,430,397],{"class":186},[116,432,433,435,437,440],{"class":118,"line":316},[116,434,402],{"class":130},[116,436,405],{"class":186},[116,438,439],{"class":126},"\"code-execution\"",[116,441,411],{"class":186},[116,443,444,446,448],{"class":118,"line":322},[116,445,416],{"class":130},[116,447,405],{"class":186},[116,449,421],{"class":130},[116,451,452],{"class":118,"line":327},[116,453,454],{"class":186},"    }\n",[116,456,457],{"class":118,"line":333},[116,458,459],{"class":186},"  ]\n",[116,461,462],{"class":118,"line":339},[116,463,464],{"class":186},"}\n",[11,466,467,468,471],{},"Agent Skill 本质是结构化的 Markdown 文件，教 CLI 如何执行特定任务。写好一个 ",[43,469,470],{},".md"," 技能文件，放到 Gemini CLI 能找到的位置，模型就会在会话中遵循这些指令。",[15,473,475],{"id":474},"从-tokrepo-安装-skill","从 TokRepo 安装 Skill",[11,477,478,483],{},[22,479,482],{"href":480,"rel":481},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fcollections\u002Fskills",[26],"TokRepo"," 是目前最大的 AI 编程助手技能注册中心。大多数 Skill 采用通用 Markdown 格式，可以在 Claude Code、Codex CLI 和 Gemini CLI 之间通用，只需少量适配。",[485,486,488],"h3",{"id":487},"方法一tokrepo-cli推荐","方法一：TokRepo CLI（推荐）",[11,490,491],{},"安装 TokRepo CLI，直接拉取 Skill：",[107,493,495],{"className":109,"code":494,"language":111,"meta":112,"style":112},"npm install -g tokrepo\ntokrepo install \u003Cskill-uuid> --target gemini\n",[43,496,497,508],{"__ignoreMap":112},[116,498,499,501,503,505],{"class":118,"line":119},[116,500,123],{"class":122},[116,502,127],{"class":126},[116,504,131],{"class":130},[116,506,507],{"class":126}," tokrepo\n",[116,509,510,513,515,518,521,524,527,530],{"class":118,"line":280},[116,511,512],{"class":122},"tokrepo",[116,514,127],{"class":126},[116,516,517],{"class":182}," \u003C",[116,519,520],{"class":126},"skill-uui",[116,522,523],{"class":186},"d",[116,525,526],{"class":182},">",[116,528,529],{"class":130}," --target",[116,531,532],{"class":126}," gemini\n",[11,534,535,538,539,541,542,545],{},[43,536,537],{},"--target gemini"," 参数会自动转换成 ",[43,540,45],{}," 格式，放入项目的 ",[43,543,544],{},".gemini\u002F"," 目录。",[485,547,549],{"id":548},"方法二手动安装","方法二：手动安装",[230,551,552,559,562,572],{},[65,553,554,555],{},"浏览 ",[22,556,558],{"href":480,"rel":557},[26],"TokRepo Skill 集合",[65,560,561],{},"复制 Skill 的 Markdown 内容",[65,563,564,565,567,568,571],{},"在项目中创建文件（如 ",[43,566,45],{}," 或 ",[43,569,570],{},".gemini\u002Fskills\u002Fskill-name.md","）",[65,573,574],{},"粘贴内容，把 Claude Code 相关的引用替换成 Gemini CLI 的等效写法",[11,576,577,578,581],{},"例如，把 ",[43,579,580],{},"\u002Fskill-name"," 触发模式改成 Gemini 的自然语言调用方式。大部分技能指令（代码规范、测试规则、部署步骤）无需修改即可使用。",[15,583,585],{"id":584},"gemini-cli-最佳-8-个-skill","Gemini CLI 最佳 8 个 Skill",[11,587,588],{},"以下 Skill 均在 Gemini CLI 上测试过，按实用性、兼容性和社区采用度排序。每个都是 Markdown 文件，30 秒内可安装。",[485,590,592],{"id":591},"_1-gemini-cli-extension-stitch","1. Gemini CLI Extension Stitch",[11,594,595,598],{},[68,596,597],{},"做什么："," 将 Stitch 设计系统集成到 Gemini CLI，在终端内直接生成 UI 组件、应用 Design Token，保持项目视觉一致性。",[11,600,601,604],{},[68,602,603],{},"适合谁："," 需要 AI 辅助设计转代码工作流的前端开发者。",[107,606,608],{"className":109,"code":607,"language":111,"meta":112,"style":112},"tokrepo install c4b18aeb --target gemini\n",[43,609,610],{"__ignoreMap":112},[116,611,612,614,616,619,621],{"class":118,"line":119},[116,613,512],{"class":122},[116,615,127],{"class":126},[116,617,618],{"class":126}," c4b18aeb",[116,620,529],{"class":130},[116,622,532],{"class":126},[11,624,625],{},[22,626,629],{"href":627,"rel":628},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fc4b18aeb",[26],"在 TokRepo 查看 →",[631,632],"hr",{},[485,634,636],{"id":635},"_2-google-gemini-cli-extensions","2. Google Gemini CLI Extensions",[11,638,639,641],{},[68,640,597],{}," 官方和社区扩展合集——文件搜索、网页浏览、代码执行沙箱、多仓库上下文加载等能力。",[11,643,644,646],{},[68,645,603],{}," 想充分释放 Gemini CLI 扩展生态的进阶用户。",[107,648,650],{"className":109,"code":649,"language":111,"meta":112,"style":112},"tokrepo install b9520bd2 --target gemini\n",[43,651,652],{"__ignoreMap":112},[116,653,654,656,658,661,663],{"class":118,"line":119},[116,655,512],{"class":122},[116,657,127],{"class":126},[116,659,660],{"class":126}," b9520bd2",[116,662,529],{"class":130},[116,664,532],{"class":126},[11,666,667],{},[22,668,629],{"href":669,"rel":670},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fb9520bd2",[26],[631,672],{},[485,674,676],{"id":675},"_3-gemini-cli-extension-workspace","3. Gemini CLI Extension Workspace",[11,678,679,681],{},[68,680,597],{}," 在 Gemini CLI 中管理多项目工作区。切换仓库、维护独立上下文、跨项目执行任务，无需离开会话。",[11,683,684,686],{},[68,685,603],{}," 同时管理多个仓库或 monorepo 子包的开发者。",[107,688,690],{"className":109,"code":689,"language":111,"meta":112,"style":112},"tokrepo install f0db235b --target gemini\n",[43,691,692],{"__ignoreMap":112},[116,693,694,696,698,701,703],{"class":118,"line":119},[116,695,512],{"class":122},[116,697,127],{"class":126},[116,699,700],{"class":126}," f0db235b",[116,702,529],{"class":130},[116,704,532],{"class":126},[11,706,707],{},[22,708,629],{"href":709,"rel":710},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Ff0db235b",[26],[631,712],{},[485,714,716],{"id":715},"_4-get-shit-done-gsd","4. Get Shit Done (GSD)",[11,718,719,721,722,725],{},[68,720,597],{}," 完整的项目管理框架。把大项目拆成里程碑、阶段和任务，逐步执行并验证。创建持久化的 ",[43,723,724],{},".planning\u002F"," 目录，跨会话保持上下文。",[11,727,728,730],{},[68,729,603],{}," 独立开发者管理复杂的多日项目，不想丢失上下文。",[107,732,734],{"className":109,"code":733,"language":111,"meta":112,"style":112},"tokrepo install e108cf5c --target gemini\n",[43,735,736],{"__ignoreMap":112},[116,737,738,740,742,745,747],{"class":118,"line":119},[116,739,512],{"class":122},[116,741,127],{"class":126},[116,743,744],{"class":126}," e108cf5c",[116,746,529],{"class":130},[116,748,532],{"class":126},[11,750,751,754],{},[68,752,753],{},"为什么必装："," 解决 AI 编程最大的痛点——大项目上下文丢失。GitHub 48,600+ stars，三大 CLI 工具通用。",[11,756,757],{},[22,758,629],{"href":759,"rel":760},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fe108cf5c-c34e-4d27-a694-66a693301e87",[26],[631,762],{},[485,764,766],{"id":765},"_5-vercel-skills-agent-skill-生态","5. Vercel Skills — Agent Skill 生态",[11,768,769,771],{},[68,770,597],{}," 13,000+ 社区贡献的 Skill，覆盖 Next.js、React、部署流水线和全栈开发模式。",[11,773,774,776],{},[68,775,603],{}," 使用现代 JavaScript 框架的前端和全栈开发者。",[107,778,780],{"className":109,"code":779,"language":111,"meta":112,"style":112},"tokrepo install d1eba6f1 --target gemini\n",[43,781,782],{"__ignoreMap":112},[116,783,784,786,788,791,793],{"class":118,"line":119},[116,785,512],{"class":122},[116,787,127],{"class":126},[116,789,790],{"class":126}," d1eba6f1",[116,792,529],{"class":130},[116,794,532],{"class":126},[11,796,797],{},[22,798,629],{"href":799,"rel":800},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fd1eba6f1-5166-4762-bbbd-cf00f14892b7",[26],[631,802],{},[485,804,806],{"id":805},"_6-claude-seo-完整-seo-技能","6. Claude SEO — 完整 SEO 技能",[11,808,809,811],{},[68,810,597],{}," 全面的 SEO 审计——关键词研究、页面分析、内容缺口、技术检查、竞品对比。虽然名字带 Claude，但 Markdown 指令在任何读取结构化提示的 CLI 中都能用。",[11,813,814,816],{},[68,815,603],{}," 想在终端做 SEO 分析的开发者和运营人员。",[107,818,820],{"className":109,"code":819,"language":111,"meta":112,"style":112},"tokrepo install cb068086 --target gemini\n",[43,821,822],{"__ignoreMap":112},[116,823,824,826,828,831,833],{"class":118,"line":119},[116,825,512],{"class":122},[116,827,127],{"class":126},[116,829,830],{"class":126}," cb068086",[116,832,529],{"class":130},[116,834,532],{"class":126},[11,836,837],{},[22,838,629],{"href":839,"rel":840},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fcb068086",[26],[631,842],{},[485,844,846],{"id":845},"_7-systematic-debugging-系统化调试","7. Systematic Debugging — 系统化调试",[11,848,849,851],{},[68,850,597],{}," 结构化调试方法论，带持久状态追踪。引导模型完成假设建立、证据收集、根因隔离和修复验证。",[11,853,854,856],{},[68,855,603],{}," 难以复现的 Bug，需要跨多文件的系统化排查。",[107,858,860],{"className":109,"code":859,"language":111,"meta":112,"style":112},"tokrepo install 78ed006e --target gemini\n",[43,861,862],{"__ignoreMap":112},[116,863,864,866,868,871,873],{"class":118,"line":119},[116,865,512],{"class":122},[116,867,127],{"class":126},[116,869,870],{"class":126}," 78ed006e",[116,872,529],{"class":130},[116,874,532],{"class":126},[11,876,877],{},[22,878,629],{"href":879,"rel":880},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F78ed006e",[26],[631,882],{},[485,884,886],{"id":885},"_8-web-access-网页访问","8. Web Access — 网页访问",[11,888,889,891],{},[68,890,597],{}," 让 Gemini CLI 能抓取和分析网页、API 和在线文档。读取 URL、提取内容并用于当前任务。",[11,893,894,896],{},[68,895,603],{}," 需要检查文档、对比 API 或分析竞品页面的调研任务。",[107,898,900],{"className":109,"code":899,"language":111,"meta":112,"style":112},"tokrepo install 5766b7f4 --target gemini\n",[43,901,902],{"__ignoreMap":112},[116,903,904,906,908,911,913],{"class":118,"line":119},[116,905,512],{"class":122},[116,907,127],{"class":126},[116,909,910],{"class":126}," 5766b7f4",[116,912,529],{"class":130},[116,914,532],{"class":126},[11,916,917],{},[22,918,629],{"href":919,"rel":920},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F5766b7f4-f62e-4c74-80b4-c2763353b0fd",[26],[631,922],{},[15,924,926],{"id":925},"gemini-cli-vs-claude-code-vs-codex-cli","Gemini CLI vs Claude Code vs Codex CLI",[11,928,929],{},"三大 AI 编程 CLI 工具横向对比：",[931,932],"comparison-table",{":headers":933,":rows":934},"[\"特性\",\"Gemini CLI\",\"Claude Code\",\"Codex CLI\"]","[[\"开发商\",\"Google\",\"Anthropic\",\"OpenAI\"],[\"模型\",\"Gemini 2.5 Pro\",\"Claude Sonnet\u002FOpus\",\"GPT-4.1 \u002F o3\"],[\"开源协议\",\"Apache 2.0\",\"商业\",\"开源\"],[\"Skill 格式\",\"GEMINI.md\",\".claude\u002Fcommands\u002F*.md\",\"AGENTS.md\"],[\"免费额度\",\"60次\u002F分钟\",\"有限\",\"有限\"],[\"多模态\",\"支持（图片、文件）\",\"支持（图片、文件）\",\"仅文本\"],[\"扩展方式\",\"Extensions API + GEMINI.md\",\"MCP + Skills\",\"AGENTS.md\"],[\"Skill 生态\",\"成长中\",\"最大（TokRepo）\",\"成长中\"],[\"最适合\",\"Google Cloud \u002F Android\",\"通用编程\",\"OpenAI 生态\"]]",[11,936,937],{},[68,938,939],{},"要点总结：",[62,941,942,950,959],{},[65,943,944,946,947,949],{},[68,945,27],{}," 胜在免费额度（Google 账号即可获得 60 次\u002F分钟）和 Google Cloud 集成。",[43,948,45],{}," 格式入门最简单。",[65,951,952,954,955,958],{},[68,953,32],{}," 拥有最成熟的 Skill 生态（",[22,956,482],{"href":480,"rel":957},[26],"）和最强的复杂重构推理能力。",[65,960,961,964,965,967,968,57],{},[68,962,963],{},"Codex CLI"," 与 OpenAI 模型家族深度集成，",[43,966,56],{}," 格式简洁直观。详见 ",[22,969,970],{"href":36},"Codex CLI Skills 指南",[11,972,973],{},"三者都支持 Markdown 格式的 Skill，TokRepo 上的大多数 Skill 只需微调格式就能跨平台使用。",[15,975,976],{"id":976},"常见问题",[485,978,980],{"id":979},"同一个-skill-能在-gemini-cliclaude-code-和-codex-cli-之间通用吗","同一个 Skill 能在 Gemini CLI、Claude Code 和 Codex CLI 之间通用吗？",[11,982,983,984,986,987,986,989,991,992,995,996,57],{},"可以。Skill 的核心是 Markdown 指令——编码规范、测试规则、部署步骤——这些和模型无关。唯一的区别是文件位置（",[43,985,45],{}," vs ",[43,988,52],{},[43,990,56],{},"）和触发语法。TokRepo 的 ",[43,993,994],{},"--target"," 参数会自动处理转换。更多兼容性细节见 ",[22,997,999],{"href":998},"\u002Fguide\u002Fskills-vs-mcp","Skills vs MCP vs Rules 完整对比",[485,1001,1003],{"id":1002},"gemini-cli-真的免费吗","Gemini CLI 真的免费吗？",[11,1005,1006,1007,1012],{},"CLI 本身免费开源（Apache 2.0）。用 Google 账号登录后，每分钟可免费调用 60 次。如果需要更高频率或企业级使用，需要申请 ",[22,1008,1011],{"href":1009,"rel":1010},"https:\u002F\u002Fai.google.dev\u002F",[26],"Gemini API Key","，按量计费。",[485,1014,1016],{"id":1015},"怎么为-gemini-cli-创建自定义-skill","怎么为 Gemini CLI 创建自定义 Skill？",[11,1018,1019,1020,1022,1023,1026,1027,1031,1032,1035],{},"写一个 Markdown 文件，保存为项目根目录的 ",[43,1021,45],{},"，或放到 ",[43,1024,1025],{},"~\u002F.gemini\u002F"," 下全局生效。具体步骤参考教程：",[22,1028,1030],{"href":1029},"\u002Fguide\u002Fcreate-skill","如何创建你的第一个 Agent Skill","。流程和其他 AI CLI 完全一样——写完还可以发布到 ",[22,1033,482],{"href":480,"rel":1034},[26]," 让其他人安装使用。",[15,1037,1038],{"id":1038},"下一步",[62,1040,1041,1046,1051,1057],{},[65,1042,1043,1045],{},[22,1044,1030],{"href":1029}," — 为 Gemini CLI 或任何 AI 编程助手构建自定义技能",[65,1047,1048,1050],{},[22,1049,999],{"href":998}," — 搞清楚什么时候用 Skill、MCP 还是配置规则",[65,1052,1053,1056],{},[22,1054,1055],{"href":36},"Codex CLI Agent Skills 指南"," — OpenAI CLI 工具的同类指南",[65,1058,1059,1063],{},[22,1060,1062],{"href":480,"rel":1061},[26],"浏览 500+ Skill"," — 找到适合你技术栈的 Skill",[1065,1066,1067],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":112,"searchDepth":280,"depth":280,"links":1069},[1070,1071,1072,1073,1077,1087,1088,1093],{"id":17,"depth":280,"text":18},{"id":101,"depth":280,"text":102},{"id":217,"depth":280,"text":218},{"id":474,"depth":280,"text":475,"children":1074},[1075,1076],{"id":487,"depth":287,"text":488},{"id":548,"depth":287,"text":549},{"id":584,"depth":280,"text":585,"children":1078},[1079,1080,1081,1082,1083,1084,1085,1086],{"id":591,"depth":287,"text":592},{"id":635,"depth":287,"text":636},{"id":675,"depth":287,"text":676},{"id":715,"depth":287,"text":716},{"id":765,"depth":287,"text":766},{"id":805,"depth":287,"text":806},{"id":845,"depth":287,"text":846},{"id":885,"depth":287,"text":886},{"id":925,"depth":280,"text":926},{"id":976,"depth":280,"text":976,"children":1089},[1090,1091,1092],{"id":979,"depth":287,"text":980},{"id":1002,"depth":287,"text":1003},{"id":1015,"depth":287,"text":1016},{"id":1038,"depth":280,"text":1038},"tutorial","Complete guide to extending Google Gemini CLI with agent skills. Learn how to install, configure, and use GEMINI.md skills for AI-powered coding workflows.","Google Gemini CLI Agent Skill 完整指南。学习安装、配置和使用 GEMINI.md 技能，打造 AI 编程工作流。","md","\u002Fguide\u002Fimages\u002Fgemini-cli-skills-hero.svg",{},"\u002Fzh\u002Fguide\u002Fgemini-cli-skills","2026-04-12",{"title":5,"description":1095},"zh\u002Fguide\u002Fgemini-cli-skills",[163,1105,1106,1094],"google","skill","Gemini CLI Agent Skills 指南：安装与使用 Google AI 编程助手","RVf3LqWhgV9e-uczf5Yrb-FVfgvL_mTZAWi_WXGXRKM",[1110,2711,3514,5224,6309,8097,8878,10048,10881,11598],{"id":1111,"title":1112,"author":6,"body":1113,"category":2697,"description":2698,"descriptionZh":2699,"extension":1097,"image":2700,"meta":2701,"navigation":283,"path":2702,"publishedAt":1101,"readTime":316,"seo":2703,"stem":2704,"tags":2705,"titleZh":2709,"updatedAt":1101,"__hash__":2710},"docs_zh\u002Fzh\u002Fguide\u002Fagent-skills-for-teams.md","How to Set Up Shared Agent Skills for Your Development Team",{"type":8,"value":1114,"toc":2656},[1115,1118,1121,1140,1144,1147,1150,1173,1176,1182,1216,1219,1222,1231,1235,1238,1241,1249,1252,1261,1383,1386,1444,1450,1456,1466,1470,1477,1481,1493,1497,1647,1651,1686,1691,1696,1700,1703,1706,1712,1715,1862,1969,1974,1979,1983,1986,1990,1993,2007,2012,2016,2019,2033,2039,2043,2046,2060,2066,2070,2073,2087,2093,2097,2100,2114,2120,2124,2127,2130,2208,2212,2215,2351,2355,2382,2386,2461,2464,2466,2470,2476,2480,2483,2617,2621,2624,2626,2653],[11,1116,1117],{},"团队里 5 个人用 Claude Code，5 种写法。一个人的\"重构一下\"和另一个人的\"重构一下\"出来的东西完全不一样。这篇文章教你三种方法，让全团队共享同一套 Agent Skill，从第一天起就统一标准。",[15,1119,1120],{"id":1120},"前提条件",[62,1122,1123,1131,1134],{},[65,1124,1125,1126,1130],{},"已安装 ",[22,1127,32],{"href":1128,"rel":1129},"https:\u002F\u002Fclaude.ai\u002Fcode",[26]," v2.1+",[65,1132,1133],{},"团队 Git 仓库",[65,1135,1136,1137],{},"了解 ",[22,1138,1139],{"href":1029},"Agent Skill 基础概念",[15,1141,1143],{"id":1142},"为什么团队需要共享-skill","为什么团队需要共享 Skill",[485,1145,1146],{"id":1146},"一致性",[11,1148,1149],{},"每个人用同一份代码审查 Skill，审查标准就不再是\"看审查者心情\"。Skill 文件就是唯一标准。",[107,1151,1155],{"className":1152,"code":1153,"language":1154,"meta":112,"style":112},"language-yaml shiki shiki-themes github-light github-dark","# .claude\u002Fcommands\u002Fcode-review.md\n# 团队每个人跑的审查清单完全一样\n# 再也不会出现\"忘了检查 SQL 注入\"的情况\n","yaml",[43,1156,1157,1163,1168],{"__ignoreMap":112},[116,1158,1159],{"class":118,"line":119},[116,1160,1162],{"class":1161},"sJ8bj","# .claude\u002Fcommands\u002Fcode-review.md\n",[116,1164,1165],{"class":118,"line":280},[116,1166,1167],{"class":1161},"# 团队每个人跑的审查清单完全一样\n",[116,1169,1170],{"class":118,"line":287},[116,1171,1172],{"class":1161},"# 再也不会出现\"忘了检查 SQL 注入\"的情况\n",[485,1174,1175],{"id":1175},"新人上手",[11,1177,1178,1179,1181],{},"新人 clone 仓库，Skill 就在 ",[43,1180,52],{}," 里。不需要口口相传的\"部落知识\"。",[107,1183,1185],{"className":109,"code":1184,"language":111,"meta":112,"style":112},"git clone git@github.com:your-org\u002Fyour-app.git\ncd your-app\n# Skill 已经在 .claude\u002Fcommands\u002F 里了\nclaude\n",[43,1186,1187,1198,1206,1211],{"__ignoreMap":112},[116,1188,1189,1192,1195],{"class":118,"line":119},[116,1190,1191],{"class":122},"git",[116,1193,1194],{"class":126}," clone",[116,1196,1197],{"class":126}," git@github.com:your-org\u002Fyour-app.git\n",[116,1199,1200,1203],{"class":118,"line":280},[116,1201,1202],{"class":130},"cd",[116,1204,1205],{"class":126}," your-app\n",[116,1207,1208],{"class":118,"line":287},[116,1209,1210],{"class":1161},"# Skill 已经在 .claude\u002Fcommands\u002F 里了\n",[116,1212,1213],{"class":118,"line":293},[116,1214,1215],{"class":122},"claude\n",[485,1217,1218],{"id":1218},"代码审查标准化",[11,1220,1221],{},"当 Skill 定义了\"好代码\"长什么样，PR Review 就变成了客观检查，不再是主观意见。",[11,1223,1224,1225,1227,1228,57],{},"如果你还不了解 Skill 是什么，先看 ",[22,1226,1030],{"href":1029},"。想了解 Skill 和 MCP 的区别，看 ",[22,1229,1230],{"href":998},"三者完整对比",[15,1232,1234],{"id":1233},"方法一git-仓库直接提交","方法一：Git 仓库直接提交",[11,1236,1237],{},"最简单的做法——把 Skill 文件直接提交到项目仓库。",[485,1239,1240],{"id":1240},"目录结构",[107,1242,1247],{"className":1243,"code":1245,"language":1246},[1244],"language-text","your-project\u002F\n├── .claude\u002F\n│   └── commands\u002F\n│       ├── code-review.md\n│       ├── pr-description.md\n│       ├── debug-production.md\n│       ├── deploy-checklist.md\n│       └── write-tests.md\n├── src\u002F\n└── package.json\n","text",[43,1248,1245],{"__ignoreMap":112},[485,1250,1251],{"id":1251},"工作原理",[11,1253,1254,1255,1257,1258,1260],{},"Claude Code 自动发现 ",[43,1256,52],{}," 目录下的所有 ",[43,1259,470],{}," 文件。团队成员 clone 仓库时，Skill 跟着一起过来。",[107,1262,1264],{"className":109,"code":1263,"language":111,"meta":112,"style":112},"# 创建 Skill 目录\nmkdir -p .claude\u002Fcommands\n\n# 创建团队代码审查 Skill\ncat > .claude\u002Fcommands\u002Fcode-review.md \u003C\u003C 'EOF'\n---\nname: 团队代码审查\ndescription: 按团队标准审查代码\n---\n\n按以下标准审查暂存区的代码改动：\n\n1. **安全**: 无硬编码密钥、无 SQL 注入、无 XSS\n2. **性能**: 无 N+1 查询、无不必要的重渲染、无无限循环\n3. **测试**: 每个新函数至少有一个测试\n4. **命名**: 遵守团队规范（JS 用 camelCase，Python 用 snake_case）\n5. **文档**: 公开 API 有 JSDoc\u002Fdocstring\n\n输出 Markdown 检查清单，每项标注通过\u002F不通过。\nEOF\n",[43,1265,1266,1271,1282,1286,1291,1308,1313,1318,1323,1327,1331,1336,1340,1345,1350,1355,1360,1366,1371,1377],{"__ignoreMap":112},[116,1267,1268],{"class":118,"line":119},[116,1269,1270],{"class":1161},"# 创建 Skill 目录\n",[116,1272,1273,1276,1279],{"class":118,"line":280},[116,1274,1275],{"class":122},"mkdir",[116,1277,1278],{"class":130}," -p",[116,1280,1281],{"class":126}," .claude\u002Fcommands\n",[116,1283,1284],{"class":118,"line":287},[116,1285,284],{"emptyLinePlaceholder":283},[116,1287,1288],{"class":118,"line":293},[116,1289,1290],{"class":1161},"# 创建团队代码审查 Skill\n",[116,1292,1293,1296,1299,1302,1305],{"class":118,"line":298},[116,1294,1295],{"class":122},"cat",[116,1297,1298],{"class":182}," >",[116,1300,1301],{"class":126}," .claude\u002Fcommands\u002Fcode-review.md",[116,1303,1304],{"class":182}," \u003C\u003C",[116,1306,1307],{"class":126}," 'EOF'\n",[116,1309,1310],{"class":118,"line":304},[116,1311,1312],{"class":126},"---\n",[116,1314,1315],{"class":118,"line":310},[116,1316,1317],{"class":126},"name: 团队代码审查\n",[116,1319,1320],{"class":118,"line":316},[116,1321,1322],{"class":126},"description: 按团队标准审查代码\n",[116,1324,1325],{"class":118,"line":322},[116,1326,1312],{"class":126},[116,1328,1329],{"class":118,"line":327},[116,1330,284],{"emptyLinePlaceholder":283},[116,1332,1333],{"class":118,"line":333},[116,1334,1335],{"class":126},"按以下标准审查暂存区的代码改动：\n",[116,1337,1338],{"class":118,"line":339},[116,1339,284],{"emptyLinePlaceholder":283},[116,1341,1342],{"class":118,"line":345},[116,1343,1344],{"class":126},"1. **安全**: 无硬编码密钥、无 SQL 注入、无 XSS\n",[116,1346,1347],{"class":118,"line":350},[116,1348,1349],{"class":126},"2. **性能**: 无 N+1 查询、无不必要的重渲染、无无限循环\n",[116,1351,1352],{"class":118,"line":356},[116,1353,1354],{"class":126},"3. **测试**: 每个新函数至少有一个测试\n",[116,1356,1357],{"class":118,"line":362},[116,1358,1359],{"class":126},"4. **命名**: 遵守团队规范（JS 用 camelCase，Python 用 snake_case）\n",[116,1361,1363],{"class":118,"line":1362},17,[116,1364,1365],{"class":126},"5. **文档**: 公开 API 有 JSDoc\u002Fdocstring\n",[116,1367,1369],{"class":118,"line":1368},18,[116,1370,284],{"emptyLinePlaceholder":283},[116,1372,1374],{"class":118,"line":1373},19,[116,1375,1376],{"class":126},"输出 Markdown 检查清单，每项标注通过\u002F不通过。\n",[116,1378,1380],{"class":118,"line":1379},20,[116,1381,1382],{"class":126},"EOF\n",[485,1384,1385],{"id":1385},"版本控制的好处",[107,1387,1389],{"className":109,"code":1388,"language":111,"meta":112,"style":112},"# Skill 变更走正常 Git 流程\ngit add .claude\u002Fcommands\u002Fcode-review.md\ngit commit -m \"feat: 新增团队代码审查 Skill\"\n\n# 在 PR 里审查 Skill 变更\ngit diff main -- .claude\u002Fcommands\u002F\n",[43,1390,1391,1396,1406,1419,1423,1428],{"__ignoreMap":112},[116,1392,1393],{"class":118,"line":119},[116,1394,1395],{"class":1161},"# Skill 变更走正常 Git 流程\n",[116,1397,1398,1400,1403],{"class":118,"line":280},[116,1399,1191],{"class":122},[116,1401,1402],{"class":126}," add",[116,1404,1405],{"class":126}," .claude\u002Fcommands\u002Fcode-review.md\n",[116,1407,1408,1410,1413,1416],{"class":118,"line":287},[116,1409,1191],{"class":122},[116,1411,1412],{"class":126}," commit",[116,1414,1415],{"class":130}," -m",[116,1417,1418],{"class":126}," \"feat: 新增团队代码审查 Skill\"\n",[116,1420,1421],{"class":118,"line":293},[116,1422,284],{"emptyLinePlaceholder":283},[116,1424,1425],{"class":118,"line":298},[116,1426,1427],{"class":1161},"# 在 PR 里审查 Skill 变更\n",[116,1429,1430,1432,1435,1438,1441],{"class":118,"line":304},[116,1431,1191],{"class":122},[116,1433,1434],{"class":126}," diff",[116,1436,1437],{"class":126}," main",[116,1439,1440],{"class":130}," --",[116,1442,1443],{"class":126}," .claude\u002Fcommands\u002F\n",[11,1445,1446,1449],{},[68,1447,1448],{},"优点："," 零配置，版本可控，离线可用，Skill 变更在 PR 里审查。",[11,1451,1452,1455],{},[68,1453,1454],{},"缺点："," 按项目隔离。如果团队有 20 个仓库，需要手动同步。",[1457,1458,1460],"info-box",{"type":1459},"tip",[11,1461,1462,1463,1465],{},"用 Git submodule 或者软链接，让多个仓库共享同一个 ",[43,1464,52],{}," 目录。避免手动复制。",[15,1467,1469],{"id":1468},"方法二tokrepo-集合","方法二：TokRepo 集合",[11,1471,1472,1476],{},[22,1473,482],{"href":1474,"rel":1475},"https:\u002F\u002Ftokrepo.com",[26]," 可以创建 Skill 集合，团队成员一条命令全部安装。适合多仓库的组织。",[485,1478,1480],{"id":1479},"第一步筛选团队需要的-skill","第一步：筛选团队需要的 Skill",[11,1482,1483,1484,1488,1489,1492],{},"去 ",[22,1485,1487],{"href":480,"rel":1486},[26],"TokRepo Skill 库"," 挑选合适的 Skill，也可以 ",[22,1490,1491],{"href":1029},"自建 Skill"," 发布上去。",[485,1494,1496],{"id":1495},"第二步创建安装脚本","第二步：创建安装脚本",[107,1498,1500],{"className":109,"code":1499,"language":111,"meta":112,"style":112},"#!\u002Fbin\u002Fbash\n# team-skills-install.sh\n# 在任何项目里运行，一键配置团队 Skill\n\necho \"正在安装团队 Skill...\"\n\n# 项目管理\ntokrepo install e108cf5c-c34e-4d27-a694-66a693301e87  # GSD\n\n# 调试\ntokrepo install 78ed006e-b022-4e92-bf65-df8b53afd2f4  # Systematic Debugging\n\n# SEO（前端项目用）\ntokrepo install cb068086-1c7d-408e-90a1-c39cfc6ffe87  # Claude SEO\n\n# Skill 创建（高级开发者用）\ntokrepo install 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd  # Skill Creator\n\n# 规划\ntokrepo install 034be597-c361-45a2-b143-41cce0ec8ad8  # Planning\n\necho \"安装完成。运行 'claude' 开始使用。\"\n",[43,1501,1502,1507,1512,1517,1521,1529,1533,1538,1550,1554,1559,1571,1575,1580,1592,1596,1601,1613,1617,1622,1634,1639],{"__ignoreMap":112},[116,1503,1504],{"class":118,"line":119},[116,1505,1506],{"class":1161},"#!\u002Fbin\u002Fbash\n",[116,1508,1509],{"class":118,"line":280},[116,1510,1511],{"class":1161},"# team-skills-install.sh\n",[116,1513,1514],{"class":118,"line":287},[116,1515,1516],{"class":1161},"# 在任何项目里运行，一键配置团队 Skill\n",[116,1518,1519],{"class":118,"line":293},[116,1520,284],{"emptyLinePlaceholder":283},[116,1522,1523,1526],{"class":118,"line":298},[116,1524,1525],{"class":130},"echo",[116,1527,1528],{"class":126}," \"正在安装团队 Skill...\"\n",[116,1530,1531],{"class":118,"line":304},[116,1532,284],{"emptyLinePlaceholder":283},[116,1534,1535],{"class":118,"line":310},[116,1536,1537],{"class":1161},"# 项目管理\n",[116,1539,1540,1542,1544,1547],{"class":118,"line":316},[116,1541,512],{"class":122},[116,1543,127],{"class":126},[116,1545,1546],{"class":126}," e108cf5c-c34e-4d27-a694-66a693301e87",[116,1548,1549],{"class":1161},"  # GSD\n",[116,1551,1552],{"class":118,"line":322},[116,1553,284],{"emptyLinePlaceholder":283},[116,1555,1556],{"class":118,"line":327},[116,1557,1558],{"class":1161},"# 调试\n",[116,1560,1561,1563,1565,1568],{"class":118,"line":333},[116,1562,512],{"class":122},[116,1564,127],{"class":126},[116,1566,1567],{"class":126}," 78ed006e-b022-4e92-bf65-df8b53afd2f4",[116,1569,1570],{"class":1161},"  # Systematic Debugging\n",[116,1572,1573],{"class":118,"line":339},[116,1574,284],{"emptyLinePlaceholder":283},[116,1576,1577],{"class":118,"line":345},[116,1578,1579],{"class":1161},"# SEO（前端项目用）\n",[116,1581,1582,1584,1586,1589],{"class":118,"line":350},[116,1583,512],{"class":122},[116,1585,127],{"class":126},[116,1587,1588],{"class":126}," cb068086-1c7d-408e-90a1-c39cfc6ffe87",[116,1590,1591],{"class":1161},"  # Claude SEO\n",[116,1593,1594],{"class":118,"line":356},[116,1595,284],{"emptyLinePlaceholder":283},[116,1597,1598],{"class":118,"line":362},[116,1599,1600],{"class":1161},"# Skill 创建（高级开发者用）\n",[116,1602,1603,1605,1607,1610],{"class":118,"line":1362},[116,1604,512],{"class":122},[116,1606,127],{"class":126},[116,1608,1609],{"class":126}," 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd",[116,1611,1612],{"class":1161},"  # Skill Creator\n",[116,1614,1615],{"class":118,"line":1368},[116,1616,284],{"emptyLinePlaceholder":283},[116,1618,1619],{"class":118,"line":1373},[116,1620,1621],{"class":1161},"# 规划\n",[116,1623,1624,1626,1628,1631],{"class":118,"line":1379},[116,1625,512],{"class":122},[116,1627,127],{"class":126},[116,1629,1630],{"class":126}," 034be597-c361-45a2-b143-41cce0ec8ad8",[116,1632,1633],{"class":1161},"  # Planning\n",[116,1635,1637],{"class":118,"line":1636},21,[116,1638,284],{"emptyLinePlaceholder":283},[116,1640,1642,1644],{"class":118,"line":1641},22,[116,1643,1525],{"class":130},[116,1645,1646],{"class":126}," \"安装完成。运行 'claude' 开始使用。\"\n",[485,1648,1650],{"id":1649},"第三步分享给团队","第三步：分享给团队",[107,1652,1654],{"className":109,"code":1653,"language":111,"meta":112,"style":112},"# 把安装脚本放到组织公共仓库\nchmod +x team-skills-install.sh\n\n# 新成员一条命令搞定\n.\u002Fteam-skills-install.sh\n",[43,1655,1656,1661,1672,1676,1681],{"__ignoreMap":112},[116,1657,1658],{"class":118,"line":119},[116,1659,1660],{"class":1161},"# 把安装脚本放到组织公共仓库\n",[116,1662,1663,1666,1669],{"class":118,"line":280},[116,1664,1665],{"class":122},"chmod",[116,1667,1668],{"class":126}," +x",[116,1670,1671],{"class":126}," team-skills-install.sh\n",[116,1673,1674],{"class":118,"line":287},[116,1675,284],{"emptyLinePlaceholder":283},[116,1677,1678],{"class":118,"line":293},[116,1679,1680],{"class":1161},"# 新成员一条命令搞定\n",[116,1682,1683],{"class":118,"line":298},[116,1684,1685],{"class":122},".\u002Fteam-skills-install.sh\n",[11,1687,1688,1690],{},[68,1689,1448],{}," 集中管理，一键安装，支持自动更新，跨仓库生效。",[11,1692,1693,1695],{},[68,1694,1454],{}," 首次安装需要网络，需要 TokRepo CLI。",[15,1697,1699],{"id":1698},"方法三自建-skill-注册中心","方法三：自建 Skill 注册中心",[11,1701,1702],{},"大团队需要完全控制时，在内部基础设施上自建注册中心。",[485,1704,1705],{"id":1705},"架构",[107,1707,1710],{"className":1708,"code":1709,"language":1246},[1244],"┌─────────────────┐     ┌──────────────────┐     ┌─────────────┐\n│  Skill 作者      │────▶│  内部 Git 注册中心 │────▶│  开发者机器   │\n│  （资深开发者）    │     │                  │     │             │\n└─────────────────┘     └──────────────────┘     └─────────────┘\n                              │\n                              ▼\n                        ┌──────────────────┐\n                        │  CI\u002FCD 流水线     │\n                        │  （验证 & 分发）   │\n                        └──────────────────┘\n",[43,1711,1709],{"__ignoreMap":112},[485,1713,1714],{"id":1714},"实现方式",[107,1716,1718],{"className":109,"code":1717,"language":111,"meta":112,"style":112},"# internal-skill-registry\u002F\n# ├── skills\u002F\n# │   ├── code-review.md\n# │   ├── deploy-checklist.md\n# │   └── incident-response.md\n# ├── validate.sh          # 校验 Skill frontmatter\n# ├── distribute.sh        # 推送到所有项目仓库\n# └── README.md\n\n# validate.sh — 确保每个 Skill 有必填字段\n#!\u002Fbin\u002Fbash\nfor skill in skills\u002F*.md; do\n  if ! grep -q \"^name:\" \"$skill\"; then\n    echo \"错误: $skill 缺少 'name' 字段\"\n    exit 1\n  fi\ndone\necho \"所有 Skill 校验通过。\"\n",[43,1719,1720,1725,1730,1735,1740,1745,1750,1755,1760,1764,1769,1773,1793,1824,1837,1845,1850,1855],{"__ignoreMap":112},[116,1721,1722],{"class":118,"line":119},[116,1723,1724],{"class":1161},"# internal-skill-registry\u002F\n",[116,1726,1727],{"class":118,"line":280},[116,1728,1729],{"class":1161},"# ├── skills\u002F\n",[116,1731,1732],{"class":118,"line":287},[116,1733,1734],{"class":1161},"# │   ├── code-review.md\n",[116,1736,1737],{"class":118,"line":293},[116,1738,1739],{"class":1161},"# │   ├── deploy-checklist.md\n",[116,1741,1742],{"class":118,"line":298},[116,1743,1744],{"class":1161},"# │   └── incident-response.md\n",[116,1746,1747],{"class":118,"line":304},[116,1748,1749],{"class":1161},"# ├── validate.sh          # 校验 Skill frontmatter\n",[116,1751,1752],{"class":118,"line":310},[116,1753,1754],{"class":1161},"# ├── distribute.sh        # 推送到所有项目仓库\n",[116,1756,1757],{"class":118,"line":316},[116,1758,1759],{"class":1161},"# └── README.md\n",[116,1761,1762],{"class":118,"line":322},[116,1763,284],{"emptyLinePlaceholder":283},[116,1765,1766],{"class":118,"line":327},[116,1767,1768],{"class":1161},"# validate.sh — 确保每个 Skill 有必填字段\n",[116,1770,1771],{"class":118,"line":333},[116,1772,1506],{"class":1161},[116,1774,1775,1778,1781,1784,1787,1790],{"class":118,"line":339},[116,1776,1777],{"class":182},"for",[116,1779,1780],{"class":186}," skill ",[116,1782,1783],{"class":182},"in",[116,1785,1786],{"class":126}," skills\u002F*.md",[116,1788,1789],{"class":186},"; ",[116,1791,1792],{"class":182},"do\n",[116,1794,1795,1798,1801,1804,1807,1810,1813,1816,1819,1821],{"class":118,"line":345},[116,1796,1797],{"class":182},"  if",[116,1799,1800],{"class":182}," !",[116,1802,1803],{"class":122}," grep",[116,1805,1806],{"class":130}," -q",[116,1808,1809],{"class":126}," \"^name:\"",[116,1811,1812],{"class":126}," \"",[116,1814,1815],{"class":186},"$skill",[116,1817,1818],{"class":126},"\"",[116,1820,1789],{"class":186},[116,1822,1823],{"class":182},"then\n",[116,1825,1826,1829,1832,1834],{"class":118,"line":350},[116,1827,1828],{"class":130},"    echo",[116,1830,1831],{"class":126}," \"错误: ",[116,1833,1815],{"class":186},[116,1835,1836],{"class":126}," 缺少 'name' 字段\"\n",[116,1838,1839,1842],{"class":118,"line":356},[116,1840,1841],{"class":130},"    exit",[116,1843,1844],{"class":130}," 1\n",[116,1846,1847],{"class":118,"line":362},[116,1848,1849],{"class":182},"  fi\n",[116,1851,1852],{"class":118,"line":1362},[116,1853,1854],{"class":182},"done\n",[116,1856,1857,1859],{"class":118,"line":1368},[116,1858,1525],{"class":130},[116,1860,1861],{"class":126}," \"所有 Skill 校验通过。\"\n",[107,1863,1865],{"className":109,"code":1864,"language":111,"meta":112,"style":112},"# distribute.sh — 同步 Skill 到所有团队仓库\n#!\u002Fbin\u002Fbash\nREPOS=(\"app-frontend\" \"app-backend\" \"app-mobile\" \"shared-lib\")\n\nfor repo in \"${REPOS[@]}\"; do\n  echo \"同步 Skill 到 $repo...\"\n  cp -r skills\u002F \"..\u002F$repo\u002F.claude\u002Fcommands\u002F\"\ndone\n",[43,1866,1867,1872,1876,1901,1905,1932,1946,1965],{"__ignoreMap":112},[116,1868,1869],{"class":118,"line":119},[116,1870,1871],{"class":1161},"# distribute.sh — 同步 Skill 到所有团队仓库\n",[116,1873,1874],{"class":118,"line":280},[116,1875,1506],{"class":1161},[116,1877,1878,1881,1883,1886,1889,1892,1895,1898],{"class":118,"line":287},[116,1879,1880],{"class":186},"REPOS",[116,1882,190],{"class":182},[116,1884,1885],{"class":186},"(",[116,1887,1888],{"class":126},"\"app-frontend\"",[116,1890,1891],{"class":126}," \"app-backend\"",[116,1893,1894],{"class":126}," \"app-mobile\"",[116,1896,1897],{"class":126}," \"shared-lib\"",[116,1899,1900],{"class":186},")\n",[116,1902,1903],{"class":118,"line":293},[116,1904,284],{"emptyLinePlaceholder":283},[116,1906,1907,1909,1912,1914,1917,1919,1922,1925,1928,1930],{"class":118,"line":298},[116,1908,1777],{"class":182},[116,1910,1911],{"class":186}," repo ",[116,1913,1783],{"class":182},[116,1915,1916],{"class":126}," \"${",[116,1918,1880],{"class":186},[116,1920,1921],{"class":126},"[",[116,1923,1924],{"class":182},"@",[116,1926,1927],{"class":126},"]}\"",[116,1929,1789],{"class":186},[116,1931,1792],{"class":182},[116,1933,1934,1937,1940,1943],{"class":118,"line":304},[116,1935,1936],{"class":130},"  echo",[116,1938,1939],{"class":126}," \"同步 Skill 到 ",[116,1941,1942],{"class":186},"$repo",[116,1944,1945],{"class":126},"...\"\n",[116,1947,1948,1951,1954,1957,1960,1962],{"class":118,"line":310},[116,1949,1950],{"class":122},"  cp",[116,1952,1953],{"class":130}," -r",[116,1955,1956],{"class":126}," skills\u002F",[116,1958,1959],{"class":126}," \"..\u002F",[116,1961,1942],{"class":186},[116,1963,1964],{"class":126},"\u002F.claude\u002Fcommands\u002F\"\n",[116,1966,1967],{"class":118,"line":316},[116,1968,1854],{"class":182},[11,1970,1971,1973],{},[68,1972,1448],{}," 完全可控，防火墙内可用，可自定义校验，有审计追踪。",[11,1975,1976,1978],{},[68,1977,1454],{}," 维护成本高，需要自建工具，无法使用社区 Skill。",[15,1980,1982],{"id":1981},"推荐团队-skill-套装","推荐团队 Skill 套装",[11,1984,1985],{},"根据实际团队部署经验，以下 5 个 Skill 是每个开发团队都应该装的：",[485,1987,1989],{"id":1988},"_1-get-shit-done-gsd","1. Get Shit Done (GSD)",[11,1991,1992],{},"项目管理骨架。把工作拆成里程碑和阶段，持久化追踪进度。",[107,1994,1996],{"className":109,"code":1995,"language":111,"meta":112,"style":112},"tokrepo install e108cf5c-c34e-4d27-a694-66a693301e87\n",[43,1997,1998],{"__ignoreMap":112},[116,1999,2000,2002,2004],{"class":118,"line":119},[116,2001,512],{"class":122},[116,2003,127],{"class":126},[116,2005,2006],{"class":126}," e108cf5c-c34e-4d27-a694-66a693301e87\n",[11,2008,2009],{},[22,2010,629],{"href":759,"rel":2011},[26],[485,2013,2015],{"id":2014},"_2-systematic-debugging","2. Systematic Debugging",[11,2017,2018],{},"结构化四阶段调试：复现 → 隔离 → 诊断 → 修复。杜绝随机试错。",[107,2020,2022],{"className":109,"code":2021,"language":111,"meta":112,"style":112},"tokrepo install 78ed006e-b022-4e92-bf65-df8b53afd2f4\n",[43,2023,2024],{"__ignoreMap":112},[116,2025,2026,2028,2030],{"class":118,"line":119},[116,2027,512],{"class":122},[116,2029,127],{"class":126},[116,2031,2032],{"class":126}," 78ed006e-b022-4e92-bf65-df8b53afd2f4\n",[11,2034,2035],{},[22,2036,629],{"href":2037,"rel":2038},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F78ed006e-b022-4e92-bf65-df8b53afd2f4",[26],[485,2040,2042],{"id":2041},"_3-claude-seo","3. Claude SEO",[11,2044,2045],{},"全面 SEO 审计——关键词研究、页面分析、技术检查。",[107,2047,2049],{"className":109,"code":2048,"language":111,"meta":112,"style":112},"tokrepo install cb068086-1c7d-408e-90a1-c39cfc6ffe87\n",[43,2050,2051],{"__ignoreMap":112},[116,2052,2053,2055,2057],{"class":118,"line":119},[116,2054,512],{"class":122},[116,2056,127],{"class":126},[116,2058,2059],{"class":126}," cb068086-1c7d-408e-90a1-c39cfc6ffe87\n",[11,2061,2062],{},[22,2063,629],{"href":2064,"rel":2065},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fcb068086-1c7d-408e-90a1-c39cfc6ffe87",[26],[485,2067,2069],{"id":2068},"_4-skill-creator","4. Skill Creator",[11,2071,2072],{},"创建新 Skill 的元技能。资深开发者用它把团队的\"暗知识\"打包成可复用的 Skill。",[107,2074,2076],{"className":109,"code":2075,"language":111,"meta":112,"style":112},"tokrepo install 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd\n",[43,2077,2078],{"__ignoreMap":112},[116,2079,2080,2082,2084],{"class":118,"line":119},[116,2081,512],{"class":122},[116,2083,127],{"class":126},[116,2085,2086],{"class":126}," 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd\n",[11,2088,2089],{},[22,2090,629],{"href":2091,"rel":2092},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd",[26],[485,2094,2096],{"id":2095},"_5-planning-with-files","5. Planning with Files",[11,2098,2099],{},"跨 Claude Code 会话的持久化规划。多日任务的必备品。",[107,2101,2103],{"className":109,"code":2102,"language":111,"meta":112,"style":112},"tokrepo install 034be597-c361-45a2-b143-41cce0ec8ad8\n",[43,2104,2105],{"__ignoreMap":112},[116,2106,2107,2109,2111],{"class":118,"line":119},[116,2108,512],{"class":122},[116,2110,127],{"class":126},[116,2112,2113],{"class":126}," 034be597-c361-45a2-b143-41cce0ec8ad8\n",[11,2115,2116],{},[22,2117,629],{"href":2118,"rel":2119},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F034be597-c361-45a2-b143-41cce0ec8ad8",[26],[15,2121,2123],{"id":2122},"实战案例5-人团队配置全过程","实战案例：5 人团队配置全过程",[11,2125,2126],{},"以下是一个真实 5 人创业团队在一个下午完成 Claude Code 标准化的全过程。",[485,2128,2129],{"id":2129},"团队构成",[2131,2132,2133,2149],"table",{},[2134,2135,2136],"thead",{},[2137,2138,2139,2143,2146],"tr",{},[2140,2141,2142],"th",{},"角色",[2140,2144,2145],{},"名字",[2140,2147,2148],{},"负责方向",[2150,2151,2152,2164,2175,2186,2197],"tbody",{},[2137,2153,2154,2158,2161],{},[2155,2156,2157],"td",{},"技术负责人",[2155,2159,2160],{},"Sarah",[2155,2162,2163],{},"架构、代码审查",[2137,2165,2166,2169,2172],{},[2155,2167,2168],{},"前端",[2155,2170,2171],{},"Jake",[2155,2173,2174],{},"React, Next.js",[2137,2176,2177,2180,2183],{},[2155,2178,2179],{},"后端",[2155,2181,2182],{},"Mira",[2155,2184,2185],{},"Go, PostgreSQL",[2137,2187,2188,2191,2194],{},[2155,2189,2190],{},"全栈",[2155,2192,2193],{},"Alex",[2155,2195,2196],{},"功能开发、集成",[2137,2198,2199,2202,2205],{},[2155,2200,2201],{},"初级开发",[2155,2203,2204],{},"Tom",[2155,2206,2207],{},"Bug 修复、测试",[485,2209,2211],{"id":2210},"第一步技术负责人创建-skill-集30-分钟","第一步：技术负责人创建 Skill 集（30 分钟）",[11,2213,2214],{},"Sarah 梳理了团队最头疼的 5 个问题，每个对应一个 Skill：",[107,2216,2218],{"className":109,"code":2217,"language":111,"meta":112,"style":112},"# Sarah 的电脑\nmkdir -p .claude\u002Fcommands\n\n# 1. 安装社区 Skill\ntokrepo install e108cf5c-c34e-4d27-a694-66a693301e87  # GSD\ntokrepo install 78ed006e-b022-4e92-bf65-df8b53afd2f4  # Systematic Debugging\ntokrepo install 034be597-c361-45a2-b143-41cce0ec8ad8  # Planning\n\n# 2. 创建团队专属 Skill\ncat > .claude\u002Fcommands\u002Four-pr-review.md \u003C\u003C 'EOF'\n---\nname: PR Review（团队标准）\ndescription: 按团队12项标准审查代码\n---\n审查当前 diff，检查：\n1. 生产代码中无 console.log\n2. 所有 API 端点有限流\n3. 数据库查询使用参数化语句\n4. React 组件有错误边界\n5. Go 函数返回 error（不用 panic）\n...\nEOF\n",[43,2219,2220,2225,2233,2237,2242,2252,2262,2272,2276,2281,2294,2298,2303,2308,2312,2317,2322,2327,2332,2337,2342,2347],{"__ignoreMap":112},[116,2221,2222],{"class":118,"line":119},[116,2223,2224],{"class":1161},"# Sarah 的电脑\n",[116,2226,2227,2229,2231],{"class":118,"line":280},[116,2228,1275],{"class":122},[116,2230,1278],{"class":130},[116,2232,1281],{"class":126},[116,2234,2235],{"class":118,"line":287},[116,2236,284],{"emptyLinePlaceholder":283},[116,2238,2239],{"class":118,"line":293},[116,2240,2241],{"class":1161},"# 1. 安装社区 Skill\n",[116,2243,2244,2246,2248,2250],{"class":118,"line":298},[116,2245,512],{"class":122},[116,2247,127],{"class":126},[116,2249,1546],{"class":126},[116,2251,1549],{"class":1161},[116,2253,2254,2256,2258,2260],{"class":118,"line":304},[116,2255,512],{"class":122},[116,2257,127],{"class":126},[116,2259,1567],{"class":126},[116,2261,1570],{"class":1161},[116,2263,2264,2266,2268,2270],{"class":118,"line":310},[116,2265,512],{"class":122},[116,2267,127],{"class":126},[116,2269,1630],{"class":126},[116,2271,1633],{"class":1161},[116,2273,2274],{"class":118,"line":316},[116,2275,284],{"emptyLinePlaceholder":283},[116,2277,2278],{"class":118,"line":322},[116,2279,2280],{"class":1161},"# 2. 创建团队专属 Skill\n",[116,2282,2283,2285,2287,2290,2292],{"class":118,"line":327},[116,2284,1295],{"class":122},[116,2286,1298],{"class":182},[116,2288,2289],{"class":126}," .claude\u002Fcommands\u002Four-pr-review.md",[116,2291,1304],{"class":182},[116,2293,1307],{"class":126},[116,2295,2296],{"class":118,"line":333},[116,2297,1312],{"class":126},[116,2299,2300],{"class":118,"line":339},[116,2301,2302],{"class":126},"name: PR Review（团队标准）\n",[116,2304,2305],{"class":118,"line":345},[116,2306,2307],{"class":126},"description: 按团队12项标准审查代码\n",[116,2309,2310],{"class":118,"line":350},[116,2311,1312],{"class":126},[116,2313,2314],{"class":118,"line":356},[116,2315,2316],{"class":126},"审查当前 diff，检查：\n",[116,2318,2319],{"class":118,"line":362},[116,2320,2321],{"class":126},"1. 生产代码中无 console.log\n",[116,2323,2324],{"class":118,"line":1362},[116,2325,2326],{"class":126},"2. 所有 API 端点有限流\n",[116,2328,2329],{"class":118,"line":1368},[116,2330,2331],{"class":126},"3. 数据库查询使用参数化语句\n",[116,2333,2334],{"class":118,"line":1373},[116,2335,2336],{"class":126},"4. React 组件有错误边界\n",[116,2338,2339],{"class":118,"line":1379},[116,2340,2341],{"class":126},"5. Go 函数返回 error（不用 panic）\n",[116,2343,2344],{"class":118,"line":1636},[116,2345,2346],{"class":126},"...\n",[116,2348,2349],{"class":118,"line":1641},[116,2350,1382],{"class":126},[485,2352,2354],{"id":2353},"第二步团队安装-skill每人-5-分钟","第二步：团队安装 Skill（每人 5 分钟）",[107,2356,2358],{"className":109,"code":2357,"language":111,"meta":112,"style":112},"# 每个成员只需：\ngit pull origin main\n# Skill 已经在 .claude\u002Fcommands\u002F 里了\n",[43,2359,2360,2365,2378],{"__ignoreMap":112},[116,2361,2362],{"class":118,"line":119},[116,2363,2364],{"class":1161},"# 每个成员只需：\n",[116,2366,2367,2369,2372,2375],{"class":118,"line":280},[116,2368,1191],{"class":122},[116,2370,2371],{"class":126}," pull",[116,2373,2374],{"class":126}," origin",[116,2376,2377],{"class":126}," main\n",[116,2379,2380],{"class":118,"line":287},[116,2381,1210],{"class":1161},[485,2383,2385],{"id":2384},"第三步效果衡量两周后","第三步：效果衡量（两周后）",[2131,2387,2388,2404],{},[2134,2389,2390],{},[2137,2391,2392,2395,2398,2401],{},[2140,2393,2394],{},"指标",[2140,2396,2397],{},"Skill 前",[2140,2399,2400],{},"Skill 后",[2140,2402,2403],{},"变化",[2150,2405,2406,2420,2433,2447],{},[2137,2407,2408,2411,2414,2417],{},[2155,2409,2410],{},"PR 审查时间",[2155,2412,2413],{},"45 分钟",[2155,2415,2416],{},"15 分钟",[2155,2418,2419],{},"-67%",[2137,2421,2422,2425,2428,2431],{},[2155,2423,2424],{},"线上逃逸 Bug 数",[2155,2426,2427],{},"3 个\u002F周",[2155,2429,2430],{},"1 个\u002F周",[2155,2432,2419],{},[2137,2434,2435,2438,2441,2444],{},[2155,2436,2437],{},"新人上手时间",[2155,2439,2440],{},"2 周",[2155,2442,2443],{},"3 天",[2155,2445,2446],{},"-79%",[2137,2448,2449,2452,2455,2458],{},[2155,2450,2451],{},"代码风格违规",[2155,2453,2454],{},"12 处\u002FPR",[2155,2456,2457],{},"2 处\u002FPR",[2155,2459,2460],{},"-83%",[11,2462,2463],{},"收益最大的是初级开发 Tom——调试 Skill 教会了他系统化调试方法，代码审查 Skill 在资深开发者审查前就拦住了大部分问题。",[15,2465,976],{"id":976},[485,2467,2469],{"id":2468},"团队成员的-skill-冲突了怎么办","团队成员的 Skill 冲突了怎么办？",[11,2471,2472,2473,2475],{},"走正常 Git merge 流程。两个人改了同一个 Skill，在 PR 里解决冲突。通过 TokRepo 安装的社区 Skill，可以在 ",[43,2474,52],{}," 里保留一份本地副本，锁定版本不自动更新。",[485,2477,2479],{"id":2478},"能限制成员安装哪些-skill-吗","能限制成员安装哪些 Skill 吗？",[11,2481,2482],{},"原生不支持。但方法三（自建注册中心）可以实现白名单。方法一（Git 仓库）可以用 pre-commit hook 拒绝未授权的 Skill：",[107,2484,2486],{"className":109,"code":2485,"language":111,"meta":112,"style":112},"# .husky\u002Fpre-commit\nALLOWED_SKILLS=\"code-review.md pr-description.md debug-production.md\"\nfor file in $(git diff --cached --name-only -- .claude\u002Fcommands\u002F); do\n  basename=$(basename \"$file\")\n  if ! echo \"$ALLOWED_SKILLS\" | grep -q \"$basename\"; then\n    echo \"错误: 未授权的 Skill: $basename\"\n    exit 1\n  fi\ndone\n",[43,2487,2488,2493,2503,2535,2557,2591,2603,2609,2613],{"__ignoreMap":112},[116,2489,2490],{"class":118,"line":119},[116,2491,2492],{"class":1161},"# .husky\u002Fpre-commit\n",[116,2494,2495,2498,2500],{"class":118,"line":280},[116,2496,2497],{"class":186},"ALLOWED_SKILLS",[116,2499,190],{"class":182},[116,2501,2502],{"class":126},"\"code-review.md pr-description.md debug-production.md\"\n",[116,2504,2505,2507,2510,2512,2515,2517,2519,2522,2525,2527,2530,2533],{"class":118,"line":287},[116,2506,1777],{"class":182},[116,2508,2509],{"class":186}," file ",[116,2511,1783],{"class":182},[116,2513,2514],{"class":186}," $(",[116,2516,1191],{"class":122},[116,2518,1434],{"class":126},[116,2520,2521],{"class":130}," --cached",[116,2523,2524],{"class":130}," --name-only",[116,2526,1440],{"class":130},[116,2528,2529],{"class":126}," .claude\u002Fcommands\u002F",[116,2531,2532],{"class":186},"); ",[116,2534,1792],{"class":182},[116,2536,2537,2540,2542,2545,2548,2550,2553,2555],{"class":118,"line":293},[116,2538,2539],{"class":186},"  basename",[116,2541,190],{"class":182},[116,2543,2544],{"class":186},"$(",[116,2546,2547],{"class":122},"basename",[116,2549,1812],{"class":126},[116,2551,2552],{"class":186},"$file",[116,2554,1818],{"class":126},[116,2556,1900],{"class":186},[116,2558,2559,2561,2563,2566,2568,2571,2573,2576,2578,2580,2582,2585,2587,2589],{"class":118,"line":298},[116,2560,1797],{"class":182},[116,2562,1800],{"class":182},[116,2564,2565],{"class":130}," echo",[116,2567,1812],{"class":126},[116,2569,2570],{"class":186},"$ALLOWED_SKILLS",[116,2572,1818],{"class":126},[116,2574,2575],{"class":182}," |",[116,2577,1803],{"class":122},[116,2579,1806],{"class":130},[116,2581,1812],{"class":126},[116,2583,2584],{"class":186},"$basename",[116,2586,1818],{"class":126},[116,2588,1789],{"class":186},[116,2590,1823],{"class":182},[116,2592,2593,2595,2598,2600],{"class":118,"line":304},[116,2594,1828],{"class":130},[116,2596,2597],{"class":126}," \"错误: 未授权的 Skill: ",[116,2599,2584],{"class":186},[116,2601,2602],{"class":126},"\"\n",[116,2604,2605,2607],{"class":118,"line":310},[116,2606,1841],{"class":130},[116,2608,1844],{"class":130},[116,2610,2611],{"class":118,"line":316},[116,2612,1849],{"class":182},[116,2614,2615],{"class":118,"line":322},[116,2616,1854],{"class":182},[485,2618,2620],{"id":2619},"每个人用-skill-的效果一样吗","每个人用 Skill 的效果一样吗？",[11,2622,2623],{},"相同的 Skill 文件加相同的 Claude Code 版本，输出基本一致。模型版本不同可能有细微差异，但结构和检查项保持不变。",[15,2625,1038],{"id":1038},[62,2627,2628,2634,2640,2646],{},[65,2629,2630,2633],{},[22,2631,2632],{"href":1029},"创建你的第一个 Agent Skill"," — 为团队定制专属 Skill",[65,2635,2636,2639],{},[22,2637,2638],{"href":31},"15 个最佳 Claude Code Skill"," — 浏览精选推荐",[65,2641,2642,2645],{},[22,2643,2644],{"href":998},"Skills vs MCP vs Rules 对比"," — 理解哪种扩展方式适合团队",[65,2647,2648,2652],{},[22,2649,2651],{"href":480,"rel":2650},[26],"浏览 TokRepo Skill 集合"," — 发现 500+ 开箱即用的 Skill",[1065,2654,2655],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":112,"searchDepth":280,"depth":280,"links":2657},[2658,2659,2664,2669,2674,2678,2685,2691,2696],{"id":1120,"depth":280,"text":1120},{"id":1142,"depth":280,"text":1143,"children":2660},[2661,2662,2663],{"id":1146,"depth":287,"text":1146},{"id":1175,"depth":287,"text":1175},{"id":1218,"depth":287,"text":1218},{"id":1233,"depth":280,"text":1234,"children":2665},[2666,2667,2668],{"id":1240,"depth":287,"text":1240},{"id":1251,"depth":287,"text":1251},{"id":1385,"depth":287,"text":1385},{"id":1468,"depth":280,"text":1469,"children":2670},[2671,2672,2673],{"id":1479,"depth":287,"text":1480},{"id":1495,"depth":287,"text":1496},{"id":1649,"depth":287,"text":1650},{"id":1698,"depth":280,"text":1699,"children":2675},[2676,2677],{"id":1705,"depth":287,"text":1705},{"id":1714,"depth":287,"text":1714},{"id":1981,"depth":280,"text":1982,"children":2679},[2680,2681,2682,2683,2684],{"id":1988,"depth":287,"text":1989},{"id":2014,"depth":287,"text":2015},{"id":2041,"depth":287,"text":2042},{"id":2068,"depth":287,"text":2069},{"id":2095,"depth":287,"text":2096},{"id":2122,"depth":280,"text":2123,"children":2686},[2687,2688,2689,2690],{"id":2129,"depth":287,"text":2129},{"id":2210,"depth":287,"text":2211},{"id":2353,"depth":287,"text":2354},{"id":2384,"depth":287,"text":2385},{"id":976,"depth":280,"text":976,"children":2692},[2693,2694,2695],{"id":2468,"depth":287,"text":2469},{"id":2478,"depth":287,"text":2479},{"id":2619,"depth":287,"text":2620},{"id":1038,"depth":280,"text":1038},"use-case","Learn three methods to standardize your team's AI coding workflow with shared agent skills — Git repos, TokRepo collections, and self-hosted registries.","三种方式为开发团队标准化 AI 编程工作流——Git 仓库、TokRepo 集合和自建注册中心。","\u002Fguide\u002Fimages\u002Fagent-skills-for-teams-hero.svg",{},"\u002Fzh\u002Fguide\u002Fagent-skills-for-teams",{"title":1112,"description":2698},"zh\u002Fguide\u002Fagent-skills-for-teams",[2706,2707,1106,2708],"team","claude-code","workflow","如何为开发团队配置共享 Agent Skills","DvUmHr2jmfI0ImwByzlf92DGg1-pZ3rlVxIiBdsPrE8",{"id":2712,"title":2713,"author":6,"body":2714,"category":3501,"description":3502,"descriptionZh":3503,"extension":1097,"image":3504,"meta":3505,"navigation":283,"path":3506,"publishedAt":1101,"readTime":339,"seo":3507,"stem":3508,"tags":3509,"titleZh":3512,"updatedAt":1101,"__hash__":3513},"docs_zh\u002Fzh\u002Fguide\u002Fbest-claude-code-skills.md","15 Best Claude Code Skills in 2026 — Tested & Ranked",{"type":8,"value":2715,"toc":3470},[2716,2719,2721,2734,2738,2751,2759,2762,2764,2769,2774,2786,2795,2800,2802,2806,2811,2816,2830,2835,2837,2841,2846,2851,2863,2868,2870,2874,2879,2884,2896,2899,2904,2906,2910,2915,2920,2932,2935,2940,2942,2946,2954,2959,2971,2976,2978,2982,2987,2996,3010,3013,3019,3021,3025,3030,3035,3049,3052,3058,3060,3064,3069,3074,3088,3091,3097,3099,3103,3108,3122,3128,3130,3134,3139,3144,3158,3164,3166,3170,3175,3189,3194,3196,3200,3205,3219,3225,3227,3231,3236,3250,3256,3258,3262,3267,3281,3287,3289,3292,3296,3299,3304,3324,3329,3349,3354,3378,3380,3384,3395,3399,3405,3409,3412,3416,3426,3430,3440,3442,3467],[11,2717,2718],{},"精选 15 个经过实际项目测试的 Claude Code Agent Skill，覆盖项目管理、代码审查、调试、SEO、视频制作和团队协作。每个 Skill 都附带安装命令，10 秒内即可启用。",[15,2720,1120],{"id":1120},[62,2722,2723,2728,2731],{},[65,2724,1125,2725,1130],{},[22,2726,32],{"href":1128,"rel":2727},[26],[65,2729,2730],{},"一个项目目录",[65,2732,2733],{},"基本的终端操作能力",[15,2735,2737],{"id":2736},"agent-skill-是什么","Agent Skill 是什么？",[11,2739,2740,2741,2743,2744,2746,2747,2750],{},"Agent Skill 是 Markdown 文件，教会 Claude Code 执行特定任务。把 ",[43,2742,470],{}," 文件放入 ",[43,2745,52],{},"，或者从 ",[22,2748,482],{"href":480,"rel":2749},[26]," 一键安装，Claude 就获得了一项新能力——不需要写代码，不需要 MCP 服务器。",[11,2752,2753,2754,2756,2757,57],{},"如果你是第一次接触 Skill，先看 ",[22,2755,1030],{"href":1029},"。想了解 Skill、MCP 和 Rules 的区别，看 ",[22,2758,1230],{"href":998},[15,2760,2638],{"id":2761},"_15-个最佳-claude-code-skill",[485,2763,1989],{"id":1988},[11,2765,2766,2768],{},[68,2767,597],{}," Claude Code 内的完整项目管理框架。把大项目拆成里程碑、阶段和任务，然后逐步执行，每步都有原子提交和验证。",[11,2770,2771,2773],{},[68,2772,603],{}," 独立开发者管理复杂的多日项目，不想在多次对话间丢失上下文。",[107,2775,2776],{"className":109,"code":1995,"language":111,"meta":112,"style":112},[43,2777,2778],{"__ignoreMap":112},[116,2779,2780,2782,2784],{"class":118,"line":119},[116,2781,512],{"class":122},[116,2783,127],{"class":126},[116,2785,2006],{"class":126},[11,2787,2788,2791,2792,2794],{},[68,2789,2790],{},"为什么排第一："," 解决了 Claude Code 最大的痛点——大项目的上下文丢失。它创建持久化的 ",[43,2793,724],{}," 目录，保存路线图、阶段计划和进度追踪。GitHub 48,600+ stars。",[11,2796,2797],{},[22,2798,629],{"href":759,"rel":2799},[26],[631,2801],{},[485,2803,2805],{"id":2804},"_2-vercel-skills-agent-skill-生态","2. Vercel Skills — Agent Skill 生态",[11,2807,2808,2810],{},[68,2809,597],{}," 13,000+ 社区贡献的 Skill 集合，覆盖 Next.js、React、部署和全栈开发模式。",[11,2812,2813,2815],{},[68,2814,603],{}," 使用 Vercel 技术栈的前端和全栈开发者。",[107,2817,2819],{"className":109,"code":2818,"language":111,"meta":112,"style":112},"tokrepo install d1eba6f1-5166-4762-bbbd-cf00f14892b7\n",[43,2820,2821],{"__ignoreMap":112},[116,2822,2823,2825,2827],{"class":118,"line":119},[116,2824,512],{"class":122},[116,2826,127],{"class":126},[116,2828,2829],{"class":126}," d1eba6f1-5166-4762-bbbd-cf00f14892b7\n",[11,2831,2832],{},[22,2833,629],{"href":799,"rel":2834},[26],[631,2836],{},[485,2838,2840],{"id":2839},"_3-agent-skill-creator","3. Agent Skill Creator",[11,2842,2843,2845],{},[68,2844,597],{}," 帮你创建新 Skill 的元技能。引导你编写 frontmatter、触发条件、指令，然后可选发布到 TokRepo。",[11,2847,2848,2850],{},[68,2849,603],{}," 想把常用 prompt 打包成可复用、可分享的 Skill 的开发者。",[107,2852,2853],{"className":109,"code":2075,"language":111,"meta":112,"style":112},[43,2854,2855],{"__ignoreMap":112},[116,2856,2857,2859,2861],{"class":118,"line":119},[116,2858,512],{"class":122},[116,2860,127],{"class":126},[116,2862,2086],{"class":126},[11,2864,2865],{},[22,2866,629],{"href":2091,"rel":2867},[26],[631,2869],{},[485,2871,2873],{"id":2872},"_4-claude-seo-完整-seo-技能","4. Claude SEO — 完整 SEO 技能",[11,2875,2876,2878],{},[68,2877,597],{}," 对网站运行全面 SEO 审计——关键词研究、页面分析、内容缺口、技术检查、竞品对比。",[11,2880,2881,2883],{},[68,2882,603],{}," 想做 SEO 但不想离开终端的开发者和运营人员。",[107,2885,2886],{"className":109,"code":2048,"language":111,"meta":112,"style":112},[43,2887,2888],{"__ignoreMap":112},[116,2889,2890,2892,2894],{"class":118,"line":119},[116,2891,512],{"class":122},[116,2893,127],{"class":126},[116,2895,2059],{"class":126},[11,2897,2898],{},"GitHub 4,000+ stars。大多数开发者知道应该做 SEO 但总是拖延，这个 Skill 让 SEO 变成一条命令的事。",[11,2900,2901],{},[22,2902,629],{"href":2064,"rel":2903},[26],[631,2905],{},[485,2907,2909],{"id":2908},"_5-systematic-debugging-四阶段根因分析","5. Systematic Debugging — 四阶段根因分析",[11,2911,2912,2914],{},[68,2913,597],{}," 结构化调试方法论：复现 → 隔离 → 诊断 → 修复。管理调试会话，持久化假设追踪。",[11,2916,2917,2919],{},[68,2918,603],{}," 跨多文件的复杂 bug，特别是竞态条件和难以复现的问题。",[107,2921,2922],{"className":109,"code":2021,"language":111,"meta":112,"style":112},[43,2923,2924],{"__ignoreMap":112},[116,2925,2926,2928,2930],{"class":118,"line":119},[116,2927,512],{"class":122},[116,2929,127],{"class":126},[116,2931,2032],{"class":126},[11,2933,2934],{},"不再让 Claude 随机尝试修复。每个假设被记录、测试、确认或排除。对于棘手的 bug 能节省数小时。",[11,2936,2937],{},[22,2938,629],{"href":2037,"rel":2939},[26],[631,2941],{},[485,2943,2945],{"id":2944},"_6-planning-with-files-持久化规划","6. Planning with Files — 持久化规划",[11,2947,2948,2950,2951,2953],{},[68,2949,597],{}," 为复杂任务创建和维护规划文件（",[43,2952,724],{},"）。跨多个 Claude Code 会话追踪目标、进度、阻塞和决策。",[11,2955,2956,2958],{},[68,2957,603],{}," 多会话项目，需要 Claude \"记住\" 之前的规划和决策。",[107,2960,2961],{"className":109,"code":2102,"language":111,"meta":112,"style":112},[43,2962,2963],{"__ignoreMap":112},[116,2964,2965,2967,2969],{"class":118,"line":119},[116,2966,512],{"class":122},[116,2968,127],{"class":126},[116,2970,2113],{"class":126},[11,2972,2973],{},[22,2974,629],{"href":2118,"rel":2975},[26],[631,2977],{},[485,2979,2981],{"id":2980},"_7-infisical-密钥管理","7. Infisical — 密钥管理",[11,2983,2984,2986],{},[68,2985,597],{}," 集成 Infisical 密钥管理。在终端中拉取、推送和管理环境变量与密钥。",[11,2988,2989,2991,2992,2995],{},[68,2990,603],{}," 使用 Infisical 管理密钥的团队，希望 Claude 安全处理 ",[43,2993,2994],{},".env"," 文件。",[107,2997,2999],{"className":109,"code":2998,"language":111,"meta":112,"style":112},"tokrepo install 41fbcc5c-aac8-4f3e-8305-cf2462809684\n",[43,3000,3001],{"__ignoreMap":112},[116,3002,3003,3005,3007],{"class":118,"line":119},[116,3004,512],{"class":122},[116,3006,127],{"class":126},[116,3008,3009],{"class":126}," 41fbcc5c-aac8-4f3e-8305-cf2462809684\n",[11,3011,3012],{},"GitHub 25,000+ stars。安全关键——确保 Claude 永远不会硬编码密钥。",[11,3014,3015],{},[22,3016,629],{"href":3017,"rel":3018},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F41fbcc5c-aac8-4f3e-8305-cf2462809684",[26],[631,3020],{},[485,3022,3024],{"id":3023},"_8-v0-by-vercel","8. v0 by Vercel",[11,3026,3027,3029],{},[68,3028,597],{}," 用 Vercel 的 v0 AI 生成 UI 组件。描述你想要什么，得到生产可用的 React\u002FTailwind 组件。",[11,3031,3032,3034],{},[68,3033,603],{}," 快速原型开发，不想打开浏览器。",[107,3036,3038],{"className":109,"code":3037,"language":111,"meta":112,"style":112},"tokrepo install 4acf5c24-7eb6-44c9-b4e5-ccd1b5baf460\n",[43,3039,3040],{"__ignoreMap":112},[116,3041,3042,3044,3046],{"class":118,"line":119},[116,3043,512],{"class":122},[116,3045,127],{"class":126},[116,3047,3048],{"class":126}," 4acf5c24-7eb6-44c9-b4e5-ccd1b5baf460\n",[11,3050,3051],{},"GitHub 8,000+ stars。结合 Claude Code 的编码能力和 v0 的设计感。",[11,3053,3054],{},[22,3055,629],{"href":3056,"rel":3057},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F4acf5c24-7eb6-44c9-b4e5-ccd1b5baf460",[26],[631,3059],{},[485,3061,3063],{"id":3062},"_9-lark-cli-skill-skill-maker","9. Lark CLI Skill: Skill Maker",[11,3065,3066,3068],{},[68,3067,597],{}," 分析飞书 OpenAPI 规范，自动生成飞书 CLI Skill。指定一个 API 端点，它创建完整可用的 Skill。",[11,3070,3071,3073],{},[68,3072,603],{}," 使用飞书的团队，想从 Claude Code 自动化任何飞书 API 操作。",[107,3075,3077],{"className":109,"code":3076,"language":111,"meta":112,"style":112},"tokrepo install 065a3ce6-0c95-4a75-a009-ae5c90ce5ffa\n",[43,3078,3079],{"__ignoreMap":112},[116,3080,3081,3083,3085],{"class":118,"line":119},[116,3082,512],{"class":122},[116,3084,127],{"class":126},[116,3086,3087],{"class":126}," 065a3ce6-0c95-4a75-a009-ae5c90ce5ffa\n",[11,3089,3090],{},"TokRepo 上浏览量最高的 Skill（64 次）。如果你的团队用飞书，这是生成所有飞书 Skill 的 Skill。",[11,3092,3093],{},[22,3094,629],{"href":3095,"rel":3096},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F065a3ce6-0c95-4a75-a009-ae5c90ce5ffa",[26],[631,3098],{},[485,3100,3102],{"id":3101},"_10-lark-cli-skill-wiki","10. Lark CLI Skill: Wiki",[11,3104,3105,3107],{},[68,3106,597],{}," 从 Claude Code 直接读取、创建和管理飞书知识库页面。",[107,3109,3111],{"className":109,"code":3110,"language":111,"meta":112,"style":112},"tokrepo install a5eb9344-208c-4032-9cca-2a17f53fc271\n",[43,3112,3113],{"__ignoreMap":112},[116,3114,3115,3117,3119],{"class":118,"line":119},[116,3116,512],{"class":122},[116,3118,127],{"class":126},[116,3120,3121],{"class":126}," a5eb9344-208c-4032-9cca-2a17f53fc271\n",[11,3123,3124],{},[22,3125,629],{"href":3126,"rel":3127},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fa5eb9344-208c-4032-9cca-2a17f53fc271",[26],[631,3129],{},[485,3131,3133],{"id":3132},"_11-remotion-ai-skill","11. Remotion AI Skill",[11,3135,3136,3138],{},[68,3137,597],{}," 用 Remotion 框架编程式创建视频。编写视频组合、管理时间线、添加动画、字幕和配音。",[11,3140,3141,3143],{},[68,3142,603],{}," 需要程序化生成视频的开发者（营销短片、产品演示、教程）。",[107,3145,3147],{"className":109,"code":3146,"language":111,"meta":112,"style":112},"tokrepo install 57997ead-c8fa-409c-916f-28bbc0adc8d9\n",[43,3148,3149],{"__ignoreMap":112},[116,3150,3151,3153,3155],{"class":118,"line":119},[116,3152,512],{"class":122},[116,3154,127],{"class":126},[116,3156,3157],{"class":126}," 57997ead-c8fa-409c-916f-28bbc0adc8d9\n",[11,3159,3160],{},[22,3161,629],{"href":3162,"rel":3163},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F57997ead-c8fa-409c-916f-28bbc0adc8d9",[26],[631,3165],{},[485,3167,3169],{"id":3168},"_12-web-access-skill","12. Web Access Skill",[11,3171,3172,3174],{},[68,3173,597],{}," 让 Claude Code 能获取和分析网页、API 和在线文档。",[107,3176,3178],{"className":109,"code":3177,"language":111,"meta":112,"style":112},"tokrepo install 5766b7f4-f62e-4c74-80b4-c2763353b0fd\n",[43,3179,3180],{"__ignoreMap":112},[116,3181,3182,3184,3186],{"class":118,"line":119},[116,3183,512],{"class":122},[116,3185,127],{"class":126},[116,3187,3188],{"class":126}," 5766b7f4-f62e-4c74-80b4-c2763353b0fd\n",[11,3190,3191],{},[22,3192,629],{"href":919,"rel":3193},[26],[631,3195],{},[485,3197,3199],{"id":3198},"_13-lark-cli-skill-events","13. Lark CLI Skill: Events",[11,3201,3202,3204],{},[68,3203,597],{}," 管理飞书日历事件——创建、更新、列出和删除日程。",[107,3206,3208],{"className":109,"code":3207,"language":111,"meta":112,"style":112},"tokrepo install d74aa20d-6376-47bd-8e48-8e9af76504e9\n",[43,3209,3210],{"__ignoreMap":112},[116,3211,3212,3214,3216],{"class":118,"line":119},[116,3213,512],{"class":122},[116,3215,127],{"class":126},[116,3217,3218],{"class":126}," d74aa20d-6376-47bd-8e48-8e9af76504e9\n",[11,3220,3221],{},[22,3222,629],{"href":3223,"rel":3224},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fd74aa20d-6376-47bd-8e48-8e9af76504e9",[26],[631,3226],{},[485,3228,3230],{"id":3229},"_14-last30days-ai-趋势研究","14. Last30Days — AI 趋势研究",[11,3232,3233,3235],{},[68,3234,597],{}," 研究过去 30 天 AI 领域发生了什么。聚合各大 AI 实验室和社区的新闻、发布和趋势。",[107,3237,3239],{"className":109,"code":3238,"language":111,"meta":112,"style":112},"tokrepo install 6a80876b-83ef-4e61-a402-63624435cdda\n",[43,3240,3241],{"__ignoreMap":112},[116,3242,3243,3245,3247],{"class":118,"line":119},[116,3244,512],{"class":122},[116,3246,127],{"class":126},[116,3248,3249],{"class":126}," 6a80876b-83ef-4e61-a402-63624435cdda\n",[11,3251,3252],{},[22,3253,629],{"href":3254,"rel":3255},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F6a80876b-83ef-4e61-a402-63624435cdda",[26],[631,3257],{},[485,3259,3261],{"id":3260},"_15-agent-skills-standard","15. Agent Skills Standard",[11,3263,3264,3266],{},[68,3265,597],{}," 定义通用的 SKILL.md 格式——frontmatter 字段、触发模式、指令结构和测试规范。",[107,3268,3270],{"className":109,"code":3269,"language":111,"meta":112,"style":112},"tokrepo install 1a1292f5-c88b-4eb5-b7dd-a3bf7bb29ee8\n",[43,3271,3272],{"__ignoreMap":112},[116,3273,3274,3276,3278],{"class":118,"line":119},[116,3275,512],{"class":122},[116,3277,127],{"class":126},[116,3279,3280],{"class":126}," 1a1292f5-c88b-4eb5-b7dd-a3bf7bb29ee8\n",[11,3282,3283],{},[22,3284,629],{"href":3285,"rel":3286},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F1a1292f5-c88b-4eb5-b7dd-a3bf7bb29ee8",[26],[631,3288],{},[15,3290,3291],{"id":3291},"对比总览",[931,3293],{":headers":3294,":rows":3295},"[\"Skill\",\"适合场景\",\"复杂度\",\"GitHub Stars\"]","[[\"GSD\",\"项目管理\",\"中\",\"48,600+\"],[\"Vercel Skills\",\"前端生态\",\"低\",\"13,000+\"],[\"Skill Creator\",\"创建新 Skill\",\"低\",\"660+\"],[\"Claude SEO\",\"SEO 审计\",\"低\",\"4,000+\"],[\"Systematic Debugging\",\"复杂 Bug\",\"中\",\"—\"],[\"Planning with Files\",\"跨会话工作\",\"低\",\"—\"],[\"Infisical\",\"密钥管理\",\"中\",\"25,000+\"],[\"v0 by Vercel\",\"UI 原型\",\"低\",\"8,000+\"],[\"Lark Skill Maker\",\"飞书 API 自动化\",\"中\",\"—\"],[\"Lark Wiki\",\"知识库管理\",\"低\",\"—\"],[\"Remotion AI\",\"视频制作\",\"高\",\"—\"],[\"Web Access\",\"网页研究\",\"低\",\"—\"],[\"Lark Events\",\"日历自动化\",\"低\",\"—\"],[\"Last30Days\",\"AI 趋势追踪\",\"低\",\"—\"],[\"Skills Standard\",\"Skill 编写规范\",\"低\",\"—\"]]",[15,3297,3298],{"id":3298},"组合推荐",[11,3300,3301],{},[68,3302,3303],{},"独立开发者套餐：",[230,3305,3306,3312,3318],{},[65,3307,3308,3311],{},[68,3309,3310],{},"GSD"," 做项目规划和追踪",[65,3313,3314,3317],{},[68,3315,3316],{},"Systematic Debugging"," 解决复杂 bug",[65,3319,3320,3323],{},[68,3321,3322],{},"Planning with Files"," 跨会话记忆",[11,3325,3326],{},[68,3327,3328],{},"前端开发套餐：",[230,3330,3331,3337,3343],{},[65,3332,3333,3336],{},[68,3334,3335],{},"Vercel Skills"," 获取框架最佳实践",[65,3338,3339,3342],{},[68,3340,3341],{},"v0 by Vercel"," 快速生成 UI 组件",[65,3344,3345,3348],{},[68,3346,3347],{},"Claude SEO"," 上线时优化",[11,3350,3351],{},[68,3352,3353],{},"团队协作套餐：",[230,3355,3356,3362,3372],{},[65,3357,3358,3361],{},[68,3359,3360],{},"Infisical"," 管理密钥",[65,3363,3364,3367,3368,3371],{},[68,3365,3366],{},"Lark Skill Maker"," + ",[68,3369,3370],{},"Lark Wiki"," 团队通讯",[65,3373,3374,3377],{},[68,3375,3376],{},"Agent Skill Creator"," 构建团队专属 Skill",[15,3379,976],{"id":976},[485,3381,3383],{"id":3382},"怎么安装-claude-code-skill","怎么安装 Claude Code Skill？",[11,3385,3386,3387,3390,3391,3394],{},"终端运行 ",[43,3388,3389],{},"tokrepo install \u003Cuuid>","，或手动把 Skill 的 Markdown 内容复制到 ",[43,3392,3393],{},".claude\u002Fcommands\u002Fyour-skill-name.md","。Claude Code 自动发现该目录下的 Skill。",[485,3396,3398],{"id":3397},"可以同时用多个-skill-吗","可以同时用多个 Skill 吗？",[11,3400,3401,3402,3404],{},"可以。Claude Code 启动时加载 ",[43,3403,52],{}," 下所有 Skill。只有通过 trigger 调用时才消耗上下文，平时不占用。",[485,3406,3408],{"id":3407},"这些-skill-免费吗","这些 Skill 免费吗？",[11,3410,3411],{},"全部免费开源。TokRepo 是免费注册平台——搜索、安装、发布 Skill 都不收费。",[485,3413,3415],{"id":3414},"skill-能在-codex-cli-或-gemini-cli-上用吗","Skill 能在 Codex CLI 或 Gemini CLI 上用吗？",[11,3417,3418,3419,3423,3424,57],{},"大部分 Skill 稍作修改就能跨 Agent 使用。",[22,3420,3422],{"href":3285,"rel":3421},[26],"Agent Skills Standard"," 定义了通用格式。详见 ",[22,3425,1230],{"href":998},[485,3427,3429],{"id":3428},"怎么创建自己的-skill","怎么创建自己的 Skill？",[11,3431,3432,3433,3435,3436,3439],{},"按我们的教程操作：",[22,3434,1030],{"href":1029},"。或者安装 ",[22,3437,3376],{"href":2091,"rel":3438},[26]," 让 Claude 引导你。",[15,3441,1038],{"id":1038},[62,3443,3444,3449,3455,3460],{},[65,3445,3446,3448],{},[22,3447,2632],{"href":1029}," — 从零构建自己的 Skill",[65,3450,3451,1063],{},[22,3452,3454],{"href":480,"rel":3453},[26],"浏览 TokRepo 500+ Skill",[65,3456,3457,3459],{},[22,3458,2644],{"href":998}," — 理解三种扩展方式",[65,3461,3462,3466],{},[22,3463,3465],{"href":3464},"\u002Fguide\u002Fbest-mcp-servers","最佳 MCP Server 推荐"," — 用 MCP 补充 Skill 的能力",[1065,3468,3469],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":112,"searchDepth":280,"depth":280,"links":3471},[3472,3473,3474,3491,3492,3493,3500],{"id":1120,"depth":280,"text":1120},{"id":2736,"depth":280,"text":2737},{"id":2761,"depth":280,"text":2638,"children":3475},[3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490],{"id":1988,"depth":287,"text":1989},{"id":2804,"depth":287,"text":2805},{"id":2839,"depth":287,"text":2840},{"id":2872,"depth":287,"text":2873},{"id":2908,"depth":287,"text":2909},{"id":2944,"depth":287,"text":2945},{"id":2980,"depth":287,"text":2981},{"id":3023,"depth":287,"text":3024},{"id":3062,"depth":287,"text":3063},{"id":3101,"depth":287,"text":3102},{"id":3132,"depth":287,"text":3133},{"id":3168,"depth":287,"text":3169},{"id":3198,"depth":287,"text":3199},{"id":3229,"depth":287,"text":3230},{"id":3260,"depth":287,"text":3261},{"id":3291,"depth":280,"text":3291},{"id":3298,"depth":280,"text":3298},{"id":976,"depth":280,"text":976,"children":3494},[3495,3496,3497,3498,3499],{"id":3382,"depth":287,"text":3383},{"id":3397,"depth":287,"text":3398},{"id":3407,"depth":287,"text":3408},{"id":3414,"depth":287,"text":3415},{"id":3428,"depth":287,"text":3429},{"id":1038,"depth":280,"text":1038},"comparison","Curated list of the 15 best agent skills for Claude Code. Each skill tested on real projects with install commands and usage examples.","精选 15 个最佳 Claude Code Agent Skill，每个都经过真实项目测试，附安装命令和使用示例。","\u002Fguide\u002Fimages\u002Fbest-claude-code-skills-hero.svg",{},"\u002Fzh\u002Fguide\u002Fbest-claude-code-skills",{"title":2713,"description":3502},"zh\u002Fguide\u002Fbest-claude-code-skills",[2707,1106,3510,3511],"best-of","productivity","2026 年 15 个最佳 Claude Code Skill 实测推荐","FdMZiMEXB8UM5pQDxfYIN4rjooN3ac-L26dge2CssSM",{"id":3515,"title":3516,"author":6,"body":3517,"category":3501,"description":5213,"descriptionZh":5214,"extension":1097,"image":5215,"meta":5216,"navigation":283,"path":5217,"publishedAt":1101,"readTime":327,"seo":5218,"stem":5219,"tags":5220,"titleZh":5222,"updatedAt":1101,"__hash__":5223},"docs_zh\u002Fzh\u002Fguide\u002Fbest-mcp-servers.md","12 Best MCP Servers for AI Coding Agents (2026 Guide)",{"type":8,"value":3518,"toc":5186},[3519,3522,3524,3546,3550,3557,3569,3573,3577,3582,3587,3678,3683,3689,3691,3695,3700,3705,3784,3787,3793,3795,3799,3804,3809,3888,3891,3897,3899,3903,3915,3920,3999,4005,4011,4013,4017,4022,4027,4118,4134,4137,4143,4145,4149,4154,4159,4238,4244,4250,4252,4256,4261,4266,4357,4360,4366,4368,4372,4377,4382,4461,4471,4474,4480,4482,4486,4491,4496,4587,4590,4596,4598,4602,4607,4612,4703,4706,4712,4714,4718,4723,4728,4794,4797,4803,4805,4809,4814,4819,4884,4887,4905,4912,4918,4920,4922,4926,4930,4937,5102,5105,5107,5111,5116,5120,5128,5132,5135,5139,5156,5158,5183],[11,3520,3521],{},"12 个经过实测的 MCP Server，让你的 AI 编程助手直接操作 GitHub 仓库、数据库、文件系统、支付接口和浏览器。每个都附完整 JSON 配置，复制粘贴即可启用。",[15,3523,1120],{"id":1120},[62,3525,3526,3532,3543],{},[65,3527,1125,3528,3531],{},[22,3529,32],{"href":1128,"rel":3530},[26]," v2.1+，MCP 功能已开启",[65,3533,3534,3535,3538,3539,3542],{},"准备好 ",[43,3536,3537],{},"~\u002F.claude\u002Fsettings.json"," 或项目级 ",[43,3540,3541],{},".claude\u002Fsettings.json"," 配置文件",[65,3544,3545],{},"各 Server 所需运行环境（Node.js 20+、Python 3.11+ 或 Docker，下文逐个标注）",[15,3547,3549],{"id":3548},"mcp-server-是什么","MCP Server 是什么？",[11,3551,3552,3553,3556],{},"MCP（Model Context Protocol）Server 是轻量级进程，通过标准化的 JSON-RPC 协议向 AI 编程助手暴露工具、资源和提示词。与 ",[22,3554,3555],{"href":998},"Agent Skill","（纯 Markdown 指令）不同，MCP Server 运行真实代码，能与外部服务交互：数据库、API、浏览器、文件系统。",[11,3558,3559,3560,3565,3566,57],{},"Anthropic 在 GitHub 上发布了 ",[22,3561,3564],{"href":3562,"rel":3563},"https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fspecification",[26],"MCP 协议规范","，开源社区已经覆盖了绝大多数开发场景。Skill、MCP、Rules 三者的详细对比，参考 ",[22,3567,3568],{"href":998},"Skills vs MCP vs Rules 完整指南",[15,3570,3572],{"id":3571},"_12-个最佳-mcp-server","12 个最佳 MCP Server",[485,3574,3576],{"id":3575},"_1-github-mcp-server","1. GitHub MCP Server",[11,3578,3579,3581],{},[68,3580,597],{}," 完整的 GitHub 集成——创建 Issue、提交 PR、代码审查、搜索仓库、管理分支、读取文件内容，全部在 Claude Code 里完成。",[11,3583,3584,3586],{},[68,3585,603],{}," 日常工作围绕 GitHub 转的团队，希望 AI 直接参与 PR 流程。",[107,3588,3590],{"className":375,"code":3589,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"github\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"\u003Cyour-token>\"\n      }\n    }\n  }\n}\n",[43,3591,3592,3596,3604,3611,3623,3643,3650,3660,3665,3669,3674],{"__ignoreMap":112},[116,3593,3594],{"class":118,"line":119},[116,3595,384],{"class":186},[116,3597,3598,3601],{"class":118,"line":280},[116,3599,3600],{"class":130},"  \"mcpServers\"",[116,3602,3603],{"class":186},": {\n",[116,3605,3606,3609],{"class":118,"line":287},[116,3607,3608],{"class":130},"    \"github\"",[116,3610,3603],{"class":186},[116,3612,3613,3616,3618,3621],{"class":118,"line":293},[116,3614,3615],{"class":130},"      \"command\"",[116,3617,405],{"class":186},[116,3619,3620],{"class":126},"\"npx\"",[116,3622,411],{"class":186},[116,3624,3625,3628,3631,3634,3637,3640],{"class":118,"line":298},[116,3626,3627],{"class":130},"      \"args\"",[116,3629,3630],{"class":186},": [",[116,3632,3633],{"class":126},"\"-y\"",[116,3635,3636],{"class":186},", ",[116,3638,3639],{"class":126},"\"@modelcontextprotocol\u002Fserver-github\"",[116,3641,3642],{"class":186},"],\n",[116,3644,3645,3648],{"class":118,"line":304},[116,3646,3647],{"class":130},"      \"env\"",[116,3649,3603],{"class":186},[116,3651,3652,3655,3657],{"class":118,"line":310},[116,3653,3654],{"class":130},"        \"GITHUB_PERSONAL_ACCESS_TOKEN\"",[116,3656,405],{"class":186},[116,3658,3659],{"class":126},"\"\u003Cyour-token>\"\n",[116,3661,3662],{"class":118,"line":316},[116,3663,3664],{"class":186},"      }\n",[116,3666,3667],{"class":118,"line":322},[116,3668,454],{"class":186},[116,3670,3671],{"class":118,"line":327},[116,3672,3673],{"class":186},"  }\n",[116,3675,3676],{"class":118,"line":333},[116,3677,464],{"class":186},[11,3679,3680,3682],{},[68,3681,2790],{}," GitHub 是大多数开发流程的中心。这个 Server 让 Claude 能创建分支、推送代码、开 PR、回复 Review 评论——变成真正的团队成员。支持 30+ 工具，覆盖仓库、Issue、PR 和搜索。",[11,3684,3685],{},[22,3686,629],{"href":3687,"rel":3688},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fd6e7f6a5",[26],[631,3690],{},[485,3692,3694],{"id":3693},"_2-postgresql-mcp-server","2. PostgreSQL MCP Server",[11,3696,3697,3699],{},[68,3698,597],{}," 让 Claude Code 直连 PostgreSQL 数据库。执行只读查询、查看表结构、列出所有表、分析数据——用自然语言就行。",[11,3701,3702,3704],{},[68,3703,603],{}," 后端开发者，需要频繁查看数据库 Schema、写 SQL 或排查数据问题，不想在终端和 SQL 客户端之间来回切换。",[107,3706,3708],{"className":375,"code":3707,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"postgres\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-postgres\"],\n      \"env\": {\n        \"POSTGRES_CONNECTION_STRING\": \"postgresql:\u002F\u002Fuser:pass@localhost:5432\u002Fmydb\"\n      }\n    }\n  }\n}\n",[43,3709,3710,3714,3720,3727,3737,3752,3758,3768,3772,3776,3780],{"__ignoreMap":112},[116,3711,3712],{"class":118,"line":119},[116,3713,384],{"class":186},[116,3715,3716,3718],{"class":118,"line":280},[116,3717,3600],{"class":130},[116,3719,3603],{"class":186},[116,3721,3722,3725],{"class":118,"line":287},[116,3723,3724],{"class":130},"    \"postgres\"",[116,3726,3603],{"class":186},[116,3728,3729,3731,3733,3735],{"class":118,"line":293},[116,3730,3615],{"class":130},[116,3732,405],{"class":186},[116,3734,3620],{"class":126},[116,3736,411],{"class":186},[116,3738,3739,3741,3743,3745,3747,3750],{"class":118,"line":298},[116,3740,3627],{"class":130},[116,3742,3630],{"class":186},[116,3744,3633],{"class":126},[116,3746,3636],{"class":186},[116,3748,3749],{"class":126},"\"@modelcontextprotocol\u002Fserver-postgres\"",[116,3751,3642],{"class":186},[116,3753,3754,3756],{"class":118,"line":304},[116,3755,3647],{"class":130},[116,3757,3603],{"class":186},[116,3759,3760,3763,3765],{"class":118,"line":310},[116,3761,3762],{"class":130},"        \"POSTGRES_CONNECTION_STRING\"",[116,3764,405],{"class":186},[116,3766,3767],{"class":126},"\"postgresql:\u002F\u002Fuser:pass@localhost:5432\u002Fmydb\"\n",[116,3769,3770],{"class":118,"line":316},[116,3771,3664],{"class":186},[116,3773,3774],{"class":118,"line":322},[116,3775,454],{"class":186},[116,3777,3778],{"class":118,"line":327},[116,3779,3673],{"class":186},[116,3781,3782],{"class":118,"line":333},[116,3783,464],{"class":186},[11,3785,3786],{},"Claude 直接查询你的 Schema，建议索引优化，内联生成 SQL，省去不断切换工具的时间。",[11,3788,3789],{},[22,3790,629],{"href":3791,"rel":3792},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Ffaa28c56",[26],[631,3794],{},[485,3796,3798],{"id":3797},"_3-filesystem-mcp-server","3. Filesystem MCP Server",[11,3800,3801,3803],{},[68,3802,597],{}," 给 Claude Code 受控的本地文件系统访问权限。读写文件、目录列表、文件搜索（glob 模式）、文件移动。",[11,3805,3806,3808],{},[68,3807,603],{}," Claude 需要操作当前项目目录之外的文件——配置文件、日志、多仓库项目。",[107,3810,3812],{"className":375,"code":3811,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"filesystem\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\",\n        \"\u002FUsers\u002Fyou\u002Fprojects\",\n        \"\u002FUsers\u002Fyou\u002Fconfigs\"\n      ]\n    }\n  }\n}\n",[43,3813,3814,3818,3824,3831,3841,3847,3859,3866,3871,3876,3880,3884],{"__ignoreMap":112},[116,3815,3816],{"class":118,"line":119},[116,3817,384],{"class":186},[116,3819,3820,3822],{"class":118,"line":280},[116,3821,3600],{"class":130},[116,3823,3603],{"class":186},[116,3825,3826,3829],{"class":118,"line":287},[116,3827,3828],{"class":130},"    \"filesystem\"",[116,3830,3603],{"class":186},[116,3832,3833,3835,3837,3839],{"class":118,"line":293},[116,3834,3615],{"class":130},[116,3836,405],{"class":186},[116,3838,3620],{"class":126},[116,3840,411],{"class":186},[116,3842,3843,3845],{"class":118,"line":298},[116,3844,3627],{"class":130},[116,3846,392],{"class":186},[116,3848,3849,3852,3854,3857],{"class":118,"line":304},[116,3850,3851],{"class":126},"        \"-y\"",[116,3853,3636],{"class":186},[116,3855,3856],{"class":126},"\"@modelcontextprotocol\u002Fserver-filesystem\"",[116,3858,411],{"class":186},[116,3860,3861,3864],{"class":118,"line":310},[116,3862,3863],{"class":126},"        \"\u002FUsers\u002Fyou\u002Fprojects\"",[116,3865,411],{"class":186},[116,3867,3868],{"class":118,"line":316},[116,3869,3870],{"class":126},"        \"\u002FUsers\u002Fyou\u002Fconfigs\"\n",[116,3872,3873],{"class":118,"line":322},[116,3874,3875],{"class":186},"      ]\n",[116,3877,3878],{"class":118,"line":327},[116,3879,454],{"class":186},[116,3881,3882],{"class":118,"line":333},[116,3883,3673],{"class":186},[116,3885,3886],{"class":118,"line":339},[116,3887,464],{"class":186},[11,3889,3890],{},"通过位置参数指定允许访问的目录，Claude 无法读取这些路径以外的文件。安全可控。",[11,3892,3893],{},[22,3894,629],{"href":3895,"rel":3896},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002F92b8baf2",[26],[631,3898],{},[485,3900,3902],{"id":3901},"_4-sqlite-mcp-server","4. SQLite MCP Server",[11,3904,3905,3907,3908,567,3911,3914],{},[68,3906,597],{}," 连接本地 SQLite 数据库文件。运行查询、创建表、查看 Schema、分析 ",[43,3909,3910],{},".sqlite",[43,3912,3913],{},".db"," 文件中的数据。",[11,3916,3917,3919],{},[68,3918,603],{}," 本地开发、快速原型、嵌入式数据库场景——移动端后台、Electron 应用尤其合适。",[107,3921,3923],{"className":375,"code":3922,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"sqlite\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-sqlite\"],\n      \"env\": {\n        \"SQLITE_DB_PATH\": \"\u002Fpath\u002Fto\u002Fyour\u002Fdatabase.sqlite\"\n      }\n    }\n  }\n}\n",[43,3924,3925,3929,3935,3942,3952,3967,3973,3983,3987,3991,3995],{"__ignoreMap":112},[116,3926,3927],{"class":118,"line":119},[116,3928,384],{"class":186},[116,3930,3931,3933],{"class":118,"line":280},[116,3932,3600],{"class":130},[116,3934,3603],{"class":186},[116,3936,3937,3940],{"class":118,"line":287},[116,3938,3939],{"class":130},"    \"sqlite\"",[116,3941,3603],{"class":186},[116,3943,3944,3946,3948,3950],{"class":118,"line":293},[116,3945,3615],{"class":130},[116,3947,405],{"class":186},[116,3949,3620],{"class":126},[116,3951,411],{"class":186},[116,3953,3954,3956,3958,3960,3962,3965],{"class":118,"line":298},[116,3955,3627],{"class":130},[116,3957,3630],{"class":186},[116,3959,3633],{"class":126},[116,3961,3636],{"class":186},[116,3963,3964],{"class":126},"\"@modelcontextprotocol\u002Fserver-sqlite\"",[116,3966,3642],{"class":186},[116,3968,3969,3971],{"class":118,"line":304},[116,3970,3647],{"class":130},[116,3972,3603],{"class":186},[116,3974,3975,3978,3980],{"class":118,"line":310},[116,3976,3977],{"class":130},"        \"SQLITE_DB_PATH\"",[116,3979,405],{"class":186},[116,3981,3982],{"class":126},"\"\u002Fpath\u002Fto\u002Fyour\u002Fdatabase.sqlite\"\n",[116,3984,3985],{"class":118,"line":316},[116,3986,3664],{"class":186},[116,3988,3989],{"class":118,"line":322},[116,3990,454],{"class":186},[116,3992,3993],{"class":118,"line":327},[116,3994,3673],{"class":186},[116,3996,3997],{"class":118,"line":333},[116,3998,464],{"class":186},[11,4000,4001,4002,4004],{},"SQLite 无处不在——手机 App、桌面工具、浏览器扩展、IoT 设备。这个 Server 让 Claude 直接查询任何 ",[43,4003,3913],{}," 文件，零基础设施，适合快速验证想法。",[11,4006,4007],{},[22,4008,629],{"href":4009,"rel":4010},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Ff67139b3",[26],[631,4012],{},[485,4014,4016],{"id":4015},"_5-slack-mcp-server","5. Slack MCP Server",[11,4018,4019,4021],{},[68,4020,597],{}," 读消息、发消息、搜索聊天记录、列出频道、管理线程——全部在 Claude Code 内完成。",[11,4023,4024,4026],{},[68,4025,603],{}," DevOps 和 On-call 场景，需要 Claude 在 Slack 中搜索事故上下文，或自动发送部署通知。",[107,4028,4030],{"className":375,"code":4029,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"slack\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-slack\"],\n      \"env\": {\n        \"SLACK_BOT_TOKEN\": \"xoxb-your-bot-token\",\n        \"SLACK_TEAM_ID\": \"T0123456789\"\n      }\n    }\n  }\n}\n",[43,4031,4032,4036,4042,4049,4059,4074,4080,4092,4102,4106,4110,4114],{"__ignoreMap":112},[116,4033,4034],{"class":118,"line":119},[116,4035,384],{"class":186},[116,4037,4038,4040],{"class":118,"line":280},[116,4039,3600],{"class":130},[116,4041,3603],{"class":186},[116,4043,4044,4047],{"class":118,"line":287},[116,4045,4046],{"class":130},"    \"slack\"",[116,4048,3603],{"class":186},[116,4050,4051,4053,4055,4057],{"class":118,"line":293},[116,4052,3615],{"class":130},[116,4054,405],{"class":186},[116,4056,3620],{"class":126},[116,4058,411],{"class":186},[116,4060,4061,4063,4065,4067,4069,4072],{"class":118,"line":298},[116,4062,3627],{"class":130},[116,4064,3630],{"class":186},[116,4066,3633],{"class":126},[116,4068,3636],{"class":186},[116,4070,4071],{"class":126},"\"@modelcontextprotocol\u002Fserver-slack\"",[116,4073,3642],{"class":186},[116,4075,4076,4078],{"class":118,"line":304},[116,4077,3647],{"class":130},[116,4079,3603],{"class":186},[116,4081,4082,4085,4087,4090],{"class":118,"line":310},[116,4083,4084],{"class":130},"        \"SLACK_BOT_TOKEN\"",[116,4086,405],{"class":186},[116,4088,4089],{"class":126},"\"xoxb-your-bot-token\"",[116,4091,411],{"class":186},[116,4093,4094,4097,4099],{"class":118,"line":316},[116,4095,4096],{"class":130},"        \"SLACK_TEAM_ID\"",[116,4098,405],{"class":186},[116,4100,4101],{"class":126},"\"T0123456789\"\n",[116,4103,4104],{"class":118,"line":322},[116,4105,3664],{"class":186},[116,4107,4108],{"class":118,"line":327},[116,4109,454],{"class":186},[116,4111,4112],{"class":118,"line":333},[116,4113,3673],{"class":186},[116,4115,4116],{"class":118,"line":339},[116,4117,464],{"class":186},[11,4119,4120,4121,4124,4125,4124,4128,4124,4131,57],{},"需要一个 Slack App，权限范围包括 ",[43,4122,4123],{},"channels:history","、",[43,4126,4127],{},"channels:read",[43,4129,4130],{},"chat:write",[43,4132,4133],{},"users:read",[11,4135,4136],{},"团队上下文散落在 Slack 里。与其手动搜\"后端团队那次迁移怎么说的\"，不如让 Claude 搜完直接用到回答中。",[11,4138,4139],{},[22,4140,629],{"href":4141,"rel":4142},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fd5a6ae87",[26],[631,4144],{},[485,4146,4148],{"id":4147},"_6-puppeteer-mcp-server","6. Puppeteer MCP Server",[11,4150,4151,4153],{},[68,4152,597],{}," 控制无头 Chrome 浏览器。导航页面、点击元素、填写表单、截图、提取 DOM 内容、在浏览器上下文中执行 JavaScript。",[11,4155,4156,4158],{},[68,4157,603],{}," E2E 测试、网页抓取、截图对比、调试只在真实浏览器中复现的前端问题。",[107,4160,4162],{"className":375,"code":4161,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"puppeteer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-puppeteer\"],\n      \"env\": {\n        \"PUPPETEER_HEADLESS\": \"true\"\n      }\n    }\n  }\n}\n",[43,4163,4164,4168,4174,4181,4191,4206,4212,4222,4226,4230,4234],{"__ignoreMap":112},[116,4165,4166],{"class":118,"line":119},[116,4167,384],{"class":186},[116,4169,4170,4172],{"class":118,"line":280},[116,4171,3600],{"class":130},[116,4173,3603],{"class":186},[116,4175,4176,4179],{"class":118,"line":287},[116,4177,4178],{"class":130},"    \"puppeteer\"",[116,4180,3603],{"class":186},[116,4182,4183,4185,4187,4189],{"class":118,"line":293},[116,4184,3615],{"class":130},[116,4186,405],{"class":186},[116,4188,3620],{"class":126},[116,4190,411],{"class":186},[116,4192,4193,4195,4197,4199,4201,4204],{"class":118,"line":298},[116,4194,3627],{"class":130},[116,4196,3630],{"class":186},[116,4198,3633],{"class":126},[116,4200,3636],{"class":186},[116,4202,4203],{"class":126},"\"@modelcontextprotocol\u002Fserver-puppeteer\"",[116,4205,3642],{"class":186},[116,4207,4208,4210],{"class":118,"line":304},[116,4209,3647],{"class":130},[116,4211,3603],{"class":186},[116,4213,4214,4217,4219],{"class":118,"line":310},[116,4215,4216],{"class":130},"        \"PUPPETEER_HEADLESS\"",[116,4218,405],{"class":186},[116,4220,4221],{"class":126},"\"true\"\n",[116,4223,4224],{"class":118,"line":316},[116,4225,3664],{"class":186},[116,4227,4228],{"class":118,"line":322},[116,4229,454],{"class":186},[116,4231,4232],{"class":118,"line":327},[116,4233,3673],{"class":186},[116,4235,4236],{"class":118,"line":333},[116,4237,464],{"class":186},[11,4239,4240,4241,4243],{},"这是给 Claude \"眼睛\" 的 Server。它能打开你的预发环境、截图、和设计稿对比、告诉你哪里不对——不用你打开浏览器。配合 ",[22,4242,3555],{"href":31}," 写测试用例，形成强大的 QA 闭环。",[11,4245,4246],{},[22,4247,629],{"href":4248,"rel":4249},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fefa97531",[26],[631,4251],{},[485,4253,4255],{"id":4254},"_7-sentry-mcp-server","7. Sentry MCP Server",[11,4257,4258,4260],{},[68,4259,597],{}," 从 Sentry 拉取错误数据——列出最近的 Issue、获取堆栈信息、查看事件详情、按错误信息搜索、检查发布健康度。",[11,4262,4263,4265],{},[68,4264,603],{}," On-call 开发者，希望 Claude 自动分析生产错误、关联堆栈和代码、给出修复建议。",[107,4267,4269],{"className":375,"code":4268,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"sentry\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-sentry\"],\n      \"env\": {\n        \"SENTRY_AUTH_TOKEN\": \"\u003Cyour-sentry-auth-token>\",\n        \"SENTRY_ORG\": \"your-org-slug\"\n      }\n    }\n  }\n}\n",[43,4270,4271,4275,4281,4288,4298,4313,4319,4331,4341,4345,4349,4353],{"__ignoreMap":112},[116,4272,4273],{"class":118,"line":119},[116,4274,384],{"class":186},[116,4276,4277,4279],{"class":118,"line":280},[116,4278,3600],{"class":130},[116,4280,3603],{"class":186},[116,4282,4283,4286],{"class":118,"line":287},[116,4284,4285],{"class":130},"    \"sentry\"",[116,4287,3603],{"class":186},[116,4289,4290,4292,4294,4296],{"class":118,"line":293},[116,4291,3615],{"class":130},[116,4293,405],{"class":186},[116,4295,3620],{"class":126},[116,4297,411],{"class":186},[116,4299,4300,4302,4304,4306,4308,4311],{"class":118,"line":298},[116,4301,3627],{"class":130},[116,4303,3630],{"class":186},[116,4305,3633],{"class":126},[116,4307,3636],{"class":186},[116,4309,4310],{"class":126},"\"@modelcontextprotocol\u002Fserver-sentry\"",[116,4312,3642],{"class":186},[116,4314,4315,4317],{"class":118,"line":304},[116,4316,3647],{"class":130},[116,4318,3603],{"class":186},[116,4320,4321,4324,4326,4329],{"class":118,"line":310},[116,4322,4323],{"class":130},"        \"SENTRY_AUTH_TOKEN\"",[116,4325,405],{"class":186},[116,4327,4328],{"class":126},"\"\u003Cyour-sentry-auth-token>\"",[116,4330,411],{"class":186},[116,4332,4333,4336,4338],{"class":118,"line":316},[116,4334,4335],{"class":130},"        \"SENTRY_ORG\"",[116,4337,405],{"class":186},[116,4339,4340],{"class":126},"\"your-org-slug\"\n",[116,4342,4343],{"class":118,"line":322},[116,4344,3664],{"class":186},[116,4346,4347],{"class":118,"line":327},[116,4348,454],{"class":186},[116,4350,4351],{"class":118,"line":333},[116,4352,3673],{"class":186},[116,4354,4355],{"class":118,"line":339},[116,4356,464],{"class":186},[11,4358,4359],{},"调试闭环——\"在 Sentry 看到报错 → 找到代码 → 理解原因 → 写修复\"——是最值得自动化的工作流之一。这个 Server 处理前两步，Claude 处理后两步。",[11,4361,4362],{},[22,4363,629],{"href":4364,"rel":4365},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fa739e813",[26],[631,4367],{},[485,4369,4371],{"id":4370},"_8-stripe-mcp-server","8. Stripe MCP Server",[11,4373,4374,4376],{},[68,4375,597],{}," 与 Stripe API 交互——列出客户、查询支付意图、检查订阅状态、搜索发票、查看 Webhook 事件。",[11,4378,4379,4381],{},[68,4380,603],{}," SaaS 开发者，需要 Claude 帮排查支付问题、验证订阅状态，或基于真实 Schema 生成 Stripe API 集成代码。",[107,4383,4385],{"className":375,"code":4384,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"stripe\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-stripe\"],\n      \"env\": {\n        \"STRIPE_SECRET_KEY\": \"sk_test_...\"\n      }\n    }\n  }\n}\n",[43,4386,4387,4391,4397,4404,4414,4429,4435,4445,4449,4453,4457],{"__ignoreMap":112},[116,4388,4389],{"class":118,"line":119},[116,4390,384],{"class":186},[116,4392,4393,4395],{"class":118,"line":280},[116,4394,3600],{"class":130},[116,4396,3603],{"class":186},[116,4398,4399,4402],{"class":118,"line":287},[116,4400,4401],{"class":130},"    \"stripe\"",[116,4403,3603],{"class":186},[116,4405,4406,4408,4410,4412],{"class":118,"line":293},[116,4407,3615],{"class":130},[116,4409,405],{"class":186},[116,4411,3620],{"class":126},[116,4413,411],{"class":186},[116,4415,4416,4418,4420,4422,4424,4427],{"class":118,"line":298},[116,4417,3627],{"class":130},[116,4419,3630],{"class":186},[116,4421,3633],{"class":126},[116,4423,3636],{"class":186},[116,4425,4426],{"class":126},"\"@modelcontextprotocol\u002Fserver-stripe\"",[116,4428,3642],{"class":186},[116,4430,4431,4433],{"class":118,"line":304},[116,4432,3647],{"class":130},[116,4434,3603],{"class":186},[116,4436,4437,4440,4442],{"class":118,"line":310},[116,4438,4439],{"class":130},"        \"STRIPE_SECRET_KEY\"",[116,4441,405],{"class":186},[116,4443,4444],{"class":126},"\"sk_test_...\"\n",[116,4446,4447],{"class":118,"line":316},[116,4448,3664],{"class":186},[116,4450,4451],{"class":118,"line":322},[116,4452,454],{"class":186},[116,4454,4455],{"class":118,"line":327},[116,4456,3673],{"class":186},[116,4458,4459],{"class":118,"line":333},[116,4460,464],{"class":186},[4462,4463,4464],"blockquote",{},[11,4465,4466,4467,4470],{},"开发阶段务必使用 ",[68,4468,4469],{},"Test Mode"," 密钥。绝不要在共享配置中暴露生产环境 Stripe Key。",[11,4472,4473],{},"支付 Bug 影响真金白银。Claude 能拉取实际的 Stripe Event，对比你的 Webhook 处理逻辑，一眼发现 mismatch——省下在 Stripe Dashboard 里翻来覆去的时间。",[11,4475,4476],{},[22,4477,629],{"href":4478,"rel":4479},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002F9fa25556",[26],[631,4481],{},[485,4483,4485],{"id":4484},"_9-supabase-mcp-server","9. Supabase MCP Server",[11,4487,4488,4490],{},[68,4489,597],{}," 完整 Supabase 集成——查询 Postgres 表、管理 Auth 用户、操作 Storage Bucket、调用 Edge Function。数据库、认证、存储一个 Server 搞定。",[11,4492,4493,4495],{},[68,4494,603],{}," 用 Supabase 构建产品的独立开发者和初创团队，希望 Claude 管理整个后端。",[107,4497,4499],{"className":375,"code":4498,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"supabase\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@supabase\u002Fmcp-server\"],\n      \"env\": {\n        \"SUPABASE_URL\": \"https:\u002F\u002Fyour-project.supabase.co\",\n        \"SUPABASE_SERVICE_ROLE_KEY\": \"eyJ...\"\n      }\n    }\n  }\n}\n",[43,4500,4501,4505,4511,4518,4528,4543,4549,4561,4571,4575,4579,4583],{"__ignoreMap":112},[116,4502,4503],{"class":118,"line":119},[116,4504,384],{"class":186},[116,4506,4507,4509],{"class":118,"line":280},[116,4508,3600],{"class":130},[116,4510,3603],{"class":186},[116,4512,4513,4516],{"class":118,"line":287},[116,4514,4515],{"class":130},"    \"supabase\"",[116,4517,3603],{"class":186},[116,4519,4520,4522,4524,4526],{"class":118,"line":293},[116,4521,3615],{"class":130},[116,4523,405],{"class":186},[116,4525,3620],{"class":126},[116,4527,411],{"class":186},[116,4529,4530,4532,4534,4536,4538,4541],{"class":118,"line":298},[116,4531,3627],{"class":130},[116,4533,3630],{"class":186},[116,4535,3633],{"class":126},[116,4537,3636],{"class":186},[116,4539,4540],{"class":126},"\"@supabase\u002Fmcp-server\"",[116,4542,3642],{"class":186},[116,4544,4545,4547],{"class":118,"line":304},[116,4546,3647],{"class":130},[116,4548,3603],{"class":186},[116,4550,4551,4554,4556,4559],{"class":118,"line":310},[116,4552,4553],{"class":130},"        \"SUPABASE_URL\"",[116,4555,405],{"class":186},[116,4557,4558],{"class":126},"\"https:\u002F\u002Fyour-project.supabase.co\"",[116,4560,411],{"class":186},[116,4562,4563,4566,4568],{"class":118,"line":316},[116,4564,4565],{"class":130},"        \"SUPABASE_SERVICE_ROLE_KEY\"",[116,4567,405],{"class":186},[116,4569,4570],{"class":126},"\"eyJ...\"\n",[116,4572,4573],{"class":118,"line":322},[116,4574,3664],{"class":186},[116,4576,4577],{"class":118,"line":327},[116,4578,454],{"class":186},[116,4580,4581],{"class":118,"line":333},[116,4582,3673],{"class":186},[116,4584,4585],{"class":118,"line":339},[116,4586,464],{"class":186},[11,4588,4589],{},"Supabase 是最流行的开源 Firebase 替代品。这个 Server 涵盖 Postgres 查询、Row Level Security 策略、Auth 用户管理和 Storage——一个 MCP 连接全搞定。如果你的技术栈是 Supabase，这个必装。",[11,4591,4592],{},[22,4593,629],{"href":4594,"rel":4595},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fb141b1a9",[26],[631,4597],{},[485,4599,4601],{"id":4600},"_10-elasticsearch-mcp-server","10. Elasticsearch MCP Server",[11,4603,4604,4606],{},[68,4605,597],{}," 查询 Elasticsearch 索引、查看 Mapping、执行聚合分析、管理索引生命周期。支持 Elasticsearch 7.x 和 8.x。",[11,4608,4609,4611],{},[68,4610,603],{}," 后端团队用 Elasticsearch 做搜索，需要 Claude 帮写查询、调试相关性、优化 Mapping。",[107,4613,4615],{"className":375,"code":4614,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"elasticsearch\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-elasticsearch\"],\n      \"env\": {\n        \"ELASTICSEARCH_URL\": \"http:\u002F\u002Flocalhost:9200\",\n        \"ELASTICSEARCH_API_KEY\": \"\u003Cyour-api-key>\"\n      }\n    }\n  }\n}\n",[43,4616,4617,4621,4627,4634,4644,4659,4665,4677,4687,4691,4695,4699],{"__ignoreMap":112},[116,4618,4619],{"class":118,"line":119},[116,4620,384],{"class":186},[116,4622,4623,4625],{"class":118,"line":280},[116,4624,3600],{"class":130},[116,4626,3603],{"class":186},[116,4628,4629,4632],{"class":118,"line":287},[116,4630,4631],{"class":130},"    \"elasticsearch\"",[116,4633,3603],{"class":186},[116,4635,4636,4638,4640,4642],{"class":118,"line":293},[116,4637,3615],{"class":130},[116,4639,405],{"class":186},[116,4641,3620],{"class":126},[116,4643,411],{"class":186},[116,4645,4646,4648,4650,4652,4654,4657],{"class":118,"line":298},[116,4647,3627],{"class":130},[116,4649,3630],{"class":186},[116,4651,3633],{"class":126},[116,4653,3636],{"class":186},[116,4655,4656],{"class":126},"\"@modelcontextprotocol\u002Fserver-elasticsearch\"",[116,4658,3642],{"class":186},[116,4660,4661,4663],{"class":118,"line":304},[116,4662,3647],{"class":130},[116,4664,3603],{"class":186},[116,4666,4667,4670,4672,4675],{"class":118,"line":310},[116,4668,4669],{"class":130},"        \"ELASTICSEARCH_URL\"",[116,4671,405],{"class":186},[116,4673,4674],{"class":126},"\"http:\u002F\u002Flocalhost:9200\"",[116,4676,411],{"class":186},[116,4678,4679,4682,4684],{"class":118,"line":316},[116,4680,4681],{"class":130},"        \"ELASTICSEARCH_API_KEY\"",[116,4683,405],{"class":186},[116,4685,4686],{"class":126},"\"\u003Cyour-api-key>\"\n",[116,4688,4689],{"class":118,"line":322},[116,4690,3664],{"class":186},[116,4692,4693],{"class":118,"line":327},[116,4694,454],{"class":186},[116,4696,4697],{"class":118,"line":333},[116,4698,3673],{"class":186},[116,4700,4701],{"class":118,"line":339},[116,4702,464],{"class":186},[11,4704,4705],{},"Elasticsearch Query DSL 出了名的复杂。让 Claude 基于你的真实索引——真实 Mapping 和真实数据——写查询并测试，效果远好于凭记忆生成。",[11,4707,4708],{},[22,4709,629],{"href":4710,"rel":4711},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fcba686ed",[26],[631,4713],{},[485,4715,4717],{"id":4716},"_11-glama-mcp-server","11. Glama MCP Server",[11,4719,4720,4722],{},[68,4721,597],{}," MCP 生态的元服务器。搜索 Glama 注册中心里的 MCP Server，获取安装说明，对比能力——全在 Claude Code 内完成。",[11,4724,4725,4727],{},[68,4726,603],{}," 想探索 MCP 生态、快速发现和安装新 Server 的开发者。",[107,4729,4731],{"className":375,"code":4730,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"glama\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anthropic-ai\u002Fmcp-glama\"],\n      \"env\": {}\n    }\n  }\n}\n",[43,4732,4733,4737,4743,4750,4760,4775,4782,4786,4790],{"__ignoreMap":112},[116,4734,4735],{"class":118,"line":119},[116,4736,384],{"class":186},[116,4738,4739,4741],{"class":118,"line":280},[116,4740,3600],{"class":130},[116,4742,3603],{"class":186},[116,4744,4745,4748],{"class":118,"line":287},[116,4746,4747],{"class":130},"    \"glama\"",[116,4749,3603],{"class":186},[116,4751,4752,4754,4756,4758],{"class":118,"line":293},[116,4753,3615],{"class":130},[116,4755,405],{"class":186},[116,4757,3620],{"class":126},[116,4759,411],{"class":186},[116,4761,4762,4764,4766,4768,4770,4773],{"class":118,"line":298},[116,4763,3627],{"class":130},[116,4765,3630],{"class":186},[116,4767,3633],{"class":126},[116,4769,3636],{"class":186},[116,4771,4772],{"class":126},"\"@anthropic-ai\u002Fmcp-glama\"",[116,4774,3642],{"class":186},[116,4776,4777,4779],{"class":118,"line":304},[116,4778,3647],{"class":130},[116,4780,4781],{"class":186},": {}\n",[116,4783,4784],{"class":118,"line":310},[116,4785,454],{"class":186},[116,4787,4788],{"class":118,"line":316},[116,4789,3673],{"class":186},[116,4791,4792],{"class":118,"line":322},[116,4793,464],{"class":186},[11,4795,4796],{},"MCP 生态增长很快。与其去 GitHub 或 Google 搜索，直接问 Claude \"帮我找一个 Jira 的 MCP Server\"，Glama 返回匹配结果和安装配置。它是 MCP Server 的包管理器。",[11,4798,4799],{},[22,4800,629],{"href":4801,"rel":4802},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002Fef4bec91",[26],[631,4804],{},[485,4806,4808],{"id":4807},"_12-mcp-inspector","12. MCP Inspector",[11,4810,4811,4813],{},[68,4812,597],{}," MCP Server 的调试和测试工具。验证 Server 响应、检查协议合规性、审查 Tool Schema、帮你诊断连接失败或返回异常的原因。",[11,4815,4816,4818],{},[68,4817,603],{}," MCP Server 开发者，以及任何人排查 Server 连不上或行为异常的问题。",[107,4820,4822],{"className":375,"code":4821,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"mcp-inspector\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anthropic-ai\u002Fmcp-inspector\"],\n      \"env\": {}\n    }\n  }\n}\n",[43,4823,4824,4828,4834,4841,4851,4866,4872,4876,4880],{"__ignoreMap":112},[116,4825,4826],{"class":118,"line":119},[116,4827,384],{"class":186},[116,4829,4830,4832],{"class":118,"line":280},[116,4831,3600],{"class":130},[116,4833,3603],{"class":186},[116,4835,4836,4839],{"class":118,"line":287},[116,4837,4838],{"class":130},"    \"mcp-inspector\"",[116,4840,3603],{"class":186},[116,4842,4843,4845,4847,4849],{"class":118,"line":293},[116,4844,3615],{"class":130},[116,4846,405],{"class":186},[116,4848,3620],{"class":126},[116,4850,411],{"class":186},[116,4852,4853,4855,4857,4859,4861,4864],{"class":118,"line":298},[116,4854,3627],{"class":130},[116,4856,3630],{"class":186},[116,4858,3633],{"class":126},[116,4860,3636],{"class":186},[116,4862,4863],{"class":126},"\"@anthropic-ai\u002Fmcp-inspector\"",[116,4865,3642],{"class":186},[116,4867,4868,4870],{"class":118,"line":304},[116,4869,3647],{"class":130},[116,4871,4781],{"class":186},[116,4873,4874],{"class":118,"line":310},[116,4875,454],{"class":186},[116,4877,4878],{"class":118,"line":316},[116,4879,3673],{"class":186},[116,4881,4882],{"class":118,"line":322},[116,4883,464],{"class":186},[11,4885,4886],{},"也可以独立运行来测试任何 MCP Server：",[107,4888,4890],{"className":109,"code":4889,"language":111,"meta":112,"style":112},"npx @anthropic-ai\u002Fmcp-inspector --server \"npx @modelcontextprotocol\u002Fserver-github\"\n",[43,4891,4892],{"__ignoreMap":112},[116,4893,4894,4896,4899,4902],{"class":118,"line":119},[116,4895,147],{"class":122},[116,4897,4898],{"class":126}," @anthropic-ai\u002Fmcp-inspector",[116,4900,4901],{"class":130}," --server",[116,4903,4904],{"class":126}," \"npx @modelcontextprotocol\u002Fserver-github\"\n",[11,4906,4907,4908,4911],{},"MCP Server 默默失败时，你需要一个调试器。MCP Inspector 展示原始 JSON-RPC 消息、验证 Tool Schema、精确定位握手在哪一步断了。对 ",[22,4909,4910],{"href":1029},"构建自定义 MCP Server"," 的开发者来说必不可少。",[11,4913,4914],{},[22,4915,629],{"href":4916,"rel":4917},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fmcp-servers\u002F302d7709",[26],[631,4919],{},[15,4921,3291],{"id":3291},[931,4923],{":headers":4924,":rows":4925},"[\"MCP Server\",\"类型\",\"适合场景\",\"运行环境\",\"需要认证\"]","[[\"GitHub\",\"代码管理\",\"PR 工作流\",\"Node.js\",\"是 (PAT)\"],[\"PostgreSQL\",\"数据库\",\"Schema 探索\",\"Node.js\",\"是 (连接串)\"],[\"Filesystem\",\"文件系统\",\"多目录访问\",\"Node.js\",\"否\"],[\"SQLite\",\"数据库\",\"本地原型开发\",\"Node.js\",\"否\"],[\"Slack\",\"通讯\",\"事故上下文搜索\",\"Node.js\",\"是 (Bot Token)\"],[\"Puppeteer\",\"浏览器\",\"E2E 测试\",\"Node.js\",\"否\"],[\"Sentry\",\"监控\",\"错误分诊\",\"Node.js\",\"是 (Auth Token)\"],[\"Stripe\",\"支付\",\"支付问题排查\",\"Node.js\",\"是 (API Key)\"],[\"Supabase\",\"BaaS\",\"全栈后端\",\"Node.js\",\"是 (Service Key)\"],[\"Elasticsearch\",\"搜索\",\"查询构建\",\"Node.js\",\"可选\"],[\"Glama\",\"发现\",\"查找 MCP Server\",\"Node.js\",\"否\"],[\"MCP Inspector\",\"调试\",\"Server 排障\",\"Node.js\",\"否\"]]",[15,4927,4929],{"id":4928},"多-server-同时运行","多 Server 同时运行",[11,4931,4932,4933,4936],{},"实际项目中通常需要同时启用多个 MCP Server。把它们全部加到同一个 ",[43,4934,4935],{},"mcpServers"," 对象里即可：",[107,4938,4940],{"className":375,"code":4939,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"github\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"],\n      \"env\": { \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"ghp_...\" }\n    },\n    \"postgres\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-postgres\"],\n      \"env\": { \"POSTGRES_CONNECTION_STRING\": \"postgresql:\u002F\u002F...\" }\n    },\n    \"filesystem\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Fhome\u002Fyou\u002Fprojects\"]\n    }\n  }\n}\n",[43,4941,4942,4946,4952,4958,4968,4982,5000,5004,5010,5020,5034,5050,5054,5060,5070,5090,5094,5098],{"__ignoreMap":112},[116,4943,4944],{"class":118,"line":119},[116,4945,384],{"class":186},[116,4947,4948,4950],{"class":118,"line":280},[116,4949,3600],{"class":130},[116,4951,3603],{"class":186},[116,4953,4954,4956],{"class":118,"line":287},[116,4955,3608],{"class":130},[116,4957,3603],{"class":186},[116,4959,4960,4962,4964,4966],{"class":118,"line":293},[116,4961,3615],{"class":130},[116,4963,405],{"class":186},[116,4965,3620],{"class":126},[116,4967,411],{"class":186},[116,4969,4970,4972,4974,4976,4978,4980],{"class":118,"line":298},[116,4971,3627],{"class":130},[116,4973,3630],{"class":186},[116,4975,3633],{"class":126},[116,4977,3636],{"class":186},[116,4979,3639],{"class":126},[116,4981,3642],{"class":186},[116,4983,4984,4986,4989,4992,4994,4997],{"class":118,"line":304},[116,4985,3647],{"class":130},[116,4987,4988],{"class":186},": { ",[116,4990,4991],{"class":130},"\"GITHUB_PERSONAL_ACCESS_TOKEN\"",[116,4993,405],{"class":186},[116,4995,4996],{"class":126},"\"ghp_...\"",[116,4998,4999],{"class":186}," }\n",[116,5001,5002],{"class":118,"line":310},[116,5003,426],{"class":186},[116,5005,5006,5008],{"class":118,"line":316},[116,5007,3724],{"class":130},[116,5009,3603],{"class":186},[116,5011,5012,5014,5016,5018],{"class":118,"line":322},[116,5013,3615],{"class":130},[116,5015,405],{"class":186},[116,5017,3620],{"class":126},[116,5019,411],{"class":186},[116,5021,5022,5024,5026,5028,5030,5032],{"class":118,"line":327},[116,5023,3627],{"class":130},[116,5025,3630],{"class":186},[116,5027,3633],{"class":126},[116,5029,3636],{"class":186},[116,5031,3749],{"class":126},[116,5033,3642],{"class":186},[116,5035,5036,5038,5040,5043,5045,5048],{"class":118,"line":333},[116,5037,3647],{"class":130},[116,5039,4988],{"class":186},[116,5041,5042],{"class":130},"\"POSTGRES_CONNECTION_STRING\"",[116,5044,405],{"class":186},[116,5046,5047],{"class":126},"\"postgresql:\u002F\u002F...\"",[116,5049,4999],{"class":186},[116,5051,5052],{"class":118,"line":339},[116,5053,426],{"class":186},[116,5055,5056,5058],{"class":118,"line":345},[116,5057,3828],{"class":130},[116,5059,3603],{"class":186},[116,5061,5062,5064,5066,5068],{"class":118,"line":350},[116,5063,3615],{"class":130},[116,5065,405],{"class":186},[116,5067,3620],{"class":126},[116,5069,411],{"class":186},[116,5071,5072,5074,5076,5078,5080,5082,5084,5087],{"class":118,"line":356},[116,5073,3627],{"class":130},[116,5075,3630],{"class":186},[116,5077,3633],{"class":126},[116,5079,3636],{"class":186},[116,5081,3856],{"class":126},[116,5083,3636],{"class":186},[116,5085,5086],{"class":126},"\"\u002Fhome\u002Fyou\u002Fprojects\"",[116,5088,5089],{"class":186},"]\n",[116,5091,5092],{"class":118,"line":362},[116,5093,454],{"class":186},[116,5095,5096],{"class":118,"line":1362},[116,5097,3673],{"class":186},[116,5099,5100],{"class":118,"line":1368},[116,5101,464],{"class":186},[11,5103,5104],{},"Claude Code 会把每个 Server 作为子进程启动，根据 Tool 名称自动路由调用。配置多个 Server 不会带来性能损耗——只有被调用时才消耗资源。",[15,5106,976],{"id":976},[485,5108,5110],{"id":5109},"mcp-server-和-agent-skill-有什么区别","MCP Server 和 Agent Skill 有什么区别？",[11,5112,5113,5114,57],{},"MCP Server 是运行中的进程，通过 JSON-RPC 暴露工具——能调用 API、查询数据库、控制浏览器。Agent Skill 是 Markdown 指令，教 Claude 用内置能力完成任务。Skill 创建更简单，MCP Server 在外部集成上更强大。详见 ",[22,5115,999],{"href":998},[485,5117,5119],{"id":5118},"mcp-server-能用在-claude-code-以外的-ai-助手上吗","MCP Server 能用在 Claude Code 以外的 AI 助手上吗？",[11,5121,5122,5123,5127],{},"可以。MCP 是开放协议——任何实现了 MCP Client 规范的 Agent 都能用。",[22,5124,963],{"href":5125,"rel":5126},"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex",[26],"、Cursor 等工具正在接入 MCP 支持。本文列出的 Server 适用于任何兼容客户端。",[485,5129,5131],{"id":5130},"用-mcp-server-连接生产数据安全吗","用 MCP Server 连接生产数据安全吗？",[11,5133,5134],{},"取决于具体 Server。PostgreSQL 和 Elasticsearch 默认只读模式。GitHub 和 Slack 需要明确的 Token 权限范围。开发阶段务必使用测试\u002F预发环境凭证。连接生产系统前，仔细审查每个 Server 的权限模型。",[485,5136,5138],{"id":5137},"怎么自己开发-mcp-server","怎么自己开发 MCP Server？",[11,5140,5141,5142,5147,5148,5150,5151,5155],{},"从官方 ",[22,5143,5146],{"href":5144,"rel":5145},"https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fsdk",[26],"MCP SDK（GitHub）"," 入手，参考 ",[22,5149,1030],{"href":1029}," 了解通用模式。用 ",[22,5152,5154],{"href":4916,"rel":5153},[26],"MCP Inspector"," 验证你的实现是否合规。",[15,5157,1038],{"id":1038},[62,5159,5160,5165,5170,5175],{},[65,5161,5162,5164],{},[22,5163,2632],{"href":1029}," — 为 Claude Code 构建自定义命令",[65,5166,5167,5169],{},[22,5168,2644],{"href":998}," — 理解三种扩展方式各自的适用场景",[65,5171,5172,5174],{},[22,5173,2638],{"href":31}," — 用 Skill 补充 MCP Server 的能力",[65,5176,5177,5182],{},[22,5178,5181],{"href":5179,"rel":5180},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fcollections\u002Fmcp-servers",[26],"在 TokRepo 浏览更多 MCP Server"," — 发现适合你技术栈的 Server",[1065,5184,5185],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":112,"searchDepth":280,"depth":280,"links":5187},[5188,5189,5190,5204,5205,5206,5212],{"id":1120,"depth":280,"text":1120},{"id":3548,"depth":280,"text":3549},{"id":3571,"depth":280,"text":3572,"children":5191},[5192,5193,5194,5195,5196,5197,5198,5199,5200,5201,5202,5203],{"id":3575,"depth":287,"text":3576},{"id":3693,"depth":287,"text":3694},{"id":3797,"depth":287,"text":3798},{"id":3901,"depth":287,"text":3902},{"id":4015,"depth":287,"text":4016},{"id":4147,"depth":287,"text":4148},{"id":4254,"depth":287,"text":4255},{"id":4370,"depth":287,"text":4371},{"id":4484,"depth":287,"text":4485},{"id":4600,"depth":287,"text":4601},{"id":4716,"depth":287,"text":4717},{"id":4807,"depth":287,"text":4808},{"id":3291,"depth":280,"text":3291},{"id":4928,"depth":280,"text":4929},{"id":976,"depth":280,"text":976,"children":5207},[5208,5209,5210,5211],{"id":5109,"depth":287,"text":5110},{"id":5118,"depth":287,"text":5119},{"id":5130,"depth":287,"text":5131},{"id":5137,"depth":287,"text":5138},{"id":1038,"depth":280,"text":1038},"Curated list of the 12 best MCP servers for Claude Code and AI coding agents. Each server tested with real projects, complete with JSON config and usage examples.","精选 12 个最佳 MCP Server，每个都经过真实项目测试，附完整 JSON 配置和使用示例。","\u002Fguide\u002Fimages\u002Fbest-mcp-servers-hero.svg",{},"\u002Fzh\u002Fguide\u002Fbest-mcp-servers",{"title":3516,"description":5213},"zh\u002Fguide\u002Fbest-mcp-servers",[5221,2707,3501,3511],"mcp","2026 年 12 个最佳 MCP Server 推荐（AI 编程助手必备）","bZ0XK8pkX4OcoSyMoVX1wZtQflAeRkpb7xbA4ZP5MbA",{"id":5225,"title":5226,"author":6,"body":5227,"category":1094,"description":6298,"descriptionZh":6299,"extension":1097,"image":6300,"meta":6301,"navigation":283,"path":6302,"publishedAt":1101,"readTime":316,"seo":6303,"stem":6304,"tags":6305,"titleZh":6307,"updatedAt":1101,"__hash__":6308},"docs_zh\u002Fzh\u002Fguide\u002Fcodex-cli-skills.md","Getting Started with OpenAI Codex CLI Skills — Setup, Install & Best Picks",{"type":8,"value":5228,"toc":6258},[5229,5232,5236,5242,5248,5251,5291,5301,5305,5307,5315,5319,5335,5339,5356,5359,5384,5388,5400,5404,5407,5419,5422,5425,5428,5448,5466,5470,5479,5483,5489,5590,5593,5599,5623,5633,5637,5643,5675,5678,5682,5688,5692,5695,5719,5725,5729,5750,5756,5804,5808,5811,5842,5846,5852,5854,5862,5868,5883,5889,5891,5893,5898,5903,5918,5923,5925,5929,5934,5939,5955,5961,5963,5967,5972,5980,5996,6002,6004,6008,6013,6018,6034,6040,6042,6046,6051,6056,6072,6078,6080,6084,6089,6094,6109,6114,6116,6120,6125,6130,6145,6150,6152,6156,6159,6163,6166,6172,6177,6179,6183,6196,6200,6209,6213,6221,6223,6226,6249,6255],[11,5230,5231],{},"手把手教你安装 OpenAI Codex CLI、配置 AGENTS.md 技能文件，并从社区精选 8 个最实用的 Skill，让你的终端编程助手生产力翻倍。",[15,5233,5235],{"id":5234},"什么是-codex-cli","什么是 Codex CLI？",[11,5237,5238,5241],{},[22,5239,963],{"href":5125,"rel":5240},[26]," 是 OpenAI 开源的命令行编程 Agent。它连接 OpenAI 模型（默认 GPT-4.1 和 o3），直接在终端中运行——读取你的代码库、编写代码、执行命令，并在每一步等待你的确认。",[11,5243,5244,5245,5247],{},"与浏览器端的编程助手不同，Codex CLI 在开发者最熟悉的环境中工作：终端。它通过扫描文件理解你的项目结构，你可以通过 ",[43,5246,56],{}," 文件教它项目专属的工作流。",[11,5249,5250],{},"核心特点：",[62,5252,5253,5264,5270,5276,5282],{},[65,5254,5255,5258,5259,5263],{},[68,5256,5257],{},"完全开源"," — MIT 许可证，代码在 ",[22,5260,5262],{"href":5125,"rel":5261},[26],"GitHub"," 上完全可查",[65,5265,5266,5269],{},[68,5267,5268],{},"终端原生"," — 作为 CLI 工具运行，不需要浏览器或 IDE 插件",[65,5271,5272,5275],{},[68,5273,5274],{},"多模型支持"," — 支持 GPT-4.1、o3、o4-mini 等 OpenAI 模型",[65,5277,5278,5281],{},[68,5279,5280],{},"沙盒执行"," — 在隔离环境中运行命令，保障安全",[65,5283,5284,5287,5288,5290],{},[68,5285,5286],{},"技能感知"," — 读取 ",[43,5289,56],{}," 文件学习项目专属指令",[11,5292,5293,5294,5296,5297,5300],{},"如果你用过 ",[22,5295,32],{"href":31}," 或打算试试 ",[22,5298,27],{"href":5299},"\u002Fguide\u002Fgemini-cli-skills","，Codex CLI 就是 OpenAI 的对应产品——技能在三者之间可以互相迁移，只需要做少量格式调整。",[15,5302,5304],{"id":5303},"安装-codex-cli","安装 Codex CLI",[485,5306,1120],{"id":1120},[62,5308,5309,5312],{},[65,5310,5311],{},"Node.js 22 或更高版本",[65,5313,5314],{},"拥有 GPT-4.1 或 o3 访问权限的 OpenAI API Key",[485,5316,5318],{"id":5317},"第-1-步通过-npm-安装","第 1 步：通过 npm 安装",[107,5320,5322],{"className":109,"code":5321,"language":111,"meta":112,"style":112},"npm install -g @openai\u002Fcodex\n",[43,5323,5324],{"__ignoreMap":112},[116,5325,5326,5328,5330,5332],{"class":118,"line":119},[116,5327,123],{"class":122},[116,5329,127],{"class":126},[116,5331,131],{"class":130},[116,5333,5334],{"class":126}," @openai\u002Fcodex\n",[485,5336,5338],{"id":5337},"第-2-步设置-api-key","第 2 步：设置 API Key",[107,5340,5342],{"className":109,"code":5341,"language":111,"meta":112,"style":112},"export OPENAI_API_KEY=\"sk-...\"\n",[43,5343,5344],{"__ignoreMap":112},[116,5345,5346,5348,5351,5353],{"class":118,"line":119},[116,5347,183],{"class":182},[116,5349,5350],{"class":186}," OPENAI_API_KEY",[116,5352,190],{"class":182},[116,5354,5355],{"class":126},"\"sk-...\"\n",[11,5357,5358],{},"写入 shell 配置文件使其永久生效：",[107,5360,5362],{"className":109,"code":5361,"language":111,"meta":112,"style":112},"echo 'export OPENAI_API_KEY=\"sk-...\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n",[43,5363,5364,5377],{"__ignoreMap":112},[116,5365,5366,5368,5371,5374],{"class":118,"line":119},[116,5367,1525],{"class":130},[116,5369,5370],{"class":126}," 'export OPENAI_API_KEY=\"sk-...\"'",[116,5372,5373],{"class":182}," >>",[116,5375,5376],{"class":126}," ~\u002F.zshrc\n",[116,5378,5379,5382],{"class":118,"line":280},[116,5380,5381],{"class":130},"source",[116,5383,5376],{"class":126},[485,5385,5387],{"id":5386},"第-3-步验证安装","第 3 步：验证安装",[107,5389,5391],{"className":109,"code":5390,"language":111,"meta":112,"style":112},"codex --version\n",[43,5392,5393],{"__ignoreMap":112},[116,5394,5395,5398],{"class":118,"line":119},[116,5396,5397],{"class":122},"codex",[116,5399,208],{"class":130},[485,5401,5403],{"id":5402},"第-4-步运行第一条命令","第 4 步：运行第一条命令",[11,5405,5406],{},"进入任意项目目录，运行：",[107,5408,5410],{"className":109,"code":5409,"language":111,"meta":112,"style":112},"codex \"解释这个项目的结构\"\n",[43,5411,5412],{"__ignoreMap":112},[116,5413,5414,5416],{"class":118,"line":119},[116,5415,5397],{"class":122},[116,5417,5418],{"class":126}," \"解释这个项目的结构\"\n",[11,5420,5421],{},"Codex 会扫描你的文件并给出详细的项目概览。之后你可以让它写代码、修 Bug、重构，或者执行任何你描述的工作流。",[485,5423,5424],{"id":5424},"审批模式",[11,5426,5427],{},"Codex CLI 提供三种模式，控制 Agent 的自主权限：",[62,5429,5430,5436,5442],{},[65,5431,5432,5435],{},[68,5433,5434],{},"suggest","（默认） — Codex 读取文件并建议修改，每次编辑和命令都需要你确认",[65,5437,5438,5441],{},[68,5439,5440],{},"auto-edit"," — Codex 可以自动编辑文件，但执行命令前仍会询问",[65,5443,5444,5447],{},[68,5445,5446],{},"full-auto"," — Codex 读取、写入、执行命令全自动（建议仅在沙盒环境中使用）",[107,5449,5451],{"className":109,"code":5450,"language":111,"meta":112,"style":112},"codex --approval-mode full-auto \"给 auth 模块添加单元测试\"\n",[43,5452,5453],{"__ignoreMap":112},[116,5454,5455,5457,5460,5463],{"class":118,"line":119},[116,5456,5397],{"class":122},[116,5458,5459],{"class":130}," --approval-mode",[116,5461,5462],{"class":126}," full-auto",[116,5464,5465],{"class":126}," \"给 auth 模块添加单元测试\"\n",[15,5467,5469],{"id":5468},"codex-cli-如何读取技能","Codex CLI 如何读取技能",[11,5471,5472,5473,5475,5476,5478],{},"Codex CLI 使用 ",[43,5474,56],{}," 文件发现项目专属指令。这相当于 Claude Code 的 ",[43,5477,52],{}," 目录或自定义指令文件。",[485,5480,5482],{"id":5481},"agentsmd-格式","AGENTS.md 格式",[11,5484,5485,5486,5488],{},"在项目根目录（或任意子目录——Codex 会递归发现）放一个 ",[43,5487,56],{}," 文件，使用标准 Markdown 格式：",[107,5490,5492],{"className":268,"code":5491,"language":270,"meta":112,"style":112},"# AGENTS.md\n\n## 项目概览\n这是一个 Nuxt 3 + Go-Zero 全栈应用。\n前端在 \u002Ffrontend-nuxt，后端在 \u002Fbackend-go。\n\n## 代码规范\n- 使用 TypeScript 严格模式\n- 优先使用 Composition API 而非 Options API\n- 所有 API 响应遵循 {code, data, message} 格式\n\n## 测试\n- 提交前运行 `npm test`\n- 单元测试使用 Vitest\n- E2E 测试在 \u002Ftests\u002Fe2e\u002F 目录\n\n## 部署\n- 不要直接修改生产环境配置\n- 前端部署使用 `bash deploy.sh frontend`\n- 后端部署需要先通过 PR 审查\n",[43,5493,5494,5499,5503,5508,5513,5518,5522,5527,5532,5537,5542,5546,5551,5556,5561,5566,5570,5575,5580,5585],{"__ignoreMap":112},[116,5495,5496],{"class":118,"line":119},[116,5497,5498],{},"# AGENTS.md\n",[116,5500,5501],{"class":118,"line":280},[116,5502,284],{"emptyLinePlaceholder":283},[116,5504,5505],{"class":118,"line":287},[116,5506,5507],{},"## 项目概览\n",[116,5509,5510],{"class":118,"line":293},[116,5511,5512],{},"这是一个 Nuxt 3 + Go-Zero 全栈应用。\n",[116,5514,5515],{"class":118,"line":298},[116,5516,5517],{},"前端在 \u002Ffrontend-nuxt，后端在 \u002Fbackend-go。\n",[116,5519,5520],{"class":118,"line":304},[116,5521,284],{"emptyLinePlaceholder":283},[116,5523,5524],{"class":118,"line":310},[116,5525,5526],{},"## 代码规范\n",[116,5528,5529],{"class":118,"line":316},[116,5530,5531],{},"- 使用 TypeScript 严格模式\n",[116,5533,5534],{"class":118,"line":322},[116,5535,5536],{},"- 优先使用 Composition API 而非 Options API\n",[116,5538,5539],{"class":118,"line":327},[116,5540,5541],{},"- 所有 API 响应遵循 {code, data, message} 格式\n",[116,5543,5544],{"class":118,"line":333},[116,5545,284],{"emptyLinePlaceholder":283},[116,5547,5548],{"class":118,"line":339},[116,5549,5550],{},"## 测试\n",[116,5552,5553],{"class":118,"line":345},[116,5554,5555],{},"- 提交前运行 `npm test`\n",[116,5557,5558],{"class":118,"line":350},[116,5559,5560],{},"- 单元测试使用 Vitest\n",[116,5562,5563],{"class":118,"line":356},[116,5564,5565],{},"- E2E 测试在 \u002Ftests\u002Fe2e\u002F 目录\n",[116,5567,5568],{"class":118,"line":362},[116,5569,284],{"emptyLinePlaceholder":283},[116,5571,5572],{"class":118,"line":1362},[116,5573,5574],{},"## 部署\n",[116,5576,5577],{"class":118,"line":1368},[116,5578,5579],{},"- 不要直接修改生产环境配置\n",[116,5581,5582],{"class":118,"line":1373},[116,5583,5584],{},"- 前端部署使用 `bash deploy.sh frontend`\n",[116,5586,5587],{"class":118,"line":1379},[116,5588,5589],{},"- 后端部署需要先通过 PR 审查\n",[485,5591,5592],{"id":5592},"自动发现规则",[11,5594,5595,5596,5598],{},"Codex CLI 通过层级结构自动发现 ",[43,5597,56],{}," 文件：",[230,5600,5601,5609,5617],{},[65,5602,5603,5608],{},[68,5604,5605,5606],{},"根目录 ",[43,5607,56],{}," — 对整个项目生效",[65,5610,5611,5616],{},[68,5612,5613,5614],{},"子目录 ",[43,5615,56],{}," — 仅在该目录及其子目录中生效",[65,5618,5619,5622],{},[68,5620,5621],{},"多文件合并"," — 如果两者同时存在，Codex 会合并内容（子目录指令在冲突时优先）",[11,5624,5625,5626,5628,5629,5632],{},"这意味着你可以有一个顶层 ",[43,5627,56],{}," 管理全局规范，再在 ",[43,5630,5631],{},"frontend\u002FAGENTS.md"," 中写前端专属规则。",[485,5634,5636],{"id":5635},"agentsmd-应该包含什么","AGENTS.md 应该包含什么",[11,5638,5639,5640,5642],{},"最好的 ",[43,5641,56],{}," 文件覆盖以下内容：",[62,5644,5645,5651,5657,5663,5669],{},[65,5646,5647,5650],{},[68,5648,5649],{},"项目架构"," — 目录结构、关键文件位置",[65,5652,5653,5656],{},[68,5654,5655],{},"代码规范"," — 命名、格式化、设计模式",[65,5658,5659,5662],{},[68,5660,5661],{},"常用命令"," — 构建、测试、部署、代码检查",[65,5664,5665,5668],{},[68,5666,5667],{},"注意事项"," — Agent 绝对不能做的事、需要注意的边界情况",[65,5670,5671,5674],{},[68,5672,5673],{},"工作流指令"," — 针对重复性任务的分步操作手册",[11,5676,5677],{},"把它想象成给 AI 队友写的入职文档。你写得越具体，Codex 表现越好。",[15,5679,5681],{"id":5680},"从-tokrepo-安装技能","从 TokRepo 安装技能",[11,5683,5684,5687],{},[22,5685,482],{"href":1474,"rel":5686},[26]," 是一个社区技能注册中心。发布在 TokRepo 上的技能可以同时用于 Claude Code、Codex CLI 和 Gemini CLI——你只需要把它放到正确的位置。",[485,5689,5691],{"id":5690},"方法-1tokrepo-cli推荐","方法 1：TokRepo CLI（推荐）",[11,5693,5694],{},"最快的安装方式：",[107,5696,5698],{"className":109,"code":5697,"language":111,"meta":112,"style":112},"npx tokrepo install \u003Casset-uuid>\n",[43,5699,5700],{"__ignoreMap":112},[116,5701,5702,5704,5707,5709,5711,5714,5716],{"class":118,"line":119},[116,5703,147],{"class":122},[116,5705,5706],{"class":126}," tokrepo",[116,5708,127],{"class":126},[116,5710,517],{"class":182},[116,5712,5713],{"class":126},"asset-uui",[116,5715,523],{"class":186},[116,5717,5718],{"class":182},">\n",[11,5720,5721,5722,5724],{},"这会下载技能文件并放到你项目的技能目录中。对于 Codex CLI，你可能需要把指令内容整合到 ",[43,5723,56],{}," 中，或者把技能文件放到 Codex 可以引用的位置。",[485,5726,5728],{"id":5727},"方法-2手动复制","方法 2：手动复制",[230,5730,5731,5738,5741],{},[65,5732,5733,5734,5737],{},"在 ",[22,5735,482],{"href":480,"rel":5736},[26]," 上访问技能页面",[65,5739,5740],{},"复制 Markdown 内容",[65,5742,5743,5744,5746,5747,5749],{},"粘贴到你项目的 ",[43,5745,56],{}," 文件中，或者保存为单独的 ",[43,5748,470],{}," 文件",[11,5751,5752,5753,5755],{},"对于 Codex CLI，最干净的做法是把技能指令合并到 ",[43,5754,56],{}," 中，使用清晰的标题分段：",[107,5757,5759],{"className":268,"code":5758,"language":270,"meta":112,"style":112},"# AGENTS.md\n\n## 调试工作流\n\u003C!-- 来自 Systematic Debugging 技能 -->\n调试时请遵循以下步骤：\n1. 用最小测试用例重现问题\n2. 在关键决策点添加日志\n3. 先形成假设再修改代码\n4. 验证修复没有引入新的回归问题\n",[43,5760,5761,5765,5769,5774,5779,5784,5789,5794,5799],{"__ignoreMap":112},[116,5762,5763],{"class":118,"line":119},[116,5764,5498],{},[116,5766,5767],{"class":118,"line":280},[116,5768,284],{"emptyLinePlaceholder":283},[116,5770,5771],{"class":118,"line":287},[116,5772,5773],{},"## 调试工作流\n",[116,5775,5776],{"class":118,"line":293},[116,5777,5778],{},"\u003C!-- 来自 Systematic Debugging 技能 -->\n",[116,5780,5781],{"class":118,"line":298},[116,5782,5783],{},"调试时请遵循以下步骤：\n",[116,5785,5786],{"class":118,"line":304},[116,5787,5788],{},"1. 用最小测试用例重现问题\n",[116,5790,5791],{"class":118,"line":310},[116,5792,5793],{},"2. 在关键决策点添加日志\n",[116,5795,5796],{"class":118,"line":316},[116,5797,5798],{},"3. 先形成假设再修改代码\n",[116,5800,5801],{"class":118,"line":322},[116,5802,5803],{},"4. 验证修复没有引入新的回归问题\n",[485,5805,5807],{"id":5806},"方法-3软链接适合多-agent-项目","方法 3：软链接（适合多 Agent 项目）",[11,5809,5810],{},"如果你在同一个项目中同时使用 Claude Code 和 Codex CLI，可以维护单一信息源：",[107,5812,5814],{"className":109,"code":5813,"language":111,"meta":112,"style":112},"# 技能文件在 .claude\u002Fcommands\u002F 中（给 Claude Code 用）\n# 把关键内容合并到 AGENTS.md（给 Codex CLI 用）\ncat .claude\u002Fcommands\u002F*.md >> AGENTS.md\n",[43,5815,5816,5821,5826],{"__ignoreMap":112},[116,5817,5818],{"class":118,"line":119},[116,5819,5820],{"class":1161},"# 技能文件在 .claude\u002Fcommands\u002F 中（给 Claude Code 用）\n",[116,5822,5823],{"class":118,"line":280},[116,5824,5825],{"class":1161},"# 把关键内容合并到 AGENTS.md（给 Codex CLI 用）\n",[116,5827,5828,5830,5832,5835,5837,5839],{"class":118,"line":287},[116,5829,1295],{"class":122},[116,5831,2529],{"class":126},[116,5833,5834],{"class":130},"*",[116,5836,470],{"class":126},[116,5838,5373],{"class":182},[116,5840,5841],{"class":126}," AGENTS.md\n",[15,5843,5845],{"id":5844},"_8-个推荐的-codex-cli-技能","8 个推荐的 Codex CLI 技能",[11,5847,5848,5849,5851],{},"以下技能已在 Codex CLI 上测试通过，能带来即时的生产力提升。每个都可以在 TokRepo 上找到，安装或复制到你的 ",[43,5850,56],{}," 中。",[485,5853,1989],{"id":1988},[11,5855,5856,5858,5859,5861],{},[68,5857,597],{}," 完整的项目管理框架，把大项目拆分为里程碑、阶段和任务。通过持久化的 ",[43,5860,724],{}," 目录跨会话追踪进度。",[11,5863,5864,5867],{},[68,5865,5866],{},"为什么适合 Codex："," Codex CLI 擅长处理聚焦的任务，但在多步骤项目中容易丢失方向。GSD 提供了让复杂工作保持在正轨上的脚手架。",[107,5869,5871],{"className":109,"code":5870,"language":111,"meta":112,"style":112},"npx tokrepo install e108cf5c-c34e-4d27-a694-66a693301e87\n",[43,5872,5873],{"__ignoreMap":112},[116,5874,5875,5877,5879,5881],{"class":118,"line":119},[116,5876,147],{"class":122},[116,5878,5706],{"class":126},[116,5880,127],{"class":126},[116,5882,2006],{"class":126},[11,5884,5885],{},[22,5886,5888],{"href":759,"rel":5887},[26],"在 TokRepo 查看",[631,5890],{},[485,5892,2805],{"id":2804},[11,5894,5895,5897],{},[68,5896,597],{}," 13,000+ 社区贡献的技能集合，覆盖 Next.js、React、部署模式和全栈开发工作流。",[11,5899,5900,5902],{},[68,5901,5866],{}," 如果你使用 Vercel、Next.js 或 React，这个集合能给 Codex 注入领域专属知识，显著提升代码质量。",[107,5904,5906],{"className":109,"code":5905,"language":111,"meta":112,"style":112},"npx tokrepo install d1eba6f1-5166-4762-bbbd-cf00f14892b7\n",[43,5907,5908],{"__ignoreMap":112},[116,5909,5910,5912,5914,5916],{"class":118,"line":119},[116,5911,147],{"class":122},[116,5913,5706],{"class":126},[116,5915,127],{"class":126},[116,5917,2829],{"class":126},[11,5919,5920],{},[22,5921,5888],{"href":799,"rel":5922},[26],[631,5924],{},[485,5926,5928],{"id":5927},"_3-claude-seo-完整-seo-技能","3. Claude SEO — 完整 SEO 技能",[11,5930,5931,5933],{},[68,5932,597],{}," 运行全面的 SEO 审计——关键词研究、页面分析、内容缺口识别、技术检查和竞品对比。",[11,5935,5936,5938],{},[68,5937,5866],{}," SEO 需要遵循结构化的检查清单。这个技能确保 Codex 覆盖所有要点，而不是即兴发挥一个不完整的审计。",[107,5940,5942],{"className":109,"code":5941,"language":111,"meta":112,"style":112},"npx tokrepo install cb068086-48bc-4dc2-b53e-9a16eba5b51f\n",[43,5943,5944],{"__ignoreMap":112},[116,5945,5946,5948,5950,5952],{"class":118,"line":119},[116,5947,147],{"class":122},[116,5949,5706],{"class":126},[116,5951,127],{"class":126},[116,5953,5954],{"class":126}," cb068086-48bc-4dc2-b53e-9a16eba5b51f\n",[11,5956,5957],{},[22,5958,5888],{"href":5959,"rel":5960},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002Fcb068086-48bc-4dc2-b53e-9a16eba5b51f",[26],[631,5962],{},[485,5964,5966],{"id":5965},"_4-systematic-debugging系统化调试","4. Systematic Debugging（系统化调试）",[11,5968,5969,5971],{},[68,5970,597],{}," 结构化的调试方法论——重现、隔离、假设、修复、验证。防止\"随便改改看能不能行\"的常见陷阱。",[11,5973,5974,5976,5977,5979],{},[68,5975,5866],{}," 当 Codex 在 ",[43,5978,5446],{}," 模式下运行时，调试技能能防止它陷入试错循环，强制进行有条理的调查。",[107,5981,5983],{"className":109,"code":5982,"language":111,"meta":112,"style":112},"npx tokrepo install 78ed006e-0c05-4bab-91de-c0c72c3e4cc4\n",[43,5984,5985],{"__ignoreMap":112},[116,5986,5987,5989,5991,5993],{"class":118,"line":119},[116,5988,147],{"class":122},[116,5990,5706],{"class":126},[116,5992,127],{"class":126},[116,5994,5995],{"class":126}," 78ed006e-0c05-4bab-91de-c0c72c3e4cc4\n",[11,5997,5998],{},[22,5999,5888],{"href":6000,"rel":6001},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F78ed006e-0c05-4bab-91de-c0c72c3e4cc4",[26],[631,6003],{},[485,6005,6007],{"id":6006},"_5-planning-with-files文件化规划","5. Planning with Files（文件化规划）",[11,6009,6010,6012],{},[68,6011,597],{}," 在执行复杂任务前创建结构化的计划文件。把计划写到磁盘上，跨上下文窗口和会话保持持久化。",[11,6014,6015,6017],{},[68,6016,5866],{}," Codex CLI 的会话可能很长。规划技能确保 Agent 先思考再行动，并保留书面记录。",[107,6019,6021],{"className":109,"code":6020,"language":111,"meta":112,"style":112},"npx tokrepo install 034be597-dbb5-4649-ad6e-98f9ff6332b8\n",[43,6022,6023],{"__ignoreMap":112},[116,6024,6025,6027,6029,6031],{"class":118,"line":119},[116,6026,147],{"class":122},[116,6028,5706],{"class":126},[116,6030,127],{"class":126},[116,6032,6033],{"class":126}," 034be597-dbb5-4649-ad6e-98f9ff6332b8\n",[11,6035,6036],{},[22,6037,5888],{"href":6038,"rel":6039},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F034be597-dbb5-4649-ad6e-98f9ff6332b8",[26],[631,6041],{},[485,6043,6045],{"id":6044},"_6-web-access网页访问","6. Web Access（网页访问）",[11,6047,6048,6050],{},[68,6049,597],{}," 给 Agent 提供获取和解析网页内容的结构化方法——文档页面、API 参考和实时数据。",[11,6052,6053,6055],{},[68,6054,5866],{}," 默认情况下 Codex CLI 无法浏览网页。当 Agent 需要参考文档或检查线上接口时，这个技能提供了引入外部信息的方法。",[107,6057,6059],{"className":109,"code":6058,"language":111,"meta":112,"style":112},"npx tokrepo install 5766b7f4-bfdb-4048-87e7-50af1e5f6f88\n",[43,6060,6061],{"__ignoreMap":112},[116,6062,6063,6065,6067,6069],{"class":118,"line":119},[116,6064,147],{"class":122},[116,6066,5706],{"class":126},[116,6068,127],{"class":126},[116,6070,6071],{"class":126}," 5766b7f4-bfdb-4048-87e7-50af1e5f6f88\n",[11,6073,6074],{},[22,6075,5888],{"href":6076,"rel":6077},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F5766b7f4-bfdb-4048-87e7-50af1e5f6f88",[26],[631,6079],{},[485,6081,6083],{"id":6082},"_7-skill-creator技能创建器","7. Skill Creator（技能创建器）",[11,6085,6086,6088],{},[68,6087,597],{}," 一个元技能，引导你创建新的 Agent 技能——编写 frontmatter、触发条件、指令和测试步骤。",[11,6090,6091,6093],{},[68,6092,5866],{}," 用过几个技能之后，你会想创建自己的。这个技能让创建过程可重复，并确保你的自定义技能遵循最佳实践。",[107,6095,6097],{"className":109,"code":6096,"language":111,"meta":112,"style":112},"npx tokrepo install 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd\n",[43,6098,6099],{"__ignoreMap":112},[116,6100,6101,6103,6105,6107],{"class":118,"line":119},[116,6102,147],{"class":122},[116,6104,5706],{"class":126},[116,6106,127],{"class":126},[116,6108,2086],{"class":126},[11,6110,6111],{},[22,6112,5888],{"href":2091,"rel":6113},[26],[631,6115],{},[485,6117,6119],{"id":6118},"_8-agent-skills-standard技能标准规范","8. Agent Skills Standard（技能标准规范）",[11,6121,6122,6124],{},[68,6123,597],{}," 定义 Agent 技能文件的通用标准——元数据字段、指令格式、触发约定，以及不同 AI Agent 之间的兼容性规则。",[11,6126,6127,6129],{},[68,6128,5866],{}," 如果你希望技能在 Codex CLI、Claude Code 和 Gemini CLI 之间通用，这个标准告诉你应该包含哪些字段、如何组织结构。",[107,6131,6133],{"className":109,"code":6132,"language":111,"meta":112,"style":112},"npx tokrepo install 1a1292f5-c88b-4eb5-b7dd-a3bf7bb29ee8\n",[43,6134,6135],{"__ignoreMap":112},[116,6136,6137,6139,6141,6143],{"class":118,"line":119},[116,6138,147],{"class":122},[116,6140,5706],{"class":126},[116,6142,127],{"class":126},[116,6144,3280],{"class":126},[11,6146,6147],{},[22,6148,5888],{"href":3285,"rel":6149},[26],[631,6151],{},[15,6153,6155],{"id":6154},"codex-cli-vs-claude-code技能兼容性对比","Codex CLI vs Claude Code：技能兼容性对比",[11,6157,6158],{},"Codex CLI 和 Claude Code 都支持 Agent 技能，但读取方式不同。理解差异有助于你编写两者都能用的技能。",[931,6160],{":headers":6161,":rows":6162},"[\"特性\",\"Codex CLI\",\"Claude Code\"]","[[\"技能文件格式\",\"AGENTS.md（Markdown）\",\".claude\u002Fcommands\u002F 中的 .md 文件\"],[\"发现方式\",\"从项目根目录自动扫描\",\"固定目录查找\"],[\"激活方式\",\"始终生效（合并进上下文）\",\"按需激活（斜杠命令\u002F自然语言）\"],[\"Frontmatter\",\"非必需\",\"可选（name、description、triggers）\"],[\"子目录作用域\",\"支持（目录级 AGENTS.md）\",\"不支持（仅全局）\"],[\"多技能管理\",\"单文件多段落\",\"每个技能一个文件\"],[\"技能注册中心\",\"TokRepo \u002F 手动复制\",\"TokRepo \u002F tokrepo install\"],[\"模型提供商\",\"OpenAI（GPT-4.1、o3、o4-mini）\",\"Anthropic（Claude Sonnet\u002FOpus）\"]]",[485,6164,6165],{"id":6165},"核心结论",[11,6167,6168,6169,6171],{},"为 Claude Code 编写的技能可以通过把指令内容复制到 ",[43,6170,56],{}," 来适配 Codex CLI。核心逻辑——步骤、规则和工作流——可以直接迁移。只有包装方式不同。",[11,6173,6174,6175,57],{},"想深入了解所有主流 AI 编程 Agent 的技能格式差异，请看 ",[22,6176,999],{"href":998},[15,6178,976],{"id":976},[485,6180,6182],{"id":6181},"claude-code-的技能能直接用在-codex-cli-上吗","Claude Code 的技能能直接用在 Codex CLI 上吗？",[11,6184,6185,6186,6188,6189,6191,6192,6195],{},"可以，只需少量调整。Claude Code 的技能本质上是 Markdown 指令文件，和 Codex CLI 从 ",[43,6187,56],{}," 中读取的格式相同。把指令内容（frontmatter 下面的所有内容）复制到你的 ",[43,6190,56],{}," 文件中即可。",[43,6193,6194],{},"triggers"," 等 frontmatter 字段是 Claude Code 专属的，在 Codex 中可以删除。",[485,6197,6199],{"id":6198},"codex-cli-支持像-claude-code-那样的斜杠命令吗","Codex CLI 支持像 Claude Code 那样的斜杠命令吗？",[11,6201,6202,6203,6205,6206,57],{},"不支持。Codex CLI 没有斜杠命令系统。",[43,6204,56],{}," 中的所有指令会自动加载到上下文中。你通过自然语言描述来激活特定工作流——比如说\"用系统化调试方法排查这个问题\"，而不是输入 ",[43,6207,6208],{},"\u002Fdebug",[485,6210,6212],{"id":6211},"codex-cli-免费吗","Codex CLI 免费吗？",[11,6214,6215,6216,57],{},"Codex CLI 本身免费且开源。但它调用 OpenAI 的 API，需要付费的 API Key。费用取决于你使用的模型——GPT-4.1 处理日常任务更经济，o3 在复杂推理上更强。具体价格请查看 ",[22,6217,6220],{"href":6218,"rel":6219},"https:\u002F\u002Fopenai.com\u002Fapi\u002Fpricing\u002F",[26],"OpenAI 定价页面",[15,6222,1038],{"id":1038},[11,6224,6225],{},"安装配置好 Codex CLI 和技能之后，继续探索这些相关指南：",[62,6227,6228,6233,6238,6243],{},[65,6229,6230,6232],{},[22,6231,1030],{"href":1029}," — 从零开始构建自定义技能",[65,6234,6235,6237],{},[22,6236,999],{"href":998}," — 理解何时使用哪种扩展方式",[65,6239,6240,6242],{},[22,6241,2638],{"href":31}," — 更多技能推荐（大多数也适用于 Codex）",[65,6244,6245,6248],{},[22,6246,6247],{"href":5299},"Gemini CLI 技能指南"," — 为 Google 的 CLI Agent 配置技能",[11,6250,5733,6251,6254],{},[22,6252,482],{"href":480,"rel":6253},[26]," 上浏览完整技能目录，找到适合你技术栈和工作流的技能。",[1065,6256,6257],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":112,"searchDepth":280,"depth":280,"links":6259},[6260,6261,6269,6274,6279,6289,6292,6297],{"id":5234,"depth":280,"text":5235},{"id":5303,"depth":280,"text":5304,"children":6262},[6263,6264,6265,6266,6267,6268],{"id":1120,"depth":287,"text":1120},{"id":5317,"depth":287,"text":5318},{"id":5337,"depth":287,"text":5338},{"id":5386,"depth":287,"text":5387},{"id":5402,"depth":287,"text":5403},{"id":5424,"depth":287,"text":5424},{"id":5468,"depth":280,"text":5469,"children":6270},[6271,6272,6273],{"id":5481,"depth":287,"text":5482},{"id":5592,"depth":287,"text":5592},{"id":5635,"depth":287,"text":5636},{"id":5680,"depth":280,"text":5681,"children":6275},[6276,6277,6278],{"id":5690,"depth":287,"text":5691},{"id":5727,"depth":287,"text":5728},{"id":5806,"depth":287,"text":5807},{"id":5844,"depth":280,"text":5845,"children":6280},[6281,6282,6283,6284,6285,6286,6287,6288],{"id":1988,"depth":287,"text":1989},{"id":2804,"depth":287,"text":2805},{"id":5927,"depth":287,"text":5928},{"id":5965,"depth":287,"text":5966},{"id":6006,"depth":287,"text":6007},{"id":6044,"depth":287,"text":6045},{"id":6082,"depth":287,"text":6083},{"id":6118,"depth":287,"text":6119},{"id":6154,"depth":280,"text":6155,"children":6290},[6291],{"id":6165,"depth":287,"text":6165},{"id":976,"depth":280,"text":976,"children":6293},[6294,6295,6296],{"id":6181,"depth":287,"text":6182},{"id":6198,"depth":287,"text":6199},{"id":6211,"depth":287,"text":6212},{"id":1038,"depth":280,"text":1038},"Step-by-step guide to installing OpenAI Codex CLI, configuring AGENTS.md skills, and the 8 best skills to supercharge your coding workflow.","手把手教你安装 OpenAI Codex CLI、配置 AGENTS.md 技能文件，以及 8 个最值得安装的精选 Skill 推荐。","\u002Fguide\u002Fimages\u002Fcodex-cli-skills-hero.svg",{},"\u002Fzh\u002Fguide\u002Fcodex-cli-skills",{"title":5226,"description":6298},"zh\u002Fguide\u002Fcodex-cli-skills",[5397,6306,1106,1094],"openai","OpenAI Codex CLI Skill 入门：安装配置与精选推荐","6gaozuR4S3EIKbhYQCg737bFbiD5t24R1BQoKk0VGik",{"id":6310,"title":6311,"author":6,"body":6312,"category":3501,"description":8085,"descriptionZh":8086,"extension":1097,"image":8087,"meta":8088,"navigation":283,"path":8089,"publishedAt":1101,"readTime":339,"seo":8090,"stem":8091,"tags":8092,"titleZh":8095,"updatedAt":1101,"__hash__":8096},"docs_zh\u002Fzh\u002Fguide\u002Fcursor-rules-guide.md","Best Cursor Rules in 2026 — 20 Rules to Supercharge Your AI Coding",{"type":8,"value":6313,"toc":8038},[6314,6321,6323,6338,6342,6348,6410,6420,6423,6429,6432,6435,6439,6442,6536,6542,6546,6553,6643,6648,6652,6659,6711,6716,6720,6726,6778,6785,6789,6792,6836,6839,6843,6846,6931,6935,6938,7029,7033,7036,7093,7097,7100,7157,7161,7168,7220,7223,7227,7269,7273,7320,7324,7371,7375,7422,7426,7478,7481,7485,7534,7538,7587,7591,7640,7644,7688,7692,7736,7740,7744,7747,7777,7781,7849,7853,7894,7898,7927,7932,7936,7943,7947,7964,7969,7971,7975,7981,7985,7988,7992,8008,8010,8035],[11,6315,6316,6317,6320],{},"用 Cursor 写代码，不配 ",[43,6318,6319],{},".cursorrules"," 等于裸奔。这篇文章精选 20 个经过实战验证的规则文件，覆盖前端、后端、全栈和通用场景。每个规则都直接可用，复制到项目根目录就生效。",[15,6322,1120],{"id":1120},[62,6324,6325,6333,6335],{},[65,6326,1125,6327,6332],{},[22,6328,6331],{"href":6329,"rel":6330},"https:\u002F\u002Fcursor.sh",[26],"Cursor"," v0.45+",[65,6334,2730],{},[65,6336,6337],{},"对 AI 编程助手有基本了解",[15,6339,6341],{"id":6340},"什么是-cursor-rules","什么是 Cursor Rules？",[11,6343,6344,6345,6347],{},"Cursor Rules 是一个指令文件，告诉 Cursor AI 在你的项目里该怎么写代码。把 ",[43,6346,6319],{}," 文件放到项目根目录，Cursor 的所有 AI 功能——自动补全、聊天、Composer、内联编辑——都会读取它。",[107,6349,6351],{"className":268,"code":6350,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是资深 React 开发者。\n\n## 代码规范\n- 只用函数组件 + hooks\n- 优先使用命名导出\n- TypeScript strict 模式\n\n## 架构\n- 按功能模块组织目录\n- 单个组件不超过 200 行\n- 公共逻辑提取为自定义 hook\n",[43,6352,6353,6358,6363,6367,6371,6376,6381,6386,6390,6395,6400,6405],{"__ignoreMap":112},[116,6354,6355],{"class":118,"line":119},[116,6356,6357],{},"\u003C!-- .cursorrules -->\n",[116,6359,6360],{"class":118,"line":280},[116,6361,6362],{},"你是资深 React 开发者。\n",[116,6364,6365],{"class":118,"line":287},[116,6366,284],{"emptyLinePlaceholder":283},[116,6368,6369],{"class":118,"line":293},[116,6370,5526],{},[116,6372,6373],{"class":118,"line":298},[116,6374,6375],{},"- 只用函数组件 + hooks\n",[116,6377,6378],{"class":118,"line":304},[116,6379,6380],{},"- 优先使用命名导出\n",[116,6382,6383],{"class":118,"line":310},[116,6384,6385],{},"- TypeScript strict 模式\n",[116,6387,6388],{"class":118,"line":316},[116,6389,284],{"emptyLinePlaceholder":283},[116,6391,6392],{"class":118,"line":322},[116,6393,6394],{},"## 架构\n",[116,6396,6397],{"class":118,"line":327},[116,6398,6399],{},"- 按功能模块组织目录\n",[116,6401,6402],{"class":118,"line":333},[116,6403,6404],{},"- 单个组件不超过 200 行\n",[116,6406,6407],{"class":118,"line":339},[116,6408,6409],{},"- 公共逻辑提取为自定义 hook\n",[11,6411,6412,6413,567,6416,6419],{},"文件和 ",[43,6414,6415],{},"package.json",[43,6417,6418],{},"go.mod"," 放在同一层。Cursor 自动加载，不需要额外配置。",[485,6421,6422],{"id":6422},"规则如何生效",[107,6424,6427],{"className":6425,"code":6426,"language":1246},[1244],"┌──────────────┐     ┌──────────────┐     ┌──────────────┐\n│  .cursorrules │────▶│  Cursor AI   │────▶│  生成的代码    │\n│  （你的规则）   │     │  （上下文）    │     │              │\n└──────────────┘     └──────────────┘     └──────────────┘\n                           ▲\n                           │\n                     ┌──────────────┐\n                     │  你的提示词    │\n                     └──────────────┘\n",[43,6428,6426],{"__ignoreMap":112},[11,6430,6431],{},"规则在每次 AI 交互时被注入。它相当于你项目的系统提示词，确保无论谁在写提示，行为都一致。",[15,6433,6434],{"id":6434},"前端规则",[485,6436,6438],{"id":6437},"_1-react-typescript","1. React + TypeScript",[11,6440,6441],{},"最热门的 Cursor 规则。强制函数组件、严格 TypeScript 和现代 React 模式。",[107,6443,6445],{"className":268,"code":6444,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 React 和 TypeScript 专家。\n\n## 规则\n- 只用函数组件，禁止 class 组件\n- TypeScript strict 模式：不用 any，不用隐式返回\n- 少用 React.FC，优先显式定义 Props 类型\n- 状态管理：全局用 Zustand，局部用 useState\n- 样式：Tailwind CSS 原子类，禁止 inline style\n\n## 组件结构\ninterface Props {\n  title: string;\n  onAction: () => void;\n}\n\nexport function MyComponent({ title, onAction }: Props) {\n  return \u003Cbutton onClick={onAction}>{title}\u003C\u002Fbutton>;\n}\n",[43,6446,6447,6451,6456,6460,6465,6470,6475,6480,6485,6490,6494,6499,6504,6509,6514,6518,6522,6527,6532],{"__ignoreMap":112},[116,6448,6449],{"class":118,"line":119},[116,6450,6357],{},[116,6452,6453],{"class":118,"line":280},[116,6454,6455],{},"你是 React 和 TypeScript 专家。\n",[116,6457,6458],{"class":118,"line":287},[116,6459,284],{"emptyLinePlaceholder":283},[116,6461,6462],{"class":118,"line":293},[116,6463,6464],{},"## 规则\n",[116,6466,6467],{"class":118,"line":298},[116,6468,6469],{},"- 只用函数组件，禁止 class 组件\n",[116,6471,6472],{"class":118,"line":304},[116,6473,6474],{},"- TypeScript strict 模式：不用 any，不用隐式返回\n",[116,6476,6477],{"class":118,"line":310},[116,6478,6479],{},"- 少用 React.FC，优先显式定义 Props 类型\n",[116,6481,6482],{"class":118,"line":316},[116,6483,6484],{},"- 状态管理：全局用 Zustand，局部用 useState\n",[116,6486,6487],{"class":118,"line":322},[116,6488,6489],{},"- 样式：Tailwind CSS 原子类，禁止 inline style\n",[116,6491,6492],{"class":118,"line":327},[116,6493,284],{"emptyLinePlaceholder":283},[116,6495,6496],{"class":118,"line":333},[116,6497,6498],{},"## 组件结构\n",[116,6500,6501],{"class":118,"line":339},[116,6502,6503],{},"interface Props {\n",[116,6505,6506],{"class":118,"line":345},[116,6507,6508],{},"  title: string;\n",[116,6510,6511],{"class":118,"line":350},[116,6512,6513],{},"  onAction: () => void;\n",[116,6515,6516],{"class":118,"line":356},[116,6517,464],{},[116,6519,6520],{"class":118,"line":362},[116,6521,284],{"emptyLinePlaceholder":283},[116,6523,6524],{"class":118,"line":1362},[116,6525,6526],{},"export function MyComponent({ title, onAction }: Props) {\n",[116,6528,6529],{"class":118,"line":1368},[116,6530,6531],{},"  return \u003Cbutton onClick={onAction}>{title}\u003C\u002Fbutton>;\n",[116,6533,6534],{"class":118,"line":1373},[116,6535,464],{},[11,6537,6538,6541],{},[68,6539,6540],{},"适合："," 使用 Create React App、Vite 或任何 React + TypeScript 项目的团队。",[485,6543,6545],{"id":6544},"_2-vue-3-composition-api","2. Vue 3 + Composition API",[11,6547,6548,6549,6552],{},"强制使用 ",[43,6550,6551],{},"\u003Cscript setup>","、Composables 和 Pinia。",[107,6554,6556],{"className":268,"code":6555,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Vue 3 专家，使用 Composition API。\n\n## 规则\n- 始终使用 \u003Cscript setup lang=\"ts\">\n- 用 composables (use*) 封装共享逻辑\n- 状态管理只用 Pinia\n- 禁止 Options API\n- defineProps\u002FdefineEmits 使用 TypeScript 泛型\n\n## 文件结构\n\u003Cscript setup lang=\"ts\">\nimport { ref, computed } from 'vue'\n\nconst props = defineProps\u003C{ title: string }>()\nconst count = ref(0)\nconst doubled = computed(() => count.value * 2)\n\u003C\u002Fscript>\n",[43,6557,6558,6562,6567,6571,6575,6580,6585,6590,6595,6600,6604,6609,6614,6619,6623,6628,6633,6638],{"__ignoreMap":112},[116,6559,6560],{"class":118,"line":119},[116,6561,6357],{},[116,6563,6564],{"class":118,"line":280},[116,6565,6566],{},"你是 Vue 3 专家，使用 Composition API。\n",[116,6568,6569],{"class":118,"line":287},[116,6570,284],{"emptyLinePlaceholder":283},[116,6572,6573],{"class":118,"line":293},[116,6574,6464],{},[116,6576,6577],{"class":118,"line":298},[116,6578,6579],{},"- 始终使用 \u003Cscript setup lang=\"ts\">\n",[116,6581,6582],{"class":118,"line":304},[116,6583,6584],{},"- 用 composables (use*) 封装共享逻辑\n",[116,6586,6587],{"class":118,"line":310},[116,6588,6589],{},"- 状态管理只用 Pinia\n",[116,6591,6592],{"class":118,"line":316},[116,6593,6594],{},"- 禁止 Options API\n",[116,6596,6597],{"class":118,"line":322},[116,6598,6599],{},"- defineProps\u002FdefineEmits 使用 TypeScript 泛型\n",[116,6601,6602],{"class":118,"line":327},[116,6603,284],{"emptyLinePlaceholder":283},[116,6605,6606],{"class":118,"line":333},[116,6607,6608],{},"## 文件结构\n",[116,6610,6611],{"class":118,"line":339},[116,6612,6613],{},"\u003Cscript setup lang=\"ts\">\n",[116,6615,6616],{"class":118,"line":345},[116,6617,6618],{},"import { ref, computed } from 'vue'\n",[116,6620,6621],{"class":118,"line":350},[116,6622,284],{"emptyLinePlaceholder":283},[116,6624,6625],{"class":118,"line":356},[116,6626,6627],{},"const props = defineProps\u003C{ title: string }>()\n",[116,6629,6630],{"class":118,"line":362},[116,6631,6632],{},"const count = ref(0)\n",[116,6634,6635],{"class":118,"line":1362},[116,6636,6637],{},"const doubled = computed(() => count.value * 2)\n",[116,6639,6640],{"class":118,"line":1368},[116,6641,6642],{},"\u003C\u002Fscript>\n",[11,6644,6645,6647],{},[68,6646,6540],{}," Vue 3 项目，特别是从 Options API 迁移的项目。",[485,6649,6651],{"id":6650},"_3-nextjs-app-router","3. Next.js App Router",[11,6653,6654,6655,6658],{},"聚焦 App Router——Server Components、Server Actions 和 ",[43,6656,6657],{},"app\u002F"," 目录结构。",[107,6660,6662],{"className":268,"code":6661,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Next.js 专家，使用 App Router (v14+)。\n\n## 规则\n- 默认 Server Components，只在必要时加 'use client'\n- Server Actions 处理表单和数据变更\n- app\u002Fapi\u002F 放 Route Handler\n- 用 Metadata API 做 SEO（generateMetadata，不用 Head）\n- 图片优化必须用 next\u002Fimage\n- loading.tsx 和 Suspense 做加载态\n",[43,6663,6664,6668,6673,6677,6681,6686,6691,6696,6701,6706],{"__ignoreMap":112},[116,6665,6666],{"class":118,"line":119},[116,6667,6357],{},[116,6669,6670],{"class":118,"line":280},[116,6671,6672],{},"你是 Next.js 专家，使用 App Router (v14+)。\n",[116,6674,6675],{"class":118,"line":287},[116,6676,284],{"emptyLinePlaceholder":283},[116,6678,6679],{"class":118,"line":293},[116,6680,6464],{},[116,6682,6683],{"class":118,"line":298},[116,6684,6685],{},"- 默认 Server Components，只在必要时加 'use client'\n",[116,6687,6688],{"class":118,"line":304},[116,6689,6690],{},"- Server Actions 处理表单和数据变更\n",[116,6692,6693],{"class":118,"line":310},[116,6694,6695],{},"- app\u002Fapi\u002F 放 Route Handler\n",[116,6697,6698],{"class":118,"line":316},[116,6699,6700],{},"- 用 Metadata API 做 SEO（generateMetadata，不用 Head）\n",[116,6702,6703],{"class":118,"line":322},[116,6704,6705],{},"- 图片优化必须用 next\u002Fimage\n",[116,6707,6708],{"class":118,"line":327},[116,6709,6710],{},"- loading.tsx 和 Suspense 做加载态\n",[11,6712,6713,6715],{},[68,6714,6540],{}," Next.js 14+ 的 App Router 项目。Pages Router 请用别的规则。",[485,6717,6719],{"id":6718},"_4-nuxt-3","4. Nuxt 3",[11,6721,6722,6723,545],{},"覆盖 Nuxt 3 的约定——自动导入、Server Routes 和 ",[43,6724,6725],{},"composables\u002F",[107,6727,6729],{"className":268,"code":6728,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Nuxt 3 专家。\n\n## 规则\n- 使用自动导入的 composables（useState, useRoute, useFetch）\n- Server routes 放 server\u002Fapi\u002F，用 defineEventHandler\n- 组件从 components\u002F 自动导入\n- layouts\u002F 放布局，middleware\u002F 放中间件\n- 用 definePageMeta 配置页面级信息\n- 默认 SSR；浏览器专属内容用 \u003CClientOnly>\n",[43,6730,6731,6735,6740,6744,6748,6753,6758,6763,6768,6773],{"__ignoreMap":112},[116,6732,6733],{"class":118,"line":119},[116,6734,6357],{},[116,6736,6737],{"class":118,"line":280},[116,6738,6739],{},"你是 Nuxt 3 专家。\n",[116,6741,6742],{"class":118,"line":287},[116,6743,284],{"emptyLinePlaceholder":283},[116,6745,6746],{"class":118,"line":293},[116,6747,6464],{},[116,6749,6750],{"class":118,"line":298},[116,6751,6752],{},"- 使用自动导入的 composables（useState, useRoute, useFetch）\n",[116,6754,6755],{"class":118,"line":304},[116,6756,6757],{},"- Server routes 放 server\u002Fapi\u002F，用 defineEventHandler\n",[116,6759,6760],{"class":118,"line":310},[116,6761,6762],{},"- 组件从 components\u002F 自动导入\n",[116,6764,6765],{"class":118,"line":316},[116,6766,6767],{},"- layouts\u002F 放布局，middleware\u002F 放中间件\n",[116,6769,6770],{"class":118,"line":322},[116,6771,6772],{},"- 用 definePageMeta 配置页面级信息\n",[116,6774,6775],{"class":118,"line":327},[116,6776,6777],{},"- 默认 SSR；浏览器专属内容用 \u003CClientOnly>\n",[11,6779,6780,6782,6783,57],{},[68,6781,6540],{}," Nuxt 3 项目。更多 Nuxt 相关工具推荐看 ",[22,6784,2638],{"href":31},[485,6786,6788],{"id":6787},"_5-tailwind-css","5. Tailwind CSS",[11,6790,6791],{},"确保原子类使用一致，避免常见的 Tailwind 反模式。",[107,6793,6795],{"className":268,"code":6794,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## Tailwind CSS 规则\n- 组件里不用 @apply，直接写原子类\n- 响应式：移动优先（sm:, md:, lg:, xl:）\n- 暗色模式：用 dark: 前缀，class 模式\n- 自定义值：在 tailwind.config.ts 里扩展，不用任意值\n- 间距：使用默认比例（4, 8, 12, 16...），避免随意的 px 值\n- 颜色：用项目主题色，不硬编码 hex\n",[43,6796,6797,6801,6806,6811,6816,6821,6826,6831],{"__ignoreMap":112},[116,6798,6799],{"class":118,"line":119},[116,6800,6357],{},[116,6802,6803],{"class":118,"line":280},[116,6804,6805],{},"## Tailwind CSS 规则\n",[116,6807,6808],{"class":118,"line":287},[116,6809,6810],{},"- 组件里不用 @apply，直接写原子类\n",[116,6812,6813],{"class":118,"line":293},[116,6814,6815],{},"- 响应式：移动优先（sm:, md:, lg:, xl:）\n",[116,6817,6818],{"class":118,"line":298},[116,6819,6820],{},"- 暗色模式：用 dark: 前缀，class 模式\n",[116,6822,6823],{"class":118,"line":304},[116,6824,6825],{},"- 自定义值：在 tailwind.config.ts 里扩展，不用任意值\n",[116,6827,6828],{"class":118,"line":310},[116,6829,6830],{},"- 间距：使用默认比例（4, 8, 12, 16...），避免随意的 px 值\n",[116,6832,6833],{"class":118,"line":316},[116,6834,6835],{},"- 颜色：用项目主题色，不硬编码 hex\n",[15,6837,6838],{"id":6838},"后端规则",[485,6840,6842],{"id":6841},"_6-go-golang","6. Go (Golang)",[11,6844,6845],{},"强制地道的 Go 风格——错误处理、命名规范和包结构。",[107,6847,6849],{"className":268,"code":6848,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Go 专家，遵循 Go 惯用写法。\n\n## 规则\n- 必须显式处理错误，禁止用 _ 忽略 error 返回\n- 小作用域用短变量名 (i, j, n)，大作用域用描述性名称\n- 优先返回 error，不要 panic\n- 包名：短小、全小写、不加下划线\n- 接口：接受接口，返回结构体\n- 并发：第一个参数始终是 context.Context\n- 测试：表驱动测试 + 子测试\n\n## 错误处理模式\nresult, err := doSomething()\nif err != nil {\n    return fmt.Errorf(\"doSomething failed: %w\", err)\n}\n",[43,6850,6851,6855,6860,6864,6868,6873,6878,6883,6888,6893,6898,6903,6907,6912,6917,6922,6927],{"__ignoreMap":112},[116,6852,6853],{"class":118,"line":119},[116,6854,6357],{},[116,6856,6857],{"class":118,"line":280},[116,6858,6859],{},"你是 Go 专家，遵循 Go 惯用写法。\n",[116,6861,6862],{"class":118,"line":287},[116,6863,284],{"emptyLinePlaceholder":283},[116,6865,6866],{"class":118,"line":293},[116,6867,6464],{},[116,6869,6870],{"class":118,"line":298},[116,6871,6872],{},"- 必须显式处理错误，禁止用 _ 忽略 error 返回\n",[116,6874,6875],{"class":118,"line":304},[116,6876,6877],{},"- 小作用域用短变量名 (i, j, n)，大作用域用描述性名称\n",[116,6879,6880],{"class":118,"line":310},[116,6881,6882],{},"- 优先返回 error，不要 panic\n",[116,6884,6885],{"class":118,"line":316},[116,6886,6887],{},"- 包名：短小、全小写、不加下划线\n",[116,6889,6890],{"class":118,"line":322},[116,6891,6892],{},"- 接口：接受接口，返回结构体\n",[116,6894,6895],{"class":118,"line":327},[116,6896,6897],{},"- 并发：第一个参数始终是 context.Context\n",[116,6899,6900],{"class":118,"line":333},[116,6901,6902],{},"- 测试：表驱动测试 + 子测试\n",[116,6904,6905],{"class":118,"line":339},[116,6906,284],{"emptyLinePlaceholder":283},[116,6908,6909],{"class":118,"line":345},[116,6910,6911],{},"## 错误处理模式\n",[116,6913,6914],{"class":118,"line":350},[116,6915,6916],{},"result, err := doSomething()\n",[116,6918,6919],{"class":118,"line":356},[116,6920,6921],{},"if err != nil {\n",[116,6923,6924],{"class":118,"line":362},[116,6925,6926],{},"    return fmt.Errorf(\"doSomething failed: %w\", err)\n",[116,6928,6929],{"class":118,"line":1362},[116,6930,464],{},[485,6932,6934],{"id":6933},"_7-python-fastapi","7. Python (FastAPI)",[11,6936,6937],{},"覆盖类型注解、Pydantic 模型和异步模式。",[107,6939,6941],{"className":268,"code":6940,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Python 专家，使用 FastAPI。\n\n## 规则\n- 所有函数签名必须有类型注解\n- Pydantic v2 模型定义请求\u002F响应 schema\n- 默认 async：路由处理器用 async def\n- 依赖注入用 Depends()\n- 错误处理：raise HTTPException + 正确的状态码\n- 数据库：SQLAlchemy 2.0 async + 类型查询\n\n## 路由模式\n@router.get(\"\u002Fusers\u002F{user_id}\", response_model=UserResponse)\nasync def get_user(user_id: int, db: AsyncSession = Depends(get_db)):\n    user = await db.get(User, user_id)\n    if not user:\n        raise HTTPException(status_code=404, detail=\"User not found\")\n    return user\n",[43,6942,6943,6947,6952,6956,6960,6965,6970,6975,6980,6985,6990,6994,6999,7004,7009,7014,7019,7024],{"__ignoreMap":112},[116,6944,6945],{"class":118,"line":119},[116,6946,6357],{},[116,6948,6949],{"class":118,"line":280},[116,6950,6951],{},"你是 Python 专家，使用 FastAPI。\n",[116,6953,6954],{"class":118,"line":287},[116,6955,284],{"emptyLinePlaceholder":283},[116,6957,6958],{"class":118,"line":293},[116,6959,6464],{},[116,6961,6962],{"class":118,"line":298},[116,6963,6964],{},"- 所有函数签名必须有类型注解\n",[116,6966,6967],{"class":118,"line":304},[116,6968,6969],{},"- Pydantic v2 模型定义请求\u002F响应 schema\n",[116,6971,6972],{"class":118,"line":310},[116,6973,6974],{},"- 默认 async：路由处理器用 async def\n",[116,6976,6977],{"class":118,"line":316},[116,6978,6979],{},"- 依赖注入用 Depends()\n",[116,6981,6982],{"class":118,"line":322},[116,6983,6984],{},"- 错误处理：raise HTTPException + 正确的状态码\n",[116,6986,6987],{"class":118,"line":327},[116,6988,6989],{},"- 数据库：SQLAlchemy 2.0 async + 类型查询\n",[116,6991,6992],{"class":118,"line":333},[116,6993,284],{"emptyLinePlaceholder":283},[116,6995,6996],{"class":118,"line":339},[116,6997,6998],{},"## 路由模式\n",[116,7000,7001],{"class":118,"line":345},[116,7002,7003],{},"@router.get(\"\u002Fusers\u002F{user_id}\", response_model=UserResponse)\n",[116,7005,7006],{"class":118,"line":350},[116,7007,7008],{},"async def get_user(user_id: int, db: AsyncSession = Depends(get_db)):\n",[116,7010,7011],{"class":118,"line":356},[116,7012,7013],{},"    user = await db.get(User, user_id)\n",[116,7015,7016],{"class":118,"line":362},[116,7017,7018],{},"    if not user:\n",[116,7020,7021],{"class":118,"line":1362},[116,7022,7023],{},"        raise HTTPException(status_code=404, detail=\"User not found\")\n",[116,7025,7026],{"class":118,"line":1368},[116,7027,7028],{},"    return user\n",[485,7030,7032],{"id":7031},"_8-nodejs-expresshono","8. Node.js (Express\u002FHono)",[11,7034,7035],{},"现代 Node 模式——ESM 导入、中间件组合和错误处理。",[107,7037,7039],{"className":268,"code":7038,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Node.js 后端专家。\n\n## 规则\n- ESM 导入 (import\u002Fexport)，禁止 CommonJS (require)\n- 用 Hono 或 Express + TypeScript\n- 中间件：小而专注的中间件函数组合\n- 校验：Zod 做请求体校验\n- 错误：集中式错误处理中间件\n- 环境变量：用 dotenv，禁止硬编码配置\n- 日志：pino 结构化 JSON 日志\n",[43,7040,7041,7045,7050,7054,7058,7063,7068,7073,7078,7083,7088],{"__ignoreMap":112},[116,7042,7043],{"class":118,"line":119},[116,7044,6357],{},[116,7046,7047],{"class":118,"line":280},[116,7048,7049],{},"你是 Node.js 后端专家。\n",[116,7051,7052],{"class":118,"line":287},[116,7053,284],{"emptyLinePlaceholder":283},[116,7055,7056],{"class":118,"line":293},[116,7057,6464],{},[116,7059,7060],{"class":118,"line":298},[116,7061,7062],{},"- ESM 导入 (import\u002Fexport)，禁止 CommonJS (require)\n",[116,7064,7065],{"class":118,"line":304},[116,7066,7067],{},"- 用 Hono 或 Express + TypeScript\n",[116,7069,7070],{"class":118,"line":310},[116,7071,7072],{},"- 中间件：小而专注的中间件函数组合\n",[116,7074,7075],{"class":118,"line":316},[116,7076,7077],{},"- 校验：Zod 做请求体校验\n",[116,7079,7080],{"class":118,"line":322},[116,7081,7082],{},"- 错误：集中式错误处理中间件\n",[116,7084,7085],{"class":118,"line":327},[116,7086,7087],{},"- 环境变量：用 dotenv，禁止硬编码配置\n",[116,7089,7090],{"class":118,"line":333},[116,7091,7092],{},"- 日志：pino 结构化 JSON 日志\n",[485,7094,7096],{"id":7095},"_9-django","9. Django",[11,7098,7099],{},"Django 惯例——模型设计、视图、序列化器和 Admin。",[107,7101,7103],{"className":268,"code":7102,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Django 专家。\n\n## 规则\n- API 用 Django REST Framework\n- Model：显式字段类型，必加 Meta class 定义排序\n- View：优先用类视图 (APIView, ViewSet)\n- Serializer：在序列化器层做校验\n- Migration：自动生成的迁移必须人工审查后再执行\n- 安全：使用 Django 内置保护 (CSRF, XSS, SQL 注入)\n- 测试：pytest-django + fixtures\n",[43,7104,7105,7109,7114,7118,7122,7127,7132,7137,7142,7147,7152],{"__ignoreMap":112},[116,7106,7107],{"class":118,"line":119},[116,7108,6357],{},[116,7110,7111],{"class":118,"line":280},[116,7112,7113],{},"你是 Django 专家。\n",[116,7115,7116],{"class":118,"line":287},[116,7117,284],{"emptyLinePlaceholder":283},[116,7119,7120],{"class":118,"line":293},[116,7121,6464],{},[116,7123,7124],{"class":118,"line":298},[116,7125,7126],{},"- API 用 Django REST Framework\n",[116,7128,7129],{"class":118,"line":304},[116,7130,7131],{},"- Model：显式字段类型，必加 Meta class 定义排序\n",[116,7133,7134],{"class":118,"line":310},[116,7135,7136],{},"- View：优先用类视图 (APIView, ViewSet)\n",[116,7138,7139],{"class":118,"line":316},[116,7140,7141],{},"- Serializer：在序列化器层做校验\n",[116,7143,7144],{"class":118,"line":322},[116,7145,7146],{},"- Migration：自动生成的迁移必须人工审查后再执行\n",[116,7148,7149],{"class":118,"line":327},[116,7150,7151],{},"- 安全：使用 Django 内置保护 (CSRF, XSS, SQL 注入)\n",[116,7153,7154],{"class":118,"line":333},[116,7155,7156],{},"- 测试：pytest-django + fixtures\n",[485,7158,7160],{"id":7159},"_10-rust","10. Rust",[11,7162,7163,7164,7167],{},"所有权模式、",[43,7165,7166],{},"Result"," 错误处理和地道的 Rust 写法。",[107,7169,7171],{"className":268,"code":7170,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Rust 专家。\n\n## 规则\n- 函数参数优先用 &str，不用 String\n- 可失败操作用 Result\u003CT, E>，库代码禁止 panic\n- 常用 trait 都要 derive: Debug, Clone, PartialEq\n- 库用 thiserror，应用用 anyhow\n- 优先用迭代器，不手写循环\n- 生命周期：编译器要求时才标注\n",[43,7172,7173,7177,7182,7186,7190,7195,7200,7205,7210,7215],{"__ignoreMap":112},[116,7174,7175],{"class":118,"line":119},[116,7176,6357],{},[116,7178,7179],{"class":118,"line":280},[116,7180,7181],{},"你是 Rust 专家。\n",[116,7183,7184],{"class":118,"line":287},[116,7185,284],{"emptyLinePlaceholder":283},[116,7187,7188],{"class":118,"line":293},[116,7189,6464],{},[116,7191,7192],{"class":118,"line":298},[116,7193,7194],{},"- 函数参数优先用 &str，不用 String\n",[116,7196,7197],{"class":118,"line":304},[116,7198,7199],{},"- 可失败操作用 Result\u003CT, E>，库代码禁止 panic\n",[116,7201,7202],{"class":118,"line":310},[116,7203,7204],{},"- 常用 trait 都要 derive: Debug, Clone, PartialEq\n",[116,7206,7207],{"class":118,"line":316},[116,7208,7209],{},"- 库用 thiserror，应用用 anyhow\n",[116,7211,7212],{"class":118,"line":322},[116,7213,7214],{},"- 优先用迭代器，不手写循环\n",[116,7216,7217],{"class":118,"line":327},[116,7218,7219],{},"- 生命周期：编译器要求时才标注\n",[15,7221,7222],{"id":7222},"全栈规则",[485,7224,7226],{"id":7225},"_11-t3-stack-nextjs-trpc-prisma","11. T3 Stack (Next.js + tRPC + Prisma)",[107,7228,7230],{"className":268,"code":7229,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 T3 Stack 专家 (Next.js, tRPC, Prisma, NextAuth)。\n\n## 规则\n- tRPC router 放 server\u002Fapi\u002Frouters\u002F，输入用 Zod 校验\n- Prisma：总是用 select\u002Finclude 避免过度查询\n- 认证：NextAuth.js + getServerSession\n- 类型安全：利用 tRPC 端到端类型推断，不手写 API 响应类型\n",[43,7231,7232,7236,7241,7245,7249,7254,7259,7264],{"__ignoreMap":112},[116,7233,7234],{"class":118,"line":119},[116,7235,6357],{},[116,7237,7238],{"class":118,"line":280},[116,7239,7240],{},"你是 T3 Stack 专家 (Next.js, tRPC, Prisma, NextAuth)。\n",[116,7242,7243],{"class":118,"line":287},[116,7244,284],{"emptyLinePlaceholder":283},[116,7246,7247],{"class":118,"line":293},[116,7248,6464],{},[116,7250,7251],{"class":118,"line":298},[116,7252,7253],{},"- tRPC router 放 server\u002Fapi\u002Frouters\u002F，输入用 Zod 校验\n",[116,7255,7256],{"class":118,"line":304},[116,7257,7258],{},"- Prisma：总是用 select\u002Finclude 避免过度查询\n",[116,7260,7261],{"class":118,"line":310},[116,7262,7263],{},"- 认证：NextAuth.js + getServerSession\n",[116,7265,7266],{"class":118,"line":316},[116,7267,7268],{},"- 类型安全：利用 tRPC 端到端类型推断，不手写 API 响应类型\n",[485,7270,7272],{"id":7271},"_12-mern-stack","12. MERN Stack",[107,7274,7276],{"className":268,"code":7275,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 MERN 全栈专家 (MongoDB, Express, React, Node)。\n\n## 规则\n- 后端：Express + TypeScript，Mongoose ODM\n- 前端：React + TypeScript + Vite\n- API：RESTful + 正确 HTTP 状态码\n- 校验：后端 Zod，前端 React Hook Form\n- 认证：JWT + httpOnly Cookie，禁止 localStorage\n",[43,7277,7278,7282,7287,7291,7295,7300,7305,7310,7315],{"__ignoreMap":112},[116,7279,7280],{"class":118,"line":119},[116,7281,6357],{},[116,7283,7284],{"class":118,"line":280},[116,7285,7286],{},"你是 MERN 全栈专家 (MongoDB, Express, React, Node)。\n",[116,7288,7289],{"class":118,"line":287},[116,7290,284],{"emptyLinePlaceholder":283},[116,7292,7293],{"class":118,"line":293},[116,7294,6464],{},[116,7296,7297],{"class":118,"line":298},[116,7298,7299],{},"- 后端：Express + TypeScript，Mongoose ODM\n",[116,7301,7302],{"class":118,"line":304},[116,7303,7304],{},"- 前端：React + TypeScript + Vite\n",[116,7306,7307],{"class":118,"line":310},[116,7308,7309],{},"- API：RESTful + 正确 HTTP 状态码\n",[116,7311,7312],{"class":118,"line":316},[116,7313,7314],{},"- 校验：后端 Zod，前端 React Hook Form\n",[116,7316,7317],{"class":118,"line":322},[116,7318,7319],{},"- 认证：JWT + httpOnly Cookie，禁止 localStorage\n",[485,7321,7323],{"id":7322},"_13-laravel-vue","13. Laravel + Vue",[107,7325,7327],{"className":268,"code":7326,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Laravel + Vue 专家。\n\n## 规则\n- Laravel：Eloquent 关系，Form Request 做校验\n- Vue：Composition API + \u003Cscript setup>\n- Inertia.js 实现 SPA 导航，不需要 API 路由\n- 认证：Laravel Sanctum\n- 测试：PHPUnit 后端，Vitest 前端\n",[43,7328,7329,7333,7338,7342,7346,7351,7356,7361,7366],{"__ignoreMap":112},[116,7330,7331],{"class":118,"line":119},[116,7332,6357],{},[116,7334,7335],{"class":118,"line":280},[116,7336,7337],{},"你是 Laravel + Vue 专家。\n",[116,7339,7340],{"class":118,"line":287},[116,7341,284],{"emptyLinePlaceholder":283},[116,7343,7344],{"class":118,"line":293},[116,7345,6464],{},[116,7347,7348],{"class":118,"line":298},[116,7349,7350],{},"- Laravel：Eloquent 关系，Form Request 做校验\n",[116,7352,7353],{"class":118,"line":304},[116,7354,7355],{},"- Vue：Composition API + \u003Cscript setup>\n",[116,7357,7358],{"class":118,"line":310},[116,7359,7360],{},"- Inertia.js 实现 SPA 导航，不需要 API 路由\n",[116,7362,7363],{"class":118,"line":316},[116,7364,7365],{},"- 认证：Laravel Sanctum\n",[116,7367,7368],{"class":118,"line":322},[116,7369,7370],{},"- 测试：PHPUnit 后端，Vitest 前端\n",[485,7372,7374],{"id":7373},"_14-rails-react","14. Rails + React",[107,7376,7378],{"className":268,"code":7377,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Ruby on Rails + React 专家。\n\n## 规则\n- Rails：遵循 Rails 惯例（胖模型瘦控制器）\n- React：通过 Rails 资产管道或独立 Vite 应用\n- API：jbuilder 或 Active Model Serializers\n- 测试：RSpec + FactoryBot 后端，Jest 前端\n- 数据库：用 migration，禁止直接改 schema\n",[43,7379,7380,7384,7389,7393,7397,7402,7407,7412,7417],{"__ignoreMap":112},[116,7381,7382],{"class":118,"line":119},[116,7383,6357],{},[116,7385,7386],{"class":118,"line":280},[116,7387,7388],{},"你是 Ruby on Rails + React 专家。\n",[116,7390,7391],{"class":118,"line":287},[116,7392,284],{"emptyLinePlaceholder":283},[116,7394,7395],{"class":118,"line":293},[116,7396,6464],{},[116,7398,7399],{"class":118,"line":298},[116,7400,7401],{},"- Rails：遵循 Rails 惯例（胖模型瘦控制器）\n",[116,7403,7404],{"class":118,"line":304},[116,7405,7406],{},"- React：通过 Rails 资产管道或独立 Vite 应用\n",[116,7408,7409],{"class":118,"line":310},[116,7410,7411],{},"- API：jbuilder 或 Active Model Serializers\n",[116,7413,7414],{"class":118,"line":316},[116,7415,7416],{},"- 测试：RSpec + FactoryBot 后端，Jest 前端\n",[116,7418,7419],{"class":118,"line":322},[116,7420,7421],{},"- 数据库：用 migration，禁止直接改 schema\n",[485,7423,7425],{"id":7424},"_15-supabase-全栈","15. Supabase 全栈",[107,7427,7429],{"className":268,"code":7428,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 Supabase 专家。\n\n## 规则\n- 使用 Supabase 客户端库，不直接连 PostgreSQL\n- 认证：Supabase Auth + RLS\n- 存储：Supabase Storage + Signed URL\n- Edge Functions：Deno 运行时 + Supabase 客户端\n- 实时：Supabase Realtime 订阅\n- 每张表必须启用 RLS——没有例外\n",[43,7430,7431,7435,7440,7444,7448,7453,7458,7463,7468,7473],{"__ignoreMap":112},[116,7432,7433],{"class":118,"line":119},[116,7434,6357],{},[116,7436,7437],{"class":118,"line":280},[116,7438,7439],{},"你是 Supabase 专家。\n",[116,7441,7442],{"class":118,"line":287},[116,7443,284],{"emptyLinePlaceholder":283},[116,7445,7446],{"class":118,"line":293},[116,7447,6464],{},[116,7449,7450],{"class":118,"line":298},[116,7451,7452],{},"- 使用 Supabase 客户端库，不直接连 PostgreSQL\n",[116,7454,7455],{"class":118,"line":304},[116,7456,7457],{},"- 认证：Supabase Auth + RLS\n",[116,7459,7460],{"class":118,"line":310},[116,7461,7462],{},"- 存储：Supabase Storage + Signed URL\n",[116,7464,7465],{"class":118,"line":316},[116,7466,7467],{},"- Edge Functions：Deno 运行时 + Supabase 客户端\n",[116,7469,7470],{"class":118,"line":322},[116,7471,7472],{},"- 实时：Supabase Realtime 订阅\n",[116,7474,7475],{"class":118,"line":327},[116,7476,7477],{},"- 每张表必须启用 RLS——没有例外\n",[15,7479,7480],{"id":7480},"通用规则",[485,7482,7484],{"id":7483},"_16-代码风格强制","16. 代码风格强制",[107,7486,7488],{"className":268,"code":7487,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## 代码风格\n- 函数最长 30 行\n- 文件最长 300 行\n- 函数参数最多 4 个（更多用 options 对象）\n- 禁止嵌套三元表达式\n- 禁止魔法数字——用常量 + 描述性命名\n- 注释说明 WHY，不说 WHAT\n- 禁止注释掉的代码——删掉它，Git 记得一切\n",[43,7489,7490,7494,7499,7504,7509,7514,7519,7524,7529],{"__ignoreMap":112},[116,7491,7492],{"class":118,"line":119},[116,7493,6357],{},[116,7495,7496],{"class":118,"line":280},[116,7497,7498],{},"## 代码风格\n",[116,7500,7501],{"class":118,"line":287},[116,7502,7503],{},"- 函数最长 30 行\n",[116,7505,7506],{"class":118,"line":293},[116,7507,7508],{},"- 文件最长 300 行\n",[116,7510,7511],{"class":118,"line":298},[116,7512,7513],{},"- 函数参数最多 4 个（更多用 options 对象）\n",[116,7515,7516],{"class":118,"line":304},[116,7517,7518],{},"- 禁止嵌套三元表达式\n",[116,7520,7521],{"class":118,"line":310},[116,7522,7523],{},"- 禁止魔法数字——用常量 + 描述性命名\n",[116,7525,7526],{"class":118,"line":316},[116,7527,7528],{},"- 注释说明 WHY，不说 WHAT\n",[116,7530,7531],{"class":118,"line":322},[116,7532,7533],{},"- 禁止注释掉的代码——删掉它，Git 记得一切\n",[485,7535,7537],{"id":7536},"_17-测试标准","17. 测试标准",[107,7539,7541],{"className":268,"code":7540,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## 测试规则\n- 每个新函数至少一个测试\n- 命名：describe(\"函数名\") → it(\"should 做什么 when 什么条件\")\n- 每个测试遵循 Arrange-Act-Assert\n- 测试间无依赖，每个测试独立运行\n- mock 外部服务，测试里不调真实 API\n- 覆盖率目标：80% 行覆盖率以上\n- API 端点优先写集成测试\n",[43,7542,7543,7547,7552,7557,7562,7567,7572,7577,7582],{"__ignoreMap":112},[116,7544,7545],{"class":118,"line":119},[116,7546,6357],{},[116,7548,7549],{"class":118,"line":280},[116,7550,7551],{},"## 测试规则\n",[116,7553,7554],{"class":118,"line":287},[116,7555,7556],{},"- 每个新函数至少一个测试\n",[116,7558,7559],{"class":118,"line":293},[116,7560,7561],{},"- 命名：describe(\"函数名\") → it(\"should 做什么 when 什么条件\")\n",[116,7563,7564],{"class":118,"line":298},[116,7565,7566],{},"- 每个测试遵循 Arrange-Act-Assert\n",[116,7568,7569],{"class":118,"line":304},[116,7570,7571],{},"- 测试间无依赖，每个测试独立运行\n",[116,7573,7574],{"class":118,"line":310},[116,7575,7576],{},"- mock 外部服务，测试里不调真实 API\n",[116,7578,7579],{"class":118,"line":316},[116,7580,7581],{},"- 覆盖率目标：80% 行覆盖率以上\n",[116,7583,7584],{"class":118,"line":322},[116,7585,7586],{},"- API 端点优先写集成测试\n",[485,7588,7590],{"id":7589},"_18-安全规则","18. 安全规则",[107,7592,7594],{"className":268,"code":7593,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## 安全规则\n- 禁止硬编码密钥、API Key 或密码\n- 数据库查询必须参数化，禁止字符串拼接\n- 服务端校验并清洗所有用户输入\n- 外部 API 调用必须 HTTPS\n- CORS 生产环境禁止通配符 (*)\n- 密码用 bcrypt (cost factor 12+)\n- JWT：短有效期（access 15 分钟，refresh 7 天），httpOnly Cookie\n",[43,7595,7596,7600,7605,7610,7615,7620,7625,7630,7635],{"__ignoreMap":112},[116,7597,7598],{"class":118,"line":119},[116,7599,6357],{},[116,7601,7602],{"class":118,"line":280},[116,7603,7604],{},"## 安全规则\n",[116,7606,7607],{"class":118,"line":287},[116,7608,7609],{},"- 禁止硬编码密钥、API Key 或密码\n",[116,7611,7612],{"class":118,"line":293},[116,7613,7614],{},"- 数据库查询必须参数化，禁止字符串拼接\n",[116,7616,7617],{"class":118,"line":298},[116,7618,7619],{},"- 服务端校验并清洗所有用户输入\n",[116,7621,7622],{"class":118,"line":304},[116,7623,7624],{},"- 外部 API 调用必须 HTTPS\n",[116,7626,7627],{"class":118,"line":310},[116,7628,7629],{},"- CORS 生产环境禁止通配符 (*)\n",[116,7631,7632],{"class":118,"line":316},[116,7633,7634],{},"- 密码用 bcrypt (cost factor 12+)\n",[116,7636,7637],{"class":118,"line":322},[116,7638,7639],{},"- JWT：短有效期（access 15 分钟，refresh 7 天），httpOnly Cookie\n",[485,7641,7643],{"id":7642},"_19-git-提交规范","19. Git 提交规范",[107,7645,7647],{"className":268,"code":7646,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## Git Commit 规则\n- 遵循 Conventional Commits：type(scope): description\n- Types: feat, fix, docs, style, refactor, test, chore\n- 标题行最长 72 字符，祈使语气\n- Body 解释 WHY，不解释 WHAT（diff 已经展示了 WHAT）\n- 每个提交一个逻辑变更\n- 禁止提交生成文件、.env 或 node_modules\n",[43,7648,7649,7653,7658,7663,7668,7673,7678,7683],{"__ignoreMap":112},[116,7650,7651],{"class":118,"line":119},[116,7652,6357],{},[116,7654,7655],{"class":118,"line":280},[116,7656,7657],{},"## Git Commit 规则\n",[116,7659,7660],{"class":118,"line":287},[116,7661,7662],{},"- 遵循 Conventional Commits：type(scope): description\n",[116,7664,7665],{"class":118,"line":293},[116,7666,7667],{},"- Types: feat, fix, docs, style, refactor, test, chore\n",[116,7669,7670],{"class":118,"line":298},[116,7671,7672],{},"- 标题行最长 72 字符，祈使语气\n",[116,7674,7675],{"class":118,"line":304},[116,7676,7677],{},"- Body 解释 WHY，不解释 WHAT（diff 已经展示了 WHAT）\n",[116,7679,7680],{"class":118,"line":310},[116,7681,7682],{},"- 每个提交一个逻辑变更\n",[116,7684,7685],{"class":118,"line":316},[116,7686,7687],{},"- 禁止提交生成文件、.env 或 node_modules\n",[485,7689,7691],{"id":7690},"_20-文档标准","20. 文档标准",[107,7693,7695],{"className":268,"code":7694,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n## 文档规则\n- 公开函数：JSDoc 标注 @param, @returns, @throws\n- README：项目用途、安装步骤、架构概览\n- API 端点：请求\u002F响应 schema + 示例\n- 复杂算法：上方注释说明思路\n- 架构决策：ADR 格式放 docs\u002Fdecisions\u002F\n- 文档和代码在同一个 PR 里更新，不留过期文档\n",[43,7696,7697,7701,7706,7711,7716,7721,7726,7731],{"__ignoreMap":112},[116,7698,7699],{"class":118,"line":119},[116,7700,6357],{},[116,7702,7703],{"class":118,"line":280},[116,7704,7705],{},"## 文档规则\n",[116,7707,7708],{"class":118,"line":287},[116,7709,7710],{},"- 公开函数：JSDoc 标注 @param, @returns, @throws\n",[116,7712,7713],{"class":118,"line":293},[116,7714,7715],{},"- README：项目用途、安装步骤、架构概览\n",[116,7717,7718],{"class":118,"line":298},[116,7719,7720],{},"- API 端点：请求\u002F响应 schema + 示例\n",[116,7722,7723],{"class":118,"line":304},[116,7724,7725],{},"- 复杂算法：上方注释说明思路\n",[116,7727,7728],{"class":118,"line":310},[116,7729,7730],{},"- 架构决策：ADR 格式放 docs\u002Fdecisions\u002F\n",[116,7732,7733],{"class":118,"line":316},[116,7734,7735],{},"- 文档和代码在同一个 PR 里更新，不留过期文档\n",[15,7737,7739],{"id":7738},"如何创建自己的-cursor-rule","如何创建自己的 Cursor Rule",[485,7741,7743],{"id":7742},"第一步找出你的模式","第一步：找出你的模式",[11,7745,7746],{},"列出你在代码审查中重复说的前 10 件事，这些就是你的规则。",[107,7748,7750],{"className":109,"code":7749,"language":111,"meta":112,"style":112},"# 翻看最近 20 个 PR 的评论\n# 找到这样的模式：\n# - \"请用 TypeScript strict 模式\"\n# - \"错误情况没处理\"\n# - \"用我们的 Button 组件，不要原生 \u003Cbutton>\"\n",[43,7751,7752,7757,7762,7767,7772],{"__ignoreMap":112},[116,7753,7754],{"class":118,"line":119},[116,7755,7756],{"class":1161},"# 翻看最近 20 个 PR 的评论\n",[116,7758,7759],{"class":118,"line":280},[116,7760,7761],{"class":1161},"# 找到这样的模式：\n",[116,7763,7764],{"class":118,"line":287},[116,7765,7766],{"class":1161},"# - \"请用 TypeScript strict 模式\"\n",[116,7768,7769],{"class":118,"line":293},[116,7770,7771],{"class":1161},"# - \"错误情况没处理\"\n",[116,7773,7774],{"class":118,"line":298},[116,7775,7776],{"class":1161},"# - \"用我们的 Button 组件，不要原生 \u003Cbutton>\"\n",[485,7778,7780],{"id":7779},"第二步写规则文件","第二步：写规则文件",[107,7782,7784],{"className":268,"code":7783,"language":270,"meta":112,"style":112},"\u003C!-- .cursorrules -->\n你是 [你的技术栈] 专家，在 [项目名] 上工作。\n\n## 架构\n[你的架构决策]\n\n## 代码规范\n[团队约定]\n\n## 常用模式\n[常见任务的代码模板]\n\n## 避免\n[项目特有的反模式]\n",[43,7785,7786,7790,7795,7799,7803,7808,7812,7816,7821,7825,7830,7835,7839,7844],{"__ignoreMap":112},[116,7787,7788],{"class":118,"line":119},[116,7789,6357],{},[116,7791,7792],{"class":118,"line":280},[116,7793,7794],{},"你是 [你的技术栈] 专家，在 [项目名] 上工作。\n",[116,7796,7797],{"class":118,"line":287},[116,7798,284],{"emptyLinePlaceholder":283},[116,7800,7801],{"class":118,"line":293},[116,7802,6394],{},[116,7804,7805],{"class":118,"line":298},[116,7806,7807],{},"[你的架构决策]\n",[116,7809,7810],{"class":118,"line":304},[116,7811,284],{"emptyLinePlaceholder":283},[116,7813,7814],{"class":118,"line":310},[116,7815,5526],{},[116,7817,7818],{"class":118,"line":316},[116,7819,7820],{},"[团队约定]\n",[116,7822,7823],{"class":118,"line":322},[116,7824,284],{"emptyLinePlaceholder":283},[116,7826,7827],{"class":118,"line":327},[116,7828,7829],{},"## 常用模式\n",[116,7831,7832],{"class":118,"line":333},[116,7833,7834],{},"[常见任务的代码模板]\n",[116,7836,7837],{"class":118,"line":339},[116,7838,284],{"emptyLinePlaceholder":283},[116,7840,7841],{"class":118,"line":345},[116,7842,7843],{},"## 避免\n",[116,7845,7846],{"class":118,"line":350},[116,7847,7848],{},"[项目特有的反模式]\n",[485,7850,7852],{"id":7851},"第三步测试迭代","第三步：测试迭代",[107,7854,7856],{"className":109,"code":7855,"language":111,"meta":112,"style":112},"# 把文件放到项目根目录\necho \"your rules\" > .cursorrules\n\n# 打开 Cursor 试试常见任务\n# AI 忽略了某条规则？写得更明确\n# 某条规则导致坏输出？删掉或重写\n",[43,7857,7858,7863,7875,7879,7884,7889],{"__ignoreMap":112},[116,7859,7860],{"class":118,"line":119},[116,7861,7862],{"class":1161},"# 把文件放到项目根目录\n",[116,7864,7865,7867,7870,7872],{"class":118,"line":280},[116,7866,1525],{"class":130},[116,7868,7869],{"class":126}," \"your rules\"",[116,7871,1298],{"class":182},[116,7873,7874],{"class":126}," .cursorrules\n",[116,7876,7877],{"class":118,"line":287},[116,7878,284],{"emptyLinePlaceholder":283},[116,7880,7881],{"class":118,"line":293},[116,7882,7883],{"class":1161},"# 打开 Cursor 试试常见任务\n",[116,7885,7886],{"class":118,"line":298},[116,7887,7888],{"class":1161},"# AI 忽略了某条规则？写得更明确\n",[116,7890,7891],{"class":118,"line":304},[116,7892,7893],{"class":1161},"# 某条规则导致坏输出？删掉或重写\n",[485,7895,7897],{"id":7896},"第四步分享给团队","第四步：分享给团队",[107,7899,7901],{"className":109,"code":7900,"language":111,"meta":112,"style":112},"# 提交到仓库\ngit add .cursorrules\ngit commit -m \"docs: 添加团队 Cursor 编码规范\"\n",[43,7902,7903,7908,7916],{"__ignoreMap":112},[116,7904,7905],{"class":118,"line":119},[116,7906,7907],{"class":1161},"# 提交到仓库\n",[116,7909,7910,7912,7914],{"class":118,"line":280},[116,7911,1191],{"class":122},[116,7913,1402],{"class":126},[116,7915,7874],{"class":126},[116,7917,7918,7920,7922,7924],{"class":118,"line":287},[116,7919,1191],{"class":122},[116,7921,1412],{"class":126},[116,7923,1415],{"class":130},[116,7925,7926],{"class":126}," \"docs: 添加团队 Cursor 编码规范\"\n",[11,7928,7929,7930,57],{},"想把规则打包成可移植的 Skill，看 ",[22,7931,1030],{"href":1029},[15,7933,7935],{"id":7934},"cursor-rules-vs-claude-code-skills","Cursor Rules vs Claude Code Skills",[11,7937,7938,7939,7942],{},"Cursor Rules 和 ",[22,7940,7941],{"href":31},"Claude Code Skills"," 有什么区别？它们解决类似的问题，但工作方式不同。",[931,7944],{":headers":7945,":rows":7946},"[\"特性\",\"Cursor Rules\",\"Claude Code Skills\"]","[[\"格式\",\".cursorrules（单文件）\",\".md 文件在 .claude\u002Fcommands\u002F\"],[\"作用范围\",\"整个项目\",\"按 Skill（按需触发）\"],[\"激活方式\",\"始终激活\",\"通过命令或模式触发\"],[\"分发方式\",\"仅 Git 仓库\",\"Git、TokRepo 或自建注册中心\"],[\"生态系统\",\"社区 .cursorrules 仓库\",\"TokRepo（500+ Skill）\"],[\"跨工具\",\"仅 Cursor\",\"Claude Code、Codex CLI、Gemini CLI\"],[\"复杂度\",\"简单（一个文件）\",\"可复杂（多文件、有依赖）\"],[\"最适合\",\"编码规范\",\"复杂工作流 & 自动化\"]]",[11,7948,7949,7952,7953,4124,7956,7959,7960,7963],{},[68,7950,7951],{},"结论："," Cursor Rules 适合在 Cursor 里强制编码规范。Claude Code Skills 更适合复杂的多步骤工作流，比如",[22,7954,7955],{"href":31},"项目管理",[22,7957,7958],{"href":31},"调试","和 ",[22,7961,7962],{"href":31},"SEO 审计","。很多开发者两个都用——Cursor 里配 Rules，Claude Code 里装 Skills。",[11,7965,7966,7967,57],{},"想全面了解两者差异，看 ",[22,7968,999],{"href":998},[15,7970,976],{"id":976},[485,7972,7974],{"id":7973},"能用多个-cursorrules-文件吗","能用多个 .cursorrules 文件吗？",[11,7976,7977,7978,7980],{},"Cursor 只读项目根目录下的一个 ",[43,7979,6319],{}," 文件。如果项目不同部分需要不同规则，合并到一个文件的不同段落。Monorepo 放在根目录。",[485,7982,7984],{"id":7983},"cursorrules-文件应该多长",".cursorrules 文件应该多长？",[11,7986,7987],{},"控制在 2000 词以内。规则太长会分散 AI 的注意力。聚焦最重要的 10-15 条约定。如果条目更多，优先选那些在代码审查中出现频率最高的。",[485,7989,7991],{"id":7990},"cursor-rules-能用在其他-ai-助手上吗","Cursor Rules 能用在其他 AI 助手上吗？",[11,7993,7994,7995,7997,7998,8000,8001,57,8004,8007],{},"不能——",[43,7996,6319],{}," 是 Cursor 专属格式。",[22,7999,32],{"href":31}," 用 Agent Skill。GitHub Copilot 用 ",[43,8002,8003],{},".github\u002Fcopilot-instructions.md",[22,8005,3422],{"href":3285,"rel":8006},[26]," 在尝试建立跨工具的通用格式。",[15,8009,1038],{"id":1038},[62,8011,8012,8017,8022,8030],{},[65,8013,8014,8016],{},[22,8015,2644],{"href":998}," — AI 编程扩展方式的详细比较",[65,8018,8019,8021],{},[22,8020,2638],{"href":31}," — 如果你也用 Claude Code",[65,8023,8024,8029],{},[22,8025,8028],{"href":8026,"rel":8027},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fcollections\u002Fprompts",[26],"浏览 TokRepo Prompt 集合"," — 任何 AI 助手都能用的提示词",[65,8031,8032,8034],{},[22,8033,2632],{"href":1029}," — 把 Cursor Rules 转换成可移植的 Skill",[1065,8036,8037],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":112,"searchDepth":280,"depth":280,"links":8039},[8040,8041,8044,8051,8058,8065,8072,8078,8079,8084],{"id":1120,"depth":280,"text":1120},{"id":6340,"depth":280,"text":6341,"children":8042},[8043],{"id":6422,"depth":287,"text":6422},{"id":6434,"depth":280,"text":6434,"children":8045},[8046,8047,8048,8049,8050],{"id":6437,"depth":287,"text":6438},{"id":6544,"depth":287,"text":6545},{"id":6650,"depth":287,"text":6651},{"id":6718,"depth":287,"text":6719},{"id":6787,"depth":287,"text":6788},{"id":6838,"depth":280,"text":6838,"children":8052},[8053,8054,8055,8056,8057],{"id":6841,"depth":287,"text":6842},{"id":6933,"depth":287,"text":6934},{"id":7031,"depth":287,"text":7032},{"id":7095,"depth":287,"text":7096},{"id":7159,"depth":287,"text":7160},{"id":7222,"depth":280,"text":7222,"children":8059},[8060,8061,8062,8063,8064],{"id":7225,"depth":287,"text":7226},{"id":7271,"depth":287,"text":7272},{"id":7322,"depth":287,"text":7323},{"id":7373,"depth":287,"text":7374},{"id":7424,"depth":287,"text":7425},{"id":7480,"depth":280,"text":7480,"children":8066},[8067,8068,8069,8070,8071],{"id":7483,"depth":287,"text":7484},{"id":7536,"depth":287,"text":7537},{"id":7589,"depth":287,"text":7590},{"id":7642,"depth":287,"text":7643},{"id":7690,"depth":287,"text":7691},{"id":7738,"depth":280,"text":7739,"children":8073},[8074,8075,8076,8077],{"id":7742,"depth":287,"text":7743},{"id":7779,"depth":287,"text":7780},{"id":7851,"depth":287,"text":7852},{"id":7896,"depth":287,"text":7897},{"id":7934,"depth":280,"text":7935},{"id":976,"depth":280,"text":976,"children":8080},[8081,8082,8083],{"id":7973,"depth":287,"text":7974},{"id":7983,"depth":287,"text":7984},{"id":7990,"depth":287,"text":7991},{"id":1038,"depth":280,"text":1038},"Curated list of 20 tested .cursorrules files for React, Vue, Go, Python, Next.js, and more. Learn how to configure Cursor AI for maximum productivity.","精选 20 个经过测试的 .cursorrules 文件，覆盖 React、Vue、Go、Python、Next.js 等。学习如何配置 Cursor AI 实现最大生产力。","\u002Fguide\u002Fimages\u002Fcursor-rules-guide-hero.svg",{},"\u002Fzh\u002Fguide\u002Fcursor-rules-guide",{"title":6311,"description":8085},"zh\u002Fguide\u002Fcursor-rules-guide",[8093,8094,3510,3511],"cursor","rules","2026 年最佳 Cursor Rules 推荐 — 20 个让 AI 编程起飞的规则","WgJgYdYLSv04ZU813iIGVjZNWw9Rm8tPnWmtVvxtrVI",{"id":4,"title":5,"author":6,"body":8098,"category":1094,"description":1095,"descriptionZh":1096,"extension":1097,"image":1098,"meta":8875,"navigation":283,"path":1100,"publishedAt":1101,"readTime":316,"seo":8876,"stem":1103,"tags":8877,"titleZh":1107,"updatedAt":1101,"__hash__":1108},{"type":8,"value":8099,"toc":8849},[8100,8102,8104,8113,8123,8125,8149,8151,8153,8167,8169,8179,8181,8193,8195,8209,8211,8221,8225,8227,8233,8253,8257,8325,8329,8403,8407,8409,8414,8416,8418,8450,8458,8460,8477,8481,8483,8485,8487,8491,8495,8511,8516,8518,8520,8524,8528,8544,8549,8551,8553,8557,8561,8577,8582,8584,8586,8592,8596,8612,8616,8621,8623,8625,8629,8633,8649,8654,8656,8658,8662,8666,8682,8687,8689,8691,8695,8699,8715,8720,8722,8724,8728,8732,8748,8753,8755,8757,8759,8761,8765,8788,8790,8792,8794,8806,8808,8813,8815,8826,8828,8847],[11,8101,13],{},[15,8103,18],{"id":17},[11,8105,8106,28,8109,33,8111,38],{},[22,8107,27],{"href":24,"rel":8108},[26],[22,8110,32],{"href":31},[22,8112,37],{"href":36},[11,8114,41,8115,46,8117,49,8119,53,8121,57],{},[43,8116,45],{},[43,8118,45],{},[43,8120,52],{},[43,8122,56],{},[11,8124,60],{},[62,8126,8127,8131,8135,8139,8143],{},[65,8128,8129,71],{},[68,8130,70],{},[65,8132,8133,77],{},[68,8134,76],{},[65,8136,8137,83],{},[68,8138,82],{},[65,8140,8141,89],{},[68,8142,88],{},[65,8144,8145,95,8147,98],{},[68,8146,94],{},[43,8148,45],{},[15,8150,102],{"id":101},[11,8152,105],{},[107,8154,8155],{"className":109,"code":110,"language":111,"meta":112,"style":112},[43,8156,8157],{"__ignoreMap":112},[116,8158,8159,8161,8163,8165],{"class":118,"line":119},[116,8160,123],{"class":122},[116,8162,127],{"class":126},[116,8164,131],{"class":130},[116,8166,134],{"class":126},[11,8168,137],{},[107,8170,8171],{"className":109,"code":140,"language":111,"meta":112,"style":112},[43,8172,8173],{"__ignoreMap":112},[116,8174,8175,8177],{"class":118,"line":119},[116,8176,147],{"class":122},[116,8178,150],{"class":126},[11,8180,153],{},[107,8182,8183],{"className":109,"code":156,"language":111,"meta":112,"style":112},[43,8184,8185],{"__ignoreMap":112},[116,8186,8187,8189,8191],{"class":118,"line":119},[116,8188,163],{"class":122},[116,8190,166],{"class":126},[116,8192,169],{"class":126},[11,8194,172],{},[107,8196,8197],{"className":109,"code":175,"language":111,"meta":112,"style":112},[43,8198,8199],{"__ignoreMap":112},[116,8200,8201,8203,8205,8207],{"class":118,"line":119},[116,8202,183],{"class":182},[116,8204,187],{"class":186},[116,8206,190],{"class":182},[116,8208,193],{"class":126},[11,8210,196],{},[107,8212,8213],{"className":109,"code":199,"language":111,"meta":112,"style":112},[43,8214,8215],{"__ignoreMap":112},[116,8216,8217,8219],{"class":118,"line":119},[116,8218,163],{"class":122},[116,8220,208],{"class":130},[11,8222,211,8223,214],{},[43,8224,163],{},[15,8226,218],{"id":217},[11,8228,221,8229,224,8231,228],{},[43,8230,45],{},[43,8232,227],{},[230,8234,8235,8241,8247],{},[65,8236,8237,237,8239,241],{},[68,8238,236],{},[43,8240,240],{},[65,8242,8243,237,8245,250],{},[68,8244,246],{},[43,8246,249],{},[65,8248,8249,237,8251,259],{},[68,8250,255],{},[43,8252,258],{},[11,8254,262,8255,265],{},[43,8256,45],{},[107,8258,8259],{"className":268,"code":269,"language":270,"meta":112,"style":112},[43,8260,8261,8265,8269,8273,8277,8281,8285,8289,8293,8297,8301,8305,8309,8313,8317,8321],{"__ignoreMap":112},[116,8262,8263],{"class":118,"line":119},[116,8264,277],{},[116,8266,8267],{"class":118,"line":280},[116,8268,284],{"emptyLinePlaceholder":283},[116,8270,8271],{"class":118,"line":287},[116,8272,290],{},[116,8274,8275],{"class":118,"line":293},[116,8276,284],{"emptyLinePlaceholder":283},[116,8278,8279],{"class":118,"line":298},[116,8280,301],{},[116,8282,8283],{"class":118,"line":304},[116,8284,307],{},[116,8286,8287],{"class":118,"line":310},[116,8288,313],{},[116,8290,8291],{"class":118,"line":316},[116,8292,319],{},[116,8294,8295],{"class":118,"line":322},[116,8296,284],{"emptyLinePlaceholder":283},[116,8298,8299],{"class":118,"line":327},[116,8300,330],{},[116,8302,8303],{"class":118,"line":333},[116,8304,336],{},[116,8306,8307],{"class":118,"line":339},[116,8308,342],{},[116,8310,8311],{"class":118,"line":345},[116,8312,284],{"emptyLinePlaceholder":283},[116,8314,8315],{"class":118,"line":350},[116,8316,353],{},[116,8318,8319],{"class":118,"line":356},[116,8320,359],{},[116,8322,8323],{"class":118,"line":362},[116,8324,365],{},[11,8326,368,8327,372],{},[43,8328,371],{},[107,8330,8331],{"className":375,"code":376,"language":377,"meta":112,"style":112},[43,8332,8333,8337,8343,8347,8357,8365,8369,8373,8383,8391,8395,8399],{"__ignoreMap":112},[116,8334,8335],{"class":118,"line":119},[116,8336,384],{"class":186},[116,8338,8339,8341],{"class":118,"line":280},[116,8340,389],{"class":130},[116,8342,392],{"class":186},[116,8344,8345],{"class":118,"line":287},[116,8346,397],{"class":186},[116,8348,8349,8351,8353,8355],{"class":118,"line":293},[116,8350,402],{"class":130},[116,8352,405],{"class":186},[116,8354,408],{"class":126},[116,8356,411],{"class":186},[116,8358,8359,8361,8363],{"class":118,"line":298},[116,8360,416],{"class":130},[116,8362,405],{"class":186},[116,8364,421],{"class":130},[116,8366,8367],{"class":118,"line":304},[116,8368,426],{"class":186},[116,8370,8371],{"class":118,"line":310},[116,8372,397],{"class":186},[116,8374,8375,8377,8379,8381],{"class":118,"line":316},[116,8376,402],{"class":130},[116,8378,405],{"class":186},[116,8380,439],{"class":126},[116,8382,411],{"class":186},[116,8384,8385,8387,8389],{"class":118,"line":322},[116,8386,416],{"class":130},[116,8388,405],{"class":186},[116,8390,421],{"class":130},[116,8392,8393],{"class":118,"line":327},[116,8394,454],{"class":186},[116,8396,8397],{"class":118,"line":333},[116,8398,459],{"class":186},[116,8400,8401],{"class":118,"line":339},[116,8402,464],{"class":186},[11,8404,467,8405,471],{},[43,8406,470],{},[15,8408,475],{"id":474},[11,8410,8411,483],{},[22,8412,482],{"href":480,"rel":8413},[26],[485,8415,488],{"id":487},[11,8417,491],{},[107,8419,8420],{"className":109,"code":494,"language":111,"meta":112,"style":112},[43,8421,8422,8432],{"__ignoreMap":112},[116,8423,8424,8426,8428,8430],{"class":118,"line":119},[116,8425,123],{"class":122},[116,8427,127],{"class":126},[116,8429,131],{"class":130},[116,8431,507],{"class":126},[116,8433,8434,8436,8438,8440,8442,8444,8446,8448],{"class":118,"line":280},[116,8435,512],{"class":122},[116,8437,127],{"class":126},[116,8439,517],{"class":182},[116,8441,520],{"class":126},[116,8443,523],{"class":186},[116,8445,526],{"class":182},[116,8447,529],{"class":130},[116,8449,532],{"class":126},[11,8451,8452,538,8454,541,8456,545],{},[43,8453,537],{},[43,8455,45],{},[43,8457,544],{},[485,8459,549],{"id":548},[230,8461,8462,8467,8469,8475],{},[65,8463,554,8464],{},[22,8465,558],{"href":480,"rel":8466},[26],[65,8468,561],{},[65,8470,564,8471,567,8473,571],{},[43,8472,45],{},[43,8474,570],{},[65,8476,574],{},[11,8478,577,8479,581],{},[43,8480,580],{},[15,8482,585],{"id":584},[11,8484,588],{},[485,8486,592],{"id":591},[11,8488,8489,598],{},[68,8490,597],{},[11,8492,8493,604],{},[68,8494,603],{},[107,8496,8497],{"className":109,"code":607,"language":111,"meta":112,"style":112},[43,8498,8499],{"__ignoreMap":112},[116,8500,8501,8503,8505,8507,8509],{"class":118,"line":119},[116,8502,512],{"class":122},[116,8504,127],{"class":126},[116,8506,618],{"class":126},[116,8508,529],{"class":130},[116,8510,532],{"class":126},[11,8512,8513],{},[22,8514,629],{"href":627,"rel":8515},[26],[631,8517],{},[485,8519,636],{"id":635},[11,8521,8522,641],{},[68,8523,597],{},[11,8525,8526,646],{},[68,8527,603],{},[107,8529,8530],{"className":109,"code":649,"language":111,"meta":112,"style":112},[43,8531,8532],{"__ignoreMap":112},[116,8533,8534,8536,8538,8540,8542],{"class":118,"line":119},[116,8535,512],{"class":122},[116,8537,127],{"class":126},[116,8539,660],{"class":126},[116,8541,529],{"class":130},[116,8543,532],{"class":126},[11,8545,8546],{},[22,8547,629],{"href":669,"rel":8548},[26],[631,8550],{},[485,8552,676],{"id":675},[11,8554,8555,681],{},[68,8556,597],{},[11,8558,8559,686],{},[68,8560,603],{},[107,8562,8563],{"className":109,"code":689,"language":111,"meta":112,"style":112},[43,8564,8565],{"__ignoreMap":112},[116,8566,8567,8569,8571,8573,8575],{"class":118,"line":119},[116,8568,512],{"class":122},[116,8570,127],{"class":126},[116,8572,700],{"class":126},[116,8574,529],{"class":130},[116,8576,532],{"class":126},[11,8578,8579],{},[22,8580,629],{"href":709,"rel":8581},[26],[631,8583],{},[485,8585,716],{"id":715},[11,8587,8588,721,8590,725],{},[68,8589,597],{},[43,8591,724],{},[11,8593,8594,730],{},[68,8595,603],{},[107,8597,8598],{"className":109,"code":733,"language":111,"meta":112,"style":112},[43,8599,8600],{"__ignoreMap":112},[116,8601,8602,8604,8606,8608,8610],{"class":118,"line":119},[116,8603,512],{"class":122},[116,8605,127],{"class":126},[116,8607,744],{"class":126},[116,8609,529],{"class":130},[116,8611,532],{"class":126},[11,8613,8614,754],{},[68,8615,753],{},[11,8617,8618],{},[22,8619,629],{"href":759,"rel":8620},[26],[631,8622],{},[485,8624,766],{"id":765},[11,8626,8627,771],{},[68,8628,597],{},[11,8630,8631,776],{},[68,8632,603],{},[107,8634,8635],{"className":109,"code":779,"language":111,"meta":112,"style":112},[43,8636,8637],{"__ignoreMap":112},[116,8638,8639,8641,8643,8645,8647],{"class":118,"line":119},[116,8640,512],{"class":122},[116,8642,127],{"class":126},[116,8644,790],{"class":126},[116,8646,529],{"class":130},[116,8648,532],{"class":126},[11,8650,8651],{},[22,8652,629],{"href":799,"rel":8653},[26],[631,8655],{},[485,8657,806],{"id":805},[11,8659,8660,811],{},[68,8661,597],{},[11,8663,8664,816],{},[68,8665,603],{},[107,8667,8668],{"className":109,"code":819,"language":111,"meta":112,"style":112},[43,8669,8670],{"__ignoreMap":112},[116,8671,8672,8674,8676,8678,8680],{"class":118,"line":119},[116,8673,512],{"class":122},[116,8675,127],{"class":126},[116,8677,830],{"class":126},[116,8679,529],{"class":130},[116,8681,532],{"class":126},[11,8683,8684],{},[22,8685,629],{"href":839,"rel":8686},[26],[631,8688],{},[485,8690,846],{"id":845},[11,8692,8693,851],{},[68,8694,597],{},[11,8696,8697,856],{},[68,8698,603],{},[107,8700,8701],{"className":109,"code":859,"language":111,"meta":112,"style":112},[43,8702,8703],{"__ignoreMap":112},[116,8704,8705,8707,8709,8711,8713],{"class":118,"line":119},[116,8706,512],{"class":122},[116,8708,127],{"class":126},[116,8710,870],{"class":126},[116,8712,529],{"class":130},[116,8714,532],{"class":126},[11,8716,8717],{},[22,8718,629],{"href":879,"rel":8719},[26],[631,8721],{},[485,8723,886],{"id":885},[11,8725,8726,891],{},[68,8727,597],{},[11,8729,8730,896],{},[68,8731,603],{},[107,8733,8734],{"className":109,"code":899,"language":111,"meta":112,"style":112},[43,8735,8736],{"__ignoreMap":112},[116,8737,8738,8740,8742,8744,8746],{"class":118,"line":119},[116,8739,512],{"class":122},[116,8741,127],{"class":126},[116,8743,910],{"class":126},[116,8745,529],{"class":130},[116,8747,532],{"class":126},[11,8749,8750],{},[22,8751,629],{"href":919,"rel":8752},[26],[631,8754],{},[15,8756,926],{"id":925},[11,8758,929],{},[931,8760],{":headers":933,":rows":934},[11,8762,8763],{},[68,8764,939],{},[62,8766,8767,8773,8780],{},[65,8768,8769,946,8771,949],{},[68,8770,27],{},[43,8772,45],{},[65,8774,8775,954,8777,958],{},[68,8776,32],{},[22,8778,482],{"href":480,"rel":8779},[26],[65,8781,8782,964,8784,967,8786,57],{},[68,8783,963],{},[43,8785,56],{},[22,8787,970],{"href":36},[11,8789,973],{},[15,8791,976],{"id":976},[485,8793,980],{"id":979},[11,8795,983,8796,986,8798,986,8800,991,8802,995,8804,57],{},[43,8797,45],{},[43,8799,52],{},[43,8801,56],{},[43,8803,994],{},[22,8805,999],{"href":998},[485,8807,1003],{"id":1002},[11,8809,1006,8810,1012],{},[22,8811,1011],{"href":1009,"rel":8812},[26],[485,8814,1016],{"id":1015},[11,8816,1019,8817,1022,8819,1026,8821,1031,8823,1035],{},[43,8818,45],{},[43,8820,1025],{},[22,8822,1030],{"href":1029},[22,8824,482],{"href":480,"rel":8825},[26],[15,8827,1038],{"id":1038},[62,8829,8830,8834,8838,8842],{},[65,8831,8832,1045],{},[22,8833,1030],{"href":1029},[65,8835,8836,1050],{},[22,8837,999],{"href":998},[65,8839,8840,1056],{},[22,8841,1055],{"href":36},[65,8843,8844,1063],{},[22,8845,1062],{"href":480,"rel":8846},[26],[1065,8848,1067],{},{"title":112,"searchDepth":280,"depth":280,"links":8850},[8851,8852,8853,8854,8858,8868,8869,8874],{"id":17,"depth":280,"text":18},{"id":101,"depth":280,"text":102},{"id":217,"depth":280,"text":218},{"id":474,"depth":280,"text":475,"children":8855},[8856,8857],{"id":487,"depth":287,"text":488},{"id":548,"depth":287,"text":549},{"id":584,"depth":280,"text":585,"children":8859},[8860,8861,8862,8863,8864,8865,8866,8867],{"id":591,"depth":287,"text":592},{"id":635,"depth":287,"text":636},{"id":675,"depth":287,"text":676},{"id":715,"depth":287,"text":716},{"id":765,"depth":287,"text":766},{"id":805,"depth":287,"text":806},{"id":845,"depth":287,"text":846},{"id":885,"depth":287,"text":886},{"id":925,"depth":280,"text":926},{"id":976,"depth":280,"text":976,"children":8870},[8871,8872,8873],{"id":979,"depth":287,"text":980},{"id":1002,"depth":287,"text":1003},{"id":1015,"depth":287,"text":1016},{"id":1038,"depth":280,"text":1038},{},{"title":5,"description":1095},[163,1105,1106,1094],{"id":8879,"title":8880,"author":6,"body":8881,"category":1094,"description":10036,"descriptionZh":10037,"extension":1097,"image":10038,"meta":10039,"navigation":283,"path":10040,"publishedAt":1101,"readTime":316,"seo":10041,"stem":10042,"tags":10043,"titleZh":10046,"updatedAt":1101,"__hash__":10047},"docs_zh\u002Fzh\u002Fguide\u002Fpowerup-skills-guide.md","After \u002Fpowerup: 10 Skills to Level Up Each Claude Code Lesson",{"type":8,"value":8882,"toc":10009},[8883,8889,8891,8906,8910,8915,8936,8939,8942,8948,8956,8960,8964,8970,8979,8991,8994,9000,9005,9009,9014,9019,9031,9034,9074,9079,9083,9088,9093,9105,9108,9172,9177,9181,9186,9191,9203,9206,9257,9262,9266,9271,9276,9288,9291,9342,9347,9351,9356,9361,9373,9376,9422,9427,9431,9436,9441,9453,9456,9509,9514,9518,9523,9528,9540,9543,9600,9605,9609,9614,9619,9631,9634,9690,9695,9699,9704,9709,9721,9724,9770,9775,9779,9782,9786,9789,9851,9855,9863,9909,9912,9920,9925,9927,9931,9937,9941,9947,9972,9976,9981,9983,10006],[11,8884,8885,8888],{},[43,8886,8887],{},"\u002Fpowerup"," 教你概念，Skill 帮你落地。这篇文章把 Claude Code 内置教程的每一课对应到一个 Agent Skill，一条安装命令，把\"学会了\"变成\"自动执行\"。",[15,8890,1120],{"id":1120},[62,8892,8893,8898,8904],{},[65,8894,1125,8895,1130],{},[22,8896,32],{"href":1128,"rel":8897},[26],[65,8899,8900,8901,8903],{},"已完成至少一节 ",[43,8902,8887],{}," 课程（或打算开始）",[65,8905,2733],{},[15,8907,8909],{"id":8908},"powerup-是什么","\u002Fpowerup 是什么？",[11,8911,8912,8914],{},[43,8913,8887],{}," 是 Claude Code 的内置交互式教程系统。在任何 Claude Code 会话中运行它，它会带你从基础文件编辑一路学到复杂的多文件重构、调试和项目规划。",[107,8916,8918],{"className":109,"code":8917,"language":111,"meta":112,"style":112},"# 启动教程\nclaude\n> \u002Fpowerup\n",[43,8919,8920,8925,8929],{"__ignoreMap":112},[116,8921,8922],{"class":118,"line":119},[116,8923,8924],{"class":1161},"# 启动教程\n",[116,8926,8927],{"class":118,"line":280},[116,8928,1215],{"class":122},[116,8930,8931,8933],{"class":118,"line":287},[116,8932,526],{"class":182},[116,8934,8935],{"class":186}," \u002Fpowerup\n",[11,8937,8938],{},"每节课通过动手实践教一个概念。但课程结束后，你又回到了手动写提示词的状态。这就是 Skill 的价值——它把课程的方法论固化成可复用的命令。",[11,8940,8941],{},"换个方式理解：",[107,8943,8946],{"className":8944,"code":8945,"language":1246},[1244],"\u002Fpowerup 课程  →  \"我理解了这个概念\"\nAgent Skill    →  \"这个概念自动帮我干活了\"\n",[43,8947,8945],{"__ignoreMap":112},[11,8949,8950,8951,8953,8954,57],{},"如果你还不了解 Skill，先看 ",[22,8952,1030],{"href":1029},"。完整的推荐列表看 ",[22,8955,2638],{"href":31},[15,8957,8959],{"id":8958},"课程-skill-配对表","课程-Skill 配对表",[485,8961,8963],{"id":8962},"_1-项目规划-planning-with-files","1. 项目规划 → Planning with Files",[11,8965,8966,8969],{},[68,8967,8968],{},"\u002Fpowerup 教的："," 在 Claude Code 里把项目拆成任务并追踪进度。",[11,8971,8972,8975,8976,8978],{},[68,8973,8974],{},"Skill 补充的："," 持久化的 ",[43,8977,724],{}," 文件，跨会话不丢失。你的计划、决策、进度全部落盘。",[107,8980,8981],{"className":109,"code":2102,"language":111,"meta":112,"style":112},[43,8982,8983],{"__ignoreMap":112},[116,8984,8985,8987,8989],{"class":118,"line":119},[116,8986,512],{"class":122},[116,8988,127],{"class":126},[116,8990,2113],{"class":126},[11,8992,8993],{},"安装后，开始任何规划对话，Skill 自动创建结构化文件：",[107,8995,8998],{"className":8996,"code":8997,"language":1246},[1244],".planning\u002F\n├── goals.md          # 在建什么\n├── progress.md       # 什么做完了、下一步是什么\n├── decisions.md      # 架构决策和理由\n└── blockers.md       # 当前阻塞和变通方案\n",[43,8999,8997],{"__ignoreMap":112},[11,9001,9002],{},[22,9003,629],{"href":2118,"rel":9004},[26],[485,9006,9008],{"id":9007},"_2-多文件编辑-get-shit-done-gsd","2. 多文件编辑 → Get Shit Done (GSD)",[11,9010,9011,9013],{},[68,9012,8968],{}," 在一次 Claude Code 会话里编辑多个文件。",[11,9015,9016,9018],{},[68,9017,8974],{}," 完整的项目管理框架——里程碑、阶段、原子提交、每步验证。把多文件编辑变成可追踪、可回滚的操作。",[107,9020,9021],{"className":109,"code":1995,"language":111,"meta":112,"style":112},[43,9022,9023],{"__ignoreMap":112},[116,9024,9025,9027,9029],{"class":118,"line":119},[116,9026,512],{"class":122},[116,9028,127],{"class":126},[116,9030,2006],{"class":126},[11,9032,9033],{},"GSD 把多文件操作包装成结构化流程：",[107,9035,9037],{"className":109,"code":9036,"language":111,"meta":112,"style":112},"# 不再是零散的多文件编辑：\n> \u002Fgsd-plan-phase    # 规划需要哪些改动\n> \u002Fgsd-execute-phase # 用原子提交执行\n> \u002Fgsd-verify-work   # 验证一切正常\n",[43,9038,9039,9044,9054,9064],{"__ignoreMap":112},[116,9040,9041],{"class":118,"line":119},[116,9042,9043],{"class":1161},"# 不再是零散的多文件编辑：\n",[116,9045,9046,9048,9051],{"class":118,"line":280},[116,9047,526],{"class":182},[116,9049,9050],{"class":186}," \u002Fgsd-plan-phase    ",[116,9052,9053],{"class":1161},"# 规划需要哪些改动\n",[116,9055,9056,9058,9061],{"class":118,"line":287},[116,9057,526],{"class":182},[116,9059,9060],{"class":186}," \u002Fgsd-execute-phase ",[116,9062,9063],{"class":1161},"# 用原子提交执行\n",[116,9065,9066,9068,9071],{"class":118,"line":293},[116,9067,526],{"class":182},[116,9069,9070],{"class":186}," \u002Fgsd-verify-work   ",[116,9072,9073],{"class":1161},"# 验证一切正常\n",[11,9075,9076],{},[22,9077,629],{"href":759,"rel":9078},[26],[485,9080,9082],{"id":9081},"_3-调试-systematic-debugging","3. 调试 → Systematic Debugging",[11,9084,9085,9087],{},[68,9086,8968],{}," 用 Claude Code 查找和修复 Bug。",[11,9089,9090,9092],{},[68,9091,8974],{}," 四阶段科学调试法——复现 → 隔离 → 诊断 → 修复。每个假设被记录和测试，杜绝\"随机改改看\"。",[107,9094,9095],{"className":109,"code":2021,"language":111,"meta":112,"style":112},[43,9096,9097],{"__ignoreMap":112},[116,9098,9099,9101,9103],{"class":118,"line":119},[116,9100,512],{"class":122},[116,9102,127],{"class":126},[116,9104,2032],{"class":126},[11,9106,9107],{},"调试流程变得有章可循：",[107,9109,9111],{"className":109,"code":9110,"language":111,"meta":112,"style":112},"# 阶段 1: 复现 Bug\n> \u002Fgsd-debug\n# → 创建持久化的调试会话\n\n# 阶段 2: 隔离根因\n# → 追踪假设：已确认、已排除、待验证\n\n# 阶段 3: 诊断\n# → 记录每个诊断步骤和证据\n\n# 阶段 4: 修复\n# → 应用修复 + 验证测试\n",[43,9112,9113,9118,9125,9130,9134,9139,9144,9148,9153,9158,9162,9167],{"__ignoreMap":112},[116,9114,9115],{"class":118,"line":119},[116,9116,9117],{"class":1161},"# 阶段 1: 复现 Bug\n",[116,9119,9120,9122],{"class":118,"line":280},[116,9121,526],{"class":182},[116,9123,9124],{"class":186}," \u002Fgsd-debug\n",[116,9126,9127],{"class":118,"line":287},[116,9128,9129],{"class":1161},"# → 创建持久化的调试会话\n",[116,9131,9132],{"class":118,"line":293},[116,9133,284],{"emptyLinePlaceholder":283},[116,9135,9136],{"class":118,"line":298},[116,9137,9138],{"class":1161},"# 阶段 2: 隔离根因\n",[116,9140,9141],{"class":118,"line":304},[116,9142,9143],{"class":1161},"# → 追踪假设：已确认、已排除、待验证\n",[116,9145,9146],{"class":118,"line":310},[116,9147,284],{"emptyLinePlaceholder":283},[116,9149,9150],{"class":118,"line":316},[116,9151,9152],{"class":1161},"# 阶段 3: 诊断\n",[116,9154,9155],{"class":118,"line":322},[116,9156,9157],{"class":1161},"# → 记录每个诊断步骤和证据\n",[116,9159,9160],{"class":118,"line":327},[116,9161,284],{"emptyLinePlaceholder":283},[116,9163,9164],{"class":118,"line":333},[116,9165,9166],{"class":1161},"# 阶段 4: 修复\n",[116,9168,9169],{"class":118,"line":339},[116,9170,9171],{"class":1161},"# → 应用修复 + 验证测试\n",[11,9173,9174],{},[22,9175,629],{"href":2037,"rel":9176},[26],[485,9178,9180],{"id":9179},"_4-seo-与内容-claude-seo","4. SEO 与内容 → Claude SEO",[11,9182,9183,9185],{},[68,9184,8968],{}," 用 Claude Code 做编码之外的内容相关任务。",[11,9187,9188,9190],{},[68,9189,8974],{}," 完整的 SEO 审计工具箱——关键词研究、页面分析、内容缺口、技术检查、竞品对标。",[107,9192,9193],{"className":109,"code":2048,"language":111,"meta":112,"style":112},[43,9194,9195],{"__ignoreMap":112},[116,9196,9197,9199,9201],{"class":118,"line":119},[116,9198,512],{"class":122},[116,9200,127],{"class":126},[116,9202,2059],{"class":126},[11,9204,9205],{},"不离开终端就能做 SEO 审计：",[107,9207,9209],{"className":109,"code":9208,"language":111,"meta":112,"style":112},"# 审计网站 SEO\n> 对 example.com 做一次完整的 SEO 审计\n\n# Skill 会检查：\n# - 标题标签、meta 描述、标题结构\n# - 页面速度指标\n# - 内容质量和关键词密度\n# - 内链机会\n# - 竞品对比\n",[43,9210,9211,9216,9223,9227,9232,9237,9242,9247,9252],{"__ignoreMap":112},[116,9212,9213],{"class":118,"line":119},[116,9214,9215],{"class":1161},"# 审计网站 SEO\n",[116,9217,9218,9220],{"class":118,"line":280},[116,9219,526],{"class":182},[116,9221,9222],{"class":186}," 对 example.com 做一次完整的 SEO 审计\n",[116,9224,9225],{"class":118,"line":287},[116,9226,284],{"emptyLinePlaceholder":283},[116,9228,9229],{"class":118,"line":293},[116,9230,9231],{"class":1161},"# Skill 会检查：\n",[116,9233,9234],{"class":118,"line":298},[116,9235,9236],{"class":1161},"# - 标题标签、meta 描述、标题结构\n",[116,9238,9239],{"class":118,"line":304},[116,9240,9241],{"class":1161},"# - 页面速度指标\n",[116,9243,9244],{"class":118,"line":310},[116,9245,9246],{"class":1161},"# - 内容质量和关键词密度\n",[116,9248,9249],{"class":118,"line":316},[116,9250,9251],{"class":1161},"# - 内链机会\n",[116,9253,9254],{"class":118,"line":322},[116,9255,9256],{"class":1161},"# - 竞品对比\n",[11,9258,9259],{},[22,9260,629],{"href":2064,"rel":9261},[26],[485,9263,9265],{"id":9264},"_5-自定义命令-skill-creator","5. 自定义命令 → Skill Creator",[11,9267,9268,9270],{},[68,9269,8968],{}," 用自定义命令扩展 Claude Code。",[11,9272,9273,9275],{},[68,9274,8974],{}," 创建生产级 Skill 的引导流程——frontmatter、触发条件、测试、可选发布到 TokRepo。",[107,9277,9278],{"className":109,"code":2075,"language":111,"meta":112,"style":112},[43,9279,9280],{"__ignoreMap":112},[116,9281,9282,9284,9286],{"class":118,"line":119},[116,9283,512],{"class":122},[116,9285,127],{"class":126},[116,9287,2086],{"class":126},[11,9289,9290],{},"把任何提示词变成可复用的 Skill：",[107,9292,9294],{"className":109,"code":9293,"language":111,"meta":112,"style":112},"# 启动 Skill 创建向导\n> \u002Fskill-creator\n\n# 引导你完成：\n# 1. Skill 做什么？\n# 2. 什么时候触发？\n# 3. 执行什么指令？\n# 4. 怎么测试？\n# 5. 要发布到 TokRepo 吗？（可选）\n",[43,9295,9296,9301,9308,9312,9317,9322,9327,9332,9337],{"__ignoreMap":112},[116,9297,9298],{"class":118,"line":119},[116,9299,9300],{"class":1161},"# 启动 Skill 创建向导\n",[116,9302,9303,9305],{"class":118,"line":280},[116,9304,526],{"class":182},[116,9306,9307],{"class":186}," \u002Fskill-creator\n",[116,9309,9310],{"class":118,"line":287},[116,9311,284],{"emptyLinePlaceholder":283},[116,9313,9314],{"class":118,"line":293},[116,9315,9316],{"class":1161},"# 引导你完成：\n",[116,9318,9319],{"class":118,"line":298},[116,9320,9321],{"class":1161},"# 1. Skill 做什么？\n",[116,9323,9324],{"class":118,"line":304},[116,9325,9326],{"class":1161},"# 2. 什么时候触发？\n",[116,9328,9329],{"class":118,"line":310},[116,9330,9331],{"class":1161},"# 3. 执行什么指令？\n",[116,9333,9334],{"class":118,"line":316},[116,9335,9336],{"class":1161},"# 4. 怎么测试？\n",[116,9338,9339],{"class":118,"line":322},[116,9340,9341],{"class":1161},"# 5. 要发布到 TokRepo 吗？（可选）\n",[11,9343,9344],{},[22,9345,629],{"href":2091,"rel":9346},[26],[485,9348,9350],{"id":9349},"_6-部署-vercel-skills","6. 部署 → Vercel Skills",[11,9352,9353,9355],{},[68,9354,8968],{}," Claude Code 如何帮助部署任务。",[11,9357,9358,9360],{},[68,9359,8974],{}," 13,000+ 社区 Skill，覆盖 Next.js、React 和 Vercel 部署模式。框架特定的最佳实践内置其中。",[107,9362,9363],{"className":109,"code":2818,"language":111,"meta":112,"style":112},[43,9364,9365],{"__ignoreMap":112},[116,9366,9367,9369,9371],{"class":118,"line":119},[116,9368,512],{"class":122},[116,9370,127],{"class":126},[116,9372,2829],{"class":126},[11,9374,9375],{},"带框架感知的部署指导：",[107,9377,9379],{"className":109,"code":9378,"language":111,"meta":112,"style":112},"# 获取针对你框架的部署帮助\n> 把这个 Next.js 应用部署到 Vercel\n\n# Skill 提供：\n# - 环境变量配置\n# - 构建优化建议\n# - Edge Function 设置\n# - 域名和 SSL 配置\n",[43,9380,9381,9386,9393,9397,9402,9407,9412,9417],{"__ignoreMap":112},[116,9382,9383],{"class":118,"line":119},[116,9384,9385],{"class":1161},"# 获取针对你框架的部署帮助\n",[116,9387,9388,9390],{"class":118,"line":280},[116,9389,526],{"class":182},[116,9391,9392],{"class":186}," 把这个 Next.js 应用部署到 Vercel\n",[116,9394,9395],{"class":118,"line":287},[116,9396,284],{"emptyLinePlaceholder":283},[116,9398,9399],{"class":118,"line":293},[116,9400,9401],{"class":1161},"# Skill 提供：\n",[116,9403,9404],{"class":118,"line":298},[116,9405,9406],{"class":1161},"# - 环境变量配置\n",[116,9408,9409],{"class":118,"line":304},[116,9410,9411],{"class":1161},"# - 构建优化建议\n",[116,9413,9414],{"class":118,"line":310},[116,9415,9416],{"class":1161},"# - Edge Function 设置\n",[116,9418,9419],{"class":118,"line":316},[116,9420,9421],{"class":1161},"# - 域名和 SSL 配置\n",[11,9423,9424],{},[22,9425,629],{"href":799,"rel":9426},[26],[485,9428,9430],{"id":9429},"_7-网络调研-web-access-skill","7. 网络调研 → Web Access Skill",[11,9432,9433,9435],{},[68,9434,8968],{}," 如何用 Claude Code 处理需要外部信息的任务。",[11,9437,9438,9440],{},[68,9439,8974],{}," 实时获取和分析网页、API 和在线文档的能力。",[107,9442,9443],{"className":109,"code":3177,"language":111,"meta":112,"style":112},[43,9444,9445],{"__ignoreMap":112},[116,9446,9447,9449,9451],{"class":118,"line":119},[116,9448,512],{"class":122},[116,9450,127],{"class":126},[116,9452,3188],{"class":126},[11,9454,9455],{},"直接在 Claude Code 里做调研：",[107,9457,9459],{"className":109,"code":9458,"language":111,"meta":112,"style":112},"# 获取并分析网页\n> 查看 https:\u002F\u002Fdocs.example.com\u002Fv2 的 API 文档\n> 总结和 v1 相比有什么变化\n\n# Skill 会：\n# - 抓取 URL 内容\n# - 提取相关信息\n# - 和你本地代码对比\n# - 建议需要的改动\n",[43,9460,9461,9466,9473,9480,9484,9489,9494,9499,9504],{"__ignoreMap":112},[116,9462,9463],{"class":118,"line":119},[116,9464,9465],{"class":1161},"# 获取并分析网页\n",[116,9467,9468,9470],{"class":118,"line":280},[116,9469,526],{"class":182},[116,9471,9472],{"class":186}," 查看 https:\u002F\u002Fdocs.example.com\u002Fv2 的 API 文档\n",[116,9474,9475,9477],{"class":118,"line":287},[116,9476,526],{"class":182},[116,9478,9479],{"class":186}," 总结和 v1 相比有什么变化\n",[116,9481,9482],{"class":118,"line":293},[116,9483,284],{"emptyLinePlaceholder":283},[116,9485,9486],{"class":118,"line":298},[116,9487,9488],{"class":1161},"# Skill 会：\n",[116,9490,9491],{"class":118,"line":304},[116,9492,9493],{"class":1161},"# - 抓取 URL 内容\n",[116,9495,9496],{"class":118,"line":310},[116,9497,9498],{"class":1161},"# - 提取相关信息\n",[116,9500,9501],{"class":118,"line":316},[116,9502,9503],{"class":1161},"# - 和你本地代码对比\n",[116,9505,9506],{"class":118,"line":322},[116,9507,9508],{"class":1161},"# - 建议需要的改动\n",[11,9510,9511],{},[22,9512,629],{"href":919,"rel":9513},[26],[485,9515,9517],{"id":9516},"_8-环境管理-infisical","8. 环境管理 → Infisical",[11,9519,9520,9522],{},[68,9521,8968],{}," Claude Code 如何处理环境变量和配置。",[11,9524,9525,9527],{},[68,9526,8974],{}," 集成 Infisical 密钥管理。拉取、推送和管理密钥，绝不硬编码。",[107,9529,9530],{"className":109,"code":2998,"language":111,"meta":112,"style":112},[43,9531,9532],{"__ignoreMap":112},[116,9533,9534,9536,9538],{"class":118,"line":119},[116,9535,512],{"class":122},[116,9537,127],{"class":126},[116,9539,3009],{"class":126},[11,9541,9542],{},"安全地管理密钥：",[107,9544,9546],{"className":109,"code":9545,"language":111,"meta":112,"style":112},"# 从 Infisical 拉取密钥\n> 拉取 staging 环境的密钥\n\n# 添加新密钥\n> 把 DATABASE_URL 添加到 production 环境\n\n# Skill 确保：\n# - 密钥永不出现在代码里\n# - .env 文件正确 gitignore\n# - 团队成员共享相同配置\n",[43,9547,9548,9553,9560,9564,9569,9576,9580,9585,9590,9595],{"__ignoreMap":112},[116,9549,9550],{"class":118,"line":119},[116,9551,9552],{"class":1161},"# 从 Infisical 拉取密钥\n",[116,9554,9555,9557],{"class":118,"line":280},[116,9556,526],{"class":182},[116,9558,9559],{"class":186}," 拉取 staging 环境的密钥\n",[116,9561,9562],{"class":118,"line":287},[116,9563,284],{"emptyLinePlaceholder":283},[116,9565,9566],{"class":118,"line":293},[116,9567,9568],{"class":1161},"# 添加新密钥\n",[116,9570,9571,9573],{"class":118,"line":298},[116,9572,526],{"class":182},[116,9574,9575],{"class":186}," 把 DATABASE_URL 添加到 production 环境\n",[116,9577,9578],{"class":118,"line":304},[116,9579,284],{"emptyLinePlaceholder":283},[116,9581,9582],{"class":118,"line":310},[116,9583,9584],{"class":1161},"# Skill 确保：\n",[116,9586,9587],{"class":118,"line":316},[116,9588,9589],{"class":1161},"# - 密钥永不出现在代码里\n",[116,9591,9592],{"class":118,"line":322},[116,9593,9594],{"class":1161},"# - .env 文件正确 gitignore\n",[116,9596,9597],{"class":118,"line":327},[116,9598,9599],{"class":1161},"# - 团队成员共享相同配置\n",[11,9601,9602],{},[22,9603,629],{"href":3017,"rel":9604},[26],[485,9606,9608],{"id":9607},"_9-ui-生成-v0-by-vercel","9. UI 生成 → v0 by Vercel",[11,9610,9611,9613],{},[68,9612,8968],{}," Claude Code 如何生成前端组件。",[11,9615,9616,9618],{},[68,9617,8974],{}," Vercel 的 v0 AI，有设计感的 UI 生成。描述你想要的，得到生产可用的 React\u002FTailwind 组件。",[107,9620,9621],{"className":109,"code":3037,"language":111,"meta":112,"style":112},[43,9622,9623],{"__ignoreMap":112},[116,9624,9625,9627,9629],{"class":118,"line":119},[116,9626,512],{"class":122},[116,9628,127],{"class":126},[116,9630,3048],{"class":126},[11,9632,9633],{},"用描述生成 UI：",[107,9635,9637],{"className":109,"code":9636,"language":111,"meta":112,"style":112},"# 生成组件\n> 创建一个定价页面，3 个套餐，月付\u002F年付切换\n> 中间套餐标\"最受欢迎\"\n\n# v0 生成：\n# - React 组件 + Tailwind 样式\n# - 响应式布局\n# - 交互式切换\n# - 无障碍标记\n",[43,9638,9639,9644,9651,9661,9665,9670,9675,9680,9685],{"__ignoreMap":112},[116,9640,9641],{"class":118,"line":119},[116,9642,9643],{"class":1161},"# 生成组件\n",[116,9645,9646,9648],{"class":118,"line":280},[116,9647,526],{"class":182},[116,9649,9650],{"class":186}," 创建一个定价页面，3 个套餐，月付\u002F年付切换\n",[116,9652,9653,9655,9658],{"class":118,"line":287},[116,9654,526],{"class":182},[116,9656,9657],{"class":186}," 中间套餐标",[116,9659,9660],{"class":126},"\"最受欢迎\"\n",[116,9662,9663],{"class":118,"line":293},[116,9664,284],{"emptyLinePlaceholder":283},[116,9666,9667],{"class":118,"line":298},[116,9668,9669],{"class":1161},"# v0 生成：\n",[116,9671,9672],{"class":118,"line":304},[116,9673,9674],{"class":1161},"# - React 组件 + Tailwind 样式\n",[116,9676,9677],{"class":118,"line":310},[116,9678,9679],{"class":1161},"# - 响应式布局\n",[116,9681,9682],{"class":118,"line":316},[116,9683,9684],{"class":1161},"# - 交互式切换\n",[116,9686,9687],{"class":118,"line":322},[116,9688,9689],{"class":1161},"# - 无障碍标记\n",[11,9691,9692],{},[22,9693,629],{"href":3056,"rel":9694},[26],[485,9696,9698],{"id":9697},"_10-skill-互操作-agent-skills-standard","10. Skill 互操作 → Agent Skills Standard",[11,9700,9701,9703],{},[68,9702,8968],{}," Claude Code 的扩展系统如何工作。",[11,9705,9706,9708],{},[68,9707,8974],{}," 通用 SKILL.md 规范——frontmatter 字段、触发模式、指令结构、跨 Agent 兼容。你的 Skill 在 Claude Code、Codex CLI 和 Gemini CLI 上都能用。",[107,9710,9711],{"className":109,"code":3269,"language":111,"meta":112,"style":112},[43,9712,9713],{"__ignoreMap":112},[116,9714,9715,9717,9719],{"class":118,"line":119},[116,9716,512],{"class":122},[116,9718,127],{"class":126},[116,9720,3280],{"class":126},[11,9722,9723],{},"构建可移植的 Skill：",[107,9725,9727],{"className":109,"code":9726,"language":111,"meta":112,"style":112},"# 规范定义了：\n# - 必填 frontmatter 字段（name, description, triggers）\n# - 指令格式（context, steps, verification）\n# - 测试规范\n# - 跨 Agent 兼容注意事项\n\n# 创建 Skill 时作为参考：\n> 按 Agent Skills Standard 创建一个新 Skill\n",[43,9728,9729,9734,9739,9744,9749,9754,9758,9763],{"__ignoreMap":112},[116,9730,9731],{"class":118,"line":119},[116,9732,9733],{"class":1161},"# 规范定义了：\n",[116,9735,9736],{"class":118,"line":280},[116,9737,9738],{"class":1161},"# - 必填 frontmatter 字段（name, description, triggers）\n",[116,9740,9741],{"class":118,"line":287},[116,9742,9743],{"class":1161},"# - 指令格式（context, steps, verification）\n",[116,9745,9746],{"class":118,"line":293},[116,9747,9748],{"class":1161},"# - 测试规范\n",[116,9750,9751],{"class":118,"line":298},[116,9752,9753],{"class":1161},"# - 跨 Agent 兼容注意事项\n",[116,9755,9756],{"class":118,"line":304},[116,9757,284],{"emptyLinePlaceholder":283},[116,9759,9760],{"class":118,"line":310},[116,9761,9762],{"class":1161},"# 创建 Skill 时作为参考：\n",[116,9764,9765,9767],{"class":118,"line":316},[116,9766,526],{"class":182},[116,9768,9769],{"class":186}," 按 Agent Skills Standard 创建一个新 Skill\n",[11,9771,9772],{},[22,9773,629],{"href":3285,"rel":9774},[26],[15,9776,9778],{"id":9777},"powerup-之后的进阶","\u002Fpowerup 之后的进阶",[11,9780,9781],{},"把每课和 Skill 配对之后，以下是进阶配置技巧：",[485,9783,9785],{"id":9784},"叠加多个-skill","叠加多个 Skill",[11,9787,9788],{},"Skill 天然可组合。装 5-10 个 Skill 也不冲突：",[107,9790,9792],{"className":109,"code":9791,"language":111,"meta":112,"style":112},"# 安装完整的生产力套装\ntokrepo install e108cf5c-c34e-4d27-a694-66a693301e87  # GSD\ntokrepo install 78ed006e-b022-4e92-bf65-df8b53afd2f4  # Debugging\ntokrepo install 034be597-c361-45a2-b143-41cce0ec8ad8  # Planning\ntokrepo install cb068086-1c7d-408e-90a1-c39cfc6ffe87  # SEO\ntokrepo install 0b7c0a41-97e1-4187-9cc5-4dc32d91a9cd  # Skill Creator\n",[43,9793,9794,9799,9809,9820,9830,9841],{"__ignoreMap":112},[116,9795,9796],{"class":118,"line":119},[116,9797,9798],{"class":1161},"# 安装完整的生产力套装\n",[116,9800,9801,9803,9805,9807],{"class":118,"line":280},[116,9802,512],{"class":122},[116,9804,127],{"class":126},[116,9806,1546],{"class":126},[116,9808,1549],{"class":1161},[116,9810,9811,9813,9815,9817],{"class":118,"line":287},[116,9812,512],{"class":122},[116,9814,127],{"class":126},[116,9816,1567],{"class":126},[116,9818,9819],{"class":1161},"  # Debugging\n",[116,9821,9822,9824,9826,9828],{"class":118,"line":293},[116,9823,512],{"class":122},[116,9825,127],{"class":126},[116,9827,1630],{"class":126},[116,9829,1633],{"class":1161},[116,9831,9832,9834,9836,9838],{"class":118,"line":298},[116,9833,512],{"class":122},[116,9835,127],{"class":126},[116,9837,1588],{"class":126},[116,9839,9840],{"class":1161},"  # SEO\n",[116,9842,9843,9845,9847,9849],{"class":118,"line":304},[116,9844,512],{"class":122},[116,9846,127],{"class":126},[116,9848,1609],{"class":126},[116,9850,1612],{"class":1161},[485,9852,9854],{"id":9853},"创建项目专属-skill","创建项目专属 Skill",[11,9856,9857,9858,9862],{},"用 ",[22,9859,9861],{"href":2091,"rel":9860},[26],"Skill Creator"," 构建针对你项目的 Skill：",[107,9864,9866],{"className":109,"code":9865,"language":111,"meta":112,"style":112},"# 例如：为你的基础设施定制部署 Skill\n> \u002Fskill-creator\n> 名称：部署到生产环境\n> 触发条件：说\"部署\"或\"上线\"\n> 步骤：跑测试、构建、推到镜像仓库、更新 k8s\n",[43,9867,9868,9873,9879,9886,9902],{"__ignoreMap":112},[116,9869,9870],{"class":118,"line":119},[116,9871,9872],{"class":1161},"# 例如：为你的基础设施定制部署 Skill\n",[116,9874,9875,9877],{"class":118,"line":280},[116,9876,526],{"class":182},[116,9878,9307],{"class":186},[116,9880,9881,9883],{"class":118,"line":287},[116,9882,526],{"class":182},[116,9884,9885],{"class":186}," 名称：部署到生产环境\n",[116,9887,9888,9890,9893,9896,9899],{"class":118,"line":293},[116,9889,526],{"class":182},[116,9891,9892],{"class":186}," 触发条件：说",[116,9894,9895],{"class":126},"\"部署\"",[116,9897,9898],{"class":186},"或",[116,9900,9901],{"class":126},"\"上线\"\n",[116,9903,9904,9906],{"class":118,"line":298},[116,9905,526],{"class":182},[116,9907,9908],{"class":186}," 步骤：跑测试、构建、推到镜像仓库、更新 k8s\n",[485,9910,9911],{"id":9911},"分享给团队",[11,9913,9914,9915,9919],{},"团队配置看专门指南：",[22,9916,9918],{"href":9917},"\u002Fguide\u002Fagent-skills-for-teams","如何为团队配置共享 Agent Skill","。覆盖 Git 共享、TokRepo 集合和自建注册中心三种方式。",[1457,9921,9922],{"type":1459},[11,9923,9924],{},"先装 3-5 个匹配你最常见任务的 Skill。发现工作流有缺口时再加。一次装太多容易混乱——循序渐进效果更好。",[15,9926,976],{"id":976},[485,9928,9930],{"id":9929},"必须先完成-powerup-才能装-skill-吗","必须先完成 \u002Fpowerup 才能装 Skill 吗？",[11,9932,9933,9934,9936],{},"不需要。Skill 独立于 ",[43,9935,8887],{}," 工作。但课程能帮你理解每个 Skill 为什么有价值——理解概念会让你更好地使用 Skill。",[485,9938,9940],{"id":9939},"装好的-skill-能修改吗","装好的 Skill 能修改吗？",[11,9942,9943,9944,9946],{},"能。Skill 就是 ",[43,9945,52],{}," 目录下的 Markdown 文件。打开编辑保存，Claude Code 立刻生效，不需要重启。",[107,9948,9950],{"className":109,"code":9949,"language":111,"meta":112,"style":112},"# 查找并编辑已装的 Skill\nls .claude\u002Fcommands\u002F\nvim .claude\u002Fcommands\u002Fgsd.md\n",[43,9951,9952,9957,9964],{"__ignoreMap":112},[116,9953,9954],{"class":118,"line":119},[116,9955,9956],{"class":1161},"# 查找并编辑已装的 Skill\n",[116,9958,9959,9962],{"class":118,"line":280},[116,9960,9961],{"class":122},"ls",[116,9963,1443],{"class":126},[116,9965,9966,9969],{"class":118,"line":287},[116,9967,9968],{"class":122},"vim",[116,9970,9971],{"class":126}," .claude\u002Fcommands\u002Fgsd.md\n",[485,9973,9975],{"id":9974},"skill-和-powerup-指令冲突了怎么办","Skill 和 \u002Fpowerup 指令冲突了怎么办？",[11,9977,9978,9979,57],{},"Skill 因为更具体，优先级高于通用指令。如果发现冲突，编辑 Skill 文件改成你期望的行为。想深入了解不同扩展类型的优先级，看 ",[22,9980,2644],{"href":998},[15,9982,1038],{"id":1038},[62,9984,9985,9989,9994,10000],{},[65,9986,9987,3448],{},[22,9988,2632],{"href":1029},[65,9990,9991,9993],{},[22,9992,2638],{"href":31}," — 发现更多好用的 Skill",[65,9995,9996,9999],{},[22,9997,9998],{"href":9917},"为团队配置共享 Skill"," — 在组织内分发 Skill",[65,10001,10002,10005],{},[22,10003,2651],{"href":480,"rel":10004},[26]," — 500+ 社区 Skill 等你发现",[1065,10007,10008],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":112,"searchDepth":280,"depth":280,"links":10010},[10011,10012,10013,10025,10030,10035],{"id":1120,"depth":280,"text":1120},{"id":8908,"depth":280,"text":8909},{"id":8958,"depth":280,"text":8959,"children":10014},[10015,10016,10017,10018,10019,10020,10021,10022,10023,10024],{"id":8962,"depth":287,"text":8963},{"id":9007,"depth":287,"text":9008},{"id":9081,"depth":287,"text":9082},{"id":9179,"depth":287,"text":9180},{"id":9264,"depth":287,"text":9265},{"id":9349,"depth":287,"text":9350},{"id":9429,"depth":287,"text":9430},{"id":9516,"depth":287,"text":9517},{"id":9607,"depth":287,"text":9608},{"id":9697,"depth":287,"text":9698},{"id":9777,"depth":280,"text":9778,"children":10026},[10027,10028,10029],{"id":9784,"depth":287,"text":9785},{"id":9853,"depth":287,"text":9854},{"id":9911,"depth":287,"text":9911},{"id":976,"depth":280,"text":976,"children":10031},[10032,10033,10034],{"id":9929,"depth":287,"text":9930},{"id":9939,"depth":287,"text":9940},{"id":9974,"depth":287,"text":9975},{"id":1038,"depth":280,"text":1038},"Map each Claude Code \u002Fpowerup lesson to a matching agent skill. Turn tutorials into permanent productivity gains with one install command per lesson.","把 Claude Code \u002Fpowerup 的每一课对应到一个 Agent Skill，一条命令把学到的变成永久生产力。","\u002Fguide\u002Fimages\u002Fpowerup-skills-guide-hero.svg",{},"\u002Fzh\u002Fguide\u002Fpowerup-skills-guide",{"title":8880,"description":10036},"zh\u002Fguide\u002Fpowerup-skills-guide",[2707,10044,10045,1094],"powerup","beginner","Claude Code \u002Fpowerup 之后：10 个 Skill 帮你把每课学到的变成生产力","6DnpW2hGGrkI-8_j1GSP4AEhi5sNw6YhAVkMtsXEhHc",{"id":10049,"title":10050,"author":6,"body":10051,"category":2697,"description":10869,"descriptionZh":10870,"extension":1097,"image":10871,"meta":10872,"navigation":283,"path":10873,"publishedAt":1101,"readTime":316,"seo":10874,"stem":10875,"tags":10876,"titleZh":10879,"updatedAt":1101,"__hash__":10880},"docs_zh\u002Fzh\u002Fguide\u002Fsave-token-costs.md","How to Cut Claude Code Token Costs by 50% with Agent Skills",{"type":8,"value":10052,"toc":10844},[10053,10056,10060,10063,10088,10102,10105,10125,10128,10132,10135,10138,10141,10147,10154,10157,10166,10178,10181,10187,10194,10197,10259,10264,10268,10271,10302,10309,10313,10316,10319,10322,10348,10358,10361,10368,10373,10387,10392,10456,10464,10467,10473,10513,10517,10526,10529,10532,10538,10541,10544,10547,10557,10571,10577,10609,10616,10624,10636,10642,10648,10652,10655,10659,10664,10743,10750,10752,10756,10759,10763,10772,10776,10785,10787,10790,10842],[11,10054,10055],{},"三个经过验证的策略，帮你把 Claude Code Token 消耗降低 50%——可复用 Agent Skill、上下文压缩、以及用专业 Skill 消除反复修改的迭代循环。",[15,10057,10059],{"id":10058},"token-成本问题","Token 成本问题",[11,10061,10062],{},"Claude Code 的每次交互都消耗 Token。按照 Anthropic 当前定价，费用增长很快：",[62,10064,10065,10071,10077,10083],{},[65,10066,10067,10070],{},[68,10068,10069],{},"Claude Opus 输入："," 每百万 Token $15",[65,10072,10073,10076],{},[68,10074,10075],{},"Claude Opus 输出："," 每百万 Token $75",[65,10078,10079,10082],{},[68,10080,10081],{},"Claude Sonnet 输入："," 每百万 Token $3",[65,10084,10085,10070],{},[68,10086,10087],{},"Claude Sonnet 输出：",[11,10089,10090,10091,10094,10095,10098,10099,57],{},"一次典型的开发会话大约消耗 50,000–150,000 输入 Token 和 10,000–30,000 输出 Token。按 Opus 定价，单次会话成本约 ",[68,10092,10093],{},"$1.50–$4.50","。一个月 20 次，就是 ",[68,10096,10097],{},"$30–$90","——这还是保守估计。大型项目轻松达到 ",[68,10100,10101],{},"$150–$300\u002F月",[11,10103,10104],{},"Token 消耗过高的根本原因有三个：",[230,10106,10107,10113,10119],{},[65,10108,10109,10112],{},[68,10110,10111],{},"重复的 prompt"," —— 每次让 Claude 做某个任务都要重新输入一大段指令",[65,10114,10115,10118],{},[68,10116,10117],{},"上下文膨胀"," —— 对话历史越来越长，Claude 每轮都要重新读取成千上万行无关内容",[65,10120,10121,10124],{},[68,10122,10123],{},"迭代循环"," —— Claude 理解错了你的意图，你花 5–10 轮来回纠正",[11,10126,10127],{},"每个问题都有具体的解决方案。下面逐一拆解。",[15,10129,10131],{"id":10130},"策略一用-skill-替代重复-prompt","策略一：用 Skill 替代重复 Prompt",[11,10133,10134],{},"每次你输入一大段 prompt 告诉 Claude Code 怎么审查代码、怎么跑测试、怎么格式化提交信息——你都在为可以存储一次、永久复用的指令买单。",[485,10136,10137],{"id":10137},"问题所在",[11,10139,10140],{},"看一个开发者反复输入的典型代码审查 prompt：",[107,10142,10145],{"className":10143,"code":10144,"language":1246},[1244],"Review this code for bugs, security issues, and performance problems.\nCheck for SQL injection, XSS vulnerabilities, and auth bypass risks.\nVerify error handling covers all edge cases. Look for N+1 query\npatterns. Check that all database transactions are properly committed\nor rolled back. Format your findings as a markdown table with severity,\nlocation, description, and suggested fix.\n",[43,10146,10144],{"__ignoreMap":112},[11,10148,10149,10150,10153],{},"大约 ",[68,10151,10152],{},"80 个 Token","。一天做 5 次代码审查，就是 400 Token。一个月下来，光这一条重复指令就要花 12,000 Token。",[485,10155,10156],{"id":10156},"解决方案",[11,10158,10159,10160,10162,10163,10165],{},"安装一个 ",[22,10161,3555],{"href":1029},"，把指令编码一次。Skill 文件放在 ",[43,10164,52],{},"，用一个短触发词激活：",[107,10167,10168],{"className":109,"code":1995,"language":111,"meta":112,"style":112},[43,10169,10170],{"__ignoreMap":112},[116,10171,10172,10174,10176],{"class":118,"line":119},[116,10173,512],{"class":122},[116,10175,127],{"class":126},[116,10177,2006],{"class":126},[11,10179,10180],{},"现在你不需要输入 80+ Token 的指令，只需要：",[107,10182,10185],{"className":10183,"code":10184,"language":1246},[1244],"\u002Fgsd-code-review\n",[43,10186,10184],{"__ignoreMap":112},[11,10188,10189,10190,10193],{},"只要 ",[68,10191,10192],{},"3 个 Token","。Skill 文件在会话中加载一次，后续每次触发只消耗触发词的 Token。而且 Skill 包含的指令比你手动输入的更全面——覆盖边界情况、输出格式、验证步骤。",[485,10195,10196],{"id":10196},"实际节省计算",[2131,10198,10199,10215],{},[2134,10200,10201],{},[2137,10202,10203,10206,10209,10212],{},[2140,10204,10205],{},"场景",[2140,10207,10208],{},"不用 Skill",[2140,10210,10211],{},"用 Skill",[2140,10213,10214],{},"节省比例",[2150,10216,10217,10231,10245],{},[2137,10218,10219,10222,10225,10228],{},[2155,10220,10221],{},"代码审查 prompt",[2155,10223,10224],{},"80 Token x 5 次\u002F天",[2155,10226,10227],{},"3 Token x 5 次\u002F天 + 500 Token 初次加载",[2155,10229,10230],{},"首次使用后 92%",[2137,10232,10233,10236,10239,10242],{},[2155,10234,10235],{},"调试工作流 prompt",[2155,10237,10238],{},"120 Token x 3 次\u002F天",[2155,10240,10241],{},"3 Token x 3 次\u002F天 + 800 Token 初次加载",[2155,10243,10244],{},"首次使用后 88%",[2137,10246,10247,10250,10253,10256],{},[2155,10248,10249],{},"规划 prompt",[2155,10251,10252],{},"200 Token x 2 次\u002F天",[2155,10254,10255],{},"3 Token x 2 次\u002F天 + 1,200 Token 初次加载",[2155,10257,10258],{},"首次使用后 85%",[1457,10260,10261],{"type":1459},[11,10262,10263],{},"Skill 在同一会话中使用 2–3 次后就能回本。Skill 文件只加载一次到对话上下文中，后续每次触发只消耗斜杠命令的 Token。一个月下来，节省效果非常可观。",[485,10265,10267],{"id":10266},"推荐的省-token-skill","推荐的省 Token Skill",[11,10269,10270],{},"两个 Token 投资回报率最高的 Skill：",[62,10272,10273,10292],{},[65,10274,10275,10281,10282,4124,10285,4124,10288,10291],{},[68,10276,10277],{},[22,10278,10280],{"href":759,"rel":10279},[26],"GSD (Get Shit Done)"," —— 用结构化的 ",[43,10283,10284],{},"\u002Fgsd-plan-phase",[43,10286,10287],{},"\u002Fgsd-execute-phase",[43,10289,10290],{},"\u002Fgsd-next"," 命令替代长篇规划 prompt。原本需要 200+ Token 的规划 prompt，现在每次只要 3 Token。",[65,10293,10294,10301],{},[68,10295,10296],{},[22,10297,10300],{"href":10298,"rel":10299},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F034be597-7c73-4f85-adb5-0c8b21f15e0d",[26],"Planning Skill"," —— 编码你的规划方法论，不需要每次会话重新解释。对多人团队特别有价值，确保一致的规划输出。",[11,10303,5733,10304,10308],{},[22,10305,10307],{"href":10306},"\u002Fcollections\u002Fskills","Skill 合集"," 中浏览更多适合你工作流的选项。",[15,10310,10312],{"id":10311},"策略二用摘要压缩上下文","策略二：用摘要压缩上下文",[11,10314,10315],{},"即使装了 Skill，对话上下文仍然会随着每条消息增长。Claude Code 每轮都要读取完整的对话历史——也就是说，50,000 Token 的历史意味着每条消息都要花 50,000 输入 Token，哪怕你只问了一个简单问题。",[485,10317,10137],{"id":10318},"问题所在-1",[11,10320,10321],{},"一个真实场景：",[230,10323,10324,10330,10336,10342],{},[65,10325,10326,10329],{},[68,10327,10328],{},"第 1 轮："," 你让 Claude 读 3 个文件（8,000 Token 的文件内容加入上下文）",[65,10331,10332,10335],{},[68,10333,10334],{},"第 5 轮："," 已经交换了 20,000 Token 的对话",[65,10337,10338,10341],{},[68,10339,10340],{},"第 10 轮："," 上下文达到 45,000 Token",[65,10343,10344,10347],{},[68,10345,10346],{},"第 15 轮："," 上下文达到 80,000 Token——每条新消息的输入 Token 成本就是 80,000",[11,10349,10350,10351,10354,10355,57],{},"按 Opus 定价（$15\u002F百万输入 Token），第 15 轮的单条消息输入成本是 ",[68,10352,10353],{},"$1.20","。一个 20 轮对话的累计成本轻松超过 ",[68,10356,10357],{},"$10",[485,10359,10156],{"id":10360},"解决方案-1",[11,10362,10363,10364,10367],{},"策略性地使用 ",[43,10365,10366],{},"\u002Fcompact"," 命令。这个命令让 Claude Code 对对话历史做摘要，把它压缩到原始大小的几分之一，同时保留关键决策和上下文。",[11,10369,10370],{},[68,10371,10372],{},"什么时候做 compact：",[62,10374,10375,10378,10381,10384],{},[65,10376,10377],{},"在会话中完成一个重要任务之后",[65,10379,10380],{},"当你注意到上下文超过 40,000 Token 时",[65,10382,10383],{},"在同一会话中切换话题之前",[65,10385,10386],{},"在读取了大文件但后续不再需要完整内容时",[11,10388,10389],{},[68,10390,10391],{},"压缩前后的 Token 对比：",[2131,10393,10394,10413],{},[2134,10395,10396],{},[2137,10397,10398,10400,10405,10410],{},[2140,10399,10205],{},[2140,10401,10402,10404],{},[43,10403,10366],{}," 前",[2140,10406,10407,10409],{},[43,10408,10366],{}," 后",[2140,10411,10412],{},"压缩率",[2150,10414,10415,10429,10443],{},[2137,10416,10417,10420,10423,10426],{},[2155,10418,10419],{},"15 轮代码审查会话",[2155,10421,10422],{},"82,000 Token",[2155,10424,10425],{},"12,000 Token",[2155,10427,10428],{},"85%",[2137,10430,10431,10434,10437,10440],{},[2155,10432,10433],{},"大文件探索",[2155,10435,10436],{},"65,000 Token",[2155,10438,10439],{},"8,000 Token",[2155,10441,10442],{},"88%",[2137,10444,10445,10448,10451,10454],{},[2155,10446,10447],{},"多阶段项目规划",[2155,10449,10450],{},"120,000 Token",[2155,10452,10453],{},"18,000 Token",[2155,10455,10428],{},[1457,10457,10458],{"type":1459},[11,10459,10460,10461,10463],{},"经验法则：每 10–15 轮或者话题切换时执行一次 ",[43,10462,10366],{},"。每次压缩都能帮你在后续每条消息上节省几千 Token。",[485,10465,10466],{"id":10466},"高级上下文管理",[11,10468,10469,10470,10472],{},"除了 ",[43,10471,10366],{},"，这些做法也能减少上下文膨胀：",[230,10474,10475,10481,10494,10507],{},[65,10476,10477,10480],{},[68,10478,10479],{},"新任务开新对话"," —— 不要在臃肿的会话里做不相关的工作",[65,10482,10483,10486,10487,10490,10491,10493],{},[68,10484,10485],{},"精确指定读取范围"," —— 用 \"读取 ",[43,10488,10489],{},"server.ts"," 的 50–120 行\" 代替 \"读取 ",[43,10492,10489],{},"\"，避免加载几千行无关代码",[65,10495,10496,10502,10503,10506],{},[68,10497,10498,10499],{},"使用 ",[43,10500,10501],{},".claudeignore"," —— 排除 ",[43,10504,10505],{},"node_modules\u002F","、构建产物、大数据文件，防止 Claude 的文件搜索意外加载它们",[65,10508,10509,10512],{},[68,10510,10511],{},"前置上下文"," —— 第一条消息就提供所有相关文件和约束，而不是分 5 条消息零散补充，否则 Claude 每轮都要重新读取不断增长的上下文",[15,10514,10516],{"id":10515},"策略三用专业-skill-减少迭代轮次","策略三：用专业 Skill 减少迭代轮次",[11,10518,10519,10520,10522,10523,57],{},"最贵的 Token 浪费不是 prompt 重复，也不是上下文膨胀——而是",[68,10521,10123],{},"。Claude 理解错了你的意图时，你要花 3–10 轮纠正，每一轮都要重新处理整个对话上下文。一次误解在大上下文中就能浪费 ",[68,10524,10525],{},"$5–$15 的 Token",[485,10527,10137],{"id":10528},"问题所在-2",[11,10530,10531],{},"没有结构的调试是经典的 Token 燃烧器：",[107,10533,10536],{"className":10534,"code":10535,"language":1246},[1244],"第 1 轮：\"修复这个 bug\"（Claude 试了方案 A——失败）\n第 2 轮：\"不行，试试 X\"（Claude 试了 X——部分成功）\n第 3 轮：\"接近了，但你破坏了 Y\"（Claude 修了 Y 但重新引入了原始 bug）\n第 4 轮：\"不对，你需要保留第 2 轮的修复同时修 Y\"\n第 5 轮：\"让我重新解释一下完整上下文...\"\n",[43,10537,10535],{"__ignoreMap":112},[11,10539,10540],{},"每一轮都比上一轮贵，因为上下文在不断增长。到第 5 轮，你花的 Token 是正确一次完成所需的 5 倍。",[485,10542,10156],{"id":10543},"解决方案-2",[11,10545,10546],{},"专业 Skill 编码了结构化的方法论，让 Claude 第一次就做对——或者至少在 1–2 轮内完成，而不是 5–10 轮。",[11,10548,10549,10556],{},[68,10550,10551],{},[22,10552,10555],{"href":10553,"rel":10554},"https:\u002F\u002Ftokrepo.com\u002Fzh\u002Fworkflows\u002F78ed006e-d10d-4efe-804b-2e19a76cf2bb",[26],"系统化调试 Skill"," —— 不再用随意的 \"修复这个\" prompt，而是引导 Claude 走一个结构化的流程：",[107,10558,10560],{"className":109,"code":10559,"language":111,"meta":112,"style":112},"tokrepo install 78ed006e-d10d-4efe-804b-2e19a76cf2bb\n",[43,10561,10562],{"__ignoreMap":112},[116,10563,10564,10566,10568],{"class":118,"line":119},[116,10565,512],{"class":122},[116,10567,127],{"class":126},[116,10569,10570],{"class":126}," 78ed006e-d10d-4efe-804b-2e19a76cf2bb\n",[11,10572,10498,10573,10576],{},[43,10574,10575],{},"\u002Fgsd-debug"," 触发系统化调试工作流：",[230,10578,10579,10585,10591,10597,10603],{},[65,10580,10581,10584],{},[68,10582,10583],{},"复现"," —— 验证 bug 存在且可重现",[65,10586,10587,10590],{},[68,10588,10589],{},"假设"," —— 生成 3–5 个可能的根因，按可能性排序",[65,10592,10593,10596],{},[68,10594,10595],{},"测试"," —— 用最小代码改动验证每个假设",[65,10598,10599,10602],{},[68,10600,10601],{},"修复"," —— 针对确认的根因应用修复",[65,10604,10605,10608],{},[68,10606,10607],{},"验证"," —— 跑测试确认修复没有引入新问题",[11,10610,10611,10612,10615],{},"这种结构化方法通常在 ",[68,10613,10614],{},"2–3 轮"," 内解决 bug，而非 5–10 轮——调试任务节省 60–70% 的 Token。",[11,10617,10618,10623],{},[68,10619,10620],{},[22,10621,9861],{"href":2091,"rel":10622},[26]," —— 当你发现自己写同一个复杂 prompt 超过两次时，这个元技能帮你在几分钟内把它变成可复用的 Skill：",[107,10625,10626],{"className":109,"code":2075,"language":111,"meta":112,"style":112},[43,10627,10628],{"__ignoreMap":112},[116,10629,10630,10632,10634],{"class":118,"line":119},[116,10631,512],{"class":122},[116,10633,127],{"class":126},[116,10635,2086],{"class":126},[11,10637,10498,10638,10641],{},[43,10639,10640],{},"\u002Fskill-creator"," 从描述生成新 Skill。Skill Creator 编码了 Skill 编写的最佳实践——frontmatter、触发条件、指令、示例——让你的自定义 Skill 第一次就能正确工作，不需要 3–4 轮修改。",[1457,10643,10645],{"type":10644},"warning",[11,10646,10647],{},"迭代循环的成本是乘法式增长。在 80,000 Token 的上下文中做 5 轮循环，成本不是单轮的 5 倍——大约是 5 + 6 + 7 + 8 + 9 = 35 个相对单位，因为每轮都在增加下一轮需要处理的上下文。把循环从 5 轮减少到 2 轮，可以节省 70% 以上的 Token。",[15,10649,10651],{"id":10650},"前后对比真实-token-用量","前后对比：真实 Token 用量",[11,10653,10654],{},"我们跟踪了五个常见开发任务的 Token 使用量，对比了不用 Skill 和使用上述三个策略的工作流。",[931,10656],{":headers":10657,":rows":10658},"[\"任务\",\"不用 Skill (Token)\",\"用 Skill (Token)\",\"节省比例\"]","[[\"代码审查（3 个文件）\",\"45,000\",\"18,000\",\"60%\"],[\"调试后端 API Bug\",\"92,000\",\"35,000\",\"62%\"],[\"规划新功能（5 个阶段）\",\"68,000\",\"28,000\",\"59%\"],[\"创建一个新 Agent Skill\",\"34,000\",\"12,000\",\"65%\"],[\"全天开发会话\",\"320,000\",\"145,000\",\"55%\"]]",[11,10660,10661],{},[68,10662,10663],{},"按 Opus 定价（$15\u002F$75 每百万 Token）换算成美元：",[2131,10665,10666,10676],{},[2134,10667,10668],{},[2137,10669,10670,10672,10674],{},[2140,10671,2394],{},[2140,10673,10208],{},[2140,10675,10211],{},[2150,10677,10678,10689,10700,10711,10728],{},[2137,10679,10680,10683,10686],{},[2155,10681,10682],{},"日均 Token 用量",[2155,10684,10685],{},"320,000",[2155,10687,10688],{},"145,000",[2137,10690,10691,10694,10697],{},[2155,10692,10693],{},"每日输入成本 (@ $15\u002FM)",[2155,10695,10696],{},"$4.80",[2155,10698,10699],{},"$2.18",[2137,10701,10702,10705,10708],{},[2155,10703,10704],{},"每日输出成本 (@ $75\u002FM，约 30K 输出)",[2155,10706,10707],{},"$2.25",[2155,10709,10710],{},"$1.13",[2137,10712,10713,10718,10723],{},[2155,10714,10715],{},[68,10716,10717],{},"月度成本（20 个工作日）",[2155,10719,10720],{},[68,10721,10722],{},"$141.00",[2155,10724,10725],{},[68,10726,10727],{},"$66.20",[2137,10729,10730,10735,10738],{},[2155,10731,10732],{},[68,10733,10734],{},"年度节省",[2155,10736,10737],{},"—",[2155,10739,10740],{},[68,10741,10742],{},"$897.60",[11,10744,10745,10746,10749],{},"单个开发者每年节省近 ",[68,10747,10748],{},"$900","——团队规模越大，节省效果线性增长。",[15,10751,976],{"id":976},[485,10753,10755],{"id":10754},"agent-skill-本身会消耗-token-吗","Agent Skill 本身会消耗 Token 吗？",[11,10757,10758],{},"会，但每个会话只消耗一次。当 Skill 被触发时，它的 Markdown 内容会加载到对话上下文中。一个典型的 Skill 约 500–1,500 Token。之后在同一会话中再次触发，只消耗斜杠命令的 2–3 个 Token。净节省远超一次性加载成本——通常在使用 Skill 的第 2 或第 3 轮就回本了。",[485,10760,10762],{"id":10761},"降低-token-成本最有效的单一操作是什么","降低 Token 成本最有效的单一操作是什么？",[11,10764,10765,10766,10768,10769,57],{},"定期执行 ",[43,10767,10366],{},"。上下文压缩能带来最大的绝对节省，因为它降低了会话中每条后续消息的成本。如果你的上下文在 80,000 Token，压缩到 12,000，每轮后续消息就节省 68,000 Token。再交互 3 轮，就是 204,000 Token——按 Opus 输入定价值 ",[68,10770,10771],{},"$3.06",[485,10773,10775],{"id":10774},"可以三个策略一起用吗","可以三个策略一起用吗？",[11,10777,10778,10779,10781,10782,57],{},"当然可以——它们本来就是配合使用的。安装 Skill（策略一）减少重复 prompt，用 ",[43,10780,10366],{},"（策略二）保持上下文精简，依赖专业 Skill（策略三）最小化迭代循环。同时采用三个策略的团队，月度 Token 成本通常降低 ",[68,10783,10784],{},"45–55%",[15,10786,1038],{"id":1038},[11,10788,10789],{},"准备好开始省 Token 了吗？以下是你的行动清单：",[230,10791,10792,10805,10814,10823,10833],{},[65,10793,10794,10797,10798,567,10801,10804],{},[68,10795,10796],{},"安装你的第一个 Skill"," —— 从 ",[22,10799,3310],{"href":759,"rel":10800},[26],[22,10802,10300],{"href":10298,"rel":10803},[26]," 开始，立刻见效",[65,10806,10807,10810,10811,10813],{},[68,10808,10809],{},"浏览完整目录"," —— 在 ",[22,10812,10307],{"href":10306}," 中找到适合你工作流的 Skill",[65,10815,10816,10819,10820,10822],{},[68,10817,10818],{},"学会自己做"," —— 阅读 ",[22,10821,1030],{"href":1029},"，把你最常重复的 prompt 变成可复用的 Skill",[65,10824,10825,10828,10829,10832],{},[68,10826,10827],{},"对比你的选项"," —— 看 ",[22,10830,10831],{"href":998},"Skill vs MCP vs Rules 完整对比"," 了解什么时候该用 Skill",[65,10834,10835,10838,10839,10841],{},[68,10836,10837],{},"看看最热门的"," —— 我们的 ",[22,10840,2638],{"href":31}," 排行榜展示了经过实测的高影响力 Skill",[1065,10843,3469],{},{"title":112,"searchDepth":280,"depth":280,"links":10845},[10846,10847,10853,10858,10862,10863,10868],{"id":10058,"depth":280,"text":10059},{"id":10130,"depth":280,"text":10131,"children":10848},[10849,10850,10851,10852],{"id":10137,"depth":287,"text":10137},{"id":10156,"depth":287,"text":10156},{"id":10196,"depth":287,"text":10196},{"id":10266,"depth":287,"text":10267},{"id":10311,"depth":280,"text":10312,"children":10854},[10855,10856,10857],{"id":10318,"depth":287,"text":10137},{"id":10360,"depth":287,"text":10156},{"id":10466,"depth":287,"text":10466},{"id":10515,"depth":280,"text":10516,"children":10859},[10860,10861],{"id":10528,"depth":287,"text":10137},{"id":10543,"depth":287,"text":10156},{"id":10650,"depth":280,"text":10651},{"id":976,"depth":280,"text":976,"children":10864},[10865,10866,10867],{"id":10754,"depth":287,"text":10755},{"id":10761,"depth":287,"text":10762},{"id":10774,"depth":287,"text":10775},{"id":1038,"depth":280,"text":1038},"Three proven strategies to reduce Claude Code token consumption by 50% — reusable skills, context compression, and fewer iteration loops.","三个经过验证的策略，帮你把 Claude Code Token 消耗降低 50%——可复用 Skill、上下文压缩、减少迭代循环。","\u002Fguide\u002Fimages\u002Fsave-token-costs-hero.svg",{},"\u002Fzh\u002Fguide\u002Fsave-token-costs",{"title":10050,"description":10869},"zh\u002Fguide\u002Fsave-token-costs",[2707,10877,10878,3511],"token","cost","用 Agent Skills 把 Claude Code Token 消耗降低 50%","oatdAQhekMCdBtnnNOtHbdkG-y4mnjR0f4QZHs_Wjdg",{"id":10882,"title":10883,"author":6,"body":10884,"category":1094,"description":11588,"descriptionZh":11589,"extension":1097,"image":11590,"meta":11591,"navigation":283,"path":11592,"publishedAt":11593,"readTime":316,"seo":11594,"stem":11595,"tags":11596,"titleZh":1030,"updatedAt":11593,"__hash__":11597},"docs_zh\u002Fzh\u002Fguide\u002Fcreate-skill.md","How to Create Your First Agent Skill for Claude Code",{"type":8,"value":10885,"toc":11567},[10886,10890,10902,10908,10913,10917,10946,10949,10951,10954,10981,10985,10991,11033,11036,11058,11062,11065,11108,11111,11115,11123,11127,11130,11246,11249,11275,11279,11282,11287,11321,11326,11338,11341,11352,11356,11359,11416,11419,11448,11466,11468,11472,11475,11479,11482,11486,11493,11497,11505,11509,11557,11561,11564],[15,10887,10889],{"id":10888},"什么是-agent-skill","什么是 Agent Skill？",[11,10891,10892,10894,10895,567,10898,10901],{},[68,10893,3555],{},"（AI 技能）是一个 Markdown 文件（通常是 ",[43,10896,10897],{},"SKILL.md",[43,10899,10900],{},"*.skill.md","），用于教 AI 编程助手如何执行特定任务。你可以把它理解为一个有结构的可复用提示词——它告诉 AI 做什么、什么时候激活、怎么执行。",[11,10903,10904,10905,57],{},"和 MCP 服务器（需要写代码和运行进程）或自定义规则（简单的文本约束）不同，Agent Skill 处于一个最佳平衡点：",[68,10906,10907],{},"强大到足以编码复杂工作流，简单到任何人都能创建",[1457,10909,10910],{"type":1459},[11,10911,10912],{},"Agent Skill 就是 Markdown 文件——你不需要任何编程知识就能创建。只要你能写清楚提示词，就能构建一个 Skill。",[485,10914,10916],{"id":10915},"谁在用-agent-skill","谁在用 Agent Skill？",[62,10918,10919,10928,10934,10940],{},[65,10920,10921,5287,10923,10925,10926],{},[68,10922,32],{},[43,10924,52],{}," 或项目根目录下的 ",[43,10927,10897],{},[65,10929,10930,5287,10932],{},[68,10931,37],{},[43,10933,56],{},[65,10935,10936,5287,10938],{},[68,10937,27],{},[43,10939,45],{},[65,10941,10942,5287,10944],{},[68,10943,6331],{},[43,10945,6319],{},[11,10947,10948],{},"SKILL.md 格式在所有这些工具中通用，只需少量适配。",[15,10950,1120],{"id":1120},[11,10952,10953],{},"开始之前，确保你有：",[230,10955,10956,10969,10975],{},[65,10957,10958,10961,10962,4124,10965,10968],{},[68,10959,10960],{},"AI 编程助手"," — ",[22,10963,32],{"href":1128,"rel":10964},[26],[22,10966,963],{"href":5125,"rel":10967},[26]," 或类似工具",[65,10970,10971,10974],{},[68,10972,10973],{},"文本编辑器"," — VS Code、Cursor 或你喜欢的编辑器",[65,10976,10977,10980],{},[68,10978,10979],{},"项目目录"," — 任意你想使用 Skill 的文件夹",[15,10982,10984],{"id":10983},"第一步创建-skillmd-文件","第一步：创建 SKILL.md 文件",[11,10986,10987,10988,10990],{},"在项目根目录（或 Claude Code 的 ",[43,10989,52],{}," 目录）创建一个新文件：",[107,10992,10994],{"className":109,"code":10993,"language":111,"meta":112,"style":112},"# 方法 A：项目根目录（通用）\ntouch SKILL.md\n\n# 方法 B：Claude Code 命令目录\nmkdir -p .claude\u002Fcommands\ntouch .claude\u002Fcommands\u002Fmy-skill.md\n",[43,10995,10996,11001,11009,11013,11018,11026],{"__ignoreMap":112},[116,10997,10998],{"class":118,"line":119},[116,10999,11000],{"class":1161},"# 方法 A：项目根目录（通用）\n",[116,11002,11003,11006],{"class":118,"line":280},[116,11004,11005],{"class":122},"touch",[116,11007,11008],{"class":126}," SKILL.md\n",[116,11010,11011],{"class":118,"line":287},[116,11012,284],{"emptyLinePlaceholder":283},[116,11014,11015],{"class":118,"line":293},[116,11016,11017],{"class":1161},"# 方法 B：Claude Code 命令目录\n",[116,11019,11020,11022,11024],{"class":118,"line":298},[116,11021,1275],{"class":122},[116,11023,1278],{"class":130},[116,11025,1281],{"class":126},[116,11027,11028,11030],{"class":118,"line":304},[116,11029,11005],{"class":122},[116,11031,11032],{"class":126}," .claude\u002Fcommands\u002Fmy-skill.md\n",[11,11034,11035],{},"文件名很重要：",[62,11037,11038,11043,11053],{},[65,11039,11040,11042],{},[43,11041,10897],{}," — AI 扫描项目时自动发现",[65,11044,11045,11048,11049,11052],{},[43,11046,11047],{},".claude\u002Fcommands\u002Fcode-review.md"," — 在 Claude Code 中变成 ",[43,11050,11051],{},"\u002Fcode-review"," 斜杠命令",[65,11054,11055,11057],{},[43,11056,10900],{}," — 被 TokRepo 识别并可发布",[15,11059,11061],{"id":11060},"第二步定义元数据","第二步：定义元数据",[11,11063,11064],{},"每个好的 Skill 都以清晰的 YAML frontmatter 开头：",[107,11066,11068],{"className":268,"code":11067,"language":270,"meta":112,"style":112},"---\nname: 代码审查 Skill\ndescription: 对修改过的文件进行深度代码审查\ntriggers:\n  - \u002Fcode-review\n  - \"审查我的代码\"\n  - \"检查 bug\"\n---\n",[43,11069,11070,11074,11079,11084,11089,11094,11099,11104],{"__ignoreMap":112},[116,11071,11072],{"class":118,"line":119},[116,11073,1312],{},[116,11075,11076],{"class":118,"line":280},[116,11077,11078],{},"name: 代码审查 Skill\n",[116,11080,11081],{"class":118,"line":287},[116,11082,11083],{},"description: 对修改过的文件进行深度代码审查\n",[116,11085,11086],{"class":118,"line":293},[116,11087,11088],{},"triggers:\n",[116,11090,11091],{"class":118,"line":298},[116,11092,11093],{},"  - \u002Fcode-review\n",[116,11095,11096],{"class":118,"line":304},[116,11097,11098],{},"  - \"审查我的代码\"\n",[116,11100,11101],{"class":118,"line":310},[116,11102,11103],{},"  - \"检查 bug\"\n",[116,11105,11106],{"class":118,"line":316},[116,11107,1312],{},[11,11109,11110],{},"关键字段说明：",[931,11112],{":headers":11113,":rows":11114},"[\"字段\",\"作用\",\"示例\"]","[[\"name\",\"Skill 名称\",\"代码审查 Skill\"],[\"description\",\"功能描述（显示在搜索结果中）\",\"对修改文件进行深度审查\"],[\"triggers\",\"激活条件（斜杠命令或自然语言）\",\"\u002Fcode-review, 审查代码\"]]",[1457,11116,11117],{"type":10644},[11,11118,11119,11122],{},[43,11120,11121],{},"description"," 保持在 120 字符以内——它会作为搜索结果和列表中的摘要显示。",[15,11124,11126],{"id":11125},"第三步编写指令","第三步：编写指令",[11,11128,11129],{},"SKILL.md 的正文就是给 AI 的提示词。用清晰的指令格式编写：",[107,11131,11133],{"className":268,"code":11132,"language":270,"meta":112,"style":112},"## 目标\n\n审查当前分支所有改动的文件，查找 bug、安全问题和代码质量问题。\n\n## 步骤\n\n1. 运行 `git diff --name-only HEAD~1` 找到改动的文件\n2. 完整阅读每个改动的文件\n3. 对每个文件检查：\n   - 逻辑错误和边界情况\n   - 安全漏洞（注入、鉴权绕过等）\n   - 性能问题（N+1 查询、不必要的循环）\n   - 代码风格违规\n4. 输出结构化报告，标注严重程度\n\n## 输出格式\n\n对每个发现的问题：\n- **文件**: path\u002Fto\u002Ffile.ts\n- **行号**: 42\n- **严重性**: 🔴 高 | 🟡 中 | 🟢 低\n- **问题**: 问题描述\n- **修复**: 建议的修复方案\n",[43,11134,11135,11140,11144,11149,11153,11158,11162,11167,11172,11177,11182,11187,11192,11197,11202,11206,11211,11215,11220,11225,11230,11235,11240],{"__ignoreMap":112},[116,11136,11137],{"class":118,"line":119},[116,11138,11139],{},"## 目标\n",[116,11141,11142],{"class":118,"line":280},[116,11143,284],{"emptyLinePlaceholder":283},[116,11145,11146],{"class":118,"line":287},[116,11147,11148],{},"审查当前分支所有改动的文件，查找 bug、安全问题和代码质量问题。\n",[116,11150,11151],{"class":118,"line":293},[116,11152,284],{"emptyLinePlaceholder":283},[116,11154,11155],{"class":118,"line":298},[116,11156,11157],{},"## 步骤\n",[116,11159,11160],{"class":118,"line":304},[116,11161,284],{"emptyLinePlaceholder":283},[116,11163,11164],{"class":118,"line":310},[116,11165,11166],{},"1. 运行 `git diff --name-only HEAD~1` 找到改动的文件\n",[116,11168,11169],{"class":118,"line":316},[116,11170,11171],{},"2. 完整阅读每个改动的文件\n",[116,11173,11174],{"class":118,"line":322},[116,11175,11176],{},"3. 对每个文件检查：\n",[116,11178,11179],{"class":118,"line":327},[116,11180,11181],{},"   - 逻辑错误和边界情况\n",[116,11183,11184],{"class":118,"line":333},[116,11185,11186],{},"   - 安全漏洞（注入、鉴权绕过等）\n",[116,11188,11189],{"class":118,"line":339},[116,11190,11191],{},"   - 性能问题（N+1 查询、不必要的循环）\n",[116,11193,11194],{"class":118,"line":345},[116,11195,11196],{},"   - 代码风格违规\n",[116,11198,11199],{"class":118,"line":350},[116,11200,11201],{},"4. 输出结构化报告，标注严重程度\n",[116,11203,11204],{"class":118,"line":356},[116,11205,284],{"emptyLinePlaceholder":283},[116,11207,11208],{"class":118,"line":362},[116,11209,11210],{},"## 输出格式\n",[116,11212,11213],{"class":118,"line":1362},[116,11214,284],{"emptyLinePlaceholder":283},[116,11216,11217],{"class":118,"line":1368},[116,11218,11219],{},"对每个发现的问题：\n",[116,11221,11222],{"class":118,"line":1373},[116,11223,11224],{},"- **文件**: path\u002Fto\u002Ffile.ts\n",[116,11226,11227],{"class":118,"line":1379},[116,11228,11229],{},"- **行号**: 42\n",[116,11231,11232],{"class":118,"line":1636},[116,11233,11234],{},"- **严重性**: 🔴 高 | 🟡 中 | 🟢 低\n",[116,11236,11237],{"class":118,"line":1641},[116,11238,11239],{},"- **问题**: 问题描述\n",[116,11241,11243],{"class":118,"line":11242},23,[116,11244,11245],{},"- **修复**: 建议的修复方案\n",[485,11247,11248],{"id":11248},"写好指令的技巧",[230,11250,11251,11257,11263,11269],{},[65,11252,11253,11256],{},[68,11254,11255],{},"要具体"," — \"检查所有数据库查询中的 SQL 注入\" 比 \"查找安全问题\" 好得多",[65,11258,11259,11262],{},[68,11260,11261],{},"用有序列表"," — AI 按照有序列表执行比按段落执行更可靠",[65,11264,11265,11268],{},[68,11266,11267],{},"包含示例"," — 展示期望的输出格式",[65,11270,11271,11274],{},[68,11272,11273],{},"设定边界"," — 告诉 AI 什么不该做（例如 \"不要修改任何文件，只输出报告\"）",[15,11276,11278],{"id":11277},"第四步本地测试","第四步：本地测试",[11,11280,11281],{},"在你的 AI 助手中调用 Skill 进行测试：",[11,11283,11284],{},[68,11285,11286],{},"Claude Code 中：",[107,11288,11290],{"className":109,"code":11289,"language":111,"meta":112,"style":112},"# 如果放在 .claude\u002Fcommands\u002Fcode-review.md\nclaude \u002Fcode-review\n\n# 如果放在项目根目录的 SKILL.md\nclaude \"使用代码审查 skill\"\n",[43,11291,11292,11297,11305,11309,11314],{"__ignoreMap":112},[116,11293,11294],{"class":118,"line":119},[116,11295,11296],{"class":1161},"# 如果放在 .claude\u002Fcommands\u002Fcode-review.md\n",[116,11298,11299,11302],{"class":118,"line":280},[116,11300,11301],{"class":122},"claude",[116,11303,11304],{"class":126}," \u002Fcode-review\n",[116,11306,11307],{"class":118,"line":287},[116,11308,284],{"emptyLinePlaceholder":283},[116,11310,11311],{"class":118,"line":293},[116,11312,11313],{"class":1161},"# 如果放在项目根目录的 SKILL.md\n",[116,11315,11316,11318],{"class":118,"line":298},[116,11317,11301],{"class":122},[116,11319,11320],{"class":126}," \"使用代码审查 skill\"\n",[11,11322,11323],{},[68,11324,11325],{},"Codex CLI 中：",[107,11327,11329],{"className":109,"code":11328,"language":111,"meta":112,"style":112},"codex \"按照 SKILL.md 中的指令审查我的代码\"\n",[43,11330,11331],{"__ignoreMap":112},[116,11332,11333,11335],{"class":118,"line":119},[116,11334,5397],{"class":122},[116,11336,11337],{"class":126}," \"按照 SKILL.md 中的指令审查我的代码\"\n",[11,11339,11340],{},"根据结果迭代优化指令。常见调整：",[62,11342,11343,11346,11349],{},[65,11344,11345],{},"如果输出格式不对，添加更具体的示例",[65,11347,11348],{},"如果 AI 做得太多或太少，添加约束条件",[65,11350,11351],{},"为边界情况添加错误处理指令",[15,11353,11355],{"id":11354},"第五步发布到-tokrepo","第五步：发布到 TokRepo",[11,11357,11358],{},"Skill 在本地运行良好后，分享给社区：",[107,11360,11362],{"className":109,"code":11361,"language":111,"meta":112,"style":112},"# 安装 TokRepo CLI\nnpm install -g tokrepo\n\n# 登录（使用你的 API token）\ntokrepo login\n\n# 发布你的 Skill\ntokrepo push my-skill.skill.md --public\n",[43,11363,11364,11369,11379,11383,11388,11394,11398,11403],{"__ignoreMap":112},[116,11365,11366],{"class":118,"line":119},[116,11367,11368],{"class":1161},"# 安装 TokRepo CLI\n",[116,11370,11371,11373,11375,11377],{"class":118,"line":280},[116,11372,123],{"class":122},[116,11374,127],{"class":126},[116,11376,131],{"class":130},[116,11378,507],{"class":126},[116,11380,11381],{"class":118,"line":287},[116,11382,284],{"emptyLinePlaceholder":283},[116,11384,11385],{"class":118,"line":293},[116,11386,11387],{"class":1161},"# 登录（使用你的 API token）\n",[116,11389,11390,11392],{"class":118,"line":298},[116,11391,512],{"class":122},[116,11393,169],{"class":126},[116,11395,11396],{"class":118,"line":304},[116,11397,284],{"emptyLinePlaceholder":283},[116,11399,11400],{"class":118,"line":310},[116,11401,11402],{"class":1161},"# 发布你的 Skill\n",[116,11404,11405,11407,11410,11413],{"class":118,"line":316},[116,11406,512],{"class":122},[116,11408,11409],{"class":126}," push",[116,11411,11412],{"class":126}," my-skill.skill.md",[116,11414,11415],{"class":130}," --public\n",[11,11417,11418],{},"你的 Skill 现在可以被任何人搜索和安装：",[107,11420,11422],{"className":109,"code":11421,"language":111,"meta":112,"style":112},"# 其他人可以找到并安装\ntokrepo search \"code review\"\ntokrepo install your-skill-name\n",[43,11423,11424,11429,11439],{"__ignoreMap":112},[116,11425,11426],{"class":118,"line":119},[116,11427,11428],{"class":1161},"# 其他人可以找到并安装\n",[116,11430,11431,11433,11436],{"class":118,"line":280},[116,11432,512],{"class":122},[116,11434,11435],{"class":126}," search",[116,11437,11438],{"class":126}," \"code review\"\n",[116,11440,11441,11443,11445],{"class":118,"line":287},[116,11442,512],{"class":122},[116,11444,127],{"class":126},[116,11446,11447],{"class":126}," your-skill-name\n",[1457,11449,11450],{"type":1459},[11,11451,11452,11453,4124,11455,4124,11457,4124,11460,4124,11463,57],{},"发布时添加描述性标签——它们帮助别人发现你的 Skill。热门标签：",[43,11454,2707],{},[43,11456,3511],{},[43,11458,11459],{},"code-review",[43,11461,11462],{},"testing",[43,11464,11465],{},"documentation",[15,11467,976],{"id":976},[485,11469,11471],{"id":11470},"skill-中可以用图片或图表吗","Skill 中可以用图片或图表吗？",[11,11473,11474],{},"可以，但大多数 AI 助手在执行时只处理文本。图片对 TokRepo 上的文档展示有用，但不会被 AI 在执行过程中\"看到\"。",[485,11476,11478],{"id":11477},"skill-应该多长","Skill 应该多长？",[11,11480,11481],{},"最有效的 Skill 通常在 200-500 行之间。太短 AI 缺乏上下文，太长 AI 可能会失去焦点。如果你的 Skill 超过 1000 行，考虑拆分成多个 Skill。",[485,11483,11485],{"id":11484},"skill-可以调用其他-skill-吗","Skill 可以调用其他 Skill 吗？",[11,11487,11488,11489,11492],{},"不能直接调用，但你可以在指令中引用其他 Skill：\"如果需要运行测试，请按照 ",[43,11490,11491],{},".claude\u002Fcommands\u002Ftest.md"," 中的测试 Skill 执行\"。AI 会读取并遵循那些指令。",[485,11494,11496],{"id":11495},"skillmd-和-agentsmd-有什么区别","SKILL.md 和 AGENTS.md 有什么区别？",[11,11498,11499,11501,11502,11504],{},[43,11500,10897],{}," 是单一用途的技能文件。",[43,11503,56],{}," 是项目级文件，描述整体项目上下文和可用能力。你可以在 AGENTS.md 中引用各种 Skill。",[485,11506,11508],{"id":11507},"如何更新已发布的-skill","如何更新已发布的 Skill？",[107,11510,11512],{"className":109,"code":11511,"language":111,"meta":112,"style":112},"# 通过 UUID 更新\ntokrepo update \u003Cuuid> my-skill.skill.md\n\n# 或使用 sync 自动检测变更\ntokrepo sync .\n",[43,11513,11514,11519,11538,11542,11547],{"__ignoreMap":112},[116,11515,11516],{"class":118,"line":119},[116,11517,11518],{"class":1161},"# 通过 UUID 更新\n",[116,11520,11521,11523,11526,11528,11531,11533,11535],{"class":118,"line":280},[116,11522,512],{"class":122},[116,11524,11525],{"class":126}," update",[116,11527,517],{"class":182},[116,11529,11530],{"class":126},"uui",[116,11532,523],{"class":186},[116,11534,526],{"class":182},[116,11536,11537],{"class":126}," my-skill.skill.md\n",[116,11539,11540],{"class":118,"line":287},[116,11541,284],{"emptyLinePlaceholder":283},[116,11543,11544],{"class":118,"line":293},[116,11545,11546],{"class":1161},"# 或使用 sync 自动检测变更\n",[116,11548,11549,11551,11554],{"class":118,"line":298},[116,11550,512],{"class":122},[116,11552,11553],{"class":126}," sync",[116,11555,11556],{"class":126}," .\n",[15,11558,11560],{"id":11559},"tokrepo-上的相关-skill","TokRepo 上的相关 Skill",[11,11562,11563],{},"浏览这些热门 Skill 获取灵感：",[1065,11565,11566],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":112,"searchDepth":280,"depth":280,"links":11568},[11569,11572,11573,11574,11575,11578,11579,11580,11587],{"id":10888,"depth":280,"text":10889,"children":11570},[11571],{"id":10915,"depth":287,"text":10916},{"id":1120,"depth":280,"text":1120},{"id":10983,"depth":280,"text":10984},{"id":11060,"depth":280,"text":11061},{"id":11125,"depth":280,"text":11126,"children":11576},[11577],{"id":11248,"depth":287,"text":11248},{"id":11277,"depth":280,"text":11278},{"id":11354,"depth":280,"text":11355},{"id":976,"depth":280,"text":976,"children":11581},[11582,11583,11584,11585,11586],{"id":11470,"depth":287,"text":11471},{"id":11477,"depth":287,"text":11478},{"id":11484,"depth":287,"text":11485},{"id":11495,"depth":287,"text":11496},{"id":11507,"depth":287,"text":11508},{"id":11559,"depth":280,"text":11560},"Step-by-step guide to creating, testing, and publishing SKILL.md files for Claude Code, Codex CLI, and Gemini CLI.","一步步教你创建、测试、发布 SKILL.md 文件，适用于 Claude Code、Codex CLI 和 Gemini CLI。","\u002Fguide\u002Fimages\u002Fcreate-skill-hero.svg",{},"\u002Fzh\u002Fguide\u002Fcreate-skill","2026-04-10",{"title":10883,"description":11588},"zh\u002Fguide\u002Fcreate-skill",[1106,2707,10045],"2CQqzFW94mhqJDRBdv7wUjHx3V4yFwjWQ-mkUpJ6u5c",{"id":11599,"title":11600,"author":6,"body":11601,"category":12421,"description":12422,"descriptionZh":12423,"extension":1097,"image":12424,"meta":12425,"navigation":283,"path":12426,"publishedAt":11593,"readTime":327,"seo":12427,"stem":12428,"tags":12429,"titleZh":12430,"updatedAt":11593,"__hash__":12431},"docs_zh\u002Fzh\u002Fguide\u002Fskills-vs-mcp.md","Agent Skills vs MCP Servers vs Rules — Complete Guide",{"type":8,"value":11602,"toc":12386},[11603,11606,11613,11616,11636,11639,11641,11646,11648,11651,11707,11710,11736,11739,11759,11763,11769,11772,11775,11850,11853,11879,11882,11908,11912,11917,11920,11923,11946,11984,11987,12013,12016,12042,12045,12049,12053,12056,12060,12086,12090,12116,12120,12145,12149,12152,12156,12255,12258,12262,12266,12269,12272,12319,12321,12325,12328,12332,12335,12339,12342,12357,12361,12367,12383],[15,11604,11605],{"id":11605},"引言",[11,11607,11608,11609,11612],{},"现代 AI 编程助手如 Claude Code、Codex CLI 和 Gemini CLI 开箱即用就很强大。但它们的真正威力来自",[68,11610,11611],{},"定制化","——教它们你团队的规范、连接你的工具、自动化你的工作流。",[11,11614,11615],{},"扩展 AI 编程助手主要有三种方式：",[230,11617,11618,11624,11630],{},[65,11619,11620,11623],{},[68,11621,11622],{},"Agent Skills"," — Markdown 指令文件",[65,11625,11626,11629],{},[68,11627,11628],{},"MCP 服务器"," — AI 可以调用的 API 端点",[65,11631,11632,11635],{},[68,11633,11634],{},"自定义规则"," — 简单的文本约束",[11,11637,11638],{},"每种方式服务于不同目的。选择正确的方式（或组合使用）可以极大提升你的效率。本指南详细说明何时使用哪种方式。",[15,11640,10889],{"id":10888},[11,11642,11643,11645],{},[68,11644,3555],{}," 是编码可复用工作流的 Markdown 文件。它们有结构化的格式，包含元数据（名称、描述、触发条件）和指令（目标、步骤、输出格式）。",[485,11647,1251],{"id":1251},[11,11649,11650],{},"当你调用一个 Skill（通过斜杠命令或自然语言），AI 助手读取 Markdown 文件并按照指令执行。Skill 成为该任务上下文的一部分。",[107,11652,11654],{"className":268,"code":11653,"language":270,"meta":112,"style":112},"---\nname: 部署检查器\ndescription: 验证部署就绪状态\ntriggers: [\u002Fdeploy-check]\n---\n\n## 步骤\n1. 运行测试套件\n2. 检查未提交的改动\n3. 验证环境变量\n4. 输出 go\u002Fno-go 报告\n",[43,11655,11656,11660,11665,11670,11675,11679,11683,11687,11692,11697,11702],{"__ignoreMap":112},[116,11657,11658],{"class":118,"line":119},[116,11659,1312],{},[116,11661,11662],{"class":118,"line":280},[116,11663,11664],{},"name: 部署检查器\n",[116,11666,11667],{"class":118,"line":287},[116,11668,11669],{},"description: 验证部署就绪状态\n",[116,11671,11672],{"class":118,"line":293},[116,11673,11674],{},"triggers: [\u002Fdeploy-check]\n",[116,11676,11677],{"class":118,"line":298},[116,11678,1312],{},[116,11680,11681],{"class":118,"line":304},[116,11682,284],{"emptyLinePlaceholder":283},[116,11684,11685],{"class":118,"line":310},[116,11686,11157],{},[116,11688,11689],{"class":118,"line":316},[116,11690,11691],{},"1. 运行测试套件\n",[116,11693,11694],{"class":118,"line":322},[116,11695,11696],{},"2. 检查未提交的改动\n",[116,11698,11699],{"class":118,"line":327},[116,11700,11701],{},"3. 验证环境变量\n",[116,11703,11704],{"class":118,"line":333},[116,11705,11706],{},"4. 输出 go\u002Fno-go 报告\n",[485,11708,11709],{"id":11709},"优势",[62,11711,11712,11718,11724,11730],{},[65,11713,11714,11717],{},[68,11715,11716],{},"零代码"," — 任何人都能写 Markdown",[65,11719,11720,11723],{},[68,11721,11722],{},"版本控制"," — 在仓库中管理，通过 PR 审查",[65,11725,11726,11729],{},[68,11727,11728],{},"可移植"," — 跨不同 AI 助手通用",[65,11731,11732,11735],{},[68,11733,11734],{},"可组合"," — 可以引用其他 Skill",[485,11737,11738],{"id":11738},"局限",[62,11740,11741,11747,11753],{},[65,11742,11743,11746],{},[68,11744,11745],{},"无外部 API 访问"," — 不能直接调用第三方服务",[65,11748,11749,11752],{},[68,11750,11751],{},"无持久状态"," — 每次调用从头开始",[65,11754,11755,11758],{},[68,11756,11757],{},"仅文本"," — 执行时不能处理图片或二进制数据",[15,11760,11762],{"id":11761},"什么是-mcp-服务器","什么是 MCP 服务器？",[11,11764,11765,11768],{},[68,11766,11767],{},"MCP（Model Context Protocol）服务器"," 是运行中的进程，通过标准化协议向 AI 助手暴露工具、资源和提示。把它理解为带 API 的插件。",[485,11770,1251],{"id":11771},"工作原理-1",[11,11773,11774],{},"MCP 服务器在本地或远程运行，暴露 AI 助手可以调用的端点。AI 助手在启动时发现可用工具，按需调用。",[107,11776,11778],{"className":375,"code":11777,"language":377,"meta":112,"style":112},"{\n  \"mcpServers\": {\n    \"database\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@your-org\u002Fdb-mcp-server\"],\n      \"env\": { \"DATABASE_URL\": \"postgres:\u002F\u002F...\" }\n    }\n  }\n}\n",[43,11779,11780,11784,11790,11797,11807,11822,11838,11842,11846],{"__ignoreMap":112},[116,11781,11782],{"class":118,"line":119},[116,11783,384],{"class":186},[116,11785,11786,11788],{"class":118,"line":280},[116,11787,3600],{"class":130},[116,11789,3603],{"class":186},[116,11791,11792,11795],{"class":118,"line":287},[116,11793,11794],{"class":130},"    \"database\"",[116,11796,3603],{"class":186},[116,11798,11799,11801,11803,11805],{"class":118,"line":293},[116,11800,3615],{"class":130},[116,11802,405],{"class":186},[116,11804,3620],{"class":126},[116,11806,411],{"class":186},[116,11808,11809,11811,11813,11815,11817,11820],{"class":118,"line":298},[116,11810,3627],{"class":130},[116,11812,3630],{"class":186},[116,11814,3633],{"class":126},[116,11816,3636],{"class":186},[116,11818,11819],{"class":126},"\"@your-org\u002Fdb-mcp-server\"",[116,11821,3642],{"class":186},[116,11823,11824,11826,11828,11831,11833,11836],{"class":118,"line":304},[116,11825,3647],{"class":130},[116,11827,4988],{"class":186},[116,11829,11830],{"class":130},"\"DATABASE_URL\"",[116,11832,405],{"class":186},[116,11834,11835],{"class":126},"\"postgres:\u002F\u002F...\"",[116,11837,4999],{"class":186},[116,11839,11840],{"class":118,"line":310},[116,11841,454],{"class":186},[116,11843,11844],{"class":118,"line":316},[116,11845,3673],{"class":186},[116,11847,11848],{"class":118,"line":322},[116,11849,464],{"class":186},[485,11851,11709],{"id":11852},"优势-1",[62,11854,11855,11861,11867,11873],{},[65,11856,11857,11860],{},[68,11858,11859],{},"完整 API 访问"," — 连接数据库、API、云服务",[65,11862,11863,11866],{},[68,11864,11865],{},"持久状态"," — 维护连接池和缓存",[65,11868,11869,11872],{},[68,11870,11871],{},"丰富数据类型"," — 处理二进制数据、图片、结构化响应",[65,11874,11875,11878],{},[68,11876,11877],{},"实时"," — 流式数据和事件响应",[485,11880,11738],{"id":11881},"局限-1",[62,11883,11884,11890,11896,11902],{},[65,11885,11886,11889],{},[68,11887,11888],{},"需要代码"," — 需要用 TypeScript\u002FPython 等实现",[65,11891,11892,11895],{},[68,11893,11894],{},"运行时依赖"," — 必须在运行中 AI 才能使用",[65,11897,11898,11901],{},[68,11899,11900],{},"配置开销"," — 环境变量、认证令牌、安装设置",[65,11903,11904,11907],{},[68,11905,11906],{},"较难分享"," — 依赖管理、安全考虑",[15,11909,11911],{"id":11910},"什么是自定义规则","什么是自定义规则？",[11,11913,11914,11916],{},[68,11915,11634],{}," 是纯文本文件，为 AI 助手设置约束和规范。它们不编码工作流——它们塑造行为。",[485,11918,1251],{"id":11919},"工作原理-2",[11,11921,11922],{},"AI 助手在启动时读取规则文件，应用到所有交互中。它们是始终生效的上下文，不是按需工具。",[62,11924,11925,11933,11939],{},[65,11926,11927,11929,11930],{},[68,11928,32],{},": 项目根目录的 ",[43,11931,11932],{},"CLAUDE.md",[65,11934,11935,11929,11937],{},[68,11936,6331],{},[43,11938,6319],{},[65,11940,11941,405,11943,11945],{},[68,11942,963],{},[43,11944,56],{},"（项目级规则部分）",[107,11947,11949],{"className":268,"code":11948,"language":270,"meta":112,"style":112},"## 规则\n\n- 始终使用 TypeScript strict 模式\n- 优先使用函数式组件而非类组件\n- 使用 Tailwind CSS，禁止内联样式\n- 提交前必须运行 `npm test`\n- 永远不要修改 `vendor\u002F` 目录中的文件\n",[43,11950,11951,11955,11959,11964,11969,11974,11979],{"__ignoreMap":112},[116,11952,11953],{"class":118,"line":119},[116,11954,6464],{},[116,11956,11957],{"class":118,"line":280},[116,11958,284],{"emptyLinePlaceholder":283},[116,11960,11961],{"class":118,"line":287},[116,11962,11963],{},"- 始终使用 TypeScript strict 模式\n",[116,11965,11966],{"class":118,"line":293},[116,11967,11968],{},"- 优先使用函数式组件而非类组件\n",[116,11970,11971],{"class":118,"line":298},[116,11972,11973],{},"- 使用 Tailwind CSS，禁止内联样式\n",[116,11975,11976],{"class":118,"line":304},[116,11977,11978],{},"- 提交前必须运行 `npm test`\n",[116,11980,11981],{"class":118,"line":310},[116,11982,11983],{},"- 永远不要修改 `vendor\u002F` 目录中的文件\n",[485,11985,11709],{"id":11986},"优势-2",[62,11988,11989,11995,12001,12007],{},[65,11990,11991,11994],{},[68,11992,11993],{},"始终生效"," — 自动影响每次交互",[65,11996,11997,12000],{},[68,11998,11999],{},"简单"," — 纯文本，无需结构",[65,12002,12003,12006],{},[68,12004,12005],{},"团队对齐"," — 在所有团队成员间执行统一规范",[65,12008,12009,12012],{},[68,12010,12011],{},"零开销"," — 无需安装、无需配置",[485,12014,11738],{"id":12015},"局限-2",[62,12017,12018,12024,12030,12036],{},[65,12019,12020,12023],{},[68,12021,12022],{},"无逻辑"," — 不能编码条件工作流",[65,12025,12026,12029],{},[68,12027,12028],{},"无触发器"," — 始终开启，不能选择性调用",[65,12031,12032,12035],{},[68,12033,12034],{},"无工具"," — 不能独立调用 API 或运行命令",[65,12037,12038,12041],{},[68,12039,12040],{},"容易冲突"," — 规则之间可能矛盾",[15,12043,12044],{"id":12044},"功能对比",[931,12046],{":headers":12047,":rows":12048},"[\"特性\",\"Agent Skills\",\"MCP 服务器\",\"自定义规则\"]","[[\"本质\",\"Markdown 指令\",\"运行中的 API 进程\",\"文本约束\"],[\"复杂度\",\"低\",\"高\",\"极低\"],[\"需要代码？\",\"否\",\"是\",\"否\"],[\"外部 API 访问\",\"否（AI 可用工具）\",\"是（原生支持）\",\"否\"],[\"激活方式\",\"按需（斜杠命令\u002F自然语言）\",\"始终可用\",\"始终生效\"],[\"可移植性\",\"高（跨 AI 通用）\",\"中（MCP 标准）\",\"低（特定 AI）\"],[\"可分享性\",\"容易（文件复制\u002FTokRepo）\",\"中等（npm\u002Fpip）\",\"容易（文件复制）\"],[\"状态\",\"无状态\",\"有状态\",\"无状态\"],[\"最适合\",\"工作流和任务\",\"集成和数据\",\"规范和护栏\"]]",[15,12050,12052],{"id":12051},"何时用哪个","何时用哪个？",[11,12054,12055],{},"使用这个决策框架：",[485,12057,12059],{"id":12058},"当你想要用-agent-skill","当你想要...用 Agent Skill",[62,12061,12062,12068,12074,12080],{},[65,12063,12064,12067],{},[68,12065,12066],{},"自动化可重复的工作流"," — 代码审查、部署检查、测试生成",[65,12069,12070,12073],{},[68,12071,12072],{},"分享最佳实践"," — \"我们团队是这样做 X 的\"",[65,12075,12076,12079],{},[68,12077,12078],{},"教复杂的多步骤流程"," — 每次都解释一遍太麻烦",[65,12081,12082,12085],{},[68,12083,12084],{},"赋能非技术用户"," — 产品经理、设计师、文案",[485,12087,12089],{"id":12088},"当你需要用-mcp-服务器","当你需要...用 MCP 服务器",[62,12091,12092,12098,12104,12110],{},[65,12093,12094,12097],{},[68,12095,12096],{},"连接外部服务"," — 数据库、API、云平台",[65,12099,12100,12103],{},[68,12101,12102],{},"处理非文本数据"," — 图片、二进制文件、结构化数据",[65,12105,12106,12109],{},[68,12107,12108],{},"维护持久连接"," — 数据库连接池、WebSocket 流",[65,12111,12112,12115],{},[68,12113,12114],{},"实时响应"," — 监控、通知、实时数据",[485,12117,12119],{"id":12118},"当你想要用自定义规则","当你想要...用自定义规则",[62,12121,12122,12128,12133,12139],{},[65,12123,12124,12127],{},[68,12125,12126],{},"执行编码标准"," — 代码风格、命名规范",[65,12129,12130,12132],{},[68,12131,11273],{}," — \"永远不要修改生产配置\"",[65,12134,12135,12138],{},[68,12136,12137],{},"提供项目上下文"," — 架构决策、技术栈信息",[65,12140,12141,12144],{},[68,12142,12143],{},"对齐团队行为"," — 确保开发者之间的一致性",[15,12146,12148],{"id":12147},"它们可以配合使用吗","它们可以配合使用吗？",[11,12150,12151],{},"当然——这才是真正威力所在。",[485,12153,12155],{"id":12154},"示例全栈部署工作流","示例：全栈部署工作流",[230,12157,12158,12172,12216],{},[65,12159,12160,12162,12163,12165,12166],{},[68,12161,11634],{},"（",[43,12164,11932],{},"）：",[107,12167,12170],{"className":12168,"code":12169,"language":1246},[1244],"- 我们的测试服务器在 staging.example.com\n- 部署前必须运行 lint\n- 使用语义化版本\n",[43,12171,12169],{"__ignoreMap":112},[65,12173,12174,12176,12177,12203,12206,12207,4124,12210,4124,12213],{},[68,12175,11628],{},"（部署工具）：",[107,12178,12180],{"className":375,"code":12179,"language":377,"meta":112,"style":112},"{ \"deploy\": { \"command\": \"npx deploy-mcp-server\" } }\n",[43,12181,12182],{"__ignoreMap":112},[116,12183,12184,12187,12190,12192,12195,12197,12200],{"class":118,"line":119},[116,12185,12186],{"class":186},"{ ",[116,12188,12189],{"class":130},"\"deploy\"",[116,12191,4988],{"class":186},[116,12193,12194],{"class":130},"\"command\"",[116,12196,405],{"class":186},[116,12198,12199],{"class":126},"\"npx deploy-mcp-server\"",[116,12201,12202],{"class":186}," } }\n",[12204,12205],"br",{},"暴露工具：",[43,12208,12209],{},"deploy_to_staging()",[43,12211,12212],{},"check_deployment_status()",[43,12214,12215],{},"rollback()",[65,12217,12218,12220,12221],{},[68,12219,3555],{},"（部署工作流）：",[107,12222,12224],{"className":268,"code":12223,"language":270,"meta":112,"style":112},"## 步骤\n1. 运行 lint 和测试（遵循项目规则）\n2. 版本号升级（语义化，按规则）\n3. 调用 deploy_to_staging()（MCP 工具）\n4. 等待并检查 check_deployment_status()\n5. 如果失败，调用 rollback()\n",[43,12225,12226,12230,12235,12240,12245,12250],{"__ignoreMap":112},[116,12227,12228],{"class":118,"line":119},[116,12229,11157],{},[116,12231,12232],{"class":118,"line":280},[116,12233,12234],{},"1. 运行 lint 和测试（遵循项目规则）\n",[116,12236,12237],{"class":118,"line":287},[116,12238,12239],{},"2. 版本号升级（语义化，按规则）\n",[116,12241,12242],{"class":118,"line":293},[116,12243,12244],{},"3. 调用 deploy_to_staging()（MCP 工具）\n",[116,12246,12247],{"class":118,"line":298},[116,12248,12249],{},"4. 等待并检查 check_deployment_status()\n",[116,12251,12252],{"class":118,"line":304},[116,12253,12254],{},"5. 如果失败，调用 rollback()\n",[11,12256,12257],{},"Skill 编排工作流，调用 MCP 工具执行操作，遵守规则中的规范。每一层做它最擅长的事。",[485,12259,12261],{"id":12260},"正确的组合方式","\"正确\"的组合方式",[931,12263],{":headers":12264,":rows":12265},"[\"关注点\",\"使用层\"]","[[\"怎么做\",\"Agent Skill\"],[\"用什么工具\",\"MCP 服务器\"],[\"遵守什么约束\",\"自定义规则\"]]",[15,12267,12268],{"id":12268},"开始使用",[11,12270,12271],{},"准备好尝试每种方式了吗？从这里开始：",[230,12273,12274,12300,12310],{},[65,12275,12276,12278,12279,12283,12284],{},[68,12277,11622],{},"：浏览 TokRepo 的 ",[22,12280,12282],{"href":12281},"\u002Fzh\u002Fcollections\u002Fskills","Skills 合集"," — 10 秒安装：",[107,12285,12287],{"className":109,"code":12286,"language":111,"meta":112,"style":112},"npx tokrepo install code-review-skill\n",[43,12288,12289],{"__ignoreMap":112},[116,12290,12291,12293,12295,12297],{"class":118,"line":119},[116,12292,147],{"class":122},[116,12294,5706],{"class":126},[116,12296,127],{"class":126},[116,12298,12299],{"class":126}," code-review-skill\n",[65,12301,12302,12304,12305,12309],{},[68,12303,11628],{},"：查看 ",[22,12306,12308],{"href":12307},"\u002Fzh\u002Fcollections\u002Fmcp-servers","MCP Servers 合集"," — 配置预构建的服务器",[65,12311,12312,12314,12315,567,12317],{},[68,12313,11634],{},"：在项目根目录创建 ",[43,12316,11932],{},[43,12318,6319],{},[15,12320,976],{"id":976},[485,12322,12324],{"id":12323},"可以把-skill-转换成-mcp-服务器吗","可以把 Skill 转换成 MCP 服务器吗？",[11,12326,12327],{},"通常不需要。Skill 和 MCP 服务器服务于不同目的。如果你的 Skill 需要外部 API 访问，配合 MCP 服务器使用而不是重写。",[485,12329,12331],{"id":12330},"skill-比-mcp-服务器慢吗","Skill 比 MCP 服务器慢吗？",[11,12333,12334],{},"Skill 会增加 AI 提示词的上下文，可能稍微增加处理时间。MCP 服务器调用是直接的函数调用。实际上差异可以忽略——AI 的思考时间占主导。",[485,12336,12338],{"id":12337},"同一个项目可以三种都用吗","同一个项目可以三种都用吗？",[11,12340,12341],{},"可以，而且推荐这样做。大多数成熟项目有：",[62,12343,12344,12349,12354],{},[65,12345,12346,12348],{},[43,12347,11932],{}," 中 5-10 条规则",[65,12350,12351,12353],{},[43,12352,52],{}," 中 2-5 个 Skill",[65,12355,12356],{},"1-3 个 MCP 服务器用于外部集成",[485,12358,12360],{"id":12359},"在哪里找到现成的-skill-和-mcp-服务器","在哪里找到现成的 Skill 和 MCP 服务器？",[11,12362,12363,12366],{},[22,12364,482],{"href":1474,"rel":12365},[26]," 有 500+ 开源 Agent Skill、MCP 服务器、提示词和工作流。通过命令行搜索、安装和贡献：",[107,12368,12370],{"className":109,"code":12369,"language":111,"meta":112,"style":112},"npx tokrepo search \"你的用例\"\n",[43,12371,12372],{"__ignoreMap":112},[116,12373,12374,12376,12378,12380],{"class":118,"line":119},[116,12375,147],{"class":122},[116,12377,5706],{"class":126},[116,12379,11435],{"class":126},[116,12381,12382],{"class":126}," \"你的用例\"\n",[1065,12384,12385],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":112,"searchDepth":280,"depth":280,"links":12387},[12388,12389,12394,12399,12404,12405,12410,12414,12415],{"id":11605,"depth":280,"text":11605},{"id":10888,"depth":280,"text":10889,"children":12390},[12391,12392,12393],{"id":1251,"depth":287,"text":1251},{"id":11709,"depth":287,"text":11709},{"id":11738,"depth":287,"text":11738},{"id":11761,"depth":280,"text":11762,"children":12395},[12396,12397,12398],{"id":11771,"depth":287,"text":1251},{"id":11852,"depth":287,"text":11709},{"id":11881,"depth":287,"text":11738},{"id":11910,"depth":280,"text":11911,"children":12400},[12401,12402,12403],{"id":11919,"depth":287,"text":1251},{"id":11986,"depth":287,"text":11709},{"id":12015,"depth":287,"text":11738},{"id":12044,"depth":280,"text":12044},{"id":12051,"depth":280,"text":12052,"children":12406},[12407,12408,12409],{"id":12058,"depth":287,"text":12059},{"id":12088,"depth":287,"text":12089},{"id":12118,"depth":287,"text":12119},{"id":12147,"depth":280,"text":12148,"children":12411},[12412,12413],{"id":12154,"depth":287,"text":12155},{"id":12260,"depth":287,"text":12261},{"id":12268,"depth":280,"text":12268},{"id":976,"depth":280,"text":976,"children":12416},[12417,12418,12419,12420],{"id":12323,"depth":287,"text":12324},{"id":12330,"depth":287,"text":12331},{"id":12337,"depth":287,"text":12338},{"id":12359,"depth":287,"text":12360},"guide","Understand the three ways to extend AI coding agents. Compare agent skills, MCP servers, and custom rules.","理解扩展 AI 编程助手的三种方式。详细对比 Agent Skill、MCP 服务器和自定义规则——何时使用、如何配合。","\u002Fguide\u002Fimages\u002Fskills-vs-mcp-hero.svg",{},"\u002Fzh\u002Fguide\u002Fskills-vs-mcp",{"title":11600,"description":12422},"zh\u002Fguide\u002Fskills-vs-mcp",[1106,5221,8094,3501],"Agent Skills vs MCP 服务器 vs 规则 — 完整对比指南","Gs7diih_t57t5yl3XgsdaM2HFx64BSOgLwo1z9t6o2E"]