截至 2026 年 8 月 29 日 07:13(台北時間)抓取 GitHub Trending 時,Scientific Agent Skills 列在榜上;該頁當時顯示 36,527 stars、720 stars today。但真正危險的下一步,是看到熱度就把整包 163 個 Skills 丟進 Agent。Skill 不是書籤;它會進入模型上下文,還可能帶著 scripts、外部 API、環境變數與檔案操作。
這篇專為第一次安裝研究 Skill 的讀者寫。我們不做「一鍵全裝」展示,而是從 K-Dense Scientific Agent Skills 挑一個攻擊面較小的 scientific-critical-thinking,帶你讀完 8 個檔案、鎖定完整 commit、畫出資料流,再用同一題做 With/Without 配對驗收。
不需要先會寫 Python;你要學的是一套可搬到任何第三方 Skill 的准入方法。讀完後,你會知道什麼可以直接保留、什麼要關閉、什麼證據不足時就不該進正式 Agent。
先說結論:Scientific Agent Skills 要一個一個驗收
🧪 記憶把手:安全採用 Skill = 固定來源 × 最小權限 × 配對驗收。
完整 SHA 回答「審的是哪一份」;權限與資料流回答「最多能碰到什麼」;With/Without Test 才回答「多出來的風險,是否真的換到能力提升」。任何一項是零,整體就不准入。
這和《Agent Skill/SKILL.md 教學》的分工不同:那篇教你看懂 Skill 結構;本文處理一個真實第三方 repo 的選擇性安裝與驗收。若你要建立更完整的掃描收據,可接著讀《AI-Infra-Guard/MCP 供應鏈安全》;若要擴成正式評測集,再接《NVIDIA SkillEvaluator With/Without A/B》。

Scientific Agent Skills 是什麼?先別把 163 個都當成外掛
Agent Skills 開放規格把 Skill 定義成一個至少含 SKILL.md 的資料夾,還可附 scripts/、references/ 與 assets/。Agent 先看 name/description,選中後再讀正文與需要的資源。換句話說,Skill 像會在任務中打開的操作手冊;若內文叫 Agent 執行程式、讀檔或連 API,那些行為就可能真的發生。
截至 2026 年 8 月 29 日,我們直接數固定 repository tree,skills/ 下有 163 個第一層 Skill、整個 repo 共有 2,446 個檔案。數量本身不是品質分數;每多裝一個,都會擴大供應鏈審查面,也可能增加觸發碰撞與上下文負擔。K-Dense 的 SECURITY.md也要求把 Skill 內容視為 code review material,並明說自動掃描不是 audit、certification 或 guarantee。
因此第一個篩選問題不是「哪個最熱門」,而是「哪個能用最小權限回答我手上的問題?」如果你的需求只是批判一份研究摘要,就不必同時載入生物資料庫、製圖、雲端運算與實驗室整合。這也是 Agent Harness 的核心思路:模型之外,工具、權限、狀態與停止條件才決定真實風險。
為什麼選 scientific-critical-thinking?把資料流攤開看
本次固定 released baseline 9e8b0cb0b09059f2fd4505e57ab4e00c8be1cef6(tag v2.64.0)。截至 2026 年 8 月 29 日查核時,latest main 是 895b4be37ef0ca1cd55c6e628e7ff937ba5a1cf1,與 release SHA 不同;但 scientific-critical-thinking 的 8 個檔案在兩者之間沒有差異。固定 release 讓本文的檔案、命令與掃描報告可以重做;它不代表內容因此可信,也不會自動收到後續安全修補。
scientific-critical-thinking剛好適合當第一個案例:
- 8 個純 Markdown 檔:1 個
SKILL.md加 7 個 references;tree mode 全是100644,沒有 script、binary、symlink、submodule 或 executable。 - 核心路徑不用網路:frontmatter 寫明 analytical guidance 不需 network;核心工作是讀公開或去識別文字,再輸出結構化批判。
- 權限仍不等於零:
allowed-tools宣告Read Write Edit。即使這次只想讀摘要,宿主若真的給寫入能力,Skill 本身不會替你建立 OS sandbox。 - 有一條選用外傳路徑:使用者明確要求製圖時,內文會轉交
scientific-schematics;後者會尋找OPENROUTER_API_KEY,把 prompt 送往 OpenRouter 生成圖片,再把生成圖片送回 OpenRouter 做品質 review,並將版本圖片與 review log 寫回本機。本案例的核心審查不啟用製圖,也不向候選 Skill 注入秘密;正式驗收仍要由宿主的 sandbox/policy 收據證明網路與寫入確實被封鎖。

