如果你是一名开发者,最近可能已经感受到了 AI 编程助手带来的效率提升。从 Copilot 的代码补全,到 Cursor 的对话式编程,再到 Devin 的“全栈工程师”愿景,AI 正在重塑我们的开发工作流。

但你是否也遇到过这样的困境:当你向 AI 助手提出一个稍微复杂的需求时,比如“帮我写一个解析这个 CSV 文件并生成统计图表的脚本”,它要么生成一个过于通用、需要你大量修改的代码块,要么干脆无法理解你的业务上下文,给出的方案离实际可用差得很远。

问题的核心在于,当前的 AI 助手普遍缺乏对 你个人或团队专属开发环境、工具链和业务逻辑 的深度理解。它们擅长通用语法,却难以掌握你的“独门秘籍”——那些你每天都在用的内部 CLI 工具、自定义的构建脚本、或者处理特定数据格式的私有库。

今天要介绍的项目 mattpocock/skills ,正是为了解决这个痛点而生。它不是另一个 AI 模型,而是一个精巧的 框架 ,让你能够将你的本地开发环境、工具和知识,“教会”给 AI 助手(特别是 Claude Desktop)。简单来说,它让你能创建自定义的“技能”(Skills),让 AI 助手真正成为你团队中的一员,理解你的代码库、调用你的脚本、遵循你的规范。

这篇文章不会只告诉你“这个项目很酷”。我们将深入探讨:

  1. skills 究竟解决了什么传统 AI 编程工具解决不了的问题?
  2. 它的核心设计思想是什么?为什么说它代表了一种新的 AI 交互范式?
  3. 如何从零开始,为你自己的项目配置一个专属技能?
  4. 在实际使用中,有哪些“坑”和最佳实践?

无论你是独立开发者,还是技术团队的负责人,如果想让 AI 更深地融入你的开发流程,而不仅仅是作为一个高级的代码补全工具,那么 mattpocock/skills 值得你花时间深入了解。

1. 重新定义“助手”:从通用补全到专属技能

在深入技术细节之前,我们必须先厘清一个关键认知: mattpocock/skills 项目的目标,不是创造一个更聪明的 AI,而是 让现有的聪明 AI(如 Claude)变得更“懂你”

1.1 传统 AI 编程助手的局限性

以 Claude、ChatGPT 或 GitHub Copilot 为例,它们的能力边界非常清晰:

  • 强于通用知识 :对主流框架、标准库、常见算法了如指掌。
  • 弱于特定上下文 :对你的项目特有的目录结构、内部工具、部署流程、业务规则一无所知。
  • 无法执行操作 :它们可以生成执行某个操作的命令或代码,但无法替你执行。你需要手动复制、粘贴、运行。

这就导致了一个尴尬的局面:AI 生成的代码“看起来”正确,但一放到你的项目环境里就可能因为路径、依赖或配置问题而报错。你仍然需要扮演“系统集成者”的角色,花费大量时间将 AI 的输出适配到你的本地环境。

1.2 skills 带来的范式转变

mattpocock/skills 引入了一个核心概念: 技能(Skill) 。一个技能本质上是一个可执行的脚本或工具,它被封装并描述后,暴露给 AI 助手。

这个转变的意义在于:

  • 从生成建议到执行操作 :AI 不再只是给你一段 git commit -m “...” 的命令文本,而是可以直接调用封装好的 git_commit 技能,并传递参数,真正执行提交操作。
  • 从通用到专属 :你可以为你项目的专属构建命令 ./scripts/build --env=staging 创建一个技能。AI 助手学会后,就能在正确的目录下,以正确的参数执行它。
  • 从孤立到集成 :AI 助手通过技能,能够与你的整个开发生态系统(版本控制、包管理、测试框架、部署工具)进行交互,获得实时反馈。

简单来说, skills 把 AI 助手从一个“博学的顾问”,变成了一个“听得懂指令、并能动手操作的实习生” 。这个实习生需要你先“培训”(定义技能),之后它就能自主完成你教过它的任务。

1.3 谁最需要这个项目?

  • 团队技术负责人 :希望将团队的最佳实践(代码规范检查、特定部署流程)固化并赋能给所有成员,减少沟通成本和操作失误。
  • 全栈或 DevOps 工程师 :日常需要频繁在多个工具和环境中切换,渴望一个统一的、可自动化的交互界面。
  • 复杂项目维护者 :项目拥有复杂的脚本和工具链,新成员上手困难,可以通过技能库快速让 AI 协助新人。
  • 效率极客 :不满足于现有工具的边界,热衷于探索和定制下一代开发工作流。

