Communityコーディング&開発github.com

zhutao100/swift-gui-verifiable-loop-skill

SwiftUI GUIの変更に対して、xcodebuild + .xcresult証跡 + xcresulttool抽出、スナップショットテスト、アクセシビリティ監査、小規模なXCUITestスモークフローを使用して、決定論的でエージェントフレンドリーなクローズドループを作成・実行するスキル。

swift-gui-verifiable-loop-skill とは?

このスキルは、SwiftUIおよびiOS/macOS向けのGUI変更を検証するための決定論的かつエージェントフレンドリーなクローズドループを提供します。xcodebuild を使用したビルドとテストの実行、.xcresult ファイルからの証拠抽出(xcresulttool を使用)、スナップショットテスト、アクセシビリティ監査、そして小規模なXCUITestスモークテストフローを統合しています。主な利点は、AIエージェントがGUIの変更を自動的に検証し、回帰を検出できる点です。対応プラットフォームはmacOS(AppKit)とiOS(UIKit)です。ワークフローは、ビルド・テスト実行、結果の解析、スナップショット比較、アクセシビリティチェック、XCUITestの実行を自動化し、開発サイクルを加速します。

対応~Claude Code~Codex CLI~Cursor
npx skills add zhutao100/swift-gui-verifiable-loop-skill

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

swift-gui-verifiable-loop-skill は何をしますか?

SwiftUI GUIの変更に対して、macOS(AppKit)およびiOS(UIKit)上で、決定論的でエージェントフレンドリーなクローズドループを作成・実行するスキルです。xcodebuild + .xcresult証跡 + xcresulttool抽出、スナップショットテスト、アクセシビリティ監査、小規模なXCUITestスモークフローを使用します。

概要

このスキルは、AIエージェントがSwiftUI GUIの変更を自動的に検証できるように設計されています。ビルド、テスト実行、結果抽出、スナップショット比較、アクセシビリティチェック、XCUITest実行を1つのループに統合します。

前提条件

  • macOS または iOS 開発環境
  • Xcode 13 以上
  • Swift 5.5 以上
  • 対象プロジェクトのルートディレクトリにアクセス可能であること

使用方法

  1. プロジェクトのルートディレクトリで、以下のコマンドを実行してスキルを呼び出します:
skill run zhutao100/swift-gui-verifiable-loop-skill --target <ターゲット> --scheme <スキーム>
  1. スキルは自動的に以下の手順を実行します:

    • xcodebuild test を実行して単体テストとUIテストをビルド・実行
    • .xcresult ファイルから xcresulttool を使用してテスト結果を抽出
    • スナップショットテストを実行(SnapshotTesting ライブラリを使用)
    • アクセシビリティ監査を実行(XCTAssertNoAccessibilityIssues を使用)
    • 小規模なXCUITestスモークフローを実行
  2. 結果はコンソールに出力され、.xcresult ファイルとして保存されます。

環境変数

変数名説明デフォルト値
TARGETテスト対象のビルドターゲット必須
SCHEME使用するXcodeスキーム必須
DESTINATIONテスト実行先(シミュレータ等)platform=macOS または platform=iOS Simulator

出力

  • テスト結果:.xcresult ディレクトリ
  • スナップショットテスト:__Snapshots__ ディレクトリ
  • アクセシビリティ監査結果:コンソールログ
  • XCUITest結果:コンソールログと .xcresult

サポート

問題が発生した場合は、リポジトリの Issue を作成するか、メンテナーに連絡してください。

関連スキル