Skip to content
Back to skills

Design Review

ASecurity

HTMLファイルをmelta UIデザインシステムに照らしてレビューし、違反を検出・分類・修正提案する。トリガー: 「デザインレビュー」「DSチェック」「禁止パターンチェック」「design review」「check compliance」「DS準拠確認」。対象ファイルのパスを引数で受け取る。

  • 201 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 10, 2026
ai-agents

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned October 10, 2026

npx -y skills add tsubotax/melta-ui --skill design-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Design Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Design Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tsubotax-design-review/badge)](https://www.skillsdirectory.com/skills/tsubotax-design-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.md3.8 KB
  • references/checklist.md6.4 KB
  • references/report-template.md3 KB
  • references/rules-index.md28.4 KB
  • references/severity-rules.md5.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…