如果你对上述任何一点有共鸣,那么继续往下看,我们将开始动手实践。

2. 核心概念与架构解析

要玩转 skills ,需要理解它的几个核心概念,它们共同构成了项目的骨架。

2.1 核心概念三要素

  1. 技能 (Skill)

    • 是什么 :一个可执行的操作单元。它可以是一个 Shell 脚本、一个 Python 脚本、一个二进制程序,或者任何可以通过命令行调用的东西。
    • 关键属性 :每个技能必须有清晰的 名称 描述 参数定义 。描述尤为重要,因为 AI 助手通过文本来理解何时以及如何使用这个技能。
    • 示例 run_tests (运行测试套件)、 deploy_to_staging (部署到预发环境)、 generate_api_docs (生成 API 文档)。
  2. 技能清单 (Skills Manifest)

    • 是什么 :一个配置文件(通常是 skills.json ),它列出了所有可用技能的定义。
    • 作用 :这是 AI 助手的“技能手册”。Claude Desktop 会读取这个文件,从而知道它能调用哪些技能,以及每个技能怎么用。
    • 结构 :一个 JSON 数组,每个元素描述一个技能,包括 name , description , command (执行命令的模板)和 arguments (参数规范)。
  3. Claude Desktop 集成

    • 是什么 skills 目前主要与 Anthropic 推出的 Claude Desktop 应用深度集成。
    • 原理 :Claude Desktop 提供了一个本地 API 服务器。 skills 框架通过向这个服务器注册技能清单,使 Claude 模型在与你对话时,能够“看到”并“调用”这些技能。
    • 流程 :你告诉 Claude “请运行测试”。Claude 识别出这与 run_tests 技能匹配,然后在后台执行对应的命令,并将执行结果(成功/失败、输出日志)返回给对话界面。

2.2 工作流程与架构

下图清晰地展示了从你定义技能到 Claude 调用技能的完整闭环:

flowchart TD
    A[开发者定义技能<br>e.g. 测试/部署脚本] --> B[编写技能描述与命令<br>注册至 skills.json]
    B --> C[Claude Desktop 启动<br>加载本地技能清单]
    C --> D[用户提出自然语言请求<br>e.g. “运行一下测试”]
    D --> E{Claude 理解意图<br>匹配技能}
    E -- 匹配成功 --> F[Claude 调用对应技能<br>在后台执行命令]
    F --> G[技能执行完毕<br>返回结果/错误]
    G --> H[Claude 将结果整合<br>以自然语言回复用户]
    E -- 无匹配技能 --> I[Claude  fallback 到<br>通用代码生成或回答]

这个架构的美妙之处在于 解耦 :技能的定义和执行完全在你的控制之下(本地脚本),AI 只负责理解和调度。这既保证了灵活性(你可以写任何脚本),又保障了安全性(技能的执行权限与你的本地用户权限一致)。

3. 环境准备:从零开始搭建技能平台

理论讲完,我们开始实战。首先确保你的环境符合要求。

3.1 系统与工具要求

  • 操作系统 :macOS 或 Linux 是首选,对 skills 支持最完善。Windows 用户可以通过 WSL2 获得近乎完美的体验。
  • Node.js :项目基于 Node.js 开发,需要 node (版本建议 16+) 和 npm / yarn / pnpm 包管理器。
  • Claude Desktop :这是核心运行时环境。你需要从 Anthropic 官网下载并安装 Claude Desktop 应用。确保它已安装并可以正常使用。
  • Git :用于克隆项目仓库。

3.2 初始化项目

我们将在本地创建一个新的技能项目。

# 1. 克隆官方示例仓库(这是一个很好的起点)
git clone https://github.com/mattpocock/skills.git
cd skills

# 2. 安装项目依赖
npm install
# 或使用 yarn/pnpm
# yarn install
# pnpm install

安装完成后,查看项目结构:

tree -L 2 -I ‘node_modules’

典型结构如下:

.
├── skills.json          # 技能清单配置文件
├── package.json
├── README.md
├── src/
│   └── skills/          # 技能脚本存放目录
│       ├── test.js
│       └── ...
└── ...

skills.json 是核心配置文件, src/skills/ 目录通常用来存放技能的具体实现脚本。

3.3 验证 Claude Desktop 连接

