Thariq Skills #7 — CI/CD & Deployment:讓 Agent 看顧你的 PR 到安全落地
部署是 agent 最能省人力的地方之一,也是最需要護欄的地方。
CI/CD & Deployment skills 的設計目標:讓 agent 能獨立完成完整的部署流程,但在每個關鍵節點有明確的護欄。
類別定義
“Fetch, push, deploy code. May reference other skills.”
簡短的定義,但「may reference other skills」這句話很重要——這個類別的 skills 通常是多個其他 skills 的協調者。一個完整的 deploy-service skill 可能會引用 product-verification、runbooks 中的 smoke test 邏輯。
Thariq 的範例
babysit-pr — 監看 PR 直到 merge。這是一個長時間任務 skill:agent 定期查看 CI 狀態、在失敗時提醒、在 review comment 出現時通知。觸發條件:「babysit」「watch CI」「make sure this lands」。
deploy-service — 完整的服務部署流程,包含:
- Build
- Smoke test(可引用 Product Verification skills)
- Gradual rollout(分批流量切換)
- 自動 rollback(如果 smoke test 在 rollout 中失敗)
cherry-pick-prod — 從主分支挑選特定 commit 到 production 分支。包含驗證邏輯和 rollback 路徑。
Gradual Rollout 的 skill 設計
Thariq 提到的 deploy-service 的完整流程值得深入看:
deploy-service/
├── SKILL.md ← 觸發條件 + 部署前檢查清單
├── scripts/
│ ├── build.sh
│ ├── smoke-test.sh ← 或引用 product-verification skill
│ ├── rollout.sh ← 分批流量切換邏輯
│ └── rollback.sh ← 自動回滾腳本
├── config.json ← 環境設定(staging / production 端點)
└── gotchas.md ← 已知的部署陷阱(如 CF Workers 的 propagation delay)
Thariq 的技巧#9 描述的 /careful hook(阻擋 rm -rf、DROP TABLE、force-push)在部署情境最有價值。把這個 hook 設定為 deploy-service skill 啟動時自動掛載,讓 agent 在整個部署 session 中都受到護欄保護。
引用其他 Skills
這個類別的特殊之處:deployment skills 通常是其他 skills 的消費者。
deploy-service → 引用 → product-verification(smoke test)
deploy-service → 引用 → runbooks(如果 smoke test 失敗)
babysit-pr → 引用 → code-review(在 review 時提供建議)
Thariq 的原文:「model invokes them if installed」——如果這些 skills 都已安裝,deploy-service 可以直接在其說明中寫「執行 product-verification 中的 smoke test」,agent 會自動協調。
SuperPortia 實戰觀點
SP 的部署目前主要靠手動流程。對照 Thariq 的標準:
| 部署目標 | 現狀 | 缺口 |
|---|---|---|
| Cloudflare Workers | wrangler deploy(手動) | 缺 smoke test + rollback 腳本 |
| Cloudflare Pages | wrangler pages deploy(手動) | 缺自動化驗證 |
| D1 Migrations | 手動執行 SQL | 無 agent-executable skill |
| Command Center | npm run build(手動) | 缺部署後驗證 |
deploy-checklist skill 是最接近這個類別的,但它目前更像「部署前的人工檢查清單」,而不是「agent 可自主執行的部署腳本」。
[!note] 第一步:把 wrangler deploy 封裝成 skill
最小可行的 CI/CD skill:把 CF Workers 部署的標準流程(wrangler deploy + 驗證 API endpoint 回應)封裝成一個 cf-deploy skill。這一步不需要 gradual rollout,只需要「一個 agent 可以端到端執行的部署流程」。
babysit-pr 的 description 範例
Thariq 在技巧 #6 中特別以這個 skill 舉例,說明 description 欄位的正確寫法:
差的 description(功能摘要):
“A comprehensive tool for monitoring pull request status across the development lifecycle.”
好的 description(觸發條件):
“Monitors a PR until it merges. Trigger on ‘babysit’, ‘watch CI’, ‘make sure this lands’.”
這個原則適用於所有 SP 的 deployment skills——description 應該寫人類自然說出的觸發語句。
回到總文
本文是九大類別系列的第七篇。完整框架與 SuperPortia 對照請見:
...q-skills-code-quality-review|Thariq Skills — Code Quality & Review]] — adversarial-review 與程式碼審查 7. [[Thariq Skills — CI/CD & Deployment]] — 部署 pipeline 的 skill 封裝 8. [[Thariq Skills — Runbooks]] — 症狀到報告的結構化調查流程 9.