Communitygithub.com

CLI Creator

用於設計與審查 Python CLI 工具的可安裝智慧體技能(Agent Skill),協助建構生產級命令列工具。

CLI Creator 是什麼?

此技能專為建構與審查生產級 Python CLI 工具而設計,可作為路由(Router)使用,在建立新工具、重構與簡化命令樹、或執行完整的 CLI 審查時提供指引。它能根據不同情境(如命令優先工具、設定驅動工具、互動式助手或高效能 CLI)推薦合適的架構,並遵循最小化原則——只讀取任務所需的參考文件。支援的平台包括 Claude Code、Cursor 與 Codex 等能載入 .cursorrules 或 SKILL.md 的工具。其運作方式是透過一個輕量的路由主體與四個參考文件(建立手冊、審查評分表、技術最佳實踐、常見陷阱與解決方案)來維持技能的純潔性,避免在主體中重複細節。審查流程覆蓋了儲存庫結構、UX、安全性、效能、自動化可腳本化、套件品質等 11 個面向,並要求產出標準化的審計報告。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add AdvancingTitans/cli-creator-skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

CLI Creator 是做什麼的?

用於建構與審查生產級 Python CLI 工具及 CLI 相關技能/模板的路由。可用來決定 CLI 形狀、保持命令面精簡、維持可安裝性,並強制輸出審查結果。此技能保持輕量:僅讀取您需要的參考文件。

使用時機

  • 建立新的 Python CLI 或命令樹。
  • CLI 重構、簡化或套件整理。
  • CLI 審查/稽核,包括 UX、設定、錯誤處理、快取與發佈流程。
  • 行為類似 CLI 套件的代理技能、腳手架或模板。
  • 驗證安裝、wheel 或 console-script 行為。

CLI 類型選擇

類型偏好
命令優先的工具精簡路由、嚴格的結束碼、JSON/純文字輸出。
設定驅動的工具設定發現、優先級、重現性。
互動式助手流程/狀態機、提示、復原。
混合類型 CLI小型命令樹加上可重複使用的編排。
高效能 CLI延遲匯入、有限的 I/O、快取/進度條。
外掛/可擴展 CLI穩定的擴展合約與註冊表。

不要將助手架構強加於命令優先的工具。不要將單一腳本形狀強加於成長中的產品。

核心規則

  • 偏好能夠解決使用者工作的最小 CLI。
  • 使用最小 CLI/YAGNI 路徑:如果工具只有一兩個指令、無持久狀態、無網路、無外掛、無憑證,請保持微小;除非能解決立即問題,否則不要加入 Rich、Pydantic、platformdirs、快取層、doctor 或外掛註冊表。
  • 保持名稱、旗標、結束碼、設定鍵與輸出模式穩定。
  • 讓預設值有用且安全。
  • 分離路由、領域邏輯、I/O、設定、持久化、渲染與整合。
  • 使用 JSON 或純文字模式使機器輸出可腳本化。
  • 驗證 README 中的命令即為已安裝的 console script。

參考檔案載入規則

僅讀取任務所需的參考檔案:

  • 建立或重構:references/creation-playbook.md。
  • 審查或稽核:references/review-rubric.md 與 references/pitfalls-and-solutions.md。
  • 實作細節、套件打包、安全性、跨平台行為、Rich 輸出、快取或 LLM 提供者:references/technical-best-practices.md。
  • 若涉及技能/套件維護,查閱工作區根目錄的治理資料夾 skill-ir/、evals/、scripts/、reports/ 與 registry/(若存在)。這些是維護者端的路由輔助工具,不應捆綁在已安裝的技能副本內。

請勿在此處複製那些參考檔案的內容。僅在當前任務需要時才載入它們。

建立新 CLI 或技能流程

  1. 確定產品形狀:誰執行它、承受什麼壓力、哪些必須快取、記住或忘記。
  2. 設計命令面,包含少數穩定命令與實際範例。
  3. 選擇最適合的最小技術棧。
    • 大部分 CLI 使用 Typer 或 Click。
    • 僅對小型偏好 stdlib 的工具使用 argparse。
  4. 選擇能撐過接下來兩個版本的最小架構。
  5. 實作產品循環:輸入、驗證、執行、渲染、持久化、結束碼、復原提示。
  6. 發佈前進行驗證。

