>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Unknown

ニューラルネットワークに古いSwiftUIコードを生成させない方法

SwiftUI Pro - Agent Skill for Claude Code, Codex, and Gemini

Designed for iOS 26 and later. Designed for Swift 6.2 and later. Twitter: @twostraws

ClaudeやCursorのモダLLMでiOSレイアウトの生成を試みたことがある方なら、ある種の癖に気づいているかもしれません。モデルは自信满满に画面を出力し、コンパイラも文句を言わないのに、その裏には古いAPIの動物園が広がっています。例えば、Appleが数年前にアーカイブしたNavigationViewや、ビルトインモディファイアがずっと前から存在しているアニメーションに対する自作ワークアラッチなどがそうです。

VoiceOverに関しては最悪です。アシスタントはカスタムジェスチャの層を積み上げがちで、視覚障碍ユーザーのアクセシビリティを完全に壊してしまいます。

Hacking with Swiftプロジェクトの著者であるPaul Hudsonは、この問題を体系的に解決しました。彼はtwostraws/SwiftUI-Agent-Skillリポジトリを作成し、アシスタントに宣言型UIの正しい習慣を教えています。

SwiftUI Proとは

本質的には、オープンなAgent Skills標準に特化したスキルです。この形式はClaude Code、Codex、Gemini、Cursor、Xcode拡張機能でサポートされています。

システムプロンプトで「非推奨の構文は使わないように」と何度も言い続ける代わりに、エージェント готовую базу готовую rulesデータベースに接続します。このスキルはAGENTS.mdプロジェクトのHUDSONの研究に基づいており、大規模言語モデルが最もよくつまずく落とし穴に特化して焦点を当てています。

このナレッジベースに含まれるもの:

  • 現在のナビゲーションと状態バインディングのカバレッジ
  • ビューの再描画を最適化するルール
  • VoiceOverコントロールのアクセシビリティチェック
  • コンパイラはまだ受け付けるが、もう書くべきではないソフト非推奨メソッドのカタログ

著者はプラットフォームの他の部分にも同様のスキルを持っています:SwiftData Pro、Swift Concurrency Pro、Swift Testing Proです。

スキルをツールにインストールする方法

npx経由でのセットアップは1分もかかりません:

npx skills add https://github.com/twostraws/swiftui-agent-skill --skill swiftui-pro

このコマンドは、すべてのプロジェクトでスキルをグローバルに有効にするか、現在のリポジトリにのみバインドするかを尋ねます。

Claude Codeを使用している場合は、ビルトインのプラグインリーダーを使用できます:

/plugin marketplace add twostraws/SwiftUI-Agent-Skill
/plugin install swiftui-pro@swiftui-agent-skill

Xcodeユーザーの場合、著者は開発ワークフローへの統合をカバーする別の動画を録画しています。好む場合は、リポジトリをクローンしてローカルでルールを使用することもできます。

チェックを実行する方法

インストール後、スキルはコマンドまたは自然言語で有効になります。Claude Codeでは、次のように入力するだけです:

/swiftui-pro

Codexアシスタントは同様の構造に応答します:

$swiftui-pro

コマンドにコンテキストをすぐに提供して、エージェントがフルファイル監査に時間とトークンを浪費しないようにできます。例えば:

/swiftui-pro Check for deprecated API

または通常のプロンプトで:「SwiftUI Proスキルを使用して、このモジュールのパフォーマンスの問題を見つけてください。」

トークンの節約と明白でないものへのフォーカス

プロジェクトの哲学における興味深い詳細:著者は命令のサイズを厳密にコントロールしています。モデルがプロンプトなしで既に知っている基本事項(VStackの構文や.padding()モディファイアなど)は意図的に含まれていません。コンテキストのすべての行がコンテキストウィンドウの上限を消費するため、ルールには微妙なポイント、エッジケース、明白でないレンダリングの落とし穴だけが含まれています。

独自のルールでプルリクエストを提出したい場合は、2つの条件覚えておいてください:言葉の最大簡潔さとMITライセンスです。

Hacking with Swift+ logo

 

Hacking with Swift logo
A Hacking with Swift Project

このリポジトリが役立つ人

iOSまたはmacOS向けに開発していて、エディタでAIエージェントを積極的に使用しているなら、確かにインストールする価値があります。ニューラルネットワークが生成したレガシーコードをクリーンアップする必要がなくなり、インターフェース生成をすぐにモダンなSwift標準に向かわせることができます。

小さなペットプロジェクトでnpx経由でインストールして始め、アシスタントにアニメーションを含む画面をレビューしてもらいましょう。提案される差分の違いがすぐにわかるでしょう。

関連プロジェクト