SO NICE × AI 工作流導入
SO NICE 使用的是 Claude Team 方案,這份文件就以此為前提,說明做好一個 Skill 之後,要怎麼讓整個團隊在自己的 Claude Code 裡都用得到——含完整步驟,照著做就能完成。
整個流程只牽涉兩個概念,先用一句話分清楚,後面就不會混淆:
SKILL.md,教 Claude 怎麼做某一件事(例如:產出商品分析報表)。用 App Store 來比喻最直覺:
所以要把 Skill 給整個團隊用,標準做法是:把 Skill 包成 Plugin,放到一個團隊專屬的 Marketplace(其實就是一個 GitHub repo),再由管理者把這個來源集中下發給全團隊。
因為是 Team 方案,管理者可以從後台「集中下發」設定,整體流程比個人方案更省事:
/plugin install sonice-plugin@sonice-marketplace。關鍵釐清:不論哪個方案(Pro / Team / Enterprise),Claude Code 的 Skill 內容都需要一個 git repo 當家(GitHub 或公司內部 NAS 皆可)——Anthropic 不會替你「託管」這份內容。Team 方案的價值不在託管,而在於:管理者能把這個 repo 集中下發給所有人、並限定安裝來源,這是個人 Pro 方案做不到的。
既然一定要一個 git repo 當家,唯一需要拿主意的就是:這個 repo 放在哪裡?三個選項,依「內容有沒有機密」「要不要放外部雲端」來挑:
最省事
適合:報表格式、流程提示詞這類不涉及機密的內容。
安全,但需外部帳號
適合:內容需保密、但可接受放在外部雲端。
不外流 · 免 GitHub 帳號
適合:公司政策不允許文檔外流、不想每人辦帳號。
限制:安裝/更新要在公司內網(遠端需 VPN)。
補充:GitHub Organization 私有 repo 免費;NAS 方案 Claude Code 完全支援——它只認「一個 git 網址」,不管背後是 GitHub 還是內部 NAS。
例如取名 claude-skills,放在上一節選的地方(GitHub 或公司內部 NAS)。內部結構都一樣,長這樣:
sonice-claude-skills/
├── .claude-plugin/
│ └── marketplace.json ← 列出有哪些 plugin 可裝
└── plugins/
└── sonice-plugin/
├── .claude-plugin/
│ └── plugin.json ← 這個包的名稱、版本、說明
└── skills/
└── 商品分析/
└── SKILL.md ← 你的 Skill 本體(注意大寫 SKILL.md)
marketplace.json(目錄)這裡的 "name" 就是「來源名稱」(安裝指令 @ 右邊那個)。
{
"name": "sonice-marketplace",
"owner": { "name": "SO NICE" },
"plugins": [
{
"name": "sonice-plugin",
"source": "./plugins/sonice-plugin",
"description": "SO NICE 內部 AI 工作流工具包"
}
]
}
plugin.json(這包的身分證)這裡的 "name" 就是「外掛包名稱」(安裝指令 @ 左邊那個),要和上面 marketplace.json 裡的 plugins[].name 一致。
{
"name": "sonice-plugin",
"description": "SO NICE 商品分析、報表等內部 Skill",
"version": "1.0.0",
"author": { "name": "SO NICE" }
}
把已經做好的 Skill 資料夾(含 SKILL.md)放進 plugins/sonice-plugin/skills/ 底下。要加幾個 Skill 就放幾個。
SKILL.md。(claude.ai 網頁版用的是小寫 skill.md,兩者不要搞混。)
終端機 · 可直接請 Claude Code 代跑
git add .
git commit -m "init: SO NICE 團隊 skill marketplace"
git push
其實步驟 1–5(建 repo、寫設定檔、放 Skill、commit、push)都可以直接跟 Claude Code 說「幫我建好並推上去」,它會代為執行。前提是這台電腦的 git 已能連到目標 repo:走 GitHub 就 gh auth login 一次;走 NAS 就用公司 / NAS 帳號登入一次 git(不需 gh)。
這是 Team 方案的關鍵步驟,也是 Claude Code 幫不了你的一步(它進不了後台)。到 claude.ai 後台 → Claude Code → Managed settings,填入:
{
"extraKnownMarketplaces": {
"sonice-marketplace": {
"source": { "source": "github", "repo": "sonice/claude-skills" },
"autoUpdate": true
}
},
"strictKnownMarketplaces": true
}
上面是 GitHub 的寫法。若走公司 NAS,把 source 換成 git 網址(實際網址問 IT):
"source": { "source": "git", "url": "https://nas.sonice.internal/git/claude-skills.git" }
送出後,所有團隊成員下次登入時,這個 Marketplace 會自動註冊好、自動更新,而且只能安裝公司核可的來源。成員不需要自己手動「加入 Marketplace」。
因為管理者已經把 Marketplace 集中下發,成員端只剩一行指令:
在 Claude Code 對話視窗輸入
/plugin install sonice-plugin@sonice-marketplace
裝完之後,團隊 Skill 在任何專案裡都能用。
@ 的左右各是什麼格式是 /plugin install <外掛包名稱>@<來源名稱>,讀法是「從某個來源、裝某個包」:
| 位置 | 是什麼 | 定義在哪 |
|---|---|---|
@ 左邊:sonice-plugin | 要裝的外掛包 | plugin.json 的 "name" |
@ 右邊:sonice-marketplace | 從哪個來源裝 | marketplace.json 的 "name" |
以下都是 Claude Code 視窗裡的斜線指令。
成員端日常會用到:
# 安裝外掛包(後台已下發 marketplace,成員只需這行)
/plugin install sonice-plugin@sonice-marketplace
# 開啟互動選單:瀏覽 marketplace 裡有哪些 plugin、安裝、啟用/停用
/plugin
# 列出目前加了哪些 marketplace(不吃參數)
/plugin marketplace list
管理者端建置與維護:
# 加入一個 marketplace(沒走後台下發時才需要手動跑)
# 來源可用 GitHub 簡寫、完整 git URL(含 NAS)、或本機路徑
/plugin marketplace add sonice/claude-skills # GitHub
/plugin marketplace add https://nas.sonice.internal/git/claude-skills.git # 公司 NAS
# 更新 marketplace(抓最新的 plugin 清單與版本)
/plugin marketplace update sonice-marketplace
# 移除某個 marketplace
/plugin marketplace remove sonice-marketplace
sonice-marketplace、「外掛包」取名 sonice-plugin,讓指令一看就懂。正式上線時,外掛包通常會改取功能性名稱(例如 sonice-data-deck),裝多個包時看名字就知道誰是誰。命名一律用連字號(kebab-case),跟 Claude Code 慣例一致。
整套的核心很單純:把 Skill 包成 Plugin、放進一個 GitHub repo、在 claude.ai 後台集中下發、團隊各自安裝一次。之後維護就是「改版本、推上去、自動同步」。SO NICE 是 Team 方案,所以可以善用集中下發與來源限定這兩項,讓管理更省事、更安全。