ワンクリックで
code-quality
務實的編碼標準與程式碼審查指南。涵蓋命名、函式、反模式、審查清單及 AI 特定的審查模式。取代 clean-code + code-review-checklist。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
務實的編碼標準與程式碼審查指南。涵蓋命名、函式、反模式、審查清單及 AI 特定的審查模式。取代 clean-code + code-review-checklist。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
使用 Claude API / Anthropic SDK 建構、除錯和最佳化應用程式。使用此技能建構的應用程式應包含提示快取 (prompt caching)。也處理在 Claude 模型版本之間遷移現有 Claude API 程式碼(4.5 → 4.6,4.6 → 4.7,替換已退役模型)。觸發時機:程式碼匯入 anthropic/@anthropic-ai/sdk;使用者要求使用 Claude API、Anthropic SDKs 或 Managed Agents (/v1/agents, /v1/sessions, /v1/environments);使用者在檔案中新增/修改/調整 Claude 功能(快取、思考、壓縮、工具使用、批次、檔案、引用、記憶)或模型(Opus/Sonnet/Haiku);關於 Anthropic SDK 專案中提示快取/快取命中率的問題。不觸發:檔案匯入 `openai`/其他提供者 SDK,檔案名稱類似 `*-openai.py`/`*-generic.py`,與提供者無關的程式碼,一般程式設計/機器學習。
當編寫呼叫 Gemini API 的程式碼時請使用此技能,用於文字生成、多輪對話、多模態理解、影像生成、串流回應、背景研究任務、函式呼叫、結構化輸出,或從舊的 generateContent API 遷移。此技能涵蓋 Interactions API,這是在 Python 與 TypeScript 中使用 Gemini 模型與代理的建議方式。
Tailwind CSS v4 原則。CSS 優先配置、容器查詢、現代模式、設計 token 架構。
處理使用 Gemini Live API 的即時、雙向串流應用程式時使用此技能。涵蓋基於 WebSocket 的音訊/視訊/文字串流、語音活動偵測 (VAD)、原生音訊功能、函式呼叫、會話管理、用戶端身分驗證的臨時權杖,以及所有 Live API 設定選項。涵蓋的 SDK - google-genai (Python)、@google/genai (JavaScript/TypeScript)。
Python 開發原則與決策。框架選擇、非同步模式、型別提示、專案結構。教你思考而非複製。
自動代理選擇與智慧任務路由。分析使用者請求並自動選擇最佳專家代理,無需使用者明確提及。
| name | code-quality |
| description | 務實的編碼標準與程式碼審查指南。涵蓋命名、函式、反模式、審查清單及 AI 特定的審查模式。取代 clean-code + code-review-checklist。 |
| allowed-tools | Read, Write, Edit, Glob, Grep |
| version | 1 |
| priority | CRITICAL |
關鍵技能 — 保持簡潔、直接、以解決方案為導向。
| 原則 | 規則 |
|---|---|
| SRP | 單一職責 — 每個函式/類別只做一件事 |
| DRY | 不要重複自己 — 提取重複,重用 |
| KISS | 保持簡單 — 最簡單且能運作的方案 |
| YAGNI | 你不會需要它 — 不建置未使用的功能 |
| 童子軍 | 讓程式碼比你發現時更乾淨 |
| 元素 | 慣例 |
|---|---|
| 變數 | 揭示意圖:userCount 而非 n |
| 函式 | 動詞 + 名詞:getUserById() 而非 user() |
| 布林值 | 問句形式:isActive、hasPermission、canEdit |
| 常數 | SCREAMING_SNAKE:MAX_RETRY_COUNT |
規則: 如果你需要註解來解釋名稱,那就重新命名它。
| 規則 | 說明 |
|---|---|
| 小 | 最多 20 行,理想 5-10 行 |
| 一件事 | 做一件事,做好它 |
| 一個層級 | 每個函式一個抽象層級 |
| 少參數 | 最多 3 個參數,偏好 0-2 個 |
| 無副作用 | 不意外地修改輸入 |
| 模式 | 應用 |
|---|---|
| 守衛子句 | 邊界案例提前回傳 |
| 扁平 > 巢狀 | 避免深層巢狀(最多 2 層) |
| 組合 | 小函式組合在一起 |
| 共置 | 保持相關程式碼靠近 |
// ❌ 程式碼中模糊的 prompt
const response = await ai.generate(userInput);
// ✅ 結構化且安全的 prompt
const response = await ai.generate({
system: "You are a specialized parser...",
input: sanitize(userInput),
schema: ResponseSchema
});
| ❌ 模式 | ✅ 修復 |
|---|---|
| 每行都註解 | 刪除顯而易見的註解 |
| 為一行程式碼建立 helper | 內聯程式碼 |
| 為 2 個物件建立 Factory | 直接實例化 |
| 只有 1 個函式的 utils.ts | 把程式碼放在使用處 |
| "首先我們匯入..." | 直接寫程式碼 |
| 深層巢狀 | 守衛子句 |
| 魔術數字 | 具名常數 |
| 上帝函式 | 按職責拆分 |
any 型別 | 正確的型別 |
| 過長函式(100+ 行) | 小而專注的函式 |
// 阻擋性問題使用 🔴
🔴 BLOCKING: 此處有 SQL 注入漏洞
// 重要建議使用 🟡
🟡 SUGGESTION: 考慮使用 useMemo 提升效能
// 小建議使用 🟢
🟢 NIT: 偏好 const 而非 let 用於不可變變數
// 問題使用 ❓
❓ QUESTION: 如果 user 為 null 這裡會怎樣?
| 情境 | 行動 |
|---|---|
| 使用者要求功能 | 直接撰寫 |
| 使用者回報 bug | 修復它,不要解釋 |
| 沒有明確需求 | 詢問,不要假設 |
| 問題 | 原因 |
|---|---|
| 什麼匯入了這個檔案? | 它們可能會壞掉 |
| 這個檔案匯入了什麼? | 介面變更 |
| 什麼測試覆蓋了這裡? | 測試可能會失敗 |
| 這是共用元件嗎? | 多處受影響 |
🔴 規則: 在同一個任務中編輯該檔案 + 所有相依的檔案。 🔴 絕不留下壞掉的匯入或遺漏的更新。
| 檢查 | 問題 |
|---|---|
| ✅ 目標達成? | 我做了使用者要求的事嗎? |
| ✅ 檔案已編輯? | 我修改了所有必要的檔案嗎? |
| ✅ 程式碼能用? | 我測試/驗證了變更嗎? |
| ✅ 沒有錯誤? | Lint 和 TypeScript 通過了嗎? |
| ✅ 沒有遺漏? | 有邊界案例被遺漏嗎? |
🔴 規則: 如果任何檢查失敗,在完成前修復它。
| 做 | 不做 |
|---|---|
| 直接寫程式碼 | 寫教學 |
| 讓程式碼自我文件化 | 加上顯而易見的註解 |
| 立即修復 bug | 先解釋修復方法 |
| 內聯小東西 | 建立不必要的檔案 |
| 清楚地命名 | 使用縮寫 |
| 保持函式小 | 撰寫 100+ 行的函式 |
記住:使用者要的是能用的程式碼,不是程式設計課。