skills/desktop-smoke/SKILL.md
Windows 桌面應用煙霧驗證流程。當需要在修改 WinForm 或 WPF 應用後驗證行為,或使用者要求測試桌面程式、檢查視窗程式的互動與畫面時使用。
npx skillsauth add CloudyWing/ai-dotfiles desktop-smokeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
此 Skill 用於完成 WinForm 或 WPF 桌面應用變更後的低成本煙霧驗證。它不是完整 E2E 測試框架,不負責新增可重跑的測試案例;若使用者要求建立正式測試,改依專案既有測試架構處理。
符合任一條件時套用:
integration-verify 判定為桌面應用專案後路由進入。以下情境不強制套用:
dotnet build,確認編譯通過。編譯失敗先修正再繼續。AI 看不到桌面視窗,實際能做到的程度取決於環境提供的工具。依序判斷,採用最高可用層級。
當前環境若提供桌面 UI 操作工具(如基於 FlaUI 的 MCP server 所暴露的工具),優先使用,比照 browser-smoke 操作瀏覽器的方式:
此為一次性即時驗證,不產生可重跑的測試案例。
無桌面操作工具,但專案已整合 FlaUI、WinAppDriver 或 Appium:
dotnet run 在背景啟動程式(GUI 程式不會自行返回,須以背景或非同步方式啟動以免阻塞工具呼叫),等待數秒後確認 process 仍存活、未設定非零 exit code、stdout / stderr 無未處理例外,檢查後主動結束該 process。這只能證明「啟動後沒有立即崩潰」,不能證明畫面或互動正確。提高自動化程度的方向:桌面程式的邏輯與 UI 分離得越好(WPF 採 MVVM、商業邏輯抽離 code-behind),可被單元測試與層級 A / B 涵蓋的比例越高。若要長期提升,可評估在專案導入 FlaUI(.NET 原生、較輕量)或 WinAppDriver + Appium。
以 integration-verify 為單一來源的共用規範(行為基準、結果驗證原則、主動詢問規範、步驟二判定執行環境、步驟六寫入回查 gate、資料異動安全規範、修正迴圈):由 integration-verify 路由進入時已套用;獨立執行本 skill 時,先讀取上述各節並套用。
修正迴圈規範以 integration-verify §修正迴圈 為單一來源,由 integration-verify 路由進入時已套用;獨立執行本 skill 時,先讀取並套用。本 skill 重跑驗證時的標的為「同一組桌面驗證」。
停止時回報(本 skill 領域專屬延伸):
驗證結束後(成功或中止皆適用):
dotnet run 自行啟動的桌面程式。完成後用精簡格式回報:
桌面應用煙霧驗證:
- 程式 / 視窗:
- 驗證層級:A / B / C
- 檢查項目與結果:
- 修正迴圈:
- 未解決項目:
若沒有問題,未解決項目 可省略。採用層級 C 時,必須附上手動檢查清單。若未能執行驗證,必須說明缺少的工具、服務或資料條件。
有未解項目或阻塞條件時的檔案輸出:
integration-verify 呼叫時,未解項目交回由其統一輸出,不自行寫檔。<work-root>/.local/ai-sessions/verify-pending.md(覆寫模式)。tools
產生或補齊 .gitattributes,統一行尾處理、二進位識別與 lock files 標記,保留既有自訂偏好。
development
產生或補齊前端 Lint 設定(Prettier + ESLint Flat Config),統一格式化與程式碼品質規則,保留既有自訂偏好。
testing
依據事實校閱報告修改技術文件:以事實層為不可違反的約束,由改檔者負責表達層的措辭與行文連貫。Use when the user asks to apply fact-check results to a document, or to edit a document based on a previously produced fact-check-report.md.
data-ai
多份資料檔整合流程。當需要將兩份以上的資料檔(如 JSON、CSV)合併、補齊闕漏欄位或去重成單一檔案時使用。以 dry-run、筆數核對與抽樣比對降低整合錯誤。