手把手教你开发一个Claude Code的MCP Skill,实现智能需求分析

📅 2026/6/18 13:42:26
手把手教你开发一个Claude Code的MCP Skill,实现智能需求分析
2026年AI编程工具已经不再是“能不能写代码”的问题而是“能不能按你的方式写代码”。本文将带你从零开发一个完整的MCP Skill让Claude Code具备智能需求分析能力。一、从“能写代码”到“会写代码”一个真实踩坑故事三周前我把团队的一个新功能模块直接交给Claude Code来写。需求说清楚了上下文给足了然后我去泡了杯茶。回来看到Claude告诉我“已完成”——代码看起来很整洁跑起来也没报错。我打了个勾推上去了。两天后QA测试发现了5个边界case没处理其中一个在高并发下会导致数据丢失。复盘的时候我发现Claude没有骗我它确实完成了我“说的”需求。但它没有质疑需求、没有问边界条件、没有主动写防护测试——因为我没有让它这么做。这就是Skills存在的意义。Skills不是给Claude更强的模型能力而是给它一套工作方法论。它让Claude在开始写代码之前先想清楚在“完成”之前先验证在调试之前先系统化定位问题。根据Anthropic官方文档2026年5月7日更新Skills是Claude Code的扩展机制让Claude能够“用正确的方法、最新的工具、可重复的流程来完成特定任务”。本文将手把手带你开发一个智能需求分析Skill让Claude Code在动手写代码之前先完成一套完整的需求澄清、边界识别和方案评估流程。二、Claude Code MCP Skills三层架构拆解在动手之前先理解Claude Code的扩展体系。根据2026年1月的技术分析Claude Code的扩展能力分为五个层次类型用途Token成本最佳场景Skills传授流程知识30-50 token/个领域专业知识MCP连接外部工具可变可达50k外部集成Plugins打包和分享内容总和团队标准化Hooks自动化操作极小工作流触发Slash Commands快捷指令极小高频操作核心认知Skills教Claude“怎么做”MCP让Claude“能做什么”。2.1 MCPAI Agent的“USB协议”MCPModel Context Protocol是Anthropic在2024年推出的开放标准用于连接AI应用与外部系统和数据。打个比方MCP就是AI Agent世界的USB协议。在USB出现之前键盘用PS/2接口打印机用并口鼠标用串口——每个外设一种线。USB统一了这一切。MCP做的是同一件事GitHub有GitHub的APIJira有Jira的APISlack有Slack的SDK——MCP统一了接入方式。根据Claude Code源码分析2026年4月Claude Code围绕MCP协议搭建了一套完整生态系统多层级配置、7种传输方式、自动重连、OAuth认证、Elicitation双向交互。截至2026年MCP生态系统已经显著成熟MCP CLI v0.3.0引入了增强的连接池、工具过滤能力和精简的三子命令架构。2.2 Skills渐进式披露的“专家操作手册”Skills是Anthropic在2025年12月为Claude Code推出的能力扩展机制。目前Claude Code、Codex、GitHub、VS Code、Cursor、Codebuddy等主流AI编程工具都对这个标准做了兼容。Skills的核心设计理念是“渐进式披露”Progressive Disclosure元数据扫描Claude只加载Skill的名称和描述约30-50 token相关性匹配如果Skill匹配当前任务才加载完整指令资源按需加载脚本和文件只在执行时加载这意味着你可以安装100 Skills而不影响上下文窗口。Claude按需加载需要什么加载什么。根据Anthropic工程博客2025年10月16日Skills被定位为“可移植的‘know-how’层”Agent决定何时以及如何调用它们。2.3 为什么需要“智能需求分析Skill”在AI辅助开发中最常见的问题不是“代码写不出来”而是**“代码写偏了”**。模型的训练数据更新速度往往赶不上框架和SDK的迭代速度。更关键的是模型倾向于直接给出答案而不是先澄清问题。一个智能需求分析Skill的价值在于强制需求澄清在写代码之前先让Claude列出需求中的模糊点和假设边界条件识别主动识别可能被忽略的边界case和异常场景多方案对比给出至少2-3种实现路径及其权衡风险前置暴露在投入编码之前暴露潜在的技术风险和依赖三、架构设计一个完整的需求分析Skill应该长什么样3.1 Skill的目录结构根据Claude Code官方规范一个Skill就是一个文件夹核心是SKILL.md文件~/.claude/skills/requirement-analysis/ ├── SKILL.md # Skill的核心定义必需 ├── templates/ │ ├── requirement-template.md # 需求文档模板 │ └── risk-checklist.md # 风险检查清单 ├── scripts/ │ └── parse_requirements.py # 可选辅助解析脚本 └── resources/ └── examples/ # 示例需求文档3.2 SKILL.md的核心结构SKILL.md包含YAML frontmatter和Markdown指令两部分--- name: requirement-analysis version: 1.0.0 description: | 智能需求分析Skill。在开始编码前对需求进行系统化分析 澄清模糊点、识别边界条件、评估技术方案、暴露潜在风险。 tags: - analysis - requirements - planning - design author: your-team-name --- # 智能需求分析 Skill ## 触发条件 当用户提出以下类型的请求时自动激活本Skill - 帮我实现一个... - 我需要开发... - 写一个...的功能 - 任何涉及新功能开发或功能修改的请求 ## 分析流程 ### 第一阶段需求澄清Brainstorming **目标**在动手之前先理解问题的本质。 执行以下步骤 1. 用一句话复述用户的核心需求 2. 列出3个关键问题需要用户确认 3. 识别需求中的隐含假设 4. 标注需求中的模糊表述 **输出格式**需求理解确认我理解您需要[一句话总结]需要您确认的3个问题………我的假设…需要澄清的模糊点…### 第二阶段边界条件识别 **目标**找出容易被忽略的边界case。 系统化检查以下维度 - 输入边界空值、极值、特殊字符、超长输入 - 状态边界初始状态、中间状态、终态、异常状态 - 并发边界竞态条件、死锁、幂等性 - 依赖边界外部服务不可用、超时、降级 - 权限边界未认证、未授权、越权 **输出格式**边界条件清单类别边界条件风险等级处理建议输入…高/中/低…### 第三阶段技术方案评估 **目标**给出至少2种实现路径并对比。 对于每个方案评估 - 实现复杂度1-5 - 维护成本1-5 - 性能影响1-5 - 依赖引入 - 团队熟悉度 **输出格式**技术方案对比方案A[名称]实现复杂度⭐️⭐️⭐️优点…缺点…适用场景…方案B[名称]…推荐方案[A/B]理由…### 第四阶段风险暴露 **目标**在编码前暴露潜在风险。 检查清单 - [ ] 是否涉及敏感数据处理 - [ ] 是否引入新的外部依赖 - [ ] 是否影响现有功能 - [ ] 是否需要数据库迁移 - [ ] 是否有性能瓶颈风险 - [ ] 是否有安全漏洞风险 ### 第五阶段输出分析报告 整合以上四个阶段的输出生成一份完整的**需求分析报告**供用户确认后再开始编码。3.3 架构设计要点为什么要这样设计渐进式披露原则上述SKILL.md虽然内容详尽但Claude在加载时只读取metadataname和description约30-50 token。只有当用户提出“帮我实现一个功能”时Claude才会根据description匹配并加载完整指令。模板与脚本分离将模板和脚本放在独立目录Skill本身只定义流程。这样便于版本管理和复用——同一个流程可以配合不同的模板使用。强制输出结构化要求Claude按固定格式输出分析结果确保每次分析的质量一致性。四、实战开发从零到一构建需求分析Skill4.1 环境准备第一步安装Claude Code CLInpminstall-ganthropic-ai/claude-code claude--version# 应显示 2.0.70截至2026年5月Claude Code最新版本为v2.1.142Fast模式默认使用Opus 4.7。建议升级到最新版本以获得完整的MCP和Skills支持。第二步创建Skills目录# macOS/Linuxmkdir-p~/.claude/skills# Windowsmkdir%APPDATA%\claude-code\skills根据官方文档2026年5月7日更新Claude Code会从~/.claude/skills目录自动发现Skills。第三步创建Skill目录和文件cd~/.claude/skillsmkdir-prequirement-analysis/{templates,scripts,resources/examples}touchrequirement-analysis/SKILL.md4.2 编写SKILL.md将上一节设计的SKILL.md内容写入文件。这里有几个关键技巧技巧1description要精准Claude根据description匹配Skill所以要包含足够的关键词description:|智能需求分析Skill。在开始编码前对需求进行系统化分析 澄清模糊点、识别边界条件、评估技术方案、暴露潜在风险。 适用于新功能开发、功能修改、架构设计、技术选型。技巧2指令要具体、可执行不要写“分析需求”要写具体的步骤和输出格式。Claude需要明确的指引。技巧3包含示例在SKILL.md中加入输入输出示例让Claude理解期望的输出格式。4.3 添加辅助模板创建templates/requirement-template.md# 需求分析报告 ## 1. 需求概述 [一句话描述] ## 2. 需求澄清 ### 2.1 核心问题 [3个关键问题] ### 2.2 隐含假设 [列出假设] ### 2.3 模糊点 [列出需要澄清的模糊点] ## 3. 边界条件 | 类别 | 条件 | 风险 | 处理 | |------|------|------|------| ## 4. 技术方案 ### 方案对比 | 维度 | 方案A | 方案B | |------|-------|-------| ### 推荐方案 [推荐及理由] ## 5. 风险评估 [风险清单] ## 6. 下一步行动 [确认后开始编码]4.4 测试Skill手动触发测试在Claude Code中输入使用requirement-analysis Skill分析以下需求 “我需要一个用户登录功能支持邮箱和手机号两种方式”自动触发测试直接说“帮我实现一个用户登录功能”观察Claude是否自动激活Skill。验证Skill是否被识别有哪些可用的Skill如果配置正确requirement-analysis应该出现在列表中。4.5 集成MCP工具让Skill“手眼通天”纯指令的Skill只能让Claude“知道怎么做”但有了MCPSkill就能让Claude“真正做到”。以需求分析为例我们可以集成以下MCP工具4.5.1 集成Context7 MCP动态读取最新文档Context7 MCP可以让Claude实时查询最新的官方文档避免使用过时的API。配置~/.claude/settings.json{mcpServers:{context7:{command:npx,args:[-y,context7/mcp-server]}}}在SKILL.md的技术方案评估阶段加入**使用Context7查询相关技术的最新文档** - 如果方案涉及特定框架/库先查询其最新API文档 - 确认方案中使用的API版本是否仍然有效 - 记录文档中的最佳实践建议4.5.2 集成GitHub MCP分析代码库现状GitHub MCP让Claude能够读取issues、管理PR、触发CI/CD。在需求分析中可以查询是否有相关的issue或讨论分析代码库中类似的实现模式识别需要修改的模块4.5.3 集成Sequential Thinking MCP复杂推理Sequential Thinking MCP是2026年值得关注的一个工具它让Claude能够进行显式、可检查的推理。在需求分析中对于复杂决策如技术选型、架构设计可以调用Sequential Thinking进行多步推理并将推理过程呈现给用户审查。4.6 完整工作流示意用户“帮我实现一个xx功能” ↓ Claude扫描Skills → 匹配到requirement-analysis ↓ 加载SKILL.md完整指令 ↓ 第一阶段需求澄清 → 输出3个关键问题 ↓ 用户回答 → 进入第二阶段 ↓ 第二阶段边界识别 → 调用Context7查询相关文档 ↓ 第三阶段方案评估 → 调用GitHub MCP分析代码库 ↓ 第四阶段风险评估 → 输出风险清单 ↓ 输出完整需求分析报告 ↓ 用户确认 → 开始编码五、安全风险MCP不是“免检产品”2026年MCP生态快速扩张的同时安全问题也浮出水面。任何在生产环境使用Claude Code的团队都必须正视这些风险。5.1 MCP OAuth Token劫持攻击2026年4月Mitiga Labs的研究人员发现了一种针对Claude Code MCP的中间人攻击。攻击原理攻击者通过恶意npm包的postinstall脚本静默重写~/.claude.json将MCP流量重定向到攻击者控制的代理当开发者连接或重连MCP集成时Claude Code执行完整的OAuth流程攻击者截获OAuth bearer token攻击者获得对Jira、Confluence、GitHub等平台的持久访问权限Mitiga于2026年4月10日向Anthropic报告了该问题。Anthropic于4月11日确认4月12日回应称该问题“超出范围”理由是用户的事先同意是攻击的先决条件。没有计划发布补丁。这意味着什么MCP的安全责任在用户和开发者不在Anthropic。5.2 恶意MCP服务器配置导致RCE2026年5月安全研究人员发现所有主流AI编码CLIClaude Code、Gemini CLI、Cursor CLI、Copilot CLI都可能自动执行项目定义的MCP服务器。当用户接受文件夹信任提示时所有工具默认选择“Yes/Trust”项目中的恶意MCP服务器配置会被自动执行。GHSA-8Q5R-MMJF-575Q漏洞详细说明了恶意PR中的MCP服务器配置可实现远程代码执行和密钥泄露。5.3 企业安全实践建议根据2026年5月的企业落地观察以下是关键建议1. 对MCP工具做三级分类级别类型示例只读文档、issue、PR、日志安全风险低受控写创建分支、提交MR、更新工单需审批高风险生产数据库、云资源变更、密钥系统禁止或二次确认2. 启用MCP网关2026年4月的OX Security关于STDIO RCE的公告推动行业向HTTP传输和网关集中执行转移。MCP网关可以拦截所有发现和调用附加span属性在执行策略和护栏检查后转发。3. 记录审计日志模型名称和版本如Claude 4.7、GPT-5.5输入/输出/cache tokenMCP工具调用次数和失败原因Shell命令、退出码、耗时文件改动范围4. 使用worktree隔离Claude Code v2.1.133新增了worktree.baseRef允许选择从origin/或本地HEAD创建worktree。建议默认使用临时分支或隔离worktree避免Agent直接修改主工作区。5. 注意Plan mode的边界v2.1.136修复了Plan mode在某些allow rule下没有正确阻止文件写入的问题。企业如果依赖“先计划、后执行”的审批流程应确认版本已更新并做本地验证。5.4 微软披露的GitHub Action漏洞2026年6月微软通过HackerOne披露了一个Claude Code GitHub Action漏洞。该漏洞可能让攻击者通过提示注入从开发管线窃取凭据。Anthropic于2026年5月5日使用Claude Code v2.1.128修补了该漏洞通过阻止访问runner环境中的敏感系统文件。安全启示保持Claude Code更新到最新版本是最基本的安全实践。v2.1.128还修复了MCP工具结果丢弃图片、MCP服务器启动失败自动重试等问题。六、竞品对比Claude Code的Skill生态处于什么位置截至2026年6月AI编程工具市场已经形成了清晰的格局。6.1 主流工具对比维度Claude CodeCursorWindsurfGitHub Copilot形态终端CLIVS Code ForkVS Code ForkIDE插件模型Opus 4.7 (默认)多模型多模型GPT-4.5SWE-bench Pro80.8%~60%~55%~50%MCP支持✅ 原生✅✅✅Skills支持✅ 原生✅ 兼容✅ 兼容❌工具数量上限~50个可靠~40个100个N/A月活-500万-数千万6.2 Skills的跨平台优势Skills目前已在多个平台得到支持Claude Code原生支持Codex CLI兼容Gemini CLI兼容Cursor通过MCP兼容VS Code通过MCP兼容Codebuddy兼容这意味着你开发的Skill可以在多个AI编程工具上复用。同一个SKILL.md文件在Claude Code、Cursor、Codex中都能工作。6.3 模型能力对比2026年5月Claude Code v2.1.142将Fast模式默认模型从Opus 4.6升级到Opus 4.7。根据SWE-bench Pro测试Claude Code以80.8%登顶能力榜首。相比之下Cursor 3月活突破500万用户体验最优GitHub Copilot凭借微软生态稳扎企业市场Windsurf被OpenAI于2025年6月以30亿美元收购6.4 选择建议如果你需要深度推理和复杂代码理解→ Claude CodeOpus 4.7 200K上下文IDE内无缝体验→ Cursor预算有限/免费额度→ Windsurf企业标准化和微软生态→ GitHub Copilot对于Skill开发Claude Code是首选因为它是Skills的“发源地”支持最完整。但得益于跨平台兼容性你的Skill可以在任何支持MCP的工具上运行。七、生态工具2026年值得关注的MCP生态7.1 MCP CLI v0.3.02026年1月发布的MCP CLI v0.3.0带来了架构重构三子命令架构info查看服务器信息、grep搜索工具、call调用工具连接池守护进程减少重复连接开销工具过滤按需筛选工具减少token消耗# 查看MCP服务器信息mcp info github# 搜索工具mcpgrepgithubcreate.*issue# 调用工具mcp call github create_issue--params{title:...}7.2 Skills-Creator用AI生成Skill2026年1月Anthropic发布了Skills-Creator——一个构建Skill的Skill。你只需要用自然语言描述想要的SkillSkills-Creator会自动生成完整的SKILL.md含正确的frontmatter参数验证schema使用示例和返回类型定义可选的manifest.json对于团队来说这意味着交付10个自定义Skill的时间只相当于以前交付1个。# 安装Skills-Creatorgitclone https://github.com/anthropics/skills.gitcdskills/skills/skill-creatornpminstallnpmrun build配置~/.config/claude-code/config.json{mcpServers:{skills-creator:{command:node,args:[/path/to/skills-creator/dist/index.js],env:{SKILLS_OUTPUT_DIR:~/claude-skills}}}}然后在Claude Code中说创建一个Skill用于分析Python项目的依赖关系和版本冲突Skills-Creator会帮你生成完整的Skill。7.3 phoenix-skills远程Skills加载phoenix-skills2026年3月发布通过MCP将Claude Code连接到远程Skills创建.mcp.json配置Claude Code连接到Phoenix Skills MCP服务器创建CLAUDE.md指导Claude加载项目Skills无需安装通过npx直接运行7.4 claude-mem-lite持久化记忆2026年6月发布的claude-mem-lite是基于MCP的轻量级持久化记忆插件自动捕获编码会话中的决策、修复和上下文通过FTS5 TF-IDF混合检索召回跨会话记忆让Claude“记住”之前的讨论对于需求分析Skill来说这意味着Claude可以记住之前分析过的需求避免重复问同样的问题。八、MCP网关企业级部署的关键组件8.1 为什么需要MCP网关当一个团队有多个MCP服务器GitHub、数据库、Jira、Slack等每个开发者都需要单独配置——这是不可扩展的。MCP网关作为一个中间层Claude Code只连接到一个网关端点网关将请求路由到各个MCP服务器网关处理认证、授权、审计和成本控制8.2 MCP网关的四大价值1. Token成本降低一个MCP网关可以通过四个杠杆降低Claude Code的MCP token成本其中一个编译工具执行在508个工具、16个MCP服务器的测试中实现了92.8%的减少。2. 统一安全策略2026年4月的OX Security STDIO RCE公告推动行业向HTTP传输和网关集中执行转移。在网关层面可以统一执行OAuth认证实施工具调用审计阻断高风险操作执行最小权限原则3. 模型网关集成企业不会永远只用一个模型。复杂设计用Claude 4.7测试生成用GPT-5.5低成本批处理用更便宜的模型。Claude Code的model configuration支持ANTHROPIC_BASE_URL并可通过CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY1从兼容gateway的/v1/models发现模型。4. 工具数量管理如前所述MCP Server工具数量过多会导致静默失效。网关可以做工具聚合和过滤只暴露Claude当前需要的工具。8.3 MCP网关配置示例在~/.claude/mcp.json中配置网关{mcpServers:{gateway:{command:npx,args:[-y,your-org/mcp-gateway],env:{GATEWAY_URL:https://mcp-gateway.your-company.com,API_KEY:${GATEWAY_API_KEY}}}}}网关负责将请求路由到各个后端MCP服务器并附加正确的凭证。九、总结与展望9.1 核心要点回顾Skills是Claude Code的方法论层不是让模型更聪明而是让模型更“守规矩”。通过渐进式披露设计100 Skills也不会撑爆上下文。MCP是连接层让Claude Code能访问GitHub、数据库、API等外部系统。MCP Skills 能力 流程。需求分析Skill的核心流程需求澄清→边界识别→方案评估→风险暴露→输出报告。让Claude在写代码之前先想清楚。安全不可忽视2026年已出现多起MCP相关的安全事件——OAuth Token劫持、恶意MCP配置导致RCE、GitHub Action凭证泄露。企业必须建立MCP治理体系。Skills跨平台同一个SKILL.md可以在Claude Code、Cursor、Codex、Gemini CLI等多个工具上运行。生态工具加速开发Skills-Creator可以用自然语言生成SkillMCP CLI v0.3.0提供统一的工具管理MCP网关解决企业级部署的认证、授权和成本问题。9.2 实践建议个人开发者从1-2个高价值Skill开始比如需求分析和代码审查用Skills-Creator快速生成Skill骨架再手工优化加入2-3个MCP服务器GitHub、Filesystem、Context7关注Claude Code的版本更新——v2.1.128修复了多个关键问题企业团队建立MCP三级分类体系只读/受控写/高风险部署MCP网关统一认证、审计和成本控制配置worktree隔离避免Agent直接修改主工作区记录完整的审计日志模型版本、token消耗、工具调用、shell命令不要依赖单一模型——通过模型网关支持多模型路由9.3 趋势判断2026年下半年AI编程工具竞争将进入“流程竞争”阶段——不是比谁能写更多代码而是比谁能按正确的方式写代码。Skills作为“流程标准化”的核心载体将成为区分AI编程工具的关键维度。而MCP作为“能力连接”的开放标准将决定生态的广度和深度。下一个值得关注的领域Skill的市场化和商业化。正如Anthropic的Skills-Creator所示Skill的创建正在从“手写YAML”变成“自然语言描述”。当创建Skill的门槛降到足够低Skill的分发、发现和交易就会成为新的生态机会。本文所有技术信息均基于2026年1月至6月期间公开发布的技术文档、安全公告和社区讨论。主要参考来源包括Anthropic官方文档和GitHub仓库、Claude Code Changelog、Mitiga Labs安全报告、OX Security公告、SWE-bench Pro测试结果等。建议读者在实际开发中查阅最新的官方文档以获取更新信息。