启动 Claude Desktop 应用。 skills 项目会通过本地网络与 Claude Desktop 的 API 通信。通常安装后默认配置即可工作。

你可以运行一个简单的命令来测试连接和列出已注册的技能:

# 在项目根目录下执行
npx skills list

如果配置正确,你会看到来自 Claude Desktop API 的响应,可能是一个空数组 [] (初始状态),或者包含一些预定义技能。

至此,你的基础环境已经就绪。接下来,我们将创造第一个属于自己的技能。

4. 技能创建全流程:打造你的第一个“AI 实习生”

让我们通过一个实际场景来学习技能的创建。假设我们有一个 Node.js 项目,经常需要运行 npm test ,但有时需要带不同的参数,比如 --watch 或针对某个特定文件。我们将创建一个智能的 run_tests 技能。

4.1 第一步:编写技能脚本

首先,在 src/skills/ 目录下创建一个 JavaScript 文件。为什么用 JS?因为 skills 框架本身是 Node.js 的,用 JS 编写技能可以更方便地处理参数和逻辑。

// 文件路径:src/skills/runTests.js
#!/usr/bin/env node

const { exec } = require(‘child_process‘);
const { promisify } = require(‘util‘);
const execAsync = promisify(exec);

/**
 * 运行项目测试
 * @param {Object} args - 技能参数
 * @param {string} [args.watch] - 是否启用监听模式 (true/false)
 * @param {string} [args.file] - 指定运行某个测试文件
 * @param {string} [args.pattern] - 匹配测试名称的模式
 */
async function runTests(args) {
  console.log(‘🚀 开始运行测试...‘);

  // 构建 npm test 命令
  let command = ‘npm test‘;

  // 处理参数
  const extraArgs = [];
  if (args.watch === ‘true‘) {
    extraArgs.push(‘-- --watch‘); // 注意:需要将 --watch 传递给底层的测试运行器
  }
  if (args.file) {
    extraArgs.push(`-- --testFile=${args.file}`);
  }
  if (args.pattern) {
    extraArgs.push(`-- --testNamePattern="${args.pattern}"`);
  }

  if (extraArgs.length > 0) {
    command += ‘ ‘ + extraArgs.join(‘ ‘);
  }

  console.log(`📝 执行命令: ${command}`);

  try {
    const { stdout, stderr } = await execAsync(command, { cwd: process.cwd() });
    
    if (stderr) {
      console.error(‘⚠️  测试执行有警告或错误输出:‘);
      console.error(stderr);
    }
    
    console.log(‘✅ 测试输出:‘);
    console.log(stdout);
    return { success: true, output: stdout, error: stderr };
  } catch (error) {
    console.error(‘❌ 测试运行失败:‘);
    console.error(error.message);
    console.error(‘错误详情:‘, error.stderr || error.stdout);
    return { success: false, error: error.message };
  }
}

// 如果这个脚本被直接调用(用于本地调试)
if (require.main === module) {
  const args = process.argv.slice(2).reduce((acc, arg) => {
    const [key, value] = arg.replace(‘--‘, ‘‘).split(‘=‘);
    acc[key] = value;
    return acc;
  }, {});
  runTests(args);
}

module.exports = runTests;

关键点解析

  1. 参数处理 :脚本通过函数参数接收一个 args 对象,里面包含了从 AI 助手那里传递过来的参数。
  2. 命令构建 :我们根据参数动态构建 npm test 命令。注意 -- --watch 的用法,第一个 -- 告诉 npm 将后续参数传递给 npm test 实际运行的脚本。
  3. 执行与捕获 :使用 Node.js 的 child_process 执行命令,并捕获标准输出和错误输出。
  4. 返回结果 :函数返回一个对象,明确指示成功与否以及输出内容。这对于 AI 助手理解执行结果至关重要。

4.2 第二步:在技能清单中注册技能

光有脚本还不够,我们需要在 skills.json 中声明这个技能,让 Claude 知道它的存在。

打开或创建项目根目录下的 skills.json 文件:

[
  {
    “name“: “run_tests“,
    “description“: “运行项目的单元测试。可以指定监听模式、特定测试文件或测试名模式。“,
    “command“: “node ./src/skills/runTests.js“,
    “arguments“: [
      {
        “name“: “watch“,
        “description“: “是否在监听模式下运行测试,文件变化时自动重新运行。值为 ‘true‘ 或 ‘false‘。“,
        “required“: false,
        “type“: “string“
      },
      {
        “name“: “file“,
        “description“: “指定要运行的测试文件路径,例如 ‘src/utils/calculator.test.js‘。“,
        “required“: false,
        “type“: “string“
      },
      {
        “name“: “pattern“,
        “description“: “匹配测试名称的模式,只运行名称中包含此模式的测试用例。“,
        “required“: false,
        “type“: “string“
      }
    ]
  }
]

