jpskill.com
💬 コミュニケーション コミュニティ

ios-design-spec

iOSアプリのUIに関する簡単な質問に対し、HIG監査、SwiftUIコンポーネント選択、アクセシビリティチェックを迅速に行うSkill。

📜 元の英語説明(参考)

Quick HIG audit, SwiftUI component selection, and accessibility check for simple iOS UI questions. Use on main agent for lightweight design decisions. Escalate to designer subagent for full screen design, navigation architecture, or complex interaction design.

🇯🇵 日本人クリエイター向け解説

一言でいうと

iOSアプリのUIに関する簡単な質問に対し、HIG監査、SwiftUIコンポーネント選択、アクセシビリティチェックを迅速に行うSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

iOS デザイン仕様

概要

メインエージェント向けの HIG 監査とコンポーネントガイダンスを迅速に行います。コンポーネントの選択、スペーシングルール、アクセシビリティ、テーマへの準拠を、完全なデザイナーサブエージェントを起動することなくカバーします。

開始時のアナウンス: 「このデザインチェックには ios-design-spec スキルを使用しています。」

このスキルを使用する状況:

  • ユースケースに合った SwiftUI コンポーネントを選択する場合
  • 提案されたレイアウトの HIG 準拠をチェックする場合
  • 迅速なアクセシビリティレビュー(タッチターゲット、Dynamic Type、VoiceOver)
  • 「X に最適なパターンは何ですか?」という質問に答える場合

designer サブエージェントにエスカレートする状況:

  • 新しい画面をゼロから設計する場合
  • ナビゲーションアーキテクチャやフローの変更を計画する場合
  • 複雑なインタラクションデザイン(ジェスチャー、トランジション、アニメーション)
  • 複数画面の再設計

HIG クイックリファレンス

スペーシング (8pt グリッド)

用途
標準マージン 16pt
ラージタイトルマージン 20pt
セクションスペーシング 24pt
最小タッチターゲット 44×44pt
リスト行の高さ (デフォルト) 44pt

タイポグラフィ (SF Pro)

スタイル 用途
.largeTitle 画面タイトル
.title / .title2 セクションヘッダー
.headline リスト行のプライマリラベル
.body デフォルトの本文テキスト
.caption セカンダリ/メタデータ

SwiftUI コンポーネント決定木

スクロール可能なアイテムのリストですか?List (インタラクティブな行の場合) または ScrollView + LazyVStack (カスタムレイアウトの場合)

モーダルシートですか? → タスクに特化したオーバーレイには .sheet、シートのスワイプでデータが失われる場合にのみ .fullScreenCover

確認 / 破壊的なアクションですか?.confirmationDialog (キャンセルが不要な場合を除き Alert ではない)

多くのオプションを持つピッカーですか? → シート内では .pickerStyle(.wheel)、コンパクトなインラインには .menu

読み込み状態ですか?ProgressView() を中央に配置、コンテンツが多い画面にはスケルトンビュー

空の状態ですか?ContentUnavailableView (iOS 17+) またはアイコン + タイトル + 説明を含むカスタム VStack


アクセシビリティチェックリスト

  • [ ] すべてのインタラクティブ要素は 44×44pt 以上であること
  • [ ] テキストは固定サイズではなく、セマンティックスタイル (.headline, .body) を使用していること — Dynamic Type をサポート
  • [ ] 画像には .accessibilityLabel があるか、装飾的な場合は .accessibilityHidden(true) が設定されていること
  • [ ] 色が情報を伝える唯一の手段ではないこと
  • [ ] コントラスト比は通常テキストで 4.5:1 以上、大きなテキストで 3:1 以上であること
  • [ ] アイコンのみのボタンには明確な .accessibilityLabel があること
  • [ ] 必要に応じて、リスト行には .accessibilityElement(children: .combine) が設定されていること

WhereWeGo テーマ準拠

トークン default summer xmas
Primary accent System blue Orange Red
Background System background Light sand Dark green
実装 LSThemeManager.shared.theme のプライベートヘルパーでの switch

ルール: 色をハードコードしないでください。常にテーマヘルパーを介してルーティングしてください。


出力形式

各デザインの質問に対して、以下を提供してください。

  1. 推奨事項 — 特定の SwiftUI コンポーネントまたはパターン
  2. HIG 根拠 — 1文で理由
  3. アクセシビリティに関する注意点 — 必要なラベル/修飾子
  4. コードスニペット — 最小限の SwiftUI 例 (役立つ場合)
  5. エスカレート? — 完全なデザイナーサブエージェントが必要な場合にフラグを立てる
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

iOS Design Spec

Overview

Fast HIG audit and component guidance for the main agent. Covers component selection, spacing rules, accessibility, and theme compliance — without spawning a full designer subagent.

Announce at start: "Using ios-design-spec skill for this design check."

Use this skill when:

  • Picking the right SwiftUI component for a use case
  • Checking HIG compliance of a proposed layout
  • Quick accessibility review (touch targets, Dynamic Type, VoiceOver)
  • Answering "what's the right pattern for X?" questions

Escalate to designer subagent when:

  • Designing a full new screen from scratch
  • Planning navigation architecture or flow changes
  • Complex interaction design (gestures, transitions, animations)
  • Multi-screen redesign

HIG Quick Reference

Spacing (8pt grid)

Usage Value
Standard margin 16pt
Large title margin 20pt
Section spacing 24pt
Minimum touch target 44×44pt
List row height (default) 44pt

Typography (SF Pro)

Style Use
.largeTitle Screen titles
.title / .title2 Section headers
.headline List row primary label
.body Default body text
.caption Secondary/metadata

SwiftUI Component Decision Tree

Scrollable list of items?List (if interactive rows) or ScrollView + LazyVStack (if custom layout)

Modal sheet?.sheet for task-focused overlays, .fullScreenCover only if sheet swipe-dismiss would lose data

Confirmation / destructive action?.confirmationDialog (not Alert unless no cancel needed)

Picker with many options?.pickerStyle(.wheel) in sheet, .menu for compact inline

Loading state?ProgressView() centered, skeleton views for content-heavy screens

Empty state?ContentUnavailableView (iOS 17+) or custom VStack with icon + title + description


Accessibility Checklist

  • [ ] All interactive elements ≥ 44×44pt
  • [ ] Text uses semantic styles (.headline, .body) not fixed sizes — supports Dynamic Type
  • [ ] Images have .accessibilityLabel or .accessibilityHidden(true) if decorative
  • [ ] Color is not the sole means of conveying information
  • [ ] Contrast ratio ≥ 4.5:1 for normal text, ≥ 3:1 for large text
  • [ ] Buttons have clear .accessibilityLabel when icon-only
  • [ ] List rows have .accessibilityElement(children: .combine) when needed

WhereWeGo Theme Compliance

Token default summer xmas
Primary accent System blue Orange Red
Background System background Light sand Dark green
Implementation LSThemeManager.shared.theme switch in private helper

Rule: Never hardcode colors. Always route through the theme helper.


Output Format

For each design question, provide:

  1. Recommendation — specific SwiftUI component or pattern
  2. HIG rationale — 1 sentence why
  3. Accessibility notes — any required labels/modifiers
  4. Code snippet — minimal SwiftUI example (if helpful)
  5. Escalate? — flag if this needs full designer subagent