Communitygithub.com

greysonOuyang/ios-engineering-skill

開源 AI 技能,用於端到端的 SwiftUI 與 iOS 工程工作流程

ios-engineering-skill 是什麼?

這是一個專為現有 iOS 產品打造的完整生命週期 AI 技能。它涵蓋從產品決策、設計凍結、實作、審查、除錯、UI 驗證、功能測試、到全應用稽核與最終驗收的每一個環節。開發者可以透過簡單的指令(如 `/ios plan`、`/ios implement`、`/ios debug`)指揮 AI 執行特定任務,而 AI 會根據任務自動切換到對應的操作模式(如規劃、實作、審查、除錯等)。此技能支援多種平台(如 Claude Code、Cursor、Codex),並強調專案特定設定檔優先於通用規則,確保不會憑空發明行為或弱化業務邏輯。它內建豐富的參考文件(如產品架構、資料一致性、SwiftUI 與 iOS UI 等),讓 AI 在必要時載入相關知識,並產出精簡但可驗證的輸出,同時明確區分已確認事實、推測風險與待解決障礙。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add greysonOuyang/ios-engineering-skill

在你喜歡的 AI 中提問

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

說明文件

iOS 工程

目的

使用此單一技能來管理現有 iOS 產品的完整生命週期:

產品決策
→ 設計凍結
→ 實作
→ 審查
→ 除錯
→ UI 驗證
→ 功能測試
→ 全應用稽核
→ 最終驗收

此技能是通用的。產品事實、領域規則、真實模組名稱、建置方案、測試目標、設計權杖和元件名稱必須來自活躍的儲存庫。

調用

建議的指令:

/ios plan <需求>
/ios implement <需求或任務>
/ios review <範圍>
/ios debug <觀察到的失敗>
/ios ui <replicate | review | fix> <畫面或設計>
/ios test feature <功能>
/ios audit app
/ios verify <需求或變更>

自然語言等效形式同樣有效。如果使用者明確指定了模式,請使用該模式。

模式路由

選擇一個主要模式:

  • plan:決定產品結構、需求範圍、使用者體驗、互動、UI 結構、資料迴圈、執行分組與驗收標準。
  • implement:在凍結的需求下變更生產行為。
  • review:檢查已完成或部分完成的工作是否有缺陷與遺漏。
  • debug:追蹤觀察到的失敗直到根本原因,並加入回歸保護。
  • ui:複製、審查或修復渲染的 iOS UI。
  • test:為一個功能或合約增加有針對性的 XCTest 覆蓋。
  • audit:執行分階段的全應用 QA 與跨流程回歸測試。
  • verify:判斷需求是否真正完成。

不要同時激活多個完整工作流程。主要模式在任務跨越邊界時,可以從其他模式載入參考資料。

必要專案探索

在應用通用規則之前,請依此順序搜尋專案特定來源:

  1. .agent/project-profile.md
  2. docs/project/ios-engineering-profile.md
  3. docs/ENGINEERING-SKILL-PROFILE.md
  4. 目前的 issue、PRD、需求或設計文件
  5. 產品與領域規則
  6. 架構與資料流程文件
  7. 設計系統與元件文件(用於 UI 工作)
  8. 測試設定檔、方案、目標與驗證指令

專案事實優先於此技能中的範例。專案規則不能削弱資料完整性、確定性測試、安全性、可存取性或證據要求。

通用操作規則

  1. 在接受要求的控制項或表面作為解決方案之前,先了解真正的使用者目標。
  2. 在提議新的模組、資料擁有者或元件之前,先檢查現有產品與實作。
  3. 偏好順序為「重複使用 → 擴展 → 重構 → 重建」。
  4. 預設提供一個建議解決方案。僅在存在重大取捨或未解決的產品衝突時才提供替代方案。
  5. 區分持久的產品事實與實作筆記及一次性稽核證據。
  6. 在修改有狀態的行為之前,先識別權威的狀態擁有者與完整的讀取/寫入路徑。
  7. 保留明確的非目標與已正確的行為。
  8. 修正最早錯誤的假設或轉換,而不僅僅是可見的症狀。
  9. 使用儲存庫真實的建置、測試、執行時期與視覺進入點進行驗證。
  10. 分別報告已確認的事實、推測的風險、未知事項、證據與剩餘障礙。

硬性規則

  • 請勿發明產品行為、模組名稱、權杖名稱、測試方案或目標名稱。
  • 請勿建立一個平行的真相來源來讓功能看起來運作正常。
  • 請勿使用靜默的後備方案來隱藏遺失的業務資料。
  • 請勿從目前可變的設定中改寫歷史事實。
  • 若無可觸及的失敗路徑,請勿將程式碼異味歸類為已確認的錯誤。
  • 請勿為了讓測試通過而弱化斷言、驗證或業務規則。
  • 請勿使用任意的 sleep 作為同步或正確性的證明。
  • 請勿僅為了符合靜態螢幕截圖而改變產品語義。
  • 在掃描相關範圍並分組發現結果之前,請勿開始修復審查表面。
  • 當使用者已要求實作或修復時,請勿對確定性、範圍內的修正要求使用者確認。
  • 請勿自動解決真正的產品/設計衝突;應記錄衝突與建議的決策。
  • 請勿僅根據編譯成功、勾選的方塊、註解或僅有 mock 的測試就宣告完成。
  • 請勿將每個觀察結果都變成目前範圍內的工作;應分類為當前、暫緩、歷史與全局系統問題。

參考資料載入

僅載入任務所需的資料:

  • 產品架構、需求、使用者體驗、資訊架構或執行提示:
    • modes/plan.md
    • references/product-architecture.md
    • references/requirement-and-ux.md
    • references/interaction-and-state-design.md
  • 任何生產變更:
    • modes/implement.md
    • references/core-engineering-rules.md
  • 寫入、刪除、持久化、歷史、通知、快取、小工具、手錶或跨頁面同步:
    • references/data-consistency.md
    • references/fallback-and-error-handling.md
  • 程式碼審查或無法解釋的行為:
    • references/bug-patterns.md
  • SwiftUI、導航、sheet、安全區域、鍵盤、可存取性或佈局:
    • references/swiftui-and-ios-ui.md
  • 設計複製或渲染後的視覺審查:
    • references/ui-replication.md
    • references/visual-quality-review.md
  • 功能測試:
    • modes/test.md
    • references/testing.md
  • 全應用 QA:
    • modes/audit.md
    • references/full-app-audit.md
  • 驗收或完成聲明:
    • modes/verify.md
    • references/evidence-and-reporting.md
  • 在地化或對文案敏感的工作:
    • references/localization.md

輸出政策

預設輸出應簡潔且可執行。僅在使用者要求完整規格或稽核報告時才擴展內容。

每個正式輸出都必須明確顯示:

  • 已檢查的範圍
  • 產品或工程決策
  • 已確認的發現或已完成的變更
  • 保留的行為與明確的非目標
  • 證據
  • 未解決的風險、決策或未驗證的條件
  • 下一步所需的行動(如果有的話)

當需要持久的報告或執行提示時,請使用 templates/ 下的對應檔案。

相關技能