配置详解

  • name : 技能的调用标识,最好用蛇形命名(snake_case)。
  • description : 这是最重要的部分 。必须清晰、无歧义地描述技能的功能、适用场景和参数用法。AI 助手完全依赖这个描述来理解技能。
  • command : 实际执行的命令。这里调用我们刚写的 Node.js 脚本。
  • arguments : 定义技能接受的参数列表。每个参数都需要 name , description , required type 。清晰的参数描述能极大提高 AI 调用的准确性。

4.3 第三步:将技能同步到 Claude Desktop

现在,我们需要让 Claude Desktop 加载这个新的技能清单。

# 在项目根目录运行
npx skills sync

这个命令会将当前目录下 skills.json 中定义的技能,注册到本地运行的 Claude Desktop 实例中。

如果成功,你应该会看到类似 Skills synced successfully. 的提示。

4.4 第四步:在 Claude Desktop 中测试技能

  1. 打开 Claude Desktop 应用。
  2. 在聊天框中,尝试用自然语言触发你的技能:
    • “请运行一下项目的测试。”
    • “运行测试,并开启监听模式。”
    • “帮我测试 src/components/Button.test.js 这个文件。”
  3. Claude 会识别你的意图,并在后台调用 run_tests 技能。你会看到它显示“正在执行技能...”,然后返回脚本的执行结果。

至此,你已经完成了从技能构思、脚本编写、注册到测试的完整闭环。你的 AI 助手现在拥有了一个专属的测试运行能力。

5. 进阶技能设计:处理复杂交互与安全边界

基础技能只能算入门。在实际项目中,我们需要处理更复杂的场景,比如交互式操作、敏感信息处理和多步骤工作流。

5.1 交互式技能:让 AI 与你确认

有些操作(如数据库操作、生产部署)风险较高,不应该让 AI 直接执行。我们可以设计需要用户确认的技能。

// 文件路径:src/skills/deployStaging.js
#!/usr/bin/env node
const readline = require(‘readline‘);
const { exec } = require(‘child_process‘);
const { promisify } = require(‘util‘);
const execAsync = promisify(exec);

async function deployStaging(args) {
  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
  });

  // 首先,让AI助手询问用户确认
  // 这个信息会通过技能结果返回给Claude,Claude会将其呈现给用户
  console.log(‘⚠️  这是一个部署到预发环境的操作。‘);
  console.log(‘⚠️  目标分支:‘, args.branch || ‘main‘);
  console.log(‘⚠️  请确认你是否要继续?(yes/no)‘);

  // 注意:在实际的skills框架中,复杂的交互可能需要通过Claude来回传递消息。
  // 更简单的做法是:技能先返回一个“需要确认”的结果,由Claude与用户对话,获得确认后再次调用技能。
  // 这里演示一个简化逻辑:假设我们通过环境变量或参数传递了确认信息。
  if (args.confirmed !== ‘yes‘) {
    const answer = await new Promise(resolve => {
      rl.question(‘请输入 yes 或 no: ‘, resolve);
    });
    rl.close();

    if (answer.toLowerCase() !== ‘yes‘) {
      return { success: false, output: ‘用户取消了部署操作。‘ };
    }
  }

  console.log(‘🚀 开始部署到预发环境...‘);
  try {
    // 模拟部署命令
    const command = `./deploy-script.sh --env=staging --branch=${args.branch || ‘main‘}`;
    const { stdout } = await execAsync(command);
    return { success: true, output: `部署成功!输出:${stdout}` };
  } catch (error) {
    return { success: false, error: `部署失败:${error.message}` };
  }
}

// ... 导出和本地调试部分与之前类似

skills.json 中,你可以为这个技能添加一个 confirmed 参数,或者设计成两个技能: request_deploy (请求部署)和 confirm_deploy (确认部署)。

5.2 安全最佳实践:最小权限与沙箱

