📌 本文重點
- Vercel Skills 把 AI Agent 打包成可安裝的 CLI 工具
- 一行
npx skills就能體驗預設技能並接到自動化流程- 每個 skill 可在不同專案與 CI/CD 中重複使用與串聯
- 適合開發者、行銷、DevOps 做文字與流程自動化
用一句話說清楚:Vercel Skills 讓你用一行 npx skills,把一整包 AI Agent 當成可安裝的命令列工具,快速接到你的開發與自動化流程裡。
核心功能:把「AI 能力」做成可重用的 Skill 模組
1. 一行指令啟動預設技能:npx skills
想先感受效果,不想碰程式碼,可以直接這樣做:
npx skills@latest
執行後會:
- 問你要使用哪些預設技能(例如:文件總結、PR 說明、自動整理 issue 等)
- 在終端機互動式詢問你輸入內容或指定檔案
- 把 AI 結果輸出在終端機,必要時也會幫你生成檔案
你可以把它當成「AI 強化版 CLI 工具集」,用一次就知道哪些任務適合被 AI 自動化。
💡 關鍵: 一行
npx skills@latest就能體驗整套預設 AI 技能,是評估哪些工作可以自動化的最快方式。
2. 每個 skill 就是一個可複用的 Agent 模組
在 Skills 的設計裡:
- 一個 skill = 一件具體可自動化的工作
- 例如:
summarize-doc(總結文件)、pr-description(產生 PR 描述)、rewrite-copy(改寫文案) - 實作上:一個 skill 就是一個 TypeScript/Node.js 模組,負責:
- 接收輸入(檔案路徑、文字、Git diff 等)
- 呼叫 LLM(預設走 Vercel AI SDK,可接
OpenAI/Vercel等) - 回傳結構化結果(可以寫回檔案、回傳 JSON、或印在 CLI)
這種設計的好處是:
- 你可以在不同專案重複使用同一個 skill
- 一個專案裡可以組合多個 skill 變成「串聯流程」(例如:先用一個 skill 擷取重點,再用另一個 skill 生成測試案例)
💡 關鍵: 把每個任務抽象成 skill 模組後,你可以在多個專案與流程中重複組裝同一套 AI 邏輯,維護成本更低。
3. 兩種使用方式:CLI 與程式內呼叫
你可以把 Skills 當成:
- 命令列工具(CLI):適合快速手動使用、寫腳本
-
例如:
bash
# 執行某個 skill
npx skills run summarize-doc ./docs/api.md -
程式內呼叫(Node.js / TypeScript):適合接到 CI/CD、背景工作、Bot
-
基本結構類似:
“`ts
import { runSkill } from “skills”;const result = await runSkill(“summarize-doc”, {
path: “./docs/api.md”,
});console.log(result.summary);
“`
這讓 Skills 不只是一個「玩具 CLI」,而是可以被真正嵌入系統裡的 AI 自動化模組。
💡 關鍵: 同一個 skill 既能在 CLI 使用,也能在程式碼中透過
runSkill呼叫,降低從實驗到正式上線的落差。
適合誰用:幾個具體場景
1. 開發者:減少重複性的開發瑣事
可以嘗試這幾類 skill:
- 自動產出 PR 描述
- CI 裡加入:檢查 PR 的 diff,用 skill 生成清楚的變更說明
- 好處:大家不再花時間想描述格式,Reviewer 一眼看完重點
- 整理 issue / ticket
- 拉取標題 + 描述,讓 skill 自動標記類型、估計複雜度、抽出待辦項目
- 好處:產品、工程、PM 都看到一致結構的內容
- 生成測試案例
- 針對關鍵函式或 API 定義,讓 skill 幫你列出可能的測試情境
- 再由你挑選重要的手動補完
可以做的行動:
- 先用
npx skills跑一輪預設技能 - 想想你專案裡最常被抱怨「麻煩但又必須做」的步驟,選 1 個先做成 skill
2. 內容與行銷:批次改寫與整理文字
如果你常做這些事,Skills 很適合:
- 批次改寫文案
- 輸入一批產品描述,統一改寫成:短版、長版、社群貼文版
- 可以客製 skill:輸入
CSV/JSON,輸出同格式檔案 - 整理長文件摘要
- 對內部文件(產品規格、研究報告)做摘要 + 重點 bullet points
- 適合接到定時腳本:每天把新文件丟給 skill,產出摘要寄到 Slack
可以做的行動:
- 先準備一個資料夾,放你常用的範本文案或長文
- 用
npx skills裡的 summary / rewrite 類 skill 試一次,感受輸出品質
3. DevOps / 自動化工程師:接到 CI/CD、排程腳本
你可以把 Skills 當成「AI 版 shell script 函式庫」:
- 在 GitHub Actions 或 GitLab CI 裡:
- Pull Request 建立時自動跑
npx skills run pr-description - Release 前跑一次
npx skills run summarize-changelog整理修改內容 - 在 cron / 定時腳本 裡:
- 每天抓 issue / log / 監控報表丟給某個 skill,整理成一份人類可讀的摘要
可以做的行動:
- 在現有 CI pipeline 裡挑一個步驟,加一個額外 job 試跑 Skills
- 先只在非必要流程執行,觀察穩定度與輸出品質
怎麼開始:從預設技能到自訂 skill
1. 安裝與首次執行
前置需求:
- Node.js(建議 18+)
- 一個可用的 LLM API(例如 OpenAI 或 Vercel AI)
第一步:直接執行 CLI(免全域安裝):
npx skills@latest
依照互動式提示:
- 選擇或設定你的模型提供者(可能會要求設定 API key)
- 選擇一個想先試的 skill(例如 summarize / pr-description)
- 依照提示輸入文字、選檔或指定路徑
這一步的目標:先確認環境 OK + 大概知道 skill 的輸出長什麼樣子。
2. 看一個最簡單自訂 skill 的程式結構
接下來你可以把專案 clone 下來:
git clone https://github.com/vercel-labs/skills.git
cd skills
pnpm install # 或 npm / yarn
假設你要做一個最簡單的「文案改寫」 skill,概念結構會像這樣(簡化示意):
// ./skills/rewrite-copy/index.ts
import { defineSkill } from "skills";
import { generateText } from "ai-sdk"; // 具體以官方範例為準
export default defineSkill({
name: "rewrite-copy",
description: "改寫一段文案,維持原意但更口語/正式。",
inputs: {
text: {
type: "string",
description: "要改寫的原始文案",
required: true,
},
tone: {
type: "string",
description: "語氣:casual 或 formal",
default: "casual",
},
},
async run({ inputs, model }) {
const prompt = `請用${inputs.tone} 語氣改寫以下文案,但保留原本資訊:\n\n${inputs.text}`;
const result = await generateText({
model,
prompt,
});
return {
rewritten: result.text,
};
},
});
接著,你可以在本地 CLI 裡直接呼叫:
npx skills run rewrite-copy --text "原始文案內容" --tone casual
這就是 Skills 的基本模式:
- 用
defineSkill宣告輸入/輸出與執行邏輯 - 在
run裡呼叫你喜歡的模型 - 回傳一個乾淨的結果物件,方便 CLI 或其他程式接
3. 在你的專案裡以 API / CLI 串接
有兩種常見方式:
方式 A:在 CI / script 裡用 CLI
以 GitHub Actions 為例,在 .github/workflows/pr-description.yml 加上:
jobs:
generate-pr-description:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx skills@latest run pr-description --diff "$(git diff origin/main)"
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
這樣每次開 PR 就會自動產生一段描述,印在 log 或寫到你指定的地方。
方式 B:在 Node.js 應用程式裡呼叫
在你自己的專案中安裝:
npm install skills
然後在程式裡:
import { runSkill } from "skills";
async function summarizeDoc(path: string) {
const result = await runSkill("summarize-doc", { path });
return result.summary;
}
接著你可以:
- 在後端 API 提供
/summariesendpoint - 在排程腳本裡定時呼叫
- 在 Slack Bot 裡接指令呼叫
把 Skills 放進你的「AI 自動化工具箱」的建議做法
建議一日內可以完成的小目標:
- 先用
npx skills跑三個預設技能:文件摘要、PR 描述、文案改寫 - 挑一個你每天都會做、卻很耗時間的文字相關工作,寫成一個最小版 skill
- 在你現在的 CI 或本地腳本裡,接入這個 skill(先只給自己用)
- 一週後觀察:
- 節省了哪些手動步驟?
- 哪些輸出需要調 prompt 或加後處理?
只要跑完這一輪,你就等於有了一個可持續擴充的「AI 自動化工具箱」,之後每多一個 skill,就是少一個你自己要反覆做的瑣事。
專案連結再附一次:https://github.com/vercel-labs/skills
想像一下:未來你新增工具,不是寫一串 shell script,而是新增一個 skill,讓 AI 幫你處理掉更多「人做很累、AI 卻很擅長」的工作。
🚀 你現在可以做的事
- 在本機直接執行
npx skills@latest,跑一輪預設技能體驗輸出git clone官方專案並閱讀skills目錄下的範例,試著複製一個改成自己的 skill- 在一個現有 CI pipeline(如 GitHub Actions)中,加上一個使用
npx skills run pr-description的非關鍵實驗步驟

