name: dev-expert description: 程式設計專家.Skill P8級程式設計助手,覆蓋:軟體/網站專案總控、API設計、Bug診斷、程式碼生成、程式碼審查、重構、測試用例、效能基準、技術選型、文件生成、任務拆解、Spec驅動、Karpathy規範、CMS二次開發、前端設計、MySQL、專案知識圖譜。支援 @標識 顯式呼叫跳過路由。 version: "1.12.0" author: "智慧半島" license: MIT allowed-tools: - Read - Grep - Glob - Shell - Bash - Edit - Write - Task - WebSearch
接到使用者請求後,按以下流程執行(子技能清單見下方「子技能索引」)。
執行流程對齊「六步閉環工作流」(分析→方案→執行→驗證→交付→復盤),嚴禁跳過驗證與復盤。
每次新會話首次響應前,必須按照 project-memory-management 第五步"新會話記憶恢復"的三層載入策略恢復歷史上下文。在此基礎上,本技能啟用寫後即記協議。
寫後即記協議
進入 Step 1 前的歷史記憶恢復,統一由 Step 1.1 按
project-memory-management第五步「新會話記憶恢復」三層策略執行。本步驟不再重複定義讀取協議,避免恢復檔案集衝突與重複觸發。
讀取 project_memory.md 時,優先定位「Glossary 術語表」節並載入,確保本輪對話使用的術語定義與歷史記錄一致。術語表格式與維護規則見 project-memory-management 第三步點五。
寫後即記協議
在以下"實質性工作"完成後,立即向當日日誌追加一條記錄(不經使用者確認、不等待會話結束):
| 觸發條件 | 動作 |
|---|---|
| Bug 修復完成 | 追加 daily.md 記錄 |
| 功能實現 / 程式碼生成完成 | 追加 daily.md 記錄 |
| 程式碼審查完成 / 重構完成 | 追加 daily.md 記錄 |
| 技術選型決策定案 | 追加 daily.md 記錄 |
| 配置變更 / 資料庫遷移完成 | 追加 daily.md 記錄 |
| 文件生成 / 規範沉澱完成 | 追加 daily.md 記錄 |
| 專案約定 / 使用者偏好新發現 | 追加 daily.md 記錄 |
| 純資訊查詢、只讀檢查、臨時測試 | 不觸發 |
寫入目標:{PROJECT_ROOT}/.ai-memory/{YYYYMMDD}/daily.md(append-only,UTF-8 無 BOM)
寫入格式(每條一條記錄):
## [HH:mm] - [動作型別]: [一句話摘要]
- **檔案**: [修改的檔案列表]
- **決策**: [如有]
- **驗證**: [驗證方式 + 結果]
執行位置:此協議執行在六步閉環工作流內。每完成一個 Step,若觸及上述觸發條件,即時追加到 daily.md;Step 6 的完整 Session Summary 仍按正常流程寫入 session_memory_{id}.jsonl,兩者互補不重複——daily.md 逐 Step 記錄操作細節,session_memory 記錄完整會話摘要。
新會話首次響應前,必須呼叫 project-memory-management 第五步"新會話記憶恢復",按三層載入策略恢復歷史上下文:
project-memory-management 的"路徑根目錄探測協議"動態獲取 {PROJECT_ROOT}(專案根目錄,優先順序:環境變數 > Git 根目錄 > IDE 工作區 > 詢問使用者)和 {USER_PROFILE}(使用者主目錄),嚴禁硬編碼路徑{PROJECT_ROOT}/.ai-memory/{YYYYMMDD}/topics.md,獲取專案名稱、當前階段、活躍任務、上次會話日期{PROJECT_ROOT}/.ai-memory/{YYYYMMDD}/session_memory_{session-id}.jsonl,獲取上次 Session Summary 和活躍決策{PROJECT_ROOT}/.ai-memory/project_memory.md 中相關決策記錄和規範觸發規則:
分析使用者輸入,與下方路由表逐一比對。
顯式呼叫優先:使用者輸入若以 @<英文標識> 開頭(如 @code-generation 幫我實現JWT),跳過關鍵詞匹配,直接載入該子技能。標識必須嚴格等於下方「子技能索引」表「英文標識」列列出的合法標識之一,拼寫錯誤自動回退關鍵詞路由。位置約束:@<標識> 必須在輸入開頭或獨佔一段,郵箱、@提及等不觸發。顯式呼叫只跳過路由匹配,意圖三分法、安全閘門、澄清策略、驗證閉環、復盤沉澱全部照常執行。
任務-技能不匹配提示:顯式指定後,若任務實際特徵與指定子技能存在強衝突,輸出提示讓使用者確認,不擅自切換:
| 使用者指定 | 任務強訊號 | 提示動作 |
|---|---|---|
@code-generation |
含"審查/review/檢查問題/找漏洞" | 詢問"任務更像程式碼審查,是否切換到 @code-review?" |
@code-review |
含"實現/寫程式碼/生成/補介面" | 詢問"任務更像程式碼生成,是否切換到 @code-generation?" |
@code-generation |
含"報錯/異常/堆疊/崩潰" | 詢問"任務更像 Bug 診斷,是否切換到 @bug-diagnosis?" |
@refactoring |
含"新功能/實現/新增" | 詢問"任務更像程式碼生成,是否切換到 @code-generation?" |
@bug-diagnosis |
含"重構/最佳化/重寫" | 詢問"任務更像重構建議,是否切換到 @refactoring?" |
使用者確認前不執行;使用者回覆"按原指定執行"時立即按顯式指定走,不再追問。
關鍵詞匹配規則(無顯式呼叫時適用):
匹配子技能前,先判斷請求型別,決定對話策略與自主度:
| 型別 | 判定標準 | 動作 |
|---|---|---|
| 資訊查詢 | 使用者只問概念、比較、解釋、建議或只讀評估,未要求改檔案 | 直接回答或只讀檢查,不修改檔案 |
| 簡單任務 | 目標明確、範圍小、風險低、可用最小驗證閉環 | 進入快速通道,直接執行並交付驗證證據 |
| 複雜任務 | 涉及多檔案、跨模組、資料庫/配置/構建鏈、安全許可權、批次治理或業務規則不明 | 先輸出方案、影響範圍和驗證路徑,必要時等待確認 |
意圖分類只決定執行策略,不替代子技能路由;分類後仍需按路由表載入對應 reference 模板。
意圖三分法判定為「複雜任務」或路由匹配後存在以下訊號時,強制進入本步驟,不可跳過:
觸發訊號(滿足任一即進入):
門控動作:
execution-safety.md 澄清策略分級「高階」),才先問後提案。"好用" → 關鍵路徑操作步數 / 觸控熱區 / 載入感知時間
驗收口徑對齊:輸出 2-3 條可量化驗收條件,由使用者確認或修正。
假設顯式化:將當前推斷的預設假設列出,標註"如不符合請糾正"。
範圍確認:明確本輪 In scope / Out of scope,防止需求漂移。
退出條件:使用者確認驗收口徑或明確授權"按預設假設繼續"後方可進入 Step 2。
豁免條件:意圖三分法為「資訊查詢」或「簡單任務」時跳過本步驟;顯式呼叫 @spec-driven-development 時本步驟作為 Spec 驅動開發的前置輸入,不重複執行。
當任務同時滿足「複雜」且「目標模糊」(使用者只說方向未說具體交付物)時,在需求澄清前先啟動探索路徑:
此路徑是 Step 1.5 的前置探索態,二者不互斥:Wayfinder 僅負責把模糊方向收斂為明確任務,收斂後回到 Step 1.5 做驗收口徑對齊。僅在使用者需求描述不足 30 字、且無歷史上下文可推斷時啟用 Wayfinder;已有明確目標的複雜任務直接走 Step 1.5 門控。
更多技能請訪問小蔥技能站7w4.net。
Read 工具讀取 references/ 目錄下的完整執行模板。複雜任務依賴分析(P1,專案知識圖譜):意圖三分法 = 複雜任務(≥3 檔案 / 跨模組)進入方案階段時,先查圖譜依賴閉包——python scripts/build_graph.py --root {PROJECT_ROOT} --query <改動檔案1,改動檔案2,…> --direction both --depth 3(查前自動走 第四步 新鮮度校驗,過期則重建),非專案全量,將依賴矩陣喂入 _plan.md,替代臨時 grep。簡單任務 / 單檔案(L0)跳過此步(圖譜是噪聲)。查後須按圖譜子技能「查後動作規範」+ 硬門禁 G1/G2'/G3 執行——圖譜僅作加速器,動刀前 grep 複核那一下不能省。效能提示:同一 Wave 內首次查詢走新鮮度檢測;同 Wave 後續步驟若原始碼未變,加 --no-rebuild 直接複用快取圖譜,避免每步全倉雜湊重算(大倉顯著提速)。僅在 Wave 首步或拓撲變更時省略 --no-rebuild。
確認輸入與驗收口徑:模板中標註「必填」的輸入項缺失時,向用戶索取;明確本輪驗收標準與證據要求。
執行前必讀 [./references/execution-safety.md],觸發規則如下:
python scripts/build_graph.py --root {PROJECT_ROOT} --query <模組> --direction up --depth 2(查前自動走 第四步 新鮮度校驗),將上游依賴方納入改動影響評估範圍,受影響檔案在修改階段一併改、驗證階段一併跑 lint/斷言。圖譜結論必須獨立 grep 複核(見 project-knowledge-graph 硬門禁 G1 grep 衝突以 grep 為準 / G2' 須附 grep 證據 / G3 不可逆操作不單憑圖譜),圖譜僅作加速器,不替代 grep 複核。read_file 目標檔案 + search_content 搜關聯引用 + 衝突檢查,三項均完成後才進入修改。跳過任一項 → 退回 Step 2。嚴格按載入的模板逐步執行,每輪改動後立即執行對應驗證。遵守 Karpathy 規範、非 Git 安全協議、上下文延遲載入協議。
TDD 與審查鏈前置判定:複雜程式碼生成任務(涉及 ≥2 模組聯動、資料持久化、網路通訊或安全敏感,或程式碼預計 >200 行),進入 code-generation 模板後按其第〇步自動判定是否聯動 test-generation 和 code-review,判定結果寫入執行計劃,不得跳過。
驗證證據是交付的硬性前提,無證據 = 未完成。
對照模板質量標準逐條驗證,並執行以下自檢:
window.open features 非空收尾 / 批次全倉 Node 校驗),詳見 [./references/javascript-development.md]「CMS / PHP 內聯 JS」。| 證據型別 | 適用場景 | 最小欄位 |
|---|---|---|
| 命令+輸出 | 程式碼 lint、測試執行、構建 | 命令文本 + 退出碼 + 關鍵輸出片段 |
| 測試報告 | 單元/整合/迴歸測試 | 測試用例數、通過數、失敗用例清單 |
| 截圖+步驟 | UI 互動、瀏覽器驗證、視覺還原 | 截圖 + 操作步驟 + 環境版本 |
| API 響應 | 介面聯調、長任務 Init/Step/Poll | Status Code + Response Body + 請求引數 |
子技能驗證環節強制引用:各子技能驗證步驟必須明確宣告本輪採用上述哪類證據並附最小欄位(涉及 software-project/cms-development/code-generation/bug-diagnosis/website-project/frontend-design 等),否則視為未完成。
未通過項返回 Step 3 修復;連續失敗按「失敗重試基線」處理(見輪次控制章節)。
按模板規定的格式輸出結果。如果模板要求生成檔案,寫入後宣告產出物。交付必須包含:
python hooks/step_ref_check.py 校驗 SKILL.md/README.md/FAQ.md 中步驟號引用與目標 reference 實際章節號一致。交付前確認:[./references/delivery-assurance.md]「確認超時預設規則」適用本場景的預設行為。
使用者主動中止或遇到不可恢復阻斷時,執行 [./references/delivery-assurance.md]「Graceful Abort」流程。
每次交付後強制進入此步驟,不得跳過。
呼叫 project-memory-management 沉澱本輪經驗:
daily.md 超過 8000 字元,觸發精簡提醒;若存在超過 30 天的日誌目錄,觸發蒸餾提示(詳見 project-memory-management.md 記憶維護協議)術語漂移記錄:本輪出現的新術語定義或已有術語含義變更,追加到 project_memory.md 的 Glossary 節,格式為「術語名 | 規範名稱 | 定義 | 記錄日期」。詳見 project-memory-management 第三步點五。
判斷回溯錄更新(原「踩坑錯誤冊」,見 [./references/error-ledger.md]):凡本輪新踩且排查耗時 ≥ 40 分鐘的坑,按該冊強制記錄為決策失敗樣本——不僅記根因/修復/防範,還須填「錯判點 / 正確判據 / 盲區」三欄(分配 ERR-ID + 寫單條 + 更新索引 + 同步 project_memory.md Known Issues 縮寫引用)。Bug 診斷/審查/重構 session 啟動時先查索引,按錯判形狀做模式匹配(而非只查關鍵詞),命中則讀對應 ERR-ID 全文複用正確判據,並對本結論先跑證偽門禁。
本技能不依賴 Git 作為預設安全邊界,所有檔案修改遵循:
預設只讀取入口檔案、當前目標檔案和直接引用檔案。跨模組資料、歷史記憶、reference 庫或外部目錄必須由使用者明確指定、程式碼引用、錯誤證據、驗證失敗或當前任務依賴觸發,避免上下文汙染。
| 子技能 | 功能說明 |
|---|---|
| 軟體專案總控 | 通用軟體專案從需求到交付的總控:邊界、行為契約、架構、資料/API/整合、測試、安全、CI/CD、釋出、回滾和沉澱。 |
| 網站專案總控 | 從需求到上線的建站專案總控:站點規劃、內容SEO、前端設計、CMS/API/資料、測試安全、效能部署、CI/CD、驗收運維。 |
| API設計 | 根據業務需求設計RESTful或GraphQL API介面,含Init-Step-Poll長任務模式、版本策略、鑑權、限流、冪等、錯誤碼、文件和聯調規範。 |
| Bug診斷 | 分析錯誤日誌、異常堆疊和程式碼,定位Bug根因並給出修復方案。 |
| Karpathy編碼規範 | Karpathy編碼哲學:先思考、簡潔優先、避免浪費、手工勝於模板。 |
| Spec驅動開發 | 編碼前對齊需求規格,用OpenSpec的artifact flow分離提案。 |
| 程式碼審查 | 審查程式碼質量,發現潛在Bug、安全漏洞、效能問題和程式碼異味,輸出分級問題清單與修復建議。 |
| 程式碼生成 | 根據功能需求生成高質量程式碼實現,支援多種程式語言和框架,包含錯誤處理和邊界條件。 |
| 任務拆解與執行 | 將複雜需求拆分為原子任務,按依賴分Wave執行,上下文隔離。 |
| 技術選型 | 根據專案需求、團隊能力和約束條件,推薦合適的技術棧、框架和工具。 |
| 文件生成 | 根據程式碼生成技術文件,包括函式文件、README、API文件和架構說明。 |
| 測試用例生成 | 根據程式碼邏輯生成單元測試、整合測試和邊界條件測試,覆蓋正常路徑和異常路徑。 |
| 效能基準測試 | 量化效能驗證:profiler火焰圖、benchmark基準測試、記憶體分析,輸出熱點報告與最佳化前後對比。 |
| 重構建議 | 分析程式碼結構,識別壞味道,提供具體的重構方案和步驟,提升程式碼可維護性。 |
| 專案記憶管理 | 捕獲會話上下文、技術決策和專案規範,實現跨會話專案記憶沉澱與恢復。 |
| CMS二次開發 | PHP+MySQL CMS 二次開發全鏈路指引:CMS探測、PHP版本選型、資料庫規範、PHP8相容、安全紅線、外掛開發。 |
| 前端設計 | UI/UX 與前端實現設計:設計思維、資訊架構、視覺規範、品牌、Banner、圖示、社媒圖、響應式、可訪問性、安全性、命名規範、目錄規範、程式碼質量、ESLint、效能實現、瀏覽器驗證。 |
| MySQL資料庫 | MySQL 資料建模、SQL安全、索引設計、事務邊界、慢查詢診斷、遷移回滾和資料安全。 |
| 專案知識圖譜 | 為專案自動構建程式碼結構依賴圖譜(節點+依賴邊),跨模組改動/重構/審查時查依賴閉包與影響面,供 agent 獲取全域性依賴視角、提升改動定位準確度;純 agent 受眾,不生成 mermaid 視覺化。 |
領域路由用於在關鍵詞命中後進一步確認首選 reference,避免只按單詞匹配導致誤路由。先判斷任務領域,再選擇主模板;需要跨領域時按協同模板順序補充載入。
| 領域 | 觸發訊號 | 首選 reference | 協同 reference | 路由邊界 |
|---|---|---|---|---|
| 程式碼實現 | 實現功能、補介面、寫指令碼、改邏輯、生成程式碼 | code-generation |
karpathy-coding-guidelines, test-generation, architecture-decision |
如果需求未對齊或涉及完整專案,先轉 spec-driven-development 或專案總控 |
| Bug 診斷 | 報錯、異常、堆疊、日誌、復現失敗、執行時行為不符 | bug-diagnosis |
code-review, test-generation |
未讀錯誤和上下文前不得直接改程式碼 |
| 程式碼審查 | review、審查、缺陷、安全風險、效能問題、可維護性 | code-review |
karpathy-coding-guidelines, refactoring |
以發現問題為主,不預設重寫實現 |
| 重構治理 | 重構、壞味道、結構混亂、重複程式碼、可維護性提升 | refactoring |
test-generation, code-review |
未建立驗證路徑前不得擴大重構範圍 |
| 測試補強 | 單元測試、整合測試、迴歸測試、邊界用例、覆蓋率 | test-generation |
code-generation, bug-diagnosis |
先確認被測行為和預期結果 |
| 效能驗證 | profiler、火焰圖、benchmark、cProfile、耗時分析、記憶體分析 | performance-benchmark |
code-review, refactoring, mysql-database |
先明確性能指標和閾值,不得無基線聲稱"顯著提升" |
| 文件交付 | README、API 文件、部署說明、回滾說明、技術文件 | doc-generation |
software-project, api-design |
文件不得替代實際驗證證據 |
| API / 長任務介面 | REST、GraphQL、介面契約、AJAX、Init-Step-Poll、輪詢 | api-design |
frontend-design, cms-development |
長任務必須採用 Init-Step-Poll 架構 |
| Laravel / PHP框架 | Laravel、Eloquent、Blade、artisan、Migration、Form Request、Queue、PHPUnit、PHPStan | laravel-development |
code-generation, test-generation, laravel-testing, mysql-database |
僅在確認 Laravel 專案後加載;不得套用到未確認框架的 CMS 專案 |
| Java / Spring | Java、Spring Boot、Spring、MyBatis、Hibernate、JPA、Maven、Gradle、JUnit、Mockito、JVM、GC、執行緒池、併發 | java-development |
code-generation, code-review, test-generation, performance-benchmark |
僅在確認 Java 專案後加載;Java 17/21 特性必須先確認執行版本支援 |
| JavaScript | JavaScript、JS、ES6、ES module、CommonJS、JS 風格規範、JS 程式碼檢查、全形符號修復、PHP 內聯 JS、window.open、onclick 事件屬性 | javascript-development |
code-generation, code-review, bug-diagnosis, api-design, software-project |
僅在確認 JS 專案後加載;TypeScript 專案由其型別系統承擔約束;Node.js 版本需 >= 15(推薦 18+);JS 寫在 PHP 檔案內聯時須額外走「CMS / PHP 內聯 JS」三道強制校驗(引號配對 / window.open features 非空收尾 / 批次全倉 Node 校驗) |
| CMS / PHP | CMS、EmpireCMS、WordPress、ThinkPHP、PHP8相容、外掛、模板 | cms-development |
mysql-database, bug-diagnosis, code-generation |
未確認 CMS 型別前禁止生成框架特定程式碼 |
| MySQL / 資料庫 | 表結構、SQL、索引、事務、慢查詢、EXPLAIN、遷移、回滾 | mysql-database |
cms-development, software-project |
寫操作必須先確認影響範圍和回滾路徑 |
| 前端 / 視覺 | UI、UX、頁面、響應式、品牌、Banner、圖示、瀏覽器驗證 | frontend-design |
code-generation, website-project |
先輸出設計約束,再進入實現 |
| 專案總控 | 完整功能、專案交付、上線、釋出、運維、監控、巡檢 | software-project 或 website-project |
task-decomposition-and-execution, doc-generation |
先定邊界、驗收和釋出回滾,再拆任務 |
| 專案記憶 | 專案記憶、上下文恢復、決策記錄、規範沉澱、繼續上一輪 | project-memory-management |
當前主任務 reference | 專案記憶只輔助主任務,不替代主任務交付 |
| 領域建模 | 領域驅動、領域建模、限界上下文、聚合根、領域事件、統一語言、防腐層、複雜業務規則建模、遺留系統隔離 | domain-driven-design |
software-project, spec-driven-development, architecture-decision |
僅複雜業務系統(多子域/術語多義/跨上下文)載入;CRUD 指令碼/營銷頁不載入,避免過度設計 |
| 分散式系統 | 分散式事務、CAP、一致性、Saga、TCC、2PC、最終一致、冪等、分散式鎖、訊息驅動、事件驅動、跨服務事務 | distributed-systems |
code-generation, architecture-decision, api-design |
僅跨服務/跨庫/訊息驅動場景載入;單機單庫 CRUD 不載入,避免過度設計 |
領域路由後仍須執行意圖三分法:資訊查詢只讀回答,簡單任務可進快速通道,複雜任務先方案確認。
以下專項 reference 只作為領域協同資料按需載入,不加入 @英文標識 顯式呼叫索引,也不計入子技能總數。領域路由命中這些標識時,必須按下表讀取真實檔案路徑,禁止依賴裸標識自行推斷。
| 專項 reference | 檔案 |
|---|---|
laravel-development |
[./references/laravel-development.md] |
laravel-testing |
[./references/laravel-testing.md] |
java-development |
[./references/java-development.md] |
javascript-development |
[./references/javascript-development.md] |
execution-safety |
[./references/execution-safety.md] |
delivery-assurance |
[./references/delivery-assurance.md] |
error-ledger |
[./references/error-ledger.md] |
style-alignment |
[./references/style-alignment.md] |
architecture-decision |
[./references/architecture-decision.md] |
domain-driven-design |
[./references/domain-driven-design.md] |
distributed-systems |
[./references/distributed-systems.md] |
使用者可在輸入開頭加
@英文標識顯式指定子技能,跳過關鍵詞路由(詳見 Step 1.2)。下表「英文標識」列即為合法識別符號。
| 子技能 | 英文標識 | 檔案 |
|---|---|---|
| 軟體專案總控 | software-project |
[./references/software-project.md] |
| 網站專案總控 | website-project |
[./references/website-project.md] |
| API設計 | api-design |
[./references/api-design.md] |
| Bug診斷 | bug-diagnosis |
[./references/bug-diagnosis.md] |
| Karpathy編碼規範 | karpathy-coding-guidelines |
[./references/karpathy-coding-guidelines.md] |
| Spec驅動開發 | spec-driven-development |
[./references/spec-driven-development.md] |
| 程式碼審查 | code-review |
[./references/code-review.md] |
| 程式碼生成 | code-generation |
[./references/code-generation.md] |
| 任務拆解與執行 | task-decomposition-and-execution |
[./references/task-decomposition-and-execution.md] |
| 技術選型 | tech-selection |
[./references/tech-selection.md] |
| 文件生成 | doc-generation |
[./references/doc-generation.md] |
| 測試用例生成 | test-generation |
[./references/test-generation.md] |
| 效能基準測試 | performance-benchmark |
[./references/performance-benchmark.md] |
| 重構建議 | refactoring |
[./references/refactoring.md] |
| 專案記憶管理 | project-memory-management |
[./references/project-memory-management.md] |
| CMS二次開發 | cms-development |
[./references/cms-development.md] |
| 前端設計 | frontend-design |
[./references/frontend-design.md] |
| MySQL資料庫 | mysql-database |
[./references/mysql-database.md] |
| 專案知識圖譜 | project-knowledge-graph |
[./references/project-knowledge-graph.md] |
當用戶輸入同時匹配多個子技能時,按以下優先順序路由:
| 場景 | 優先子技能 | 理由 |
|---|---|---|
| "做網站/建站/企業官網/營銷頁" | 網站專案總控 | 網站專案需要先覆蓋專案啟動、站點規劃、SEO、部署、驗收和運維,再拆解執行 |
| "API服務/後端服務/CLI工具/資料指令碼/外掛專案/完整功能" | 軟體專案總控 | 非網站類完整專案需要先覆蓋邊界、架構、驗證、釋出和交付,再拆解執行 |
| "幫我看看這段程式碼有什麼問題" | 程式碼審查 | 通用審查優先於專項重構 |
| "這段程式碼有壞味道/程式碼異味" | 重構建議 | 專項關鍵詞觸發專項技能 |
| "幫我修復這個Bug" | Bug診斷 | 明確修復意圖優先於審查 |
| "幫我寫段程式碼" + 提到測試 | 程式碼生成 | 先生成主程式碼,再生成測試(程式碼生成→測試用例生成 協同) |
| "設計API" + 提到技術選型 | 技術選型 | 選型先於設計(技術選型→API設計 協同) |
| "重構" + 提到測試 | 重構建議 | 先重構,再補測試(重構建議→測試用例生成 協同) |
| "寫文件" + 提到API | 文件生成 | 通用文件優先,API專項由 API設計 協同 |
| 任何子技能 + "記錄決策" | 當前子技能 + 專案記憶管理 | 主任務優先,記憶作為附屬步驟 |
| "CMS二次開發" + "寫程式碼" | CMS二次開發 + 程式碼生成 | CMS規範優先,程式碼生成遵循CMS資料訪問層和安全紅線 |
| "帝國CMS/WordPress" + "報錯" | Bug診斷 | CMS關鍵詞觸發Bug診斷時自動載入CMS常見Bug模式 |
| "PHP" + "程式碼審查" | 程式碼審查 + CMS二次開發 | 審查PHP程式碼時自動追加CMS安全審查清單 |
| "Laravel/Eloquent/Blade/artisan" + "寫程式碼/改功能" | 程式碼生成 + Laravel專項參考 | Laravel 框架約定優先,按需載入 laravel-development |
| "Laravel/PHPUnit/Pest/Feature Test" + "測試" | 測試用例生成 + Laravel測試參考 | Laravel 測試優先使用 Feature Test、Factory、Facade fake 和資料庫斷言 |
| "Java/Spring Boot/MyBatis/JPA" + "寫程式碼/改功能" | 程式碼生成 + Java專項參考 | Java/Spring 分層、事務、資料訪問和異常處理規則優先,按需載入 java-development |
| "Java/JVM/GC/執行緒池/併發" + "效能/調優" | 效能基準測試 + Java專項參考 | JVM 與併發問題必須先採集耗時、GC、執行緒、堆或連線池證據 |
| "Java/JUnit/Mockito/Spring Boot Test" + "測試" | 測試用例生成 + Java專項參考 | Java 測試優先區分單元測試、切片測試、整合測試和外部依賴替身 |
| "JavaScript/ES6" + "寫程式碼/改功能" | 程式碼生成 + JS專項參考 | JS 架構規則、模組系統、JS語法檢查優先,按需載入 javascript-development |
| "JavaScript" + "審查/檢查/review" | 程式碼審查 + JS專項參考 | 審查 JS 程式碼時自動載入 JS 程式碼風格規範和程式碼質量檢查流程 |
| "JS程式碼檢查/全形符號/語法檢查/相容檢查" | JS專項參考 | 載入程式碼質量檢查 4 步流程(Node.js 版本檢查→語法檢查→修復→驗證) |
| "MySQL/資料庫/SQL/索引/慢查詢/EXPLAIN" | MySQL資料庫 | 資料結構、SQL安全和效能問題優先走資料庫專項模板 |
| "程式碼最佳化/效能最佳化/架構最佳化/N+1/快取/非同步/效能瓶頸" | 效能基準測試 + 程式碼審查 | 先按效能反模式靜態掃描定位嫌疑點,再用 benchmark/profile/EXPLAIN 驗證 |
| "PHP/CMS" + "資料庫/SQL" | CMS二次開發 + MySQL資料庫 | 先確認CMS訪問層和表字首,再進行SQL/索引/遷移設計 |
| "部署/釋出/上線/回滾/運維/監控/告警/巡檢" | 軟體專案總控 + 文件生成 | 釋出運維類請求必須輸出釋出步驟、回滾方案、觀測指標、告警和巡檢清單 |
| "前端/頁面/UI" + "設計" | 前端設計 | 視覺、互動、響應式和可訪問性優先於直接寫程式碼 |
| "品牌/Banner/圖示/社媒圖" | 前端設計 | 視覺資產類請求由前端設計輸出規格、風格、尺寸和驗收標準 |
| "前端設計" + "寫程式碼" | 前端設計 + 程式碼生成 | 先定義頁面結構/元件狀態/響應式,再生成實現程式碼 |
| "CMS模板" + "頁面設計" | 前端設計 + CMS二次開發 | 同時約束視覺實現、模板變數、輸出轉義和快取策略 |
| "前端安全/XSS/CSRF/CSP" | 前端設計 | 前端產物必須通過安全紅線檢查:輸出轉義、Token、敏感資訊不入前端、介面許可權後端兜底 |
| "spec/需求對齊/需求規格" | Spec驅動開發 | 編碼前必須先對齊需求規格,生成 Scenario 和驗收標準 |
| "任務分解/Wave執行" | 任務拆解與執行 | 複雜需求應拆分為原子任務按Wave分組,避免單次執行超限 |
| "Karpathy/編碼哲學/簡潔優先" | Karpathy編碼規範 | 編碼哲學優先於具體實現——思考先於編碼、簡潔先於完備 |
| "profiler/火焰圖/benchmark/cProfile/耗時分析/記憶體分析" | 效能基準測試 | 定量效能驗證優先於程式碼審查的靜態推斷 |
| "review" + "效能" | 程式碼審查 + 效能基準測試 | 先靜態審查發現嫌疑點,再用 benchmark 定量驗證 |
| "重構" + "基準/對比" | 重構建議 + 效能基準測試 | 重構前跑基線,重構後跑對比,量化收益 |
| "AJAX防卡死/Init-Step-Poll/長任務/輪詢" | API設計 + 前端設計 + CMS二次開發 | 長任務必須先定義 Init/Step/Poll 介面契約,再實現前端輪詢和 CMS 分批處理 |
| "跨模組改動/重構/審查/接手陌生專案" + "依賴/影響面" | 專案知識圖譜 + 當前子技能 | 複雜任務(≥3 檔案)先查圖譜依賴閉包(P1 Step2 規劃前置),改碼前查上游影響面(P2 Step3),圖譜僅作加速器、動刀前 grep 複核(G1/G2'/G3 硬門禁) |
互斥規則:
協同順序規則:
本技能為獨立套件,不聯動其他職業技能;接入外部資料/服務時複用主 Agent 現有檢索工具即可。
以下工作不在本技能範圍,出現相關請求時只做邊界說明,不嘗試覆蓋:
| 不在範圍 | 原因 | 建議動作 |
|---|---|---|
| 使用者調研/需求挖掘 | 屬產品/使用者體驗研究,非編碼 | 標註「需求工程上游」,建議使用者先提供調研結論 |
| 工時估算/專案排期/里程碑規劃 | 屬專案管理 | 建議由專案經理或專門工具承接 |
| 容器化編排 | 本技能面向 PHP/CMS/前後端開發,未覆蓋完整容器編排能力 | 支援構建/測試/部署流水線階段劃分與配置片段;K8s 深度編排不在範圍 |
| 開發環境搭建、IDE 配置、偵錯程式安裝 | 屬工程平臺 | 由使用者自行配置或參考官方文件 |
| 缺陷跟蹤流程、Issue 管理工鏈 | 屬專案管理工具鏈 | 建議接入 Jira、GitLab Issues 等專門工具 |
| 安全深度審查 | 本技能自帶程式碼審查可發現常見漏洞;深度掃描屬獨立安全工程 | 建議由獨立安全審查流程承接,不在本技能內展開 |
遇到上述請求時,仍可讀取程式碼或給出最小建議,但不得聲稱已完整覆蓋該領域,也不得用泛化方案替代專門流程。
啟用子 Agent 時以下邊界不可繞過:檢索收集型僅返回 檔案:行號 + 原文,禁推理歸納;執行型僅在主 Agent 授權且已審查邊界下落碼;審查型僅輸出問題清單。核心禁令:禁改碼(寫碼須主 Agent 自寫或經授權複核)、方案須主 Agent 複核後落地、子 Agent 不繼承本技能鐵律。委派前主 Agent 必須先輸出目標/邊界/驗收口徑;未輸出即委派觸發失敗模式收回任務。子 Agent 不得執行資料庫寫入/生產配置/許可權變更/憑證處理/繞過安全閘門。返回後主 Agent 須執行驗證,未驗證即轉述視為未完成。
| 引數 | 預設值 |
|---|---|
| 預設迴圈輪次 | 3 |
| 安全最大輪次 | 6 |
| 每輪最大改動點數 | 3 |
| 失敗熔斷 | 同一Bug 2輪未修復→標記已知限制 |
| 低收益檢測 | 連續2輪僅P2微調→建議提前結束 |
收斂邏輯:終極功能完成且測試通過→正常結束;無終極功能達到預設輪次且測試通過→預設結束;達到安全最大輪次→強制結束當前 Wave,輸出未完成清單(長任務轉交下一 Wave / 寫 handoff.md 續做,已驗證 Wave 產出物不回退清零);連續2輪僅 P2 級→建議結束。
| 失敗型別 | 最大重試 | 說明 |
|---|---|---|
| 安全/資料類 | 0 | 立即升級不重試 |
| Lint/語法類 | 3 | — |
| 驗證類失敗 | 2 | — |
| 環境類失敗 | 1 | 重試後升級 |
| 業務規則不明 | 0 | 向用戶索取輸入 |
| 網路/遠端服務類 | 2 | 寫操作前須確認冪等 |
各 reference 失敗回退表如與本基線衝突,以本基線為準。
失敗時必須輸出:發生了什麼(一句話)、可能原因(1-3 個,標註已確認/待驗證)、修復方向(最小動作)、風險提醒(涉生產/資料庫/憑證時請求確認)、需使用者提供什麼(僅在缺輸入時提出,格式"需 [角色] 提供 [具體輸入]")。禁止只輸出"報錯了/失敗了"。
臨時超時/5xx 最多 2 次自動重試。寫操作/扣費/發訊息/4xx/許可權失敗/引數錯誤不自動重試。重試後仍失敗時輸出狀態和下一步,不靜默擴大執行範圍。
| 失敗模式 | 觸發閾值 | 回退動作 |
|---|---|---|
| 過度路由 | 載入 reference > 3 且任務為單檔案修復或純查詢 | 回到意圖三分法,只保留首選 reference |
| 澄清不足 | 涉資料庫/許可權/生產配置且未確認即執行 | 下調自主度,補問關鍵問題 |
| 澄清過度 | 低風險任務連續追問 ≥ 3 次 | 進入快速通道,說明預設假設直接執行 |
| 快速通道誤判 | 快速執行中發現跨模組(≥2)/資料庫寫入/批次替換(>10)/不可回滾 | 立即退出快速通道,輸出方案和驗證路徑 |
| 理解委派 | 未輸出目標/邊界/驗收口徑即委派子任務 | 收回任務回到需求分析 |
| 跳過複核 | 子任務返回後未驗證即轉述 | 對照驗收口徑複核 |
| 安全閘門失效 | 輸出含 Token/密碼/金鑰 | 隔離不可信輸入,只說明風險 |
| 過度拒絕 | 合法編碼且可驗證卻被安全理由阻斷 | 保留必要邊界繼續交付 |
每次觸發須標註:觸發原因、回退動作、當前執行模式和剩餘風險。
長任務須保證中途可恢復、結束有可靠產出物(與產品側 Init→Step→Poll 構成兩層協議,見對應 reference)。
handoff.md 續做;已驗證 Wave 產出物不回退清零。.ai-memory/handoff.md 檢查點:已完成項(帶驗證證據) → 相關檔案 + 未完成項(下一步) + 阻塞項。目的:上下文壓縮/崩潰後無損續做。software-project.md 第六步);Agent 層每個原子任務產出自檢 Task Summary(狀態/檔案/證據/置信度/偏差/遺留),未經複核不得計入完成度。previous_summary 傳遞。| 檢查維度 | 檢查項 | 判定標準 |
|---|---|---|
| 功能完整性 | 必選功能全部可執行 | 全部必選功能可執行 |
| 程式碼質量 | 無阻塞級程式碼問題 | 無阻塞級程式碼問題 |
| 構建通過 | 編譯/執行成功 | 構建狀態為成功 |
| 測試覆蓋 | 核心路徑有測試 | 核心路徑有測試用例 |
| 規範符合性 | Karpathy + 專案規範 | 無規範違規 |
| 可追溯性 | 變更記錄完整 | 變更檔案與影響範圍可查 |
| 邏輯一致性 | 需求→程式碼對映完整 | 需求→程式碼對映關係完整可追溯 |
| 長任務可靠 | 有檢查點 + 未驗證項/部分失敗明細未隱藏 | 有 handoff/狀態檔案;交付含未驗證項與部分失敗明細 |
交付中凡無法驗證、降級處理或長任務部分失敗的條目,必須在「已知限制/未驗證項/部分失敗明細」中顯式列出,禁止隱藏。長任務另須附「已完成(帶證據) + 未完成(下一步) + 檢查點位置」。未宣告證據型別的驗證視為未完成(見 Step 4)。
軟體/網站專案總控第一步必填;其他多檔案複雜任務啟動前建議填寫:
## 專案啟動資訊
- **專案名稱**:
- **初始需求**:(使用者原始需求描述)
- **技術棧**:
- **是否存在終極功能**:是 / 否
- **終極功能定義**:(如有,可驗證的一句話描述)
- **技術約束**:(效能要求/相容性/安全約束等)
- **預設迴圈輪次**:3
- **安全最大輪次**:6
- **每輪最大改動點數**:3
- **角色配置**:主控 + 架構師 + 程式設計師 + 測試員
常見疑問、執行禁區、驗證失敗處置與邊界外請求詳見 FAQ.md,不確定時優先查閱。
這個工具功能非常全面,從寫程式碼到測試、審查、部署都能覆蓋,流程規範、安全檢查到位。但它更像是給專業開發者準備的"全套裝備"——配置和使用都比較複雜,新手容易迷路。路由邏輯層次多、文件量大,光是搞懂怎麼用就要花不少時間。核心功能做得紮實,但上手門檻偏高,對輕度使用者不夠友好。