---
name: shisatsu
description: >
  体験の足場。稼働中アプリをブラウザ操作 (Playwright MCP / Chrome MCP) で駆動し、
  フロー完全性・視覚エルゴノミクス・エッジケース耐性の 3 軸 26 観点を全数監査する UX レビュー skill。
  観点は台帳 (audit.json) で機械管理し、証拠 (スクショ / console 抜粋) なしの完了宣言を gate が拒否。
  「UX レビュー」「UI 監査」「使い勝手チェック」「本番レベルレビュー」「動作を見て確認」で起動。
---

# shisatsu — 動的 UX 監査

コードを読むだけでは動的 UX 欠陥は見えない。**実際に触り、全観点を機械管理し、証拠を残す**。

## プロトコル (Iron Law)

0. **ブラウザ駆動ツールの確認** — 利用可能ツール一覧に `mcp__claude-in-chrome__*` (Chrome MCP) または Playwright MCP があるか確認。**どちらも無ければ監査は開始せず**、「ブラウザ駆動ツール未接続のため動的監査不能 — Chrome 拡張 or Playwright MCP の接続が必要」と blocked を報告する (静的コード読解で代替しない)
1. **台帳を作る** — 観点 26 件が pending で並ぶ。頭の中のチェックリストは信用しない
   ```bash
   A="${CLAUDE_PLUGIN_ROOT}/scripts/audit.sh"
   "$A" init "対象アプリ名/URL"
   "$A" list pending
   ```
2. **ブラウザで駆動する** — console・network を確認できる状態で操作。スクリーンショットは観点 id を含むファイル名で保存
3. **観点ごとに記録する** — 判定 + 証拠。ng は再現手順を note に:
   ```bash
   "$A" mark F2 ok
   "$A" evidence F2 "shots/F2-checkout-flow.png"
   "$A" mark E3 ng "APIを落とすと白画面。手順: DevTools offline → 一覧リロード"
   "$A" evidence E3 "shots/E3-white-screen.png"
   "$A" mark E6 na "本アプリにリスト画面なし"
   ```
4. **gate を通す** — pending 残り / 証拠なし ok / 手順なし ng がある限り「監査完了」と言わない。PASS 時に表示される na 一覧 (理由付き) は報告に転記必須:
   ```bash
   "$A" gate   # exit 0 になるまで監査は未完
   ```

## 3 軸 26 観点 (台帳と同一、audit.sh init が全数生成)

| 軸 | id | 数 |
|---|---|---|
| フロー完全性 (完走・行き止まり・矛盾ステータス・戻る・二重送信・セッション・ディープリンク) | F1–F8 | 8 |
| 視覚エルゴノミクス (余白・フィードバック・フォーム・日付 TZ・placeholder・折り返し・高さ・可読性・レスポンシブ・ローディング) | V1–V10 | 10 |
| エッジケース耐性 (想定外入力・遅延・通信断・権限・空データ・多量データ・並行操作・エラー画面品質) | E1–E8 | 8 |

観点の絞り込み禁止 — 対象外は `na` + 理由で消化する (黙って飛ばさない)。

## 報告契約

- 観点ごとに `OK / NG / N/A (理由)` + 証拠参照
- NG は再現手順・影響・修正提案の 3 点セット
- 世界最高水準の消費者向けアプリを基準に判定 (「動く」と「良い体験」を区別)

## 依存

- jq (台帳管理)
- ブラウザ駆動: 環境の Playwright MCP または Chrome MCP (本 plugin は同梱しない — 環境差異吸収)
- 台帳の場所: `./.shisatsu/audit.json` (`SHISATSU_DIR` で変更可)。**gitignore 推奨**: `echo '.shisatsu/' >> .gitignore`
