CHANGELOG エントリ追加・バージョン計算。「CHANGELOG」「変更履歴」「changelog add」「version bump」「バージョン」「バージョンアップ」などのキーワードで自動適用。
design-system-workflow
Swift Design Systemを使用したiOS UI実装スキル。デザイントークン、UIコンポーネント(Button、Card、Chip、FAB、Snackbar、Picker等15種)、レイアウトパターンのベストプラクティスを提供。「デザイン」「UI」「テーマ」「カラー」「タイポグラフィ」「スペーシング」「ボタン」「カード」「FAB」「Snackbar」「Picker」「SwiftUI」「DesignSystem」などで自動適用。
インストール方法を見る含まれるファイル(26)
- SKILL.md6.9 KB
- references/AESTHETIC.md17.5 KB
- references/CLAUDE_MD_TEMPLATE.md3.6 KB
- references/components/BUTTON.md2.6 KB
- references/components/CARD.md4.1 KB
- references/components/CHIP.md3.3 KB
- references/components/COLOR_PICKER.md6.3 KB
- references/components/EMOJI_PICKER.md5.9 KB
- references/components/FAB.md3.2 KB
- references/components/ICON_BADGE.md4.7 KB
- references/components/ICON_BUTTON.md3.3 KB
- references/components/ICON_PICKER.md5.6 KB
- references/components/IMAGE_PICKER.md10.0 KB
- references/components/PROGRESS_BAR.md3.7 KB
- references/components/SNACKBAR.md3.4 KB
- references/components/STAT_DISPLAY.md4.2 KB
- references/components/TEXT_FIELD.md4.1 KB
- references/components/VIDEO_PLAYER.md4.0 KB
- references/DESIGN_SYSTEM_CONTEXT.md16.4 KB
- references/patterns/ASPECT_GRID.md6.9 KB
- references/patterns/SECTION_CARD.md7.6 KB
- references/patterns/THEME.md6.3 KB
- references/PREVIEW_PATTERNS.md20.7 KB
- references/TOKENS.md9.4 KB
- references/VIEW_VERIFICATION_TESTS.md9.6 KB
- references/VISUAL_LOOP.md15.1 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Swift Design System スキル
no problem製iOSアプリのUI実装に必須のデザインシステム。一貫性のあるUIを効率的に構築するためのトークン・コンポーネント・パターンを提供。
必須依存関係
// Package.swift
dependencies: [
.package(url: "https://github.com/no-problem-dev/swift-design-system.git", from: "X.X.X")
]
// ターゲット
.target(
name: "YourApp",
dependencies: [
.product(name: "DesignSystem", package: "swift-design-system")
]
)
Note:
X.X.Xには最新バージョンを指定してください。 最新バージョンは GitHub Releases で確認できます。
設計原則
3層トークンシステム
Primitive Tokens (基本値) - 直接使用禁止
↓ 参照
Semantic Tokens (意味的トークン) - 推奨
↓ 参照
Component Tokens (コンポーネント固有) - 自動適用
重要: Primitiveトークンは直接使用せず、必ずSemantic/Componentトークンを使用すること。
Environment経由のアクセス
@Environment(\.colorPalette) var colors
@Environment(\.spacingScale) var spacing
@Environment(\.radiusScale) var radius
@Environment(\.motion) var motion
型安全性
プロトコルベースの設計により、カスタムテーマ・トークンの拡張が可能。
アクセシビリティ
- WCAG AAA準拠のコントラスト
- reduce motion設定の自動尊重
- Dynamic Type対応
テーマ設定(必須)
アプリ起動時に必ずThemeProviderを設定:
import DesignSystem
@main
struct MyApp: App {
@State private var themeProvider = ThemeProvider()
var body: some Scene {
WindowGroup {
ContentView()
.theme(themeProvider) // 必須
}
}
}
詳細は → references/patterns/THEME.md
Good / Bad パターン(代表例)
カラー
// ✅ Good: セマンティックカラーを使用
Text("エラー").foregroundColor(colors.error)
// ❌ Bad: ハードコードされた色
Text("エラー").foregroundColor(.red)
タイポグラフィ
// ✅ Good: typographyモディファイアを使用
Text("見出し").typography(.headlineLarge)
// ❌ Bad: 直接フォント指定
Text("見出し").font(.system(size: 32, weight: .semibold))
スペーシング
// ✅ Good: スペーシングトークンを使用
VStack(spacing: spacing.lg) { ... }
// ❌ Bad: マジックナンバー
VStack(spacing: 16) { ... }
コンポーネント
// ✅ Good: デザインシステムのコンポーネントを使用
Card(elevation: .level2) { content }
// ❌ Bad: 独自実装
RoundedRectangle(cornerRadius: 8)
.fill(Color.white)
.shadow(radius: 4)
リファレンス索引
デザイン実装時は、該当するリファレンスを参照してください。
デザイントークン
すべてのUI実装で必須の知識
→ references/TOKENS.md
- Color(カラーパレット)
- Typography(タイポグラフィ)
- Spacing(スペーシング)
- Radius(角丸)
- Motion(アニメーション)
- Elevation(エレベーション)
- GridSpacing(グリッド間隔)
コンポーネント
| コンポーネント | 用途 | リファレンス |
|---|---|---|
| Button | アクションボタン | → references/components/BUTTON.md |
| Card | コンテンツコンテナ | → references/components/CARD.md |
| Chip | タグ、フィルター | → references/components/CHIP.md |
| FAB | 浮遊アクションボタン | → references/components/FAB.md |
| Snackbar | 一時的通知 | → references/components/SNACKBAR.md |
| IconPicker | SF Symbols選択 | → references/components/ICON_PICKER.md |
| EmojiPicker | 絵文字選択 | → references/components/EMOJI_PICKER.md |
| ColorPicker | カラー選択 | → references/components/COLOR_PICKER.md |
| ImagePicker | 画像選択 | → references/components/IMAGE_PICKER.md |
| IconButton | アイコンボタン | → references/components/ICON_BUTTON.md |
| TextField | テキスト入力 | → references/components/TEXT_FIELD.md |
| ProgressBar | プログレスバー | → references/components/PROGRESS_BAR.md |
| StatDisplay | 数値表示 | → references/components/STAT_DISPLAY.md |
| IconBadge | アイコンバッジ | → references/components/ICON_BADGE.md |
| VideoPlayer | 動画再生 | → references/components/VIDEO_PLAYER.md |
レイアウトパターン
| パターン | 用途 | リファレンス |
|---|---|---|
| Theme | テーマ設定・切り替え | → references/patterns/THEME.md |
| AspectGrid | アスペクト比統一グリッド | → references/patterns/ASPECT_GRID.md |
| SectionCard | タイトル付きカードセクション | → references/patterns/SECTION_CARD.md |
Visual Feedback Loop
UIの視覚的検証には Swift Snapshot Testing を使用する。
ワークフロー
- SwiftUI View を作成/修正
- スナップショットテストを実行(
xcodebuild test) - 生成されたスナップショット画像を確認
- 問題があればコードを修正して繰り返し
詳細は → references/VISUAL_LOOP.md
参照ドキュメント
| ドキュメント | 内容 |
|---|---|
| references/AESTHETIC.md | 美的方向性ガイド(AIスロップ回避、Apple HIG) |
| references/PREVIEW_PATTERNS.md | SwiftUI Preview ベストプラクティス |
| references/VISUAL_LOOP.md | Visual Feedback Loop 実践ガイド |
| references/DESIGN_SYSTEM_CONTEXT.md | デザインシステム全体リファレンス |
| references/CLAUDE_MD_TEMPLATE.md | CLAUDE.md デザインセクションテンプレート |
| references/VIEW_VERIFICATION_TESTS.md | スナップショットテスト テンプレート |
関連スキル
- ios-clean-architecture: アーキテクチャ設計(View層で本スキルを活用)
- ios-build-workflow: ビルド・テスト実行
- component-gen: デザインシステム準拠のコンポーネント生成
- design-audit: 既存UIのデザインシステム準拠性監査
- design-diff: UIの視覚的差分検出・比較
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
プロジェクトの .claude/ ディレクトリ(skills, agents, contexts)を Codex CLI 互換 .agents/ に変換。「codex export」「Codex 変換」「プロジェクトをエクスポート」などで自動適用。
デザインシステム準拠のSwiftUIコンポーネントを生成する。新しいUIパーツの作成、コンポーネント生成時に使用。「コンポーネント作成」「新しいUI」「パーツ作成」「component generate」「UIパーツ」「新規コンポーネント」などのキーワードで自動適用。
Claude Code プラグインを Codex CLI 互換形式に変換。SKILL.md → .agents/skills/、agents → .agents/skills/、AGENTS.md 生成。「deploy」「codex」「Codex 変換」「エクスポート」などで自動適用。
SwiftUI ViewのDesign System準拠性を監査する。既存UIのレビュー、デザインチェック時に使用。「デザインレビュー」「UIチェック」「design audit」「デザイン監査」「UI監査」「デザインチェック」「トークン確認」などのキーワードで自動適用。
UIの視覚的差分を検出・比較する。デザイン変更前後の比較、リファレンスとの差分確認時に使用。「デザイン比較」「UI差分」「design diff」「design compare」「ビフォーアフター」「見た目の違い」などのキーワードで自動適用。