用 Vercel Skills 把 AI 變成你的命令列工具箱

用 Vercel Skills 把 AI 變成你的命令列工具箱

📌 本文重點

  • Vercel Skills 把 AI Agent 打包成可安裝的 CLI 工具
  • 一行 npx skills 就能體驗預設技能並接到自動化流程
  • 每個 skill 可在不同專案與 CI/CD 中重複使用與串聯
  • 適合開發者、行銷、DevOps 做文字與流程自動化

用一句話說清楚:Vercel Skills 讓你用一行 npx skills,把一整包 AI Agent 當成可安裝的命令列工具,快速接到你的開發與自動化流程裡。

專案連結:vercel-labs/skills on GitHub


核心功能:把「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 當成:

  1. 命令列工具(CLI):適合快速手動使用、寫腳本
  2. 例如:
    bash
    # 執行某個 skill
    npx skills run summarize-doc ./docs/api.md

  3. 程式內呼叫(Node.js / TypeScript):適合接到 CI/CD、背景工作、Bot

  4. 基本結構類似:
    “`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 ActionsGitLab 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

依照互動式提示:

  1. 選擇或設定你的模型提供者(可能會要求設定 API key)
  2. 選擇一個想先試的 skill(例如 summarize / pr-description)
  3. 依照提示輸入文字、選檔或指定路徑

這一步的目標:先確認環境 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 的基本模式:

  1. defineSkill 宣告輸入/輸出與執行邏輯
  2. run 裡呼叫你喜歡的模型
  3. 回傳一個乾淨的結果物件,方便 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 提供 /summaries endpoint
  • 在排程腳本裡定時呼叫
  • 在 Slack Bot 裡接指令呼叫

把 Skills 放進你的「AI 自動化工具箱」的建議做法

建議一日內可以完成的小目標:

  1. 先用 npx skills 跑三個預設技能:文件摘要、PR 描述、文案改寫
  2. 挑一個你每天都會做、卻很耗時間的文字相關工作,寫成一個最小版 skill
  3. 在你現在的 CI 或本地腳本裡,接入這個 skill(先只給自己用)
  4. 一週後觀察:
  5. 節省了哪些手動步驟?
  6. 哪些輸出需要調 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 的非關鍵實驗步驟

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *