技能挖掘:從 3,500 個候選項目到 466 項能力
> 我們篩選了 3,500 個技能候選項目,最終採納 466 項。這是一套系統化的挖掘與導入迴圈,用於大規模建構一套一致的 AI 代理人技能庫。
本文中的數字反映發布當下(2026 年 1 月)的系統狀態。目前最新數字請參見我們的團隊頁面。
3,500 項技能的難題
當我們開始打造代理人協調系統時,遇到了一個有趣的挑戰:整個 AI 生態系中散落著成千上萬個潛在技能。GitHub 儲存庫、廠商文件、社群專案、內部經驗模式 — 技能無所不在。但哪些才真正重要?哪些真的有效?又該如何維護一套代理人真正能派上用場的一致技能庫?
我們的答案是:一套系統化的挖掘與導入迴圈。
今天的數字
在 Anthropic 於 2025 年 10 月 16 日推出 Agent Skills 剛滿三個多月後,本文於 2026 年 1 月 27 日發布時,我們的現況如下:
| 指標 | 數量 |
|---|---|
| 已識別候選項目 | 3,500+ |
| 已採納技能 | 466 |
| 廠商技能 | 373 |
| 內部技能 | 93 |
| 活躍廠商 | 25+ |
| 每項技能平均 token 數 | 2,834 |
| 參照工具數 | 89 |
| 不重複標籤數 | 635 |
我們審核了超過 3,500 個技能候選項目,最終採納了 466 項,採納率為 13% — 這樣的高度篩選是刻意設計的結果。
知識分層系統
並非所有技能生而平等,我們將它們組織成五個知識層級(K0 至 K4),各自代表不同的適用範圍:
K0:基礎(通用)
每個代理人都應具備的技能,代表能在任何地方都適用的「優秀思考者」能力。
foundations/
├── test-first-discipline # TDD: Red-Green-Refactor
├── evidence-based-completion # Verify before claiming done
├── systematic-debugging # Root cause methodology
├── structured-planning # Break work into tasks
└── context-budget-awareness # Manage token consumption
K0 技能可移植到任何專案、任何領域、任何技術堆疊,它們編碼的是通用的認知模式。
K1:身份(紀律)
「優秀工程師」或「優秀研究者」等,適用於某一學科內各個專案的技能。
identities/
├── research-workflows # Multi-source research
├── web-extraction-playbook # Content extraction
├── code-review # PR review patterns
└── cli-interface-standards # CLI design patterns
K2:領域(專業知識)
「優秀的資料庫專家」或「優秀的安全工程師」等,可在某一領域內移植的技能。
domains/
├── schema-migration-workflow # Safe migration patterns
├── rpc-validation-checklist # RPC health checks
├── auth-validation-checklist # JWT/OAuth patterns
└── secrets-audit-checklist # Credential scanning
K3:技術堆疊(技術)
「優秀的 Supabase 使用者」或「優秀的 Cloudflare 開發者」等,針對特定技術堆疊的技能。
stacks/
├── maguyva-quickstart # Our semantic search patterns
├── cloudflare-deployment # Workers/Pages deployment
└── mcp-tool-best-practices # MCP tool selection
K4:專案(組織)
專屬於我們組織與工作流程的技能。
project/
├── agent-creation-workflow # How we build agents
├── skill-authoring-workflow # How we write skills
├── mining-session-workflow # This very process
└── vendor-skill-evaluation # Evaluation rubrics
挖掘迴圈
第一階段:發現
技能來自四面八方:
廠商儲存庫:AWS、Anthropic、Cloudflare、Supabase 以及社群貢獻者,都會發布技能集合,我們追蹤超過 25 個廠商根目錄。
社群專案:GitHub 上充滿了 Claude Code 範本、代理人模式與工作流程定義。
內部經驗模式:隨著我們團隊解決問題,各種模式會逐漸浮現,並被正式化為技能。
文件挖掘:技術文件中經常隱含著技能 — 程序、檢查清單、決策樹。
發現過程持續不斷,我們會用一份技能待辦清單,在正式評估之前追蹤候選項目。
第二階段:評估
每個候選項目都會經過同一套量規:
adoption_criteria:
- fills_real_gap: true # We lack this capability
- well_structured: true # Progressive disclosure
- actively_maintained: true # Commits in last 6 months
- portable: true # Not hyper-specific
- tested: true # Evidence of usage
五項產品標準必須全數通過,這正是 87% 的候選項目遭到否決的原因。
接著,每個候選項目還會經過一次獨立的信任審查。我們不會把官方廠商儲存庫、知名的社群維護者,以及隨機的 GitHub 儲存庫,視為同等可信的來源。
trust_review:
vendor_credibility:
- ownership_verified # Official vendor, known maintainer, or internal source
- maintenance_signal # Recent commits, issue response, release history
- adoption_signal # Evidence of real use, stars alone are not enough
- provenance_clear # We can trace where the skill came from
prompt_injection_scan:
- hidden_instruction_check # Buried "ignore previous instructions" patterns
- exfiltration_check # Prompts that try to leak files, secrets, or context
- authority_check # Claims of priority over system or developer rules
script_audit:
- inspect_scripts # Read shell/python/js helpers before adoption
- network_and_exec_review # curl|bash, remote downloads, subprocess execution
- file_and_secret_review # Env vars, credential access, broad file writes
- destructive_action_check # rm, reset, overwrite, or unsafe automation
受信任的廠商能獲得較輕量的來源審查,但這不代表可以免審通過。不受信任或來源不明的技能,則會經過更深入的人工稽核,而且在腳本被讀過、確認範圍、並歸類為安全之前,我們絕不會執行隨附的腳本。
缺口分析:在採納之前,我們會先搜尋自己的登錄檔:
uv run orkestra skills search "<capability>"
如果我們已經有了,就不需要再採納;如果我們有相近的東西,我們可能會選擇合併,而非直接採納。
深度與規範評分:我們也會為候選項目對代理人技能模型的運用完整度評分。單一的 SKILL.md 依然可能有用,但若能依照 agentskills.io 所鼓勵的方式,將指令與參考資料、腳本、素材分開,技能就會更有價值、更深入。
skill_depth:
- level_1: SKILL.md only # Single instruction file
- level_2: SKILL.md + strong description # Clear triggers and scope
- level_3: adds references/ # Load docs only when needed
- level_4: adds atomic scripts/ # Small, reviewable helpers
- level_5: adds assets/examples/templates # Full progressive disclosure
depth_signals:
- standards_adherence # Structure aligns with agentskills.io conventions
- reference_quality # Curated references, not giant context dumps
- script_atomicity # Focused helpers, not opaque monoliths
- tool_boundary_clarity # Clear limits on what the skill can execute
- community_signal # Stars/forks/users help, but only as a weak boost
GitHub 星數可以稍微提升可信度分數,但永遠救不回一個膚淺或不安全的技能。一個星數很高、卻只有一句含糊的 SKILL.md 和不透明腳本的儲存庫,其分數會低於一個規模較小、卻擁有精確說明、精心整理的 references/、以及真正充分運用技能完整能力的原子化輔助工具的儲存庫。
結構分析:我們會檢查技能的品質:
wc -l vendor/<repo>/<skill>/SKILL.md # Size check
ls vendor/<repo>/<skill>/scripts/ # Supporting files
ls vendor/<repo>/<skill>/references/ # Bundled docs
若候選項目包含腳本,審查就會更加嚴格。一項好的技能不只要有用,還必須清晰易讀、範圍受限,且能安全地交給代理人使用。光是這道安全篩選,就足以刷掉相當一部分原本看起來頗有意思的候選項目。
第三階段:導入
當一項技能通過評估後,就會進入登錄檔。但技能從不會原封不動地被採納,而是會經過調整以符合我們的系統。
採納時的調整:
- 中繼資料正規化:每項技能都會套用我們的前置資料結構描述
- K 層級指派:技能會被歸入適當的知識層級
- 標籤擴充:加入標籤以利於被發現
- 工具宣告:明確宣告允許使用的工具
- 章節對齊:內容會被重新組織,以符合我們的範本
導入後典型的技能 YAML 範例如下:
metadata:
identifier: vendor-skill-evaluation
name: vendor-skill-evaluation
description: Systematic evaluation of vendor skills for adoption.
type: workflow
layer: K4
semantic_folder: project
source: core
last_updated: '2026-01-17'
frontmatter:
tags:
- agents
- meta
- skill-adoption
- vendor
allowed_tools:
- Bash
- Read
- Write
- Edit
- Grep
- Glob
- Task
第四階段:範圍指派
技能會被指派到「範圍」— 決定哪些代理人會載入哪些技能的分類:
scopes:
database:
primary_skills:
- domains/schema-migration-workflow
- domains/rpc-validation-checklist
- vendor/supabase/supabase-database
- vendor/supabase/supabase-auth
research:
primary_skills:
- identities/research-workflows
- identities/web-extraction-playbook
- identities/dataset-discovery-quickstart
代理人會宣告自己的範圍,技能則會自動被指派:
# Agent definition
scopes: [database, research]
# Gets: all database skills + all research skills + universal skills
第五階段:實體化
技能在正式環境中並非以 YAML 形式存在,而是會被渲染為 Claude Code 能夠載入的 SKILL.md 檔案:
uv run orkestra sync
這個指令會:
- 讀取所有技能的 YAML 定義
- 透過 Jinja 範本進行渲染
- 將 SKILL.md 檔案寫入
.claude/skills/ - 依 K 層級組織(foundations/、identities/、domains/、stacks/、project/)
最終的輸出結構如下:
.claude/skills/
├── foundations/ # K0: Universal
├── identities/ # K1: Discipline
├── domains/ # K2: Subject
├── stacks/ # K3: Technology
├── project/ # K4: Organization
└── vendor/ # External skills
休眠範圍模式
我們最強大的模式之一,是「已採納但未載入」的技能,我們稱之為休眠範圍。
以來自 k-dense-scientific 儲存庫的科學運算技能為例:我們已採納超過 120 項技能,涵蓋生物資訊學、化學、量子運算與臨床資訊學。但我們大多數代理人並不需要分子對接或基因表現分析。
我們並不會把全部 120 項技能都載入每一個代理人(那會撐爆情境視窗),而是:
- 以特定範圍(例如
bioinformatics)採納這些技能 - 讓它們保持休眠 — 已登錄但未載入
- 只在代理人宣告該範圍時才啟用它們
# In scopes.yaml - dormant scope
bioinformatics:
description: "Bioinformatics and genomics"
primary_skills: [] # Empty - skills exist but aren't loaded
# When an agent needs bioinformatics:
# Agent YAML
scopes: [research, bioinformatics] # Now loads bioinformatics skills
這個模式讓我們的登錄檔中能容納 466 項技能,而一般代理人卻只會載入其中 40 到 60 項相關的技能。
技能類型
技能有三種認知模式:
工作流程
有序的程序性步驟:「1. 做 X,2. 接著做 Y,3. 最後做 Z」
type: workflow
# Examples: schema-migration-workflow, mining-session-workflow
紀律
行為護欄:「務必做 X」「絕不做 Y」「優先選擇 Z」
type: discipline
# Examples: test-first-discipline, evidence-based-completion
檢查清單
驗證標準:「確認 X」「驗證 Y」「檢查 Z」
type: checklist
# Examples: auth-validation-checklist, secrets-audit-checklist
品質關卡
每項技能在發布前都必須通過驗證:
validation:
file_exists: true # Skill file at declared path
frontmatter_valid: true # Frontmatter parses correctly
sections_complete: true # Expected sections present
tools_registered: true # Declared tools exist in registry
說明文字必須介於 50 到 400 字元之間,並包含觸發語句(例如「Use when…」「When you need…」),讓 Claude Code 知道何時該建議使用它。
我們會持續進行驗證:
uv run orkestra validate --show-warnings
廠商生態系
我們的 373 項廠商技能,來源如下:
| 廠商 | 技能數 | 領域 |
|---|---|---|
| AWS Agent | 19 | 雲端服務 |
| Anthropic | 12 | 文件生成 |
| Cloudflare | 8 | 邊緣運算 |
| Supabase | 5 | 資料庫 |
| k-dense | 100+ | 科學運算 |
| silvainfm | 4 | 資料科學 |
| Java Developer Kit | 45+ | Spring/Java |
| Vercel | 1 | 瀏覽器自動化 |
每個廠商根目錄都會在 metadata.yaml 中宣告:
vendor_roots:
- path: vendor/aws-agent-skills
provider: aws
- path: vendor/k-dense-scientific/scientific-skills
provider: k-dense
- path: vendor/supabase-skills
provider: supabase
當 orkestra sync 執行時,廠商技能會依各自的廠商命名空間,以符號連結方式連進 .claude/skills/vendor/。
我們學到的事
高度篩選有其回報。 把每個看起來有用的東西都採納進來,是很誘人的做法,但每項技能都要耗費 token。以平均每項技能 2,834 個 token 來說,膨脹的代價很快就會浮現。我們 13% 的採納率,讓代理人保持精簡。
結構能促進發現。 K 層級系統不只是為了分類,更關乎可移植性。K0 技能可以在任何地方重複使用;K4 技能則刻意侷限於特定專案。這樣的清晰度,讓人類與代理人都能更容易找到自己需要的東西。
休眠範圍具備擴展性。 你可以採納數百項技能,卻不必全部載入。範圍機制讓你能建立一套涵蓋全面的登錄檔,同時讓每個代理人各自的情境視窗維持在可管理的範圍內。
採納時的調整不可或缺。 未經處理的原始廠商技能,很少能直接契合你的系統。導入流程 — 加入中繼資料、指派層級、擴充標籤 — 讓外部技能得以在內部順利運作。
挖掘是持續進行的。 3,500 這個數字仍在持續成長:新的廠商儲存庫不斷出現,社群模式不斷浮現,內部工作流程也不斷成形。這個迴圈永不停止。
接下來的計畫
我們正在推進幾項改進:
- 自動化缺口偵測:當常見的代理人失誤本可透過某項尚未採納的技能解決時,發出警示
- 技能淘汰流程:為已被取代或不再使用的技能,建立正式的退役程序
- 跨技能依賴關係:明確宣告技能之間的前置需求
- 使用分析:追蹤代理人實際呼叫了哪些技能,而不只是載入了哪些
技能挖掘迴圈是一種基礎建設,並不光鮮亮麗,但正是它,讓 41 個代理人能在情境限制內,與 466 項能力協調一致地運作。
這就是 3,500 如何變成 466 的故事:不是靠忽略其中的 3,000 個,而是靠系統化地逐一評估、只採納真正有效的那些。
想親眼看看這套技能系統實際運作嗎?歡迎查看 uv run orkestra skills list,探索我們目前的登錄檔。
延伸閱讀
更多來自 Maguyva 開發日誌的內容
我們為何將程式碼搜尋升級至 voyage-4-large_
我們將程式碼嵌入模型換成了 voyage-4-large — 目前在公開的 RTEB 程式碼檢索排行榜上排名第一。這是誠實的版本:我們做了什麼取捨、我們實際索引的是什麼,以及我們為何願意為高階嵌入模型付費。
語言遞迴自我改進:在近 280 種語言中打磨程式碼智慧_
我們為近 280 種語言提供程式碼智慧支援,沒有人力能逐一手動稽核。因此我們打造了一套語言遞迴自我改進迴圈 — 抽查、LLM 擔任評審、修正單一問題、重新驗證 — 並以一支隔離代理人艦隊持續執行,直到擷取結果真正正確,而不只是綠燈通過。
多模態融合搜尋:為每個查詢挑選正確的檢索方式_
像「parseConfig 定義在哪裡」這樣的查詢,需要的搜尋方式和「auth 是如何運作的」截然不同。Maguyva 會先分類查詢意圖,據此為四種檢索模式加權,再以加權版的 Reciprocal Rank Fusion(倒數排名融合)演算法整合結果。