让 AI 执行命令存在安全风险。请务必遵循以下原则:

  1. 绝不暴露敏感信息 :不要在技能描述、命令或代码中硬编码密码、API密钥、私钥。使用环境变量或安全的配置管理系统。
  2. 遵循最小权限原则 :技能脚本应以当前用户权限运行,不要使用 sudo 或高权限账户。对于高风险操作,应设计为“生成指令”而非“执行指令”。
  3. 输入验证与净化 :所有从 AI 传递来的参数都必须视为不可信输入,进行严格的验证和转义,防止命令注入。
    // 反例:直接拼接参数,危险!
    // const command = `ls ${args.path}`;
    
    // 正例:使用子进程的参数数组形式,或进行严格过滤
    const { spawn } = require(‘child_process‘);
    const child = spawn(‘ls‘, [args.path]); // args.path 会被正确处理为参数,而非命令的一部分
    
  4. 沙箱化执行 :对于特别不信任或复杂的技能,可以考虑在 Docker 容器或虚拟机内执行,隔离其对主机系统的影响。

5.3 组合技能:构建工作流

真正的威力在于组合多个简单技能,形成复杂的工作流。这可以通过创建一个“协调者”技能来实现。

// 在 skills.json 中定义一个发布工作流技能
{
  “name“: “release_pipeline“,
  “description“: “执行完整的发布流水线:运行测试、构建项目、生成版本号、部署到预发环境。“,
  “command“: “node ./src/skills/releasePipeline.js“,
  “arguments“: [
    {
      “name“: “version_type“,
      “description“: “版本号更新类型:‘patch‘, ‘minor‘, ‘major‘。“,
      “required“: true,
      “type“: “string“
    }
  ]
}

对应的 releasePipeline.js 可以按顺序调用其他技能(通过 Node.js 的模块导入或再次调用 CLI)或直接执行一系列命令,并处理中间步骤的失败情况。

6. 调试与排查:当技能不工作时

你的技能没有按预期工作?别担心,这是常态。以下是系统的排查思路。

6.1 常见问题排查表

问题现象 可能原因 排查方式 解决方案
运行 npx skills sync 失败 1. Claude Desktop 未运行
2. 网络端口被占用或配置错误
3. skills.json 格式错误
1. 确保 Claude Desktop 应用已启动。
2. 检查终端是否有连接错误信息。
3. 使用 jsonlint 验证 skills.json 格式。
1. 启动 Claude Desktop。
2. 重启 Claude Desktop 或检查 ~/.config/claude-desktop/config.json
3. 修正 JSON 语法错误。
Claude 无法识别技能 1. 技能描述不清晰
2. 技能未成功同步
3. 用户请求与技能描述不匹配
1. 在 Claude 中直接问:“你现在有哪些可用的技能?”
2. 运行 npx skills list 查看已注册技能。
3. 仔细检查技能 description ,用更自然、涵盖更多关键词的方式重写。
1. 根据 npx skills list 结果重新同步。
2. 优化技能描述,模拟用户可能会说的话。
技能被识别但执行失败 1. 技能脚本本身有 bug
2. 命令路径或环境变量问题
3. 参数解析错误
1. 本地直接调试脚本 node ./src/skills/yourSkill.js --arg1=value
2. 在脚本中增加详细的 console.log ,打印命令和参数。
3. 检查执行命令的当前工作目录 ( cwd )。
1. 修复脚本逻辑错误。
2. 使用绝对路径或确保 cwd 正确。
3. 完善脚本的参数处理和错误捕获。
技能执行无输出或输出混乱 1. 脚本输出格式不符合 Claude 解析预期
2. 异步操作未正确处理
1. 确保脚本最终将结果 console.log return 一个对象。
2. 检查异步函数是否使用了 async/await 或正确返回 Promise。
1. 技能脚本应返回一个包含 success , output , error 等字段的对象。
2. 确保所有异步操作完成后再结束进程。
权限错误 (Permission denied) 1. 脚本文件没有执行权限
2. 命令需要更高权限
1. ls -l src/skills/yourSkill.js 查看权限。
2. 检查命令是否包含 sudo (应避免)。
1. chmod +x src/skills/yourSkill.js 赋予执行权限。
2. 重新设计技能,避免需要特权操作。

6.2 本地调试技巧

技巧一:模拟 Claude 调用 创建一个简单的测试脚本,模拟 Claude 调用你的技能时传递的参数格式。

// testSkill.js
const runTests = require(‘./src/skills/runTests.js‘);

async function test() {
  // 模拟用户说:“运行测试,开启监听模式”
  const result = await runTests({ watch: ‘true‘ });
  console.log(‘测试结果:‘, result);
}

