Skip to content

OpenSkills CLI API 參考

學完你能做什麼

  • 了解所有 OpenSkills 指令的完整用法
  • 掌握每個指令的參數和選項
  • 知道如何組合使用指令完成任務

這是什麼

OpenSkills CLI API 參考提供了所有指令的完整文件,包括參數、選項和使用範例。這是當你需要深入了解某個指令時查閱的參考手冊。


概覽

OpenSkills CLI 提供以下指令:

bash
openskills install <source>   # 安裝技能
openskills list                # 列出已安裝技能
openskills read <name>         # 讀取技能內容
openskills sync                # 同步到 AGENTS.md
openskills update [name...]    # 更新技能
openskills manage              # 互動式管理技能
openskills remove <name>       # 刪除技能

install 指令

安裝技能從 GitHub、本機路徑或私有 git 儲存庫。

語法

bash
openskills install <source> [options]

參數

參數類型必填說明
<source>stringY技能來源(見下方來源格式)

選項

選項簡寫類型預設值說明
--global-gflagfalse全域安裝到 ~/.claude/skills/
--universal-uflagfalse安裝到 .agent/skills/(多代理環境)
--yes-yflagfalse跳過互動式選擇,安裝所有找到的技能

來源格式

格式範例說明
GitHub shorthandanthropics/skills從 GitHub 公開儲存庫安裝
Git URLhttps://github.com/owner/repo.git完整 Git URL
SSH Git URLgit@github.com:owner/repo.gitSSH 私有儲存庫
本機路徑./my-skill~/dev/skills從本機目錄安裝

範例

bash
# 從 GitHub 安裝(互動式選擇)
openskills install anthropics/skills

# 從 GitHub 安裝(非互動式)
openskills install anthropics/skills -y

# 全域安裝
openskills install anthropics/skills --global

# 多代理環境安裝
openskills install anthropics/skills --universal

# 從本機路徑安裝
openskills install ./my-custom-skill

# 從私有儲存庫安裝
openskills install git@github.com:your-org/private-skills.git

輸出

安裝成功後會顯示:

  • 安裝的技能列表
  • 安裝位置(project/global)
  • 提示執行 openskills sync

list 指令

列出所有已安裝的技能。

語法

bash
openskills list

參數

無。

選項

無。

範例

bash
openskills list

輸出

已安裝的技能:

┌────────────────────┬────────────────────────────────────┬──────────┐
│ 技能名稱            │ 描述                                 │ 位置     │
├────────────────────┼────────────────────────────────────┼──────────┤
│ pdf                │ PDF manipulation toolkit             │ project  │
│ git-workflow       │ Git workflow automation              │ global   │
│ skill-creator      │ Guide for creating effective skills  │ project  │
└────────────────────┴────────────────────────────────────┴──────────┘

統計:3 個技能(2 個專案級,1 個全域)

技能位置說明

  • project: 安裝在 .claude/skills/.agent/skills/
  • global: 安裝在 ~/.claude/skills/~/.agent/skills/

read 指令

讀取技能內容到標準輸出(供 AI 代理使用)。

語法

bash
openskills read <skill-names...>

參數

參數類型必填說明
<skill-names...>stringY技能名稱(支援逗號分隔的列表)

選項

無。

範例

bash
# 讀取單個技能
openskills read pdf

# 讀取多個技能(逗號分隔)
openskills read pdf,git-workflow

# 讀取多個技能(空格分隔)
openskills read pdf git-workflow

輸出

=== SKILL: pdf ===
Base Directory: /path/to/.claude/skills/pdf
---
# PDF Skill Instructions

When user asks you to work with PDFs, follow these steps:
1. Install dependencies: `pip install pypdf2`
2. Extract text using scripts/extract_text.py
3. Use references/api-docs.md for details

=== END SKILL ===

用途

此指令主要用於 AI 代理載入技能內容。使用者也可以使用它查看技能的詳細說明。


sync 指令

將已安裝技能同步到 AGENTS.md(或其他檔案)。

語法

bash
openskills sync [options]

參數

無。

選項

選項簡寫類型預設值說明
--output <path>-ostringAGENTS.md輸出檔案路徑
--yes-yflagfalse跳過互動式選擇,同步所有技能

範例

bash
# 同步到預設 AGENTS.md(互動式)
openskills sync

# 同步到自訂路徑
openskills sync -o .ruler/AGENTS.md

# 非互動式同步(CI/CD)
openskills sync -y

# 非互動式同步到自訂路徑
openskills sync -y -o .ruler/AGENTS.md

輸出

同步完成後會在指定檔案中生成以下內容:

xml
<skills_system priority="1">

## Available Skills

<!-- SKILLS_TABLE_START -->
<usage>
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.