命令面範例

my-cli run
my-cli init
my-cli config show
my-cli doctor
my-cli cache clear
my-cli check PATH
my-cli fetch QUERY --json
my-cli export ID --output result.md

規則:

  • 使用引數(arguments)表示必要的領域物件。
  • 使用選項(options)表示修飾符、輸出模式與可選行為。
  • 提供 --json 或 --format json 以便自動化。
  • 一致地提供 --quiet、--verbose 與 --debug。
  • 避免在看似唯讀的命令中進行意外的網路操作或修改。

驗證期望

當命令面、安裝路徑與 wheel 路徑重要時,務必驗證:

  • 根命令與每個頂層命令的 --help。
  • 在新環境中進行乾淨安裝。
  • 當工具含有設定時,處理遺失設定或首次執行路徑。
  • 當工具驗證輸入時,處理無效設定或錯誤路徑。
  • 成功路徑加上支援時的 JSON/可腳本模式。
  • 當工具含有快取時,處理快取重新整理與快取清除。
  • 套件中繼資料與 console script。
  • 當您需要安裝信心時,從儲存庫外部安裝 wheel。

適用時使用此緊湊組合:

uv venv /tmp/cli-audit
. /tmp/cli-audit/bin/activate
uv pip install -e .
cli-creator-skill --help
cli-creator-skill install
uv build
uv pip install dist/*.whl
python -m pytest

審查工作流程

在稽核現有 CLI 或 CLI 相關技能/模板時:

審查前閱讀:

  • references/review-rubric.md
  • references/pitfalls-and-solutions.md

當稽核觸及實作細節、套件打包、安全性、跨平台行為、Rich 輸出、快取或 LLM 提供者時,閱讀 references/technical-best-practices.md。

然後:

  1. 檢查儲存庫結構:套件佈局、命令入口點、設定檔案、測試、文件、CI。
  2. 執行 help:根命令 --help 與命令層級的 help。
  3. 追蹤一個從回呼到領域服務再到渲染器的成功命令路徑。
  4. 追蹤一個失敗路徑並檢查錯誤品質。
  5. 檢查設定優先級:旗標、環境變數、專案設定、使用者設定、預設值。
  6. 檢查安全性:機密、Shell 執行、路徑處理、不安全的設定/外掛、遙測、子程序逾時、依賴供應鏈。
  7. 檢查效能:啟動匯入、網路逾時、快取行為、檔案發現。
  8. 檢查自動化:結束碼、JSON 輸出、stdin/stdout/stderr 分離、非 TTY 行為。
  9. 檢查套件打包:Python 版本、相依性、腳本、wheel、README 命令。
  10. 使用 references/review-rubric.md 為每個評分領域打分。
  11. 先回報發現,然後是優先順序的修復建議。

必要稽核輸出

稽核輸出必須包含以下章節,按此順序:

**發現事項**

**評分**

| 領域 | 分數 | 備註 |
|---|---:|---|

**修復順序**

**測試缺口**

**驗證命令**

維護注意事項

  • 保持此技能作為路由器;將實作細節放在四個參考檔案中。
  • 使命令範例、稽核標題與驗證組合與套件發佈保持同步。
  • 對於維護者端的治理,使用工作區根目錄的 skill-ir/、evals/、scripts/、reports/ 與 registry/ 資料夾(若存在);不要假裝它們是已安裝技能的一部分。

此技能可協助的事項

  • 從頭設計新的 Python CLI。
  • 審查現有 CLI 的 UX、套件打包、錯誤處理、模型設定、快取與可維護性。
  • 建構 Typer、Click、argparse 或混合型應用程式。
  • 建構自然的多輪 CLI 流程,而不讓使用者感覺像在填表單。
  • 在真正需要時加入診斷、快取、記憶體分析與首次執行設定流程。
  • 審查 CLI 相關技能與模板的觸發清晰度、參考完整性、命令模板、輸出合約與維護策略。

設計基礎

此技能提煉了維護者經驗以及 Python 套件打包、Typer、Click、Rich、uv、Ruff、Pydantic 與 LLM 提供者整合的官方文件模式。它不會從非官方的第三方儲存庫引入程式碼或指示。

相關技能