A2 — 建立可重複使用的 CLI 工作流程(CLI Workflow Patterns)¶
← A1 — CLI 入門 · Track A: CLI Power User 第 2 站
⏱ 時間估算:1-2 週(約 8-15 小時)
📋 本章組成:學習目標 → 進入條件 → 必修閱讀 → 動手練習 → 精選 Projects → 自我檢查 🔑 關鍵名詞:見
resources/glossary.md5(CLAUDE.md / slash command / SKILL.md / plugin / portable prompt)
裝好 CLI、跑過第一個任務之後,下一個問題:怎麼讓 CLI 一致地、可重複地、可分享地做事?這節講 workflow pattern——把「我每次都要重打一遍 prompt」變成「設好一次後 CLI 自己會用對方法」。
📌 學習目標¶
- 寫一份 production-grade 的
CLAUDE.md/AGENTS.md——production-grade 的最低構成:(1) 角色 + (2) 專案背景 + (3) 禁止事項 + (4) 測試指令 + (5) 交付格式。實務上 30-50 行可同時涵蓋這 5 件事;超過 50 行通常該拆檔 - 設計可重複的 slash command / custom prompt
- 把多步驟任務拆成 CLI 能跑完的小步驟
- 設計 prompt 讓任務在不同 CLI 上 portable
🚪 進入條件¶
你應該已經:
- 完成 A1:選定主用 CLI、裝好、認證好、跑過至少 5 個非 hello-world 任務
- 寫過 1 份 CLAUDE.md / AGENTS.md / GEMINI.md(即使只是試水溫)
- 對 Stage 2 prompt engineering 基礎上手
沒到的話 → 先回 A1 把 CLI-1/2 練熟。
📚 必修閱讀¶
- Anthropic — CLAUDE.md best practices ⭐
- Stage 2 — Prompt 設計 — workflow design 跟 prompt design 是同一件事的兩面
- Stage 5.1 — Claude Code 基礎 — slash commands 細節
resources/cli-agents-guide.md「跨 CLI 都通用的 prompt 寫法」 — portable prompt 原則
🛠 動手練習¶
動手練習 CLI-5:寫 production CLAUDE.md¶
你 CLAUDE.md 應該至少包含: - 角色:「你是一個 senior Python engineer / 學術寫作助手 / 等」 - 這個 repo 的 context:是什麼專案、用什麼套件、有什麼 convention - 不能做的事:別亂改 main、別動 secrets、別 commit - 怎麼做事:先 plan、跑 test 再 commit、要寫 type hint - 常用指令:怎麼跑 test、怎麼 lint、怎麼 deploy
把這份提交到 git。下次新成員 clone repo,他的 Claude Code 自動載入你的 convention。
動手練習 CLI-6:第一個 slash command¶
寫 .claude/commands/review.md(或對應 CLI 的位置):
---
name: review
description: Review staged changes for security + style
---
請執行以下流程:
1. `git diff --cached` 抓 staged 的 changes
2. 找:hard-coded secrets、SQL injection、type errors
3. 對應 CLAUDE.md 內的 style 規則檢查
4. 輸出:PASS / 或 list of 具體要改的點
/review,CLI 都跑同一套流程。
動手練習 CLI-7:多步驟任務拆解¶
給 CLI 一個複雜任務(譬如「把這 50 個 markdown 翻譯成英文 + 加 frontmatter + 移到 en/ 子目錄」)。 - 第一次:直接丟整個任務 → 觀察 CLI 怎麼做、什麼地方會錯 - 第二次:你先拆成 5 個 sub-task,逐一給 CLI → 觀察結果差別 - 學到:CLI 跟你一樣,太大的任務要拆;給太小的任務又會 over-orchestrate
⭐ 進階補充:Claude Code 原生 multi-agent 機制(這 1 句先看就好、不展開):CLI-7 教的「手動拆 sub-task」其實 Claude Code 有 Subagent / Agent team / Background agent 三種原生工具可以自動化。完整 3 種機制 + 動手練習 + 何時不該用(團隊權限、上下文隔離、結果審查流程都要先想好)見 Stage 5.5——在 A2 階段先知道有這層、不需要學細節。
動手練習 CLI-8:Portable prompt¶
寫一個 prompt 給 Claude Code 跑成功了。換到 Codex / OpenCode / Gemini CLI 跑同一個 prompt——什麼地方需要改?通常會發現: - file path convention 不同(cwd vs absolute) - 對「執行 shell」的權限預設不同 - 「先 plan 再做」的 prompt 在某些 CLI 要明確說,在某些是預設行為
把這些差異整理成你自己的 cheat sheet。
🎯 精選 Projects¶
按用途分 4 類、7 個項目一張表搞定。挑入口看「適合誰」、想深入細節點連結看 repo。
| 分類 | Project | ⭐ | 適合誰 | 為什麼推薦 / 備註 |
|---|---|---|---|---|
| CLAUDE.md 範例庫 | Anthropic 官方 CLAUDE.md 指南 | ⭐⭐⭐⭐⭐ | 第一份 CLAUDE.md 從這抄結構 | Claude Code repo 自己的 CLAUDE.md、官方寫法 |
| obra/superpowers | ⭐⭐⭐⭐ | 看 production-grade .claude/ 完整目錄結構 |
不只是 skill collection、也是 CLAUDE.md 範本(★ 196k+) | |
| mattpocock/skills | ⭐⭐⭐⭐ | 想看工程師日常用的 skill 庫 | .claude/ 結構是好參考。更多 skill 範例見 Stage 5.3 |
|
| Slash Commands / Custom Prompts | anthropics/claude-plugins-official | ⭐⭐⭐⭐⭐ | 找官方 plugin 範本 | 官方 plugin marketplace、每個 plugin 內的 commands / skills 是 slash command 範例(★ 18k+) |
| hesreallyhim/awesome-claude-code | ⭐⭐⭐ | 想逛社群 slash command 範例 | 社群整理的 Claude Code 資源清單 | |
| Prompt 設計參考 | f/awesome-chatgpt-prompts | ⭐⭐⭐⭐ | 卡關時找 CLI 通用的 prompt 模式 | ChatGPT 起家、prompt 寫法 90% 在 CLI 上也通(★ 161k+、CC0)。完整 prompt engineering 進階見 Stage 2 精選 Projects(DSPy、dair-ai 等) |
| 多 CLI 並用 pattern | resources/cli-agents-guide.md 「3 個常見搭配」 |
⭐⭐⭐⭐ | 想試多 CLI 配對策略 | 本 repo 內部資源、看 Setup A / B / C 挑一個合的試 |
💡 建議入手路徑:先抄 Anthropic 官方 CLAUDE.md 結構 → 加自己的 repo context → 看 obra/superpowers 看「完整
.claude/長什麼樣」→ 然後寫 1-2 個 slash command(從 hesreallyhim awesome 列表撈靈感)。
推薦工具¶
- yamadashy/repomix ⭐⭐⭐⭐⭐ ★ 24k+ — 把整個 codebase packed 成單一 AI-friendly 檔案(XML / Markdown / JSON),方便 Claude Code / Codex 做 code review / refactoring。內建 MCP server mode + tree-sitter 壓縮(壓縮率依語言與檔案結構而異)+ secretlint 過濾敏感資訊。Track A 很值得當 daily driver 的工具。
✅ 進 A3 前的自我檢查¶
你能不能: - [ ] 寫過至少 1 份你 production / 工作 repo 的 CLAUDE.md(不是 demo repo) - [ ] 寫過至少 2 個 slash command 並實際在用 - [ ] 把同一個 prompt 在 2 個不同 CLI 上跑過、知道差異 - [ ] 講得出「什麼任務該拆、什麼任務不該拆」的判準
如果可以 → 進 A3 — Integration & Production。
如果不行 → CLAUDE.md 一直 demo 等於白寫;先去你真實 repo 寫一份再回來。
💡 常見坑¶
- CLAUDE.md 寫太長:超過 100 行 CLI 會自己 truncate / 忽略後段。Sweet spot 30-60 行。
- Slash command 寫成「請做 X、Y、Z、A、B」一句:CLI 容易跳步驟。改寫成編號 list + 每步成功標準。
- Portable 過頭:每個 CLI 還是有自己的特長;不要為了能跨 CLI 把 prompt 變得太抽象、失去具體性。
- 覺得自己「都會」就不寫了:CLAUDE.md 是給未來的你(跟新成員)看的,不是給現在的你看的。