How to use skills:
- Invoke: `npx openskills read <skill-name>` (run in your shell)
- The skill content will load with detailed instructions
- Base directory provided in output for resolving bundled resources

Usage notes:
- Only use skills listed in <available_skills> below
- Do not invoke a skill that is already loaded in your context
</usage>

<available_skills>

<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.</description>
<location>project</location>
</skill>

</available_skills>
<!-- SKILLS_TABLE_END -->

</skills_system>

update 指令

從來源重新整理已安裝技能。

語法

bash
openskills update [skill-names...]

參數

參數類型必填說明
[skill-names...]stringN技能名稱(逗號分隔),預設全部

選項

無。

範例

bash
# 更新所有已安裝技能
openskills update

# 更新指定技能
openskills update pdf,git-workflow

# 更新單個技能
openskills update pdf

輸出

Updating skills...

✓ Updated pdf (project)
✓ Updated git-workflow (project)
⚠ Skipped old-skill (no metadata)

Summary:
- Updated: 2
- Skipped: 1

更新規則

  • 僅更新有元資料記錄的技能
  • 本機路徑技能:直接從來源路徑複製
  • Git 儲存庫技能:重新複製並複製
  • 無元資料的技能:跳過並提示重新安裝

manage 指令

互動式管理(刪除)已安裝技能。

語法

bash
openskills manage

參數

無。

選項

無。

範例

bash
openskills manage

互動式介面

選擇要刪除的技能:

[ ] pdf - PDF manipulation toolkit
[ ] git-workflow - Git workflow automation
[*] skill-creator - Guide for creating effective skills

操作:[↑/↓] 選擇 [空白] 切換 [Enter] 確認 [Esc] 取消

輸出

已刪除 1 個技能:
- skill-creator (project)

remove 指令

刪除指定的已安裝技能(腳本化方式)。

語法

bash
openskills remove <skill-name>

別名

rm

參數

參數類型必填說明
<skill-name>stringY技能名稱

選項

無。

範例

bash
# 刪除技能
openskills remove pdf

# 使用別名
openskills rm pdf

輸出

已刪除技能:pdf (project)
位置:/path/to/.claude/skills/pdf
來源:anthropics/skills

全域選項

以下選項適用於所有指令:

選項簡寫類型預設值說明
--version-Vflag-顯示版本號
--help-hflag-顯示說明資訊

範例

bash
# 顯示版本
openskills --version

# 顯示全域說明
openskills --help

# 顯示特定指令說明
openskills install --help

技能查找優先順序

當存在多個安裝位置時,技能按以下優先順序查找(從高到低):

  1. ./.agent/skills/ - 專案級 universal
  2. ~/.agent/skills/ - 全域級 universal
  3. ./.claude/skills/ - 專案級
  4. ~/.claude/skills/ - 全域級

重要:只會返回找到的第一個匹配技能(優先順序最高的)。


退出碼

退出碼說明
0成功
1錯誤(參數錯誤、指令失敗等)

環境變數

目前版本不支援環境變數設定。


設定檔

OpenSkills 使用以下設定檔:

  • 技能元資料.claude/skills/<skill-name>/.openskills.json
    • 記錄安裝來源、時間戳記等
    • 用於 update 指令重新整理技能

元資料範例

json
{
  "name": "pdf",
  "source": "anthropics/skills",
  "sourceType": "github",
  "repoUrl": "https://github.com/anthropics/skills.git",
  "subpath": "pdf",
  "installedAt": "2024-01-15T10:30:00.000Z"
}

下一課預告

下一課我們學習 AGENTS.md 格式規範

你會學到:

  • AGENTS.md 的 XML 標籤結構和各個標籤的含義
  • 技能列表的欄位定義和使用限制
  • OpenSkills 如何生成和更新 AGENTS.md
  • 標記方式(XML 標記和 HTML 註解標記)

附錄:原始碼參考

點擊展開查看原始碼位置

更新時間:2026-01-24

指令檔案路徑行號
CLI 入口src/cli.ts13-80
install 指令src/commands/install.ts1-562
list 指令src/commands/list.ts1-50
read 指令src/commands/read.ts1-50
sync 指令src/commands/sync.ts1-101
update 指令src/commands/update.ts1-173
manage 指令src/commands/manage.ts1-50
remove 指令src/commands/remove.ts1-30
類型定義src/types.ts1-25

關鍵常數

  • 無全域常數

關鍵類型

  • Skill: 技能資訊介面(name, description, location, path)
  • SkillLocation: 技能位置介面(path, baseDir, source)
  • InstallOptions: 安裝選項介面(global, universal, yes)

關鍵函式

  • program.command(): 定義指令(commander.js)
  • program.option(): 定義選項(commander.js)
  • program.action(): 定義指令處理函式(commander.js)