統一的自動化設定與維護 CLI 工具,支援 macOS, Linux 與 Windows。
完整環境設定指南:如果你是第一次設定 AI 開發環境(包含 Claude Code、MCP Server、Plugin 等),請參閱 AI 開發環境設定指南。
以下僅說明
ai-devCLI 工具本身的安裝方式。
請先安裝 uv (Python 專案管理工具):
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"從 GitHub 安裝(推薦):
# 使用 uv
uv tool install git+https://github.com/ValorVie/custom-skills.git
# 使用 pipx
pipx install git+https://github.com/ValorVie/custom-skills.git
# 私有倉庫需要 token
uv tool install git+https://<GITHUB_TOKEN>@github.com/ValorVie/custom-skills.git更新 CLI 工具:
uv tool upgrade ai-dev本地開發安裝:
git clone https://github.com/ValorVie/custom-skills.git
cd custom-skills
# 一般安裝(需要更新 pyproject.toml 的 version 欄位後重新安裝才能套用程式碼變更)
uv tool install . --force
# Editable 安裝(推薦開發使用,程式碼變更立即生效)
uv tool install -e . --force關於
-e(editable) 模式:
- 一般安裝:把源碼複製到安裝目錄,修改源碼後需要重新安裝才會生效
- Editable 安裝:建立指向專案目錄的連結,修改源碼後立即生效,不需重新安裝
開發期間建議使用
-e模式,或直接用uv run ai-dev <command>從專案目錄執行。
安裝後,可在任意目錄使用 ai-dev 指令。
# 顯示版本
ai-dev --version
ai-dev -v
# 顯示說明
ai-dev --help執行以下指令進行全新環境設定:
ai-dev install這會自動:
- 檢查 Node.js 與 Git。
- 檢查 Claude Code CLI 是否已安裝(若無則顯示安裝指引)。
- 安裝全域 NPM 工具 (
openspec,gemini-cli,skills等)。 - 檢查 Bun 是否已安裝,若已安裝則自動安裝 Codex CLI。
- Clone 必要的設定儲存庫到
~/.config/(Stage 1)。 - Clone 已設定的自訂 repo(若有)。
- 整合 Skills 到
~/.config/custom-skills/(Stage 2)。 - 複製 Skills 與設定到各個 AI 工具的目錄(Stage 3)。
- 顯示已安裝的 Skills 清單與重複名稱警告。
- 顯示
npx skills可用指令提示。
注意:Claude Code 需要使用 native 安裝方式,不再透過 NPM 安裝。
| 參數 | 說明 |
|---|---|
--skip-npm |
跳過 NPM 套件安裝 |
--skip-bun |
跳過 Bun 套件安裝(Codex) |
--skip-repos |
跳過 Git 儲存庫 Clone |
--skip-skills |
跳過複製 Skills |
--sync-project/--no-sync-project |
是否同步到專案目錄(預設:是) |
範例:
# 只 Clone 儲存庫(跳過 NPM 和 Skills 複製)
ai-dev install --skip-npm --skip-skills
# 安裝但不同步到當前專案目錄
ai-dev install --no-sync-project建議每天開始工作前執行,以保持環境最新:
ai-dev update這會自動:
- 更新 Claude Code(若已安裝)。
- 更新全域 NPM 工具。
- 更新已安裝的第三方 Skills(
npx skills update)。 - 更新 Codex CLI(若 Bun 已安裝)。
- 拉取所有設定儲存庫的最新變更 (
git fetch+git reset)。 - 更新已設定的自訂 repo。
注意:此指令不會自動分發 Skills 到各工具目錄。如需分發,請執行
ai-dev clone。
| 參數 | 說明 |
|---|---|
--skip-npm |
跳過 NPM 套件更新(含 Claude Code) |
--skip-bun |
跳過 Bun 套件更新(Codex) |
--skip-repos |
跳過 Git 儲存庫更新 |
範例:
# 只更新 Git 儲存庫(跳過 NPM)
ai-dev update --skip-npm
# 只更新 NPM 套件(跳過 Git)
ai-dev update --skip-repos
# 更新後分發 Skills
ai-dev update && ai-dev clone將統一管理目錄的 Skills 分發到各 AI 工具目錄:
ai-dev clone| 參數 | 說明 |
|---|---|
--sync-project/--no-sync-project |
是否同步到專案目錄(預設:是) |
--force, -f |
強制覆蓋所有衝突檔案(不提示) |
--skip-conflicts, -s |
跳過有衝突的檔案,僅分發無衝突的檔案 |
--backup, -b |
備份衝突檔案後再覆蓋 |
範例:
# 強制覆蓋所有檔案
ai-dev clone --force
# 跳過衝突檔案
ai-dev clone --skip-conflicts
# 備份後覆蓋
ai-dev clone --backup
# 不同步到當前專案
ai-dev clone --no-sync-project在專案目錄下初始化或更新配置:
# 初始化專案(整合 openspec init + uds init)
ai-dev project init
# 初始化指定目錄
ai-dev project init /path/to/dir
# 強制重新初始化
ai-dev project init --force
# 開發者模式:在 custom-skills 專案中反向同步到 project-template/
# (會將專案根目錄的模板檔案同步回 project-template/)
cd ~/custom-skills && ai-dev project init --force
# 更新專案配置(整合 openspec update + uds update)
ai-dev project update
# 只更新特定工具
ai-dev project update --only openspecinit:
| 參數 | 說明 |
|---|---|
target (位置參數) |
目標目錄(預設為當前目錄) |
--force, -f |
強制重新初始化(即使已存在);在 custom-skills 專案中會反向同步到 project-template/ |
update:
| 參數 | 說明 |
|---|---|
--only, -o |
只更新特定工具:openspec, uds |
新增或更新自訂 repo(用於納入公司/團隊的專屬 Skills、Commands、Agents 等資源):
# 新增自訂 repo
ai-dev add-custom-repo owner/repo
# 指定名稱與分支
ai-dev add-custom-repo owner/repo --name my-custom-name --branch develop
# 自動補齊缺少的目錄結構
ai-dev add-custom-repo owner/repo --fix
# 更新所有自訂 repo
ai-dev update-custom-repo自訂 repo 會記錄於 ~/.config/ai-dev/repos.yaml。
新增上游 repo 並開始追蹤(用於 upstream sources registry):
# 新增上游 repo
ai-dev add-repo owner/repo
# 指定名稱與分支
ai-dev add-repo owner/repo --name my-custom-name --branch develop
# 跳過 clone(僅加入 sources.yaml)
ai-dev add-repo owner/repo --skip-clone
# 加入後立即執行分析
ai-dev add-repo owner/repo --analyze| 參數 | 說明 |
|---|---|
remote_path (位置參數,必填) |
遠端 repo 路徑(例如: owner/repo 或完整 URL) |
--name, -n |
自訂名稱(預設使用 repo 名稱) |
--branch, -b |
追蹤的分支(預設:main) |
--skip-clone |
跳過 clone(僅加入 sources.yaml) |
--analyze, -a |
加入後立即執行分析 |
隨時檢查環境配置狀態:
ai-dev status這會顯示:
- 核心工具版本 (Node.js, Git)
- NPM 套件安裝狀態(含
skills套件) - 設定儲存庫狀態
列出各工具已安裝的 Skills、Commands、Agents(預設包含停用的資源):
# 列出 Claude Code 的 Skills
ai-dev list --target claude --type skills
# 列出 Antigravity 的 Workflows
ai-dev list --target antigravity --type workflows
# 列出 OpenCode 的 Agents
ai-dev list --target opencode --type agents
# 列出 Codex 的 Skills
ai-dev list --target codex --type skills
# 列出 Gemini CLI 的 Skills
ai-dev list --target gemini --type skills
# 隱藏已停用的資源
ai-dev list --hide-disabled| 參數 | 說明 |
|---|---|
--target, -t |
目標工具:claude, antigravity, opencode, codex, gemini |
--type, -T |
資源類型:skills, commands, agents, workflows |
--hide-disabled, -H |
隱藏已停用的資源(預設顯示全部) |
啟用或停用特定工具的特定資源。停用時會將檔案移動到 ~/.config/custom-skills/disabled/ 目錄,啟用時會移回原位置。
# 停用特定 skill
ai-dev toggle --target claude --type skills --name skill-creator --disable
# 重新啟用
ai-dev toggle --target claude --type skills --name skill-creator --enable
# 查看目前狀態
ai-dev toggle --list| 參數 | 說明 |
|---|---|
--target, -t |
目標工具:claude, antigravity, opencode, codex, gemini |
--type, -T |
資源類型:skills, commands, agents, workflows |
--name, -n |
資源名稱 |
--enable, -e |
啟用資源 |
--disable, -d |
停用資源 |
--list, -l |
列出目前的開關狀態 |
停用資源時,檔案會被移動到 ~/.config/custom-skills/disabled/<target>/<type>/ 目錄:
~/.config/custom-skills/disabled/
├── claude/
│ ├── skills/
│ │ └── some-disabled-skill/
│ └── commands/
│ └── some-disabled-command.md
├── antigravity/
│ └── ...
├── opencode/
│ └── ...
├── codex/
│ └── skills/
│ └── ...
└── gemini/
├── skills/
│ └── ...
└── commands/
└── ...
注意:停用/啟用後需要重啟對應的 AI 工具才會生效。
Toggle 狀態儲存於 ~/.config/custom-skills/toggle-config.yaml:
claude:
skills:
enabled: true
disabled:
- "some-skill-to-disable"
commands:
enabled: true
disabled: []
antigravity:
skills:
enabled: true
disabled: []
workflows:
enabled: true
disabled: []
opencode:
agents:
enabled: true
disabled: []
codex:
skills:
enabled: true
disabled: []
gemini:
skills:
enabled: true
disabled: []
commands:
enabled: true
disabled: []啟動視覺化管理介面:
ai-dev tui功能:
- 頂部按鈕列:Install / Update / Status / Add Skills / Quit
- Target 下拉選單:切換目標工具(Claude Code / Antigravity / OpenCode / Codex / Gemini CLI)
- Type 下拉選單:切換資源類型(Skills / Commands / Agents / Workflows)
- Sync to Project:勾選時會同步到 custom-skills 專案目錄(僅開發人員需要)
- 資源列表:Checkbox 勾選啟用/停用
- Add Skills 對話框:輸入套件名稱並執行
npx skills add - MCP Config 區塊:檢視並快速開啟各工具的 MCP 設定檔
MCP Config 區塊:
TUI 底部顯示目前選擇的工具的 MCP 設定檔資訊:
| 工具 | 設定檔路徑 |
|---|---|
| Claude Code | ~/.claude.json |
| Antigravity | ~/.gemini/antigravity/mcp_config.json |
| OpenCode | ~/.config/opencode/opencode.json |
| Codex | ~/.codex/config.json |
| Gemini CLI | ~/.gemini/settings.json |
點擊「Open in Editor」可在 VS Code 中開啟設定檔,點擊「Open Folder」可在檔案管理器中開啟。
ECC Hooks Plugin 區塊:
TUI 會顯示 ECC Hooks Plugin 的安裝方式參考。
詳細安裝說明請參考:@plugins/ecc-hooks/README.md
快速安裝:
claude --plugin-dir "/path/to/custom-skills/plugins/ecc-hooks"快捷鍵:
| 按鍵 | 功能 |
|---|---|
q |
退出 |
Space |
切換選中項目 |
a |
全選 |
n |
全取消 |
s |
儲存並同步 |
p |
開啟 Add Skills 對話框 |
e |
在編輯器中開啟 MCP 設定檔 |
f |
在檔案管理器中開啟 MCP 設定檔所在目錄 |
t |
切換 Standards Profile |
使用 npx skills 安裝第三方 Skills:
# 可用指令
npx skills add <package> # 安裝 skill 套件
npx skills a <package> # 同上(別名)
npx skills install <package> # 同上(別名)
npx skills i <package> # 同上(別名)
# 計畫中
npx skills find <query> # 搜尋 skills
npx skills update # 更新已安裝的 skills
# 範例
npx skills add vercel-labs/agent-skills執行測試並輸出原始結果(自動偵測專案測試框架):
# 執行所有測試
ai-dev test
# 執行指定目錄
ai-dev test tests/
# 詳細輸出
ai-dev test -v
# 失敗即停
ai-dev test -x
# 過濾測試名稱
ai-dev test -k "test_name"| 參數 | 說明 |
|---|---|
path (位置參數) |
測試路徑(檔案或目錄) |
--verbose, -v |
顯示詳細輸出 |
--fail-fast, -x |
失敗時立即停止 |
-k |
過濾測試名稱 |
注意:目前支援 Python (pytest)。
執行覆蓋率分析並輸出原始結果:
# 分析整個專案
ai-dev coverage
# 僅分析指定目錄
ai-dev coverage --source script/| 參數 | 說明 |
|---|---|
path (位置參數) |
測試路徑(檔案或目錄) |
--source, -s |
原始碼路徑 |
注意:目前僅支援 Python,需要 pytest-cov 已安裝。
管理 Claude Code ECC Hooks Plugin 的安裝與狀態:
# 安裝或更新 ECC Hooks Plugin
ai-dev hooks install
# 移除 ECC Hooks Plugin
ai-dev hooks uninstall
# 檢查安裝狀態
ai-dev hooks status| 指令 | 說明 |
|---|---|
ai-dev install |
首次安裝 AI 開發環境 |
ai-dev update |
每日更新:更新工具與儲存庫 |
ai-dev clone |
分發 Skills 內容到各 AI 工具目錄 |
ai-dev project init |
初始化專案(openspec + uds) |
ai-dev project update |
更新專案配置 |
ai-dev status |
檢查環境狀態與工具版本 |
ai-dev list |
列出已安裝的 Skills、Commands、Agents |
ai-dev toggle |
啟用/停用特定資源 |
ai-dev tui |
啟動互動式終端介面 |
ai-dev standards |
管理標準體系 profiles |
ai-dev derive-tests |
讀取 OpenSpec specs 供 AI 生成測試 |
ai-dev test |
執行測試並輸出原始結果 |
ai-dev coverage |
執行覆蓋率分析 |
ai-dev hooks |
管理 ECC Hooks Plugin(install/uninstall/status) |
ai-dev add-repo |
新增上游 repo 並追蹤 |
ai-dev add-custom-repo |
新增自訂 repo |
ai-dev update-custom-repo |
更新自訂 repo |
本專案使用 uv 管理依賴,設定檔位於 pyproject.toml。
# 新增依賴
uv add <package>
# 同步依賴
uv sync
# 本地安裝測試
uv tool install . --force
# 建置套件
uv build安全更新 uv.lock 中的套件:
# 查看可更新的套件(不實際更新)
uv lock --dry-run --upgrade
# 更新所有套件到最新相容版本(依照 pyproject.toml 的限制)
uv lock --upgrade
# 只更新特定套件
uv lock --upgrade-package textual
# 同步安裝(確保環境與 lock 檔一致)
uv sync
# 測試是否正常運作
uv run ai-dev tui還原方式:如果更新後有問題,可以用
git checkout uv.lock && uv sync還原。
如果遇到版本不一致或奇怪的快取問題:
# 清除 uv 快取
uv cache clean
# 重新同步(強制重新安裝)
uv sync --reinstall本專案整合多個上游資源:
| 來源 | 說明 | 目錄 |
|---|---|---|
| universal-dev-standards | 開發標準規範 | .standards/ |
| everything-claude-code | Hooks, Skills, Agents, Commands | sources/ecc/ |
| anthropics/skills | 官方 Skills | sources/anthropic-skills/ |
| obra/superpowers | Superpowers Skills | sources/superpowers/ |
| kepano/obsidian-skills | Obsidian Skills | sources/obsidian-skills/ |
ECC 提供進階的 Claude Code 工作流程工具:
- Hooks: Python 跨平台 hooks(memory-persistence, strategic-compact)
- Skills: continuous-learning, eval-harness, security-review, tdd-workflow
- Agents: build-error-resolver, e2e-runner, doc-updater, security-reviewer
- Commands: /checkpoint, /build-fix, /e2e, /learn, /coverage, /eval
詳見 sources/ecc/README.md。
支援多種標準體系切換,基於重疊檢測自動管理功能等效的資源:
# 查看目前狀態
ai-dev standards status
# 列出可用 profiles
ai-dev standards list
# 切換 profile(會自動停用重疊資源)
ai-dev standards switch ecc
# 預覽切換影響
ai-dev standards switch ecc --dry-run
# 顯示 profile 內容
ai-dev standards show ecc
# 顯示重疊定義
ai-dev standards overlaps
# 同步檔案狀態(停用/啟用資源)
ai-dev standards sync可用 profiles:
uds- Universal Dev Standards 完整版(預設)ecc- Everything Claude Code 工作流程minimal- 最小化配置
Profile 系統特性:
- 重疊檢測:定義於
profiles/overlaps.yaml,標記功能等效的資源(如 UDS 的tdd-workflow與 ECC 的tdd-workflow) - 自動停用:切換 profile 時,自動停用重疊組中非偏好來源的資源
- 手動保護:手動停用的項目不會被 profile 切換覆蓋
- 同步機制:
sync指令會實際移動檔案到.disabled/目錄或還原
所有第三方 repo 的同步狀態記錄在 upstream/ 目錄:
# 使用 Skills 進行上游審核
/custom-skills-upstream-sync # 生成結構化分析報告
/upstream-compare # AI 生成整合建議詳見 upstream/README.md。
除了已整合的上游資源,本專案也提供第三方資源目錄 (third-party/),收錄值得關注但尚未整合的外部專案資訊:
# 瀏覽第三方資源
cat third-party/README.md
# 查看特定專案資訊(如 wshobson/agents)
cat third-party/catalog/wshobson-agents.md第三方資源目錄特色:
- 📋 參考資訊庫: 提供專案概述、功能清單、適用場景
- 🔌 原生安裝方式: 依照各專案的建議方式安裝(如 Plugin 市場、NPM 套件等)
- ✅ 評估檢查清單: 幫助判斷專案是否適合您的需求
- 🔄 漸進式採用: 從探索 → 評估 → 整合的清晰路徑
安裝方式範例:
# wshobson/agents - 使用其 Plugin 市場機制
/plugin marketplace add wshobson/agents
/plugin install python-development
# 其他專案 - 依各專案文件的建議方式
npx skills add <package> # 若專案支援 skills 套件與 upstream/ 的差異:
third-party/- 待評估資源,依原生方式安裝,使用者自行管理upstream/- 已整合資源,透過ai-dev clone自動同步到本專案
詳見 third-party/README.md。
本專案包含 ECC Hooks Plugin,提供進階的 Claude Code 工作流程:
方式 1:本地開發測試
claude --plugin-dir "/path/to/custom-skills/plugins/ecc-hooks"方式 2:從 Git URL 安裝
# 添加 marketplace
claude plugin marketplace add https://github.com/ValorVie/custom-skills.git
# 安裝 plugin
claude plugin install ecc-hooks@custom-skills方式 3:在會話中使用 slash command
/plugin install ecc-hooks@custom-skills
詳見 plugins/ecc-hooks/README.md。
自動注入知識庫與經驗索引到每次對話的 context,搭配 auto-skill 的自進化知識系統。
# 從 Git URL 安裝
claude plugin install auto-skill-hooks@custom-skills
# 或在會話中
/plugin install auto-skill-hooks@custom-skillsOpenCode 平台的 ECC Hooks Plugin,提供:
- Code Quality Hooks:JS/TS、PHP、Python 的格式化與靜態分析
- Memory Persistence:Session 記憶持久化
- Strategic Compact:智慧壓縮建議
- OpenCode 獨有事件:file.edited、session.idle、file.watcher.updated、permission.asked、todo.updated
- Custom Tools:run-tests、check-coverage、security-audit
透過 ai-dev clone 自動分發至 ~/.config/opencode/plugins/。
ai-dev hooks 已支援 install/uninstall/status。未來計畫加入更細粒度的控制:
- 個別 Hook 開關:在 TUI 中啟用/停用個別 hook
- 事件類型篩選:按 SessionStart、PreToolUse 等事件分組管理
- 配置持久化:更新時保留使用者的開關設定
- CLI 支援:
ai-dev hooks enable/disable/list