專案在固定版 security-report.json 把這個 Skill 標成 is_safe: true,但最高嚴重度仍是 Medium;報告的 last_scanned 是 2026 年 8 月 10 日,且 reused_from_previous_report: true。三個 findings 分別是:宣告工具與文中 shell/Python 示例不一致(Medium)、選用 OpenRouter 外傳(Low),以及部分 reference path 解析異常(Low)。我們逐一核對後確認 7 個實際 reference path 全都存在,因此第三項不符合固定 tree;前兩項仍成立。這張報告是 review 起點,不是免責通行證。
Scientific Agent Skills 安裝前審查:6 步留下可回滾收據
步驟 1:先 preview 固定 SHA,不要先安裝
目前 GitHub CLI 手冊已列出 gh skill preview 與 gh skill install;本文在 gh 2.92.0 驗證下列 preview。它會抓取並顯示檔案樹與 SKILL.md 內容;互動模式才可逐一瀏覽 references、scripts 等附加檔案,而且不會把 Skill 安裝進宿主的探索目錄。
PIN='9e8b0cb0b09059f2fd4505e57ab4e00c8be1cef6'
SKILL='scientific-critical-thinking'
GH_PAGER=cat gh skill preview \
K-Dense-AI/scientific-agent-skills \
"$SKILL@$PIN"
如果 preview 出現你沒預期的 script、安裝器、binary、symlink、外部 URL 或秘密名稱,先停在這裡。不要用「只跑一次看看」來補 review;第一次執行就可能已經讀到或送出資料。
步驟 2:在自動探索目錄外 sparse checkout
要逐檔 grep、計 hash 與看 Git tree mode,就把 repo 放在臨時 review 目錄。mktemp 只是產生不易撞名的位置,不是 sandbox;不要把它換成 .agents/skills、~/.agents/skills 或其他宿主會自動掃描的路徑。
REVIEW_DIR="$(mktemp -d)"
git clone --filter=blob:none --sparse --no-checkout \
--depth=1 --branch v2.64.0 \
https://github.com/K-Dense-AI/scientific-agent-skills.git \
"$REVIEW_DIR"
git -C "$REVIEW_DIR" sparse-checkout set --cone "skills/$SKILL"
git -C "$REVIEW_DIR" switch --detach "$PIN"
test "$(git -C "$REVIEW_DIR" rev-parse HEAD)" = "$PIN"
Git sparse-checkout只限制 working tree 呈現哪些檔案,不是權限隔離,也不保證網路只取得一個 Skill;cone mode 還會保留頂層與祖先路徑。它的價值是縮小人工 review 面積,不是提供安全證明。
步驟 3:列 tree mode、逐檔 hash 與可疑能力
git -C "$REVIEW_DIR" ls-tree -r --full-tree \
"$PIN" -- "skills/$SKILL"
find "$REVIEW_DIR/skills/$SKILL" -type f -print0 \
| sort -z | xargs -0 shasum -a 256
rg -n 'https?://|API_KEY|TOKEN|SECRET|curl|wget|pip|npm|uv |subprocess|eval\(|exec\(' \
"$REVIEW_DIR/skills/$SKILL"
Linux 可把 shasum -a 256 換成 sha256sum。看到 mode 120000 是 symlink、160000 是 gitlink/submodule、100755 是 executable;它們不一定惡意,但都要逐一解釋。再用五個問題讀每一檔:會讀什麼?會寫什麼?會執行什麼?會連去哪裡?需要哪些秘密?
步驟 4:scanner 只當第二雙眼睛
Scanner 適合找 Unicode、obfuscation、危險 shell、秘密與 URL,但也會誤判或漏判;若啟用 LLM、雲端 AI Defense 或 VirusTotal upload,scanner 本身可能把 Skill 內容送出。對未公開研究,先用 local analyzers;任何上傳都必須先畫進資料流並取得資料擁有者同意。這正是 K-Dense 自家報告同時出現 is_safe: true 與 Medium finding 的原因:結論必須回到原始檔。
步驟 5:先裝進隔離 custom dir,比對安裝後差異
review 通過後,先把目標改成宿主不會探索的臨時目錄。本次實際執行下列 custom-dir 安裝;沒有執行 Skill 內的程式,而且這個候選本來就沒有 bundled scripts。
APPROVED_DIR="$(mktemp -d)"
gh skill install K-Dense-AI/scientific-agent-skills \
"$SKILL" --dir "$APPROVED_DIR" --pin "$PIN"
diff -ru \
"$REVIEW_DIR/skills/$SKILL/references" \
"$APPROVED_DIR/$SKILL/references"
這次 7 個 reference 檔 byte-for-byte 相同;SKILL.md 則被 GitHub CLI 重排 YAML,並加入 github-repo、github-path、github-pinned、github-ref 與 tree SHA 等 provenance metadata。所以要保存「來源 manifest」與「安裝後 manifest」兩張收據,不能假裝兩邊檔案 hash 必然相同。
步驟 6:通過 A/B 與專家 gate,才進正式目錄
以 Codex 專案層級為例,最後的准入命令才是:
gh skill install K-Dense-AI/scientific-agent-skills \
"$SKILL" --agent codex --scope project --pin "$PIN"
其他宿主的 agent 名稱與路徑不同,不能把 Codex 的 .agents/skills 當成跨平台標準。更重要的是,Agent Skills 規格把 allowed-tools 列為 optional/experimental;真正的能力邊界仍由宿主工具、OS sandbox、網路規則、審批與秘密管理共同決定。
Scientific Agent Skills A/B Test:只改一個變數
Arm A:不載入 Skill;Arm B:載入同一個固定 SHA 的 Skill。兩邊要固定 prompt、模型 snapshot、reasoning 設定、system instructions、工具、網路、資料版本、token/時間上限與 judge。每題開乾淨 session,隨機或交錯執行順序,再隱藏 arm label 盲評。否則你測到的可能是模型、快取或資料變動,不是 Skill。

