<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Skill on Wilson Wu</title><link>https://wilsonwu.me/zh/tags/skill/</link><description>Recent content in Skill on Wilson Wu</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 22 Apr 2026 00:00:00 -0400</lastBuildDate><atom:link href="https://wilsonwu.me/zh/tags/skill/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 编程进入 Skill 时代：从提示词到“能力封装”的跃迁</title><link>https://wilsonwu.me/zh/blog/2026/ai-skills/</link><pubDate>Wed, 22 Apr 2026 00:00:00 -0400</pubDate><guid>https://wilsonwu.me/zh/blog/2026/ai-skills/</guid><description>&lt;p&gt;&lt;img alt="AI 编程 Skill 时代" loading="lazy" src="https://wilsonwu.me/zh/blog/2026/ai-skills/1-ai-skills.png"&gt;&lt;/p&gt;
&lt;p&gt;在过去一年里，AI 编程的主流交互方式经历了一个明显演进：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Prompt → Prompt Engineering → Context Engineering → &lt;strong&gt;Skill（能力封装）&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果说 Prompt 是一次性调用模型能力，那么 &lt;strong&gt;Skill 本质上是在构建“可复用的智能能力模块”&lt;/strong&gt;，它让 AI 从“会回答问题”，进化为“能执行任务”。&lt;/p&gt;</description><content:encoded><![CDATA[<p><img alt="AI 编程 Skill 时代" loading="lazy" src="/zh/blog/2026/ai-skills/1-ai-skills.png"></p>
<p>在过去一年里，AI 编程的主流交互方式经历了一个明显演进：</p>

<blockquote>
  <p>Prompt → Prompt Engineering → Context Engineering → <strong>Skill（能力封装）</strong></p>

</blockquote>
<p>如果说 Prompt 是一次性调用模型能力，那么 <strong>Skill 本质上是在构建“可复用的智能能力模块”</strong>，它让 AI 从“会回答问题”，进化为“能执行任务”。</p>
<p>这篇文章将系统讲清：</p>
<ul>
<li>什么是 AI 编程中的 Skill</li>
<li>Skill 与 Prompt 的本质区别</li>
<li>如何在 VS Code + GitHub Copilot Chat 中使用 Skill 思维</li>
<li>实战案例（工程级）</li>
</ul>
<h2 id="什么是-skill">什么是 Skill？</h2>
<p>在 AI 编程语境下，<strong>Skill = 结构化提示 + 上下文 + 执行约束 + 输出格式</strong></p>
<p>可以用一个更工程化的定义：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Skill = f(Instruction, Context, Constraints, Output Schema)
</span></span></code></pre></div><p>它不是一句 prompt，而是一个“可复用的能力接口”。</p>
<h3 id="对比理解">对比理解</h3>
<table>
	<thead>
			<tr>
					<th>方式</th>
					<th>特点</th>
					<th>问题</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Prompt</td>
					<td>临时输入</td>
					<td>不可复用、不稳定</td>
			</tr>
			<tr>
					<td>Prompt Engineering</td>
					<td>优化表达</td>
					<td>仍然是一次性</td>
			</tr>
			<tr>
					<td>Skill</td>
					<td>能力封装</td>
					<td>可复用、可组合、可治理</td>
			</tr>
	</tbody>
</table>
<h2 id="为什么-skill-很重要">为什么 Skill 很重要？</h2>
<p>在实际开发中，AI 使用很快会遇到几个瓶颈：</p>
<h3 id="1-prompt-不稳定">1. Prompt 不稳定</h3>
<p>同一个问题，换个说法结果不同</p>
<h3 id="2-团队无法复用经验">2. 团队无法复用经验</h3>
<p>每个人都有自己的“私有 prompt”</p>
<h3 id="3-ai-输出不可控">3. AI 输出不可控</h3>
<p>格式、风格、边界难以统一</p>
<h2 id="skill-的价值">Skill 的价值</h2>
<ul>
<li><strong>标准化能力</strong></li>
<li><strong>沉淀团队最佳实践</strong></li>
<li><strong>降低认知负担</strong></li>
<li><strong>提升输出一致性</strong></li>
</ul>
<p>本质上：Skill 是 AI 时代的“函数”或“API”</p>
<h2 id="vs-code-中的-skill-实现方式">VS Code 中的 Skill 实现方式</h2>
<p>虽然 VS Code 本身没有官方“Skill”概念，但可以通过以下机制实现：</p>
<h3 id="1-githubcopilot-instructionsmd">1. <code>.github/copilot-instructions.md</code></h3>
<p>这是最接近“全局 Skill”的机制。</p>
<p>作用：</p>
<ul>
<li>为 Copilot 提供<strong>长期上下文</strong></li>
<li>约束 AI 的行为方式</li>
</ul>
<p>示例：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span># Backend Coding Guidelines
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Use clean architecture
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Follow RESTful API design
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Add unit tests for all services
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Use dependency injection
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span># Code Style
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Prefer TypeScript over JavaScript
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Use async/await instead of callbacks
</span></span></code></pre></div><p>这相当于一个“全局 Skill 注入器”</p>
<h3 id="2-项目级-skillreadme--projectmd">2. 项目级 Skill（README / project.md）</h3>
<p>你可以在项目中定义：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span># AI Skill: API Generator
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>When generating APIs:
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Use OpenAPI 3.0 spec
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Include request/response schema
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Add validation rules
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">-</span> Provide curl examples
</span></span></code></pre></div><h3 id="3-会话级-skillcopilot-chat">3. 会话级 Skill（Copilot Chat）</h3>
<p>在 Chat 中你可以定义一次性 Skill：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>You are a senior backend architect.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Task:
</span></span><span style="display:flex;"><span>- Refactor code to hexagonal architecture
</span></span><span style="display:flex;"><span>- Keep business logic pure
</span></span><span style="display:flex;"><span>- Extract adapters
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output:
</span></span><span style="display:flex;"><span>- Folder structure
</span></span><span style="display:flex;"><span>- Example code
</span></span></code></pre></div><h2 id="github-copilot-chat-中的-skill-用法">GitHub Copilot Chat 中的 Skill 用法</h2>
<p>Copilot Chat 是 Skill 最直接的使用场景。</p>
<p>下面给你几个<strong>工程级实战例子</strong>。</p>
<h3 id="示例-1代码重构-skill">示例 1：代码重构 Skill</h3>
<h4 id="输入skill">输入（Skill）</h4>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Act as a senior software architect.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Refactor this code:
</span></span><span style="display:flex;"><span>- Apply clean architecture
</span></span><span style="display:flex;"><span>- Separate domain, application, infrastructure
</span></span><span style="display:flex;"><span>- Add dependency inversion
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output:
</span></span><span style="display:flex;"><span>1. Folder structure
</span></span><span style="display:flex;"><span>2. Refactored code
</span></span><span style="display:flex;"><span>3. Explanation
</span></span></code></pre></div><h4 id="效果">效果</h4>
<p>AI 不再只是“改代码”，而是：</p>
<ul>
<li>输出结构设计</li>
<li>给出分层方案</li>
<li>解释设计决策</li>
</ul>
<p>从“补全工具”变成“架构助手”</p>
<h3 id="示例-2测试生成-skill">示例 2：测试生成 Skill</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>You are a QA engineer.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Generate unit tests:
</span></span><span style="display:flex;"><span>- Use Jest
</span></span><span style="display:flex;"><span>- Cover edge cases
</span></span><span style="display:flex;"><span>- Include mocks
</span></span><span style="display:flex;"><span>- Ensure &gt;80% coverage
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output:
</span></span><span style="display:flex;"><span>- Test file
</span></span><span style="display:flex;"><span>- Coverage explanation
</span></span></code></pre></div><p>优势：</p>
<ul>
<li>输出结构稳定</li>
<li>测试风格统一</li>
<li>可团队复用</li>
</ul>
<h3 id="示例-3api-文档生成-skill">示例 3：API 文档生成 Skill</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Act as an API documentation generator.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Given code:
</span></span><span style="display:flex;"><span>- Extract endpoints
</span></span><span style="display:flex;"><span>- Generate OpenAPI spec
</span></span><span style="display:flex;"><span>- Add request/response examples
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output in YAML
</span></span></code></pre></div><p>直接产出可用 API 文档</p>
<h3 id="示例-4代码评审-skill强烈推荐">示例 4：代码评审 Skill（强烈推荐）</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Act as a senior code reviewer.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Review this code:
</span></span><span style="display:flex;"><span>- Check performance issues
</span></span><span style="display:flex;"><span>- Identify security risks
</span></span><span style="display:flex;"><span>- Suggest improvements
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output:
</span></span><span style="display:flex;"><span>- Issues list
</span></span><span style="display:flex;"><span>- Severity level
</span></span><span style="display:flex;"><span>- Fix suggestions
</span></span></code></pre></div><p>这个 Skill 在团队中极其高价值</p>
<h2 id="进阶skill-组合skill-pipeline">进阶：Skill 组合（Skill Pipeline）</h2>
<p>真正强大的不是单个 Skill，而是<strong>Skill 组合</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>需求 → API Skill → 实现 Skill → 测试 Skill → Review Skill
</span></span></code></pre></div><p>形成一个 AI 开发流水线：</p>
<ol>
<li>生成 API</li>
<li>生成实现</li>
<li>生成测试</li>
<li>自动 review</li>
</ol>
<p>本质：AI 驱动的 Dev Pipeline</p>
<h2 id="最佳实践">最佳实践</h2>
<h3 id="1-skill-必须结构化">1. Skill 必须结构化</h3>
<p>不要写：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>帮我优化代码
</span></span></code></pre></div><p>要写：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Optimize code:
</span></span><span style="display:flex;"><span>- Reduce time complexity
</span></span><span style="display:flex;"><span>- Improve readability
</span></span><span style="display:flex;"><span>- Add comments
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Output:
</span></span><span style="display:flex;"><span>- Before/After
</span></span><span style="display:flex;"><span>- Explanation
</span></span></code></pre></div><h3 id="2-强制输出格式">2. 强制输出格式</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Output in JSON:
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  &#34;issues&#34;: [],
</span></span><span style="display:flex;"><span>  &#34;fixes&#34;: []
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>这对自动化极其重要</p>
<h3 id="3-限定角色role-prompting">3. 限定角色（Role Prompting）</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>Act as:
</span></span><span style="display:flex;"><span>- Staff Engineer
</span></span><span style="display:flex;"><span>- Security Expert
</span></span><span style="display:flex;"><span>- Performance Engineer
</span></span></code></pre></div><h3 id="4-skill-应该可复制">4. Skill 应该可复制</h3>
<p>建议统一放在：</p>
<ul>
<li><code>.github/copilot-instructions.md</code></li>
<li><code>docs/ai-skills.md</code></li>
<li>内部 wiki</li>
</ul>
<h2 id="skill-vs-agent很多人会混淆">Skill vs Agent（很多人会混淆）</h2>
<table>
	<thead>
			<tr>
					<th>概念</th>
					<th>本质</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Skill</td>
					<td>单一能力</td>
			</tr>
			<tr>
					<td>Agent</td>
					<td>多 Skill + 自动决策</td>
			</tr>
	</tbody>
</table>
<p>Skill 是积木
Agent 是机器人</p>
<h2 id="总结">总结</h2>
<p>AI 编程正在从：</p>

<blockquote>
  <p>“怎么问 AI” → “怎么设计 AI 能力”</p>

</blockquote>
<p>Skill 的出现意味着：</p>
<ul>
<li>Prompt 不再是核心</li>
<li><strong>能力设计才是核心</strong></li>
<li>AI 正在变成“开发基础设施”</li>
</ul>

<blockquote>
  <p>未来优秀的工程师，不只是写代码的人，而是<strong>设计 AI 能力的人</strong></p>

</blockquote>
]]></content:encoded></item></channel></rss>