Skip to content
cccskills
FreePublished on GitHub

style-review

CSS/UI スタイルを WCAG 2.2 の数値基準(コントラスト比・フォーカス・モーション)で技術検証し、Light/Dark 両モードをレビューして報告する。検証のみで修正はしない。主観的な使用感(色のキツさ・隣接色の被り)のレビューは ux-visibility-review を使う

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md9.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Style Review

CSS/UI のアクセシビリティとスタイル品質を一括検証するスキル。

ガードレール

  • このスキルは 検証と報告のみ を行う。コードの修正は行わない(修正はレポートの「修正推奨」を見たユーザーの指示で別途実施する)

Quick Start

/style-review [対象ファイル/ディレクトリ]

例:

  • /style-review styles/ - styles ディレクトリ内の CSS を検証
  • /style-review src/components/Button.css - 特定ファイルを検証
  • /style-review - カレントディレクトリの CSS/SCSS を検証

検証項目

1. WCAG コントラスト比(WCAG 2.2 準拠)

テキストタイプAA 最小AAA 推奨該当 SC
通常テキスト (< 24px / < 18.67px bold)4.5:17:11.4.3 / 1.4.6
大きいテキスト (≥ 24px / ≥ 18.67px bold)3:14.5:11.4.3 / 1.4.6
UI コンポーネント・グラフィック3:1--1.4.11
フォーカスインジケーター(状態変化)--3:1 (+ 2px solid)2.4.13

注意: 大きいテキストは 18pt (24px) 以上、または 14pt (18.67px) 以上かつ bold。18px と 18pt は異なる値。

2. Light/Dark モード検証

両モードでの可読性を確認:

  • テキストコントラスト
  • ボーダー視認性
  • シャドウ効果
  • アイコン/SVG の視認性

3. インタラクション状態

  • :hover 状態のコントラスト
  • :focus 状態の視認性(2px+ solid outline、破線の場合は 4px+)
  • :focus 要素が他の要素に隠されない(SC 2.4.11)
  • :active 状態
  • :disabled 状態の区別(3:1 以上推奨)

4. モーション設定

  • prefers-reduced-motion 対応
  • アニメーション時間の適切性
  • 点滅コンテンツの有無

実行フロー

0. 引数パース
   ├── 対象パス(デフォルト: カレントディレクトリ)
   ├── --wcag-level AA|AAA(デフォルト: AA)
   ├── --only contrast|focus|motion(デフォルト: 全検証)
   └── --json(デフォルト: Markdown 出力)

1. 対象ファイル特定
   ├── Glob で *.css, *.scss, *.module.css を検索
   └── 0 件の場合 → エラー: "対象 CSS ファイルが見つかりません"

2. css-expert エージェント起動(Task ツール使用)
   ├── 下記の指示テンプレートで起動
   └── 応答なし/失敗 → リトライ 1 回(「エラーハンドリング」表に従う)

3. 結果統合
   ├── 重要度順にソート(High → Medium → Low)
   └── Pass/Fail 判定

4. レポート出力
   ├── デフォルト: Markdown テーブル形式
   └── --json: JSON 形式

css-expert 指示テンプレート

css-expert を Task ツールで起動する際、以下のプロンプトを使用する:

以下の CSS ファイルを WCAG 2.2 基準で検証してください。

対象ファイル: [ファイルパス一覧]
WCAG レベル: [AA|AAA]
検証カテゴリ: [contrast|focus|motion|all]

【検証項目】
1. コントラスト比(WCAG SC 1.4.3 / 1.4.6 / 1.4.11)
   - テキスト色と背景色のペアを抽出
   - CSS 変数は :root での定義値を解決して計算
   - prefers-color-scheme: dark ブロック内の値も検証
   - AA 基準: 通常テキスト 4.5:1、大きいテキスト 3:1
   [AAA の場合: AAA 基準: 通常テキスト 7:1、大きいテキスト 4.5:1]

2. フォーカス状態(WCAG SC 2.4.7 / 2.4.11 / 2.4.13)
   - :focus, :focus-visible スタイルの有無
   - outline: none の検出(代替スタイルなしは NG)
   - フォーカスインジケーターの視認性

3. モーション設定(WCAG SC 2.3.1)
   - prefers-reduced-motion メディアクエリの有無
   - animation/transition を使用するセレクターの列挙

【出力形式】JSON で出力してください:
{
  "agent": "css-expert",
  "file": "ファイルパス",
  "issues": [
    {
      "line": 行番号,
      "severity": "high" | "medium" | "low",
      "category": "accessibility",
      "description": "問題の説明",
      "suggestion": "修正案",
      "wcag": "該当 SC 番号"
    }
  ],
  "wcag_check": {
    "contrast_pass": true/false,
    "light_mode_tested": true/false,
    "dark_mode_tested": true/false,
    "focus_visible": true/false,
    "reduced_motion": true/false
  }
}

CSS 変数の解決方法

CSS 変数(var(--color))を含む色定義の検証手順:

1. :root ブロックから変数定義を抽出
2. @media (prefers-color-scheme: dark) 内の再定義も抽出
3. Light/Dark それぞれのコンテキストで変数値を解決
4. 解決後の実際の色値でコントラスト比を計算

解決不能な場合(外部ファイル参照等):
→ "解決不能" としてマークし、手動確認を推奨

Pass/Fail 基準

合格条件