test();

技巧二:开启详细日志 在技能脚本开头或关键位置添加日志,观察执行流程。

console.log(‘[DEBUG] 技能开始执行,参数:‘, JSON.stringify(args));
console.log(‘[DEBUG] 当前工作目录:‘, process.cwd());

技巧三:检查 Claude Desktop 日志 Claude Desktop 应用本身可能会输出错误日志,查看这些日志有助于定位集成问题(具体日志位置请参考 Claude Desktop 文档)。

7. 工程化与最佳实践

skills 用于个人项目很有趣,但要将其融入团队和生产环境,就需要一些工程化考量。

7.1 技能代码管理

  • 版本控制 :将 skills.json src/skills/ 目录纳入 Git 仓库管理。这保证了团队所有成员使用的技能定义一致。
  • 模块化设计 :将复杂的技能逻辑拆分成多个模块或函数,放在 src/skills/lib/ 下,便于复用和测试。
  • 编写测试 :为你的技能脚本编写单元测试。毕竟,它们是重要的自动化工具。
    # 示例:使用 Jest 测试技能函数
    npm install --save-dev jest
    
    // runTests.test.js
    const runTests = require(‘./runTests‘);
    describe(‘runTests skill‘, () => {
      it(‘should construct correct command without args‘, async () => {
        // 模拟 execAsync 等
      });
    });
    

7.2 技能清单的组织

当技能数量增多时,一个庞大的 skills.json 文件会难以维护。可以考虑以下方式:

  • 分拆文件 :将技能定义按功能分拆到多个 *.skill.json 文件中,使用一个构建脚本将它们合并。
  • 动态生成 :对于某些可以从项目结构(如 package.json 中的 scripts)自动生成的技能,可以写一个 Node.js 脚本在 postinstall 时动态生成 skills.json

7.3 团队协作流程

  1. 技能设计评审 :新增或修改重要技能(尤其是涉及部署、数据库操作的)时,应像代码评审一样进行。
  2. 文档化 :在项目 Wiki 或 README 中维护一个“技能目录”,说明每个技能的用途、参数和示例用法。
  3. 权限管理 :区分“查询类”技能(如 get_logs )和“执行类”技能(如 deploy )。对于高危执行类技能,可以考虑引入额外的审批流程或二次确认机制(如前文所述)。

7.4 与现有工具链集成

skills 不应取代你现有的 CI/CD 或自动化脚本,而应成为它们的 智能前端

  • 封装现有脚本 :你已有的 deploy.sh build-and-upload.js 等,都可以包装成技能。
  • 触发 CI 任务 :可以创建技能,通过调用 CI 系统(如 Jenkins、GitLab CI、GitHub Actions)的 API 来触发流水线,并将状态返回给 Claude。
  • 查询系统状态 :创建技能来查询服务器状态、监控图表、最近部署记录等,让 AI 助手成为你的运维信息聚合器。

8. 总结与展望:技能生态的想象力

回过头看, mattpocock/skills 项目的价值远不止于“让 Claude 能运行命令”。它实际上定义了一种 将人类自然语言指令映射到本地自动化能力 的通用协议。

通过今天的实践,我们掌握了:

  • 核心理念 :将 AI 视为一个可编程的“操作接口”,通过定义技能来扩展其能力边界。
  • 核心技能 :创建、描述、注册和调试一个专属技能的全过程。
  • 安全与工程化 :在享受便利的同时,如何规避风险并将其纳入规范的开发流程。

这个模式的想象力是巨大的。未来,我们或许会看到:

  • 技能市场 :社区共享可复用的技能包(如“一键搭建 React 组件库”、“连接特定云服务”)。
  • 跨助手兼容 :类似的技能框架可能被 Copilot、Cursor 或其他 AI 编码工具采纳,形成标准。
  • 低代码集成 :通过自然语言描述,AI 自动生成或组合技能,进一步降低自动化门槛。

对于当下的你,最实际的下一步是: 审视你每天重复三次以上的那些命令行操作 。无论是繁琐的 git 操作流程、特定的项目启动顺序,还是复杂的数据处理命令,它们都是封装成技能的最佳候选。

从今天起,别再只把 AI 助手当作一个聊天机器人或代码补全工具。试着把它打造成你的“数字副驾”,一个真正理解你工作环境、并能动手帮你解决问题的伙伴。 mattpocock/skills 就是你开始这场改造的扳手。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