Back to skills
SKILL.md
Design Review
ASecurityHTMLファイルをmelta UIデザインシステムに照らしてレビューし、違反を検出・分類・修正提案する。トリガー: 「デザインレビュー」「DSチェック」「禁止パターンチェック」「design review」「check compliance」「DS準拠確認」。対象ファイルのパスを引数で受け取る。
- 201 stars
- 0 votes
- 0 copies
- 0 views
- Added October 10, 2026
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add tsubotax/melta-ui --skill design-review --agent claude-codeAre you the author of Design Review?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tsubotax-design-review)---
name: design-review
description: HTMLファイルをmelta UIデザインシステムに照らしてレビューし、違反を検出・分類・修正提案する。トリガー: 「デザインレビュー」「DSチェック」「禁止パターンチェック」「design review」「check compliance」「DS準拠確認」。対象ファイルのパスを引数で受け取る。
---
# デザインレビュー
HTMLファイルを melta UI デザインシステム(`design/contracts/rules.json` を正とする)に照らしてレビューし、違反を検出・分類・修正提案する。
## 手順
### Step 1: 対象のHTMLファイルを特定する
- 引数でファイルパスが指定されている場合 → そのファイルを読み込む
- 引数がない場合 → `examples/` 配下のHTMLファイルを一覧表示し、ユーザーに選択してもらう
- 対象がHTMLファイルでない場合 → 「HTMLファイルを指定してください」と返す
対象ファイルを全文読み込む。
### Step 2: DSリファレンスを読む
- `design/contracts/rules.json`(**SSOT**。ID / severity / detector / pattern / alternative / automationStatus を持つ全禁止ルール)
補助(任意):
- `foundations/prohibited.md` — 人間向けの prose 版。SSOT ではなく、pattern を持つルールの一部しか載っていないので、これだけで判定しない
### Step 3: チェックリストに沿って違反を検出する
`references/checklist.md`(**観点**。HTML のどこをどう見るかの手順)を読み込み、各項目の `[ID]` を Step 2 で読んだ `rules.json` から引く。severity / detector / alternative の値は rules.json が正。
`references/rules-index.md` は **全文を読まなくてよい**。checklist に無いカテゴリを横断して探すときの索引(カテゴリ別の表 + human-only 節 + 機械検出済み節)として、必要な箇所だけ参照する。
`checklist.md` のカテゴリ順にHTMLを走査する:
1. カラー
2. スペーシング・レイアウト
3. タイポグラフィ
4. モーション
5. ボーダー
6. フォーム(fieldset/legend カード干渉、日付セレクト幅を含む)
7. アクセシビリティ
`checklist.md` に載っていないカテゴリ(modal / stepper / tag / list / table / skeleton / datepicker / baseline / ai-pattern / philosophy / button / divider)の違反を見つけた場合は、`rules-index.md` から ID を引いて報告する。
**報告する違反には必ずルール ID を添える。** rules.json に存在しない ID を書かない(`tests/skill-rule-refs.spec.ts` が実在性を検査している)。対応するルールが無い指摘は違反ではなく「評価不可(ルール無し)」として扱う。
### Step 4: 偽陽性を排除し、重大度を判定する
`references/severity-rules.md` を読み込み、以下を実行:
1. **「推奨」と「必須」を区別** — 推奨事項は違反として報告しない
2. **文脈判定で偽陽性を排除** — label/aria-current/text-xs の文脈確認
3. **重大度を割り当て** — Critical / High / Medium / Low の4段階。固定ルールに従い、表に無いものは rules.json の `severity` から変換する
### Step 5: レポートを出力する
`references/report-template.md` を読み込み、テンプレートに沿ってレポートを出力する。
レポートには **`## 評価不可` 節を必ず含める**(human-only / 静的に観測できない / 対応ルール無しの3種)。評価不可の項目は違反件数に含めない。
出力前に **サマリー整合チェック** を実施: 本文中の各重大度の件数と冒頭サマリーの件数が一致することを確認する。
Files in this skill
- SKILL.md
- references/checklist.md
- references/report-template.md
- references/rules-index.md
- references/severity-rules.md
Attribution
Comments
Loading comments…