レベル条件
PassHigh: 0 件、かつ wcag_check の全項目が true
Conditional PassHigh: 0 件、Medium: 5 件以下(Pass 条件を満たさない場合)
FailHigh: 1 件以上、または Medium: 6 件以上

severity 判定基準

severity基準
highWCAG AA 違反(コントラスト比未達、outline:none 代替なし)
mediumベストプラクティス逸脱(AAA 未達、prefers-reduced-motion 未対応)
low改善推奨(disabled 状態のコントラスト、タッチターゲットサイズ)

出力形式

標準出力(デフォルト: Markdown)

## Style Review 結果

### 概要
- 検証ファイル数: N
- 問題検出数: X (High: H, Medium: M, Low: L)
- 判定: Pass | Conditional Pass | Fail

### WCAG コントラスト
| ファイル | 行 | 要素 | 現在比率 | 必要比率 | 状態 |
|---------|---|-----|---------|---------|------|
| button.css | 42 | .btn-text | 2.8:1 | 4.5:1 | ❌ |
| card.css | 15 | .card-title | 5.2:1 | 4.5:1 | ✅ |

### Light/Dark モード
| ファイル | 問題 | Light | Dark |
|---------|-----|-------|------|
| theme.css | --text-secondary | ✅ | ❌ 2.1:1 |

### フォーカス状態
| ファイル | セレクター | フォーカス表示 |
|---------|----------|--------------|
| button.css | .btn | ❌ outline: none |

### 修正推奨
1. **High**: button.css:42 - コントラスト比を 4.5:1 以上に
2. **Medium**: theme.css:78 - ダークモードの --text-secondary を調整

JSON 出力(--json フラグ)

{
  "agent": "style-review",
  "summary": "3 files, 2 issues",
  "verdict": "fail",
  "issues": [
    {
      "file": "button.css",
      "line": 42,
      "severity": "high",
      "category": "accessibility",
      "description": "コントラスト比 2.8:1 は WCAG AA 基準 4.5:1 未満",
      "suggestion": "color: #374151 に変更(5.9:1)",
      "wcag": "1.4.3"
    }
  ],
  "wcag_check": {
    "contrast_pass": false,
    "light_mode_tested": true,
    "dark_mode_tested": true,
    "focus_visible": false,
    "reduced_motion": true
  }
}

エラーハンドリング

状況対応出力例
対象ファイル 0 件即時終了、メッセージ表示"対象 CSS ファイルが見つかりません。パスを確認してください"
CSS パースエラー該当ファイルをスキップ、他を続行{"file": "broken.css", "error": "CSS parse error at line 42"}
CSS 変数解決不能"解決不能" としてマーク"description": "var(--external-color) は解決不能。手動確認推奨"
エージェント起動失敗リトライ 1 回、失敗時は手動レビューを推奨"css-expert エージェント起動失敗。手動レビューを実施してください"

連携エージェント

Agent役割起動条件
css-expertCSS 分析、WCAG 検証常時(Task ツールで起動)
nodejs-expertビルドツール設定PostCSS/Sass 設定ファイルが存在する場合

カスタマイズ

WCAG レベル変更

/style-review --wcag-level AAA

AAA 基準(より厳格):

  • 通常テキスト: 7:1
  • 大きいテキスト: 4.5:1

特定カテゴリのみ検証

/style-review --only contrast
/style-review --only focus
/style-review --only motion

関連リソース

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

audit

Free

プロジェクト監査。「監査して」「audit」「/audit」で発火。設計/UX/品質/テストなどの観点でコードベース全体を監査し、課題をissuesディレクトリに書き出す。実行ログで重複実行を防止。特定の差分・コミットのレビューには使わない(codex-review / cross-review を使う)。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

AVFoundation (AVPlayer / AVPlayerLayer / AVPlayerItemVideoOutput / AVAsset) の落とし穴・文書化されていない実装挙動・debugging チェックリストを集約した reference skill。Swift / Objective-C で AVPlayer を使った動画再生 / seek / scrub / frame stepping を実装・debug するときに発火。VLCKit ではなく **AVFoundation 系** の問題に特化。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

c

Free

このセッションで行った変更をコミットする。「コミットして」「commit」「/c」で発火。push はしない/クレデンシャルは混入させない。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

ディレクトリ・レイヤーごとに置いた CLAUDE.md と README.md が実体 (コード・コマンド・構成) とずれていないかを点検し、裏の取れた乖離だけを直す。引数で対象のディレクトリを任意に指定できる (省略時は repo 全体)。「CLAUDE.md を refresh して」「README が古くないか見て」「claude-md-refresh」「/claude-md-refresh」で発火。issues/ の更新漏れは issue-writeback / issue-sync の担当で、この skill は扱わない。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

Codex が設計・実装を担い、Claude が要件確定・成果物の検証・反復・commit/push を管理する。「codex に書かせて」「codex メインで実装」「codex-drive」で発火。大きめの機能・移植・プロトコル実装向け。余剰トークンを厚く使う運用も選べる。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

タスク着手時に codex にリードしてもらうワークフロー。codex に設計/方針を主導(リード)させ、その方針に沿って Claude が実装し、実装後は codex で設計適合・実装正当性・敵対的(red team)の 3 観点でレビューする。余っている codex トークンを積極的に消費したい時に使う。「codexにリードしてもらって」「設計から codex に任せて」「タスクを codex 主導で」「codex-lead」「/codex-lead」で発火。

The English summary is being prepared. Showing the original description.

jiikko/dotfiles2Updated Oct 20, 2026

See all skills by jiikko

Report a problem with this skill