評分不要只數「答案看起來更完整」。至少拆成:
- 正確性:是否命中 gold answer、計算與流程;重大錯誤獨立計數。
- 引用:分開量 citation existence、claim entailment、coverage 與 primary-source quality;連結變多不等於引用正確。
- 成本:input/output/cached tokens、API/compute 費用與人工修正分鐘。
- 時間:Agent wall-clock 與人工 review 時間分開,報 median 與尾端延遲。
- 安全:未授權讀寫、網路、秘密存取、破壞性行為或繞過限制,任一發生就直接 FAIL。
- 領域判斷:隱藏 arm 後,由真正懂該研究領域的人評科學有效性、限制揭露與 decision readiness。
若要把這個 loop 實作成完整 Agent 系統,可先讀《30 行 Agent Harness 實作》;若要用 API 建 eval,OpenAI Evaluation best practices也強調 task-specific eval、人工判斷與完整紀錄,而不是 vibe-based evaluation。
完整走一遍:單題 pilot 反而得到「平手」
為了示範「沒有 lift 也是答案」,本次用一份 synthetic study summary 做一題配對 pilot:24 名公司電子報志願者自行選擇補充品/控制組;兩組基線不同、沒有盲法;研究測 12 個記憶結果,只報唯一 p=0.04;控制組另排除 4 人,最後卻宣稱「證明一般成人記憶提升 30%」。兩邊使用完全相同的任務 prompt、high reasoning 與乾淨 session;Without 不載入 Skill,With 只讀固定 SHA 的 8 個 Markdown。兩邊都沒有瀏覽、網路或研究任務工具,但宿主沒有暴露精確模型 snapshot,也沒有提供 runtime 網路/寫入 policy 收據。
- Without:抓到自選分組+基線不平衡、選擇性報告與多重比較、差異性排除、未盲測、樣本與外推限制,並提出意向治療、敏感度分析與基線調整。
- With:命中同一批核心問題,另把分派隱蔽、安慰劑、ANCOVA/組間變化差、完整報告 12 項結果寫成更具體的重做方案。
- Blind AI judge:在事前 5 個維度各給兩邊 20/20,判定平手,沒有 critical error。
因此這一題不能支持「Skill 有 lift」。它只證明流程跑得通,而且 baseline 已經很強;原始 task prompt、8 個 Skill 檔案 hash、兩邊輸出、盲評 prompt 與評分都已保存。本次沒有記錄 token/費用/wall-clock,也缺精確模型 snapshot、runtime policy 收據與領域專家盲評,所以正式准入 gate 仍不完整。真正評測要換成 20–30 個代表正常、邊界、拒絕與 routing failure 的任務,再做多次配對;樣本數仍應依變異與目標 effect 做 power analysis,不能把 20–30 題當通用充分條件。
更新、回滾與供應鏈收據怎麼留?
每次准入至少保存:來源 URL、完整 SHA、release/main 身分、逐檔 hash、tree mode、license、scanner 版本與設定、人工 review 結論、權限/資料流、A/B raw rows、judge 與准入決策。下次更新不要直接 git pull 或 gh skill update --all;先取得新 SHA,做 diff、重掃、重跑受影響任務,再核准。
若新版失敗,回滾不是刪掉證據,而是把精確 Skill 目錄移出探索路徑並保留舊收據。例如先建立專案內的 quarantine,再移動單一已解析目標;確認 Agent 不再發現它後,才決定要不要復原舊 pin。這比直接刪除整個 Skills 目錄可逆,也不會誤傷別人的工作。
常見問題 FAQ
1. 可以一次安裝全部 163 個 Scientific Agent Skills 嗎?
不建議。K-Dense 自己的 README 也要求只裝真正需要的 subset。全裝會同時擴大觸發碰撞、上下文與供應鏈面,卻沒有證明每個 Skill 都改善你的任務。
2. 官方 security report 寫 is_safe,能直接信嗎?
不能把它當保證。本案例同一筆資料仍有 Medium/Low findings,而且掃描日期與 reused 狀態都要看;逐檔確認才知道 finding 是否適用。
3. Pin tag 就夠了嗎?
不夠。tag 可能是可移動 ref;用完整 40 字元 commit SHA,並驗證 checkout 後的 HEAD。SHA 提供內容定位,不證明作者、簽章或安全性。
4. Sparse checkout 等於 sandbox 嗎?
不是。它只控制 working tree;是否能寫檔、讀秘密、連網與執行程式,仍由宿主與 OS 控制。
5. 純 Markdown Skill 就沒有風險嗎?
風險較低,但不是零。Markdown 本身能改變 Agent 行為,也可能要求它呼叫別的 Skill、讀檔或外傳內容;本案例的 OpenRouter 選用路徑就是例子。
6. allowed-tools 會替所有宿主鎖權限嗎?
不一定。這是規格的選用、實驗性欄位,實際支援依宿主而異;要用 runtime sandbox、審批與 network policy 驗證真實能力。
7. 一題 A/B 贏了就能採用嗎?
不能外推。單題只描述該題、該模型與該設定;還要覆蓋代表性任務、重跑變異、成本與安全 hard gate,並由領域專家盲評。
8. 什麼時候該更新 Skill?
當修補或新能力值得重新驗收時。固定舊 SHA 不會收到安全修補;新 SHA 也不能自動繼承舊收據。把 diff、掃描與受影響 A/B 當成同一次 change review。
給新手的 7 個重點
- 先用任務挑 Skill,不用 stars 挑安裝範圍。
- 暫存位置要在自動探索目錄外。
- 鎖完整 commit SHA,逐檔保存 hash 與 tree mode。
- 把核心路徑與選用外部 API 分開審。
- Scanner 結果要回到原始碼判讀。
- With/Without 只改 Skill,其他條件全部固定。
- 沒有領域專家與安全 hard gate,就沒有正式准入。
接著閱讀
左右滑動查看更多推薦
結語:今天先驗一個,不要收藏 163 個風險
Scientific Agent Skills 的價值不在「讓 Agent 瞬間會 163 件事」,而在把某一套研究方法變成可讀、可版本化、可驗收的工作手冊。你今天最實際的下一步,是挑一個非敏感、低權限任務,完成 preview、SHA、資料流與一題 With/Without;若仍像本次 pilot 一樣平手,就把結果記下來,先不要安裝進正式 Agent。
想把這套准入流程接進自己的 Agent 專案,可從 AlphaLab 的 AI 實作課程建立 Harness、工具與 eval 的共同底座;真正成熟的能力,不是裝得多,而是每一個新增權限都說得清楚、量得出來,也退得回去。






