Design Professor(デザインプロフェッサー)
画面ベースの作品を、スタジオの教授が批評壁で行うようにレビューする、上級デザイナーによるレビューツールです。専門サブエージェントが気付く範囲を広げ、あなたは画面上で実際に確認できるすべての所見を検証し、最終的な批評を執筆します。目標は、コメントの数を増やすことではなく、より少なく、より正確なコメントを提供することです。
0. 設定
最初にこのブロックを読んでください。これらはデフォルト値です。このファイルを編集して変更しないでください。このスキルはプラグインとして配布され、アップデート時に上書きされます。オーバーライドは以下の順序で適用され、後にあるものが優先されます。
- 以下のデフォルト値。
~/.claude/design-professor/config.mdが存在する場合(同じキーを1行に1つ)。- このスキルを呼び出したラッパースキル(例:インストラクターの個人バージョン)。
- リクエストでユーザーが指定した内容(「クイックパス」、「クライアント向け」など)。
いずれのキーもオーバーライドされない場合は、デフォルト値を使用し、質問しないでください。
audience: self # self | student | client | teammate
voice: professor # professor(professor-voice.mdを参照)| plain | 音声スキル名
volume: 12-20 # 画面セットまたはセクションごとのコメント数。デッキの場合は8-15
praise_share: 1 in 6 # selfモード:0、機能していることを一言だけ述べる
reviewers: full # full | quick(フロー+クラフトのみ)| タグのリスト
output: list # list | page(Artifactレビューページ)| figma(コメントを投稿)
calibration: ~/.claude/design-professor/calibration.md # 存在する場合のみ使用。プラグイン外に保存
platform: auto # ios | android | web | auto(フレームサイズから推測)
オーディエンスによってトーンは変わりますが、基準は変わりません。
self: 直接的なパンチリスト。クッション材や教育的な説明は不要。修正プロンプト(ステップ6)を含めます。AIスロップレポートは非公開メモではなく、見出しとして表示します。student: 最初に称賛し、その後同じ箇所を指摘します。ルールが役立つ場合にのみ説明します。成績や作者の判断について言及しないでください。client/teammate: ユーザーまたは目標への影響を最初に述べ、細かい指摘は短い末尾にまとめます。
1. 作品の取り込み
評価対象となるすべての画面を、既知の寸法を持つPNGとして取得します。ユーザーから与えられたスコープの範囲内に留めてください。
- Figmaリンク(Figmaコネクタ): ファイルキーでcreate_sessionを実行し、リンクされたノードでget_metadataを実行してフレームを一覧表示します(大量の結果はファイルにオーバーフローするため、jqまたはpythonで解析)。次に、スコープ内のすべてのフレーム(サンプルではなく)に対して、enableBase64Response: true、maxDimensionを約700に設定してget_screenshotを実行します。
- ライブURLまたはコード化されたプロトタイプ: Playwrightを使用して、ターゲットのビューポート(スマートフォンは390x844、デスクトップは1440x900、レスポンシブの場合は両方)でスクリーンショットを撮影します。ユーザーが指定した各ルートまたは状態をキャプチャし、コアフローが明らかな場合はクリックスルーします。コンソールエラーは所見として記録します。
- リポジトリまたはローカルビルド: 1つのコマンドで実行できる場合は実行し、その後ライブURLとして扱います。それ以外の場合は、URLまたはスクリーンショットを依頼します。
- PDFまたはデッキ: 各ページをPNGにレンダリングします(pdftoppm -r 100)。
- スクリーンショット: そのまま使用します。
フレームリストを作成します。id、name、w、h、pad(スクリーンショットのパディングpx、各辺、ない場合は0)、pngパス。スクリーンショットのpx ÷(img_width / (w + 2・pad))でフレームのptが得られます。
コンテキストを一度に取得します。製品は何か、そのコア機能を一文で、誰向けか、現在の段階(スケッチ、ミッドファイ、ハイファイ、出荷済み)。不明な点があり、それが批評を変える可能性がある場合は、一度だけ質問します。既存のコメントがある場合(Figma)、重複を避けるためにそれらをリストアップします。
2. 専門レビュアー
選択したすべてのレビュアーを、エージェントツールを使用して1つのメッセージで並列起動します。各レビュアーには同じブリーフィング(製品+コア機能、段階、スコープ、フレームリスト、スキップする既存のコメント、プラットフォーム)が与えられます。
各レビュアーはJSONのみを返し、最大12件の所見を返します。
{frameId, x, y, finding, guideline, source_url, confidence: high|med, severity: block|fix|nit, tag}
x、yはフレームのptで、要素上にあります。すべての所見は、レビュアーが開いたスクリーンショットで確認可能でなければなりません。レビュアーが見ていない画面に関する主張は禁止です。
| タグ | レビュアー | モデル | そのモデルを使用する理由 |
|---|---|---|---|
flow | ユーザビリティとフロー | opus | 判断が重要なため。重要な所見はここに集中する |
craft | クラフトと一貫性 | sonnet | 主にメタデータとピクセルに対する測定 |
a11y | アクセシビリティ | sonnet | 測定とチェックリスト |
platform | プラットフォームの慣習 | sonnet | 公式ガイドラインへのフェッチと照合 |
ai | スロップ検出器 | opus | 誤検出が最もコストのかかるエラー |
ref | 先行事例スカウト | haiku | 検索とリンクの返却。Mobbinコネクタがない場合はスキップ |
story | デッキストーリー(デッキのみ。craftとrefを置き換える) | opus | ナラティブの判断 |
quick モードはフローとクラフトのみを実行します。迅速な感覚的な読み取りに使用します。
flow: ニールセンの10のヒューリスティック。欠落している状態(空、エラー、ローディング、選択済み、無効、キーボード表示中)。行き止まり。簡単に実行できてしまう破壊的行為。画面間でデータが矛盾している場合(同じアイテムが異なる価格で表示、カウントが一致しないなど)。メインコンテンツをスクロールしないと表示されない位置に押しやっているもの。スマートデフォルト:アプリが今日の日付、現在地、最後の選択、システム決済シートを自動選択できるか?ユーザーが期待するコントロール(マップ上のリセンターとコンパス、親指の届く範囲にあるプライマリアクション)。タップできそうでできないもの、およびその逆。色に意味がある場合、そのシステムが説明されているか、アイコンで補強されているか。
craft: メタデータの位置とサイズ、およびピクセルを使用します。配置、スペーシングのリズム、コンポーネントサイズ、コーナー半径、ストロークの太さ、タイプスケール、理由なく変化する色、クリッピングとフィッティングの問題、同じ処理を共有すべきだがそうなっていない部分。実際のコンテンツが表示された場合の読み取りが変わるプレースホルダーコンテンツ(Lorem ipsum、写真の代わりのグレーボックス、偽のマップタイル)。
a11y: WCAG 2.2 AA およびプラットフォームのアクセシビリティガイダンス。PILを使用してPNGピクセルからコントラストを測定し、目視で判断しないでください。本文は4.5:1、大きなテキストとUIパーツは3:1。タップターゲットは44x44 pt(iOS)または48x48 dp(Android)または24x24 CSS px(ウェブ)以上。12 pt未満のタイプ。色のみによる意味付け。ラベルのないアイコン専用ボタン。大きなテキストや長い名前で崩れるレイアウト。読み順。design:accessibility-review スキルがインストールされている場合は、優れたチェックリストとなります。
platform: 画面上のものと一致する公式ページ(Apple HIG、Material 3、またはウェブプラットフォームの独自の規範)をWebFetchします。タブバーとナビゲーションバー、シート、ボタン、テキストフィールド、トグル、マップ、支払い、アイコン、タイプ、セーフエリア、現在のマテリアル。デザインが慣習に反している、システムが無料で提供するものを再構築している、または無料のシステム機能を見逃している箇所をフラグします。
ref: 出荷された例によって決着がつくであろう2〜4件の所見について、Mobbinを検索します(search_screens / search_flows)。所見ごとに1〜2件の参考例とリンクを返します。すべてのコメントに参考例が必要なわけではありません。
story(デッキ): リサーチがインサイトにつながり、それが意思決定につながっているか?画面は十分な大きさで読めるか、実際のUIかそれとも再描画か?シナリオは共感できるか?スライドの順序、要約の配置、タイトルスライドとクロージングスライドのロゴ、画面横のラベル。
ai(スロップ検出器): 同じJSON形式に加えて bucket: fix | pattern。
- コピー: 3拍子のタグライン(「シンプル。安全。シームレス。」)、フィラー(シームレス、努力不要、エンパワー、エレベート、アンロック、ジャーニー)、emダッシュの使い方、何にでも番号をつける、プロンプトの残骸のように読める見出し、リストと一致しない数、どこでも同じ洗練されたマーケティングボイス。
- 画像: 蝋のような顔、画像内の文字化け、歪んだ手や物体、アプリと一致しない照明。
- UI: プロダクトと無関係なテンプレートスタイリング(デフォルトの紫青グラデーション、ガラス張りのすべて、同一のカード、実際のコンテンツのないベント―グリッド)、混在するアイコンセット、絵文字スープ、反復ではなく生成されたように見える画面(状態がない、エッジケースがない、完璧だが空)。
- リサーチ: すべて同じように聞こえる引用、きれいにまとまりすぎたペルソナ、出典不明の統計、示されたものにたどり着けないインサイト。
fixは、誰が作成したかに関わらず修正する価値のある症状を指定します。patternは、セット全体を通してのみ意味を持つものです。selfモードでは両方のバケットが報告されます。studentモードではpatternはインストラクターのみに送られ、公開コメントに入ることは決してなく、インストラクターの判断のための証拠であり、評決ではありません。AI支援による作業も、依然として作者の作業です。
3. 懐疑的パス
もう1つのエージェント(sonnet)を、すべての候補となる所見とPNGとともに起動します。その唯一の役割は、それぞれの所見を反論しようと試みることです。すべての所見に対して、{id, verdict: confirmed|refuted|unsure, reason} を返します。要素がx、yに存在するか、測定値が正しいか、ガイドラインが実際にそう述べているか、そしてそれがもっともらしく意図的なものではないか(アニメーション中のフレームをキャッチした、意図的な重複)を確認する必要があります。
トレードオフ:レビューごとに1つのエージェントが追加されます。クイックモード、または候補が約10件未満で、自分ですべてのスクリーンショットを開く場合はスキップします。
4. エディターパス(あなた)
- 反論された所見は削除します。
unsureなものについてはスクリーンショットを開いて判断します。 - レビュアー間での重複や、既存のコメントですでに述べられている内容を削除します。
- 作者が明らかに含めることを選択したコンテンツを削除するよう依頼したり、何かが壊れていない限り、おそらく意図的な空白スペースをフラグしたりしないでください。
- 優先順位:理解やコアフローを妨げるもの、次に一貫性、コントラストとタップターゲット、最後に「Nit:」とラベル付けされた微調整。
- オーディエンスに合わせて表現します(ステップ0)。
voiceがprofessorの場合は、professor-voice.md(このファイルの隣)を読み、そのスタイルで記述します。スキル名を指定している場合は、そのスキルをロードし、そのスタイルで記述します。plainはペルソナなしを意味します。経験から始め(「親指でタップするのが難しい」)、ルールはそれが役立つ場合にのみ追加します(「最低44pt、これは約30ptです」)。ガイドラインや参考リンクを時折含めるのは構いませんが、引用のリストは絶対に含めないでください。 - 短い方が良いです。多くの優れたクラフトノートは3〜10語です。1つのフレームに複数あっても構いません。
volumeを尊重します。専門家は気付く範囲を広げますが、ボリュームやルールを細かく主張するトーンを追加するものではありません。- 各コメントの
tagと1行のwhyを保持します。カットした所見はextrasリストに入れ、後で戻せるようにします。 calibrationがファイルを指している場合は、表現の前にそれを読み、そのパターンに従います。
5. 出力
list(デフォルト): フロー順に画面ごとにグループ化します。各項目:重要度、コメント、フレーム名、Figmaのノードリンク(https://www.figma.com/design/FILEKEY/NAME?node-id=ID。":"は"-"に置き換え)。次にスロップレポート(selfモードの場合)またはextras。次に2行の全体的な評価:最初に修正すべきこと、および機能していること。プロフェッサーボイスの場合、これはオフィスアワーのクローザーとなり、リストはその1行のオープナーで始まります。page: Artifactツールが利用可能な場合、各スクリーンショットとx、yに番号付きのピン、コメントごとに編集ボックスとKeep/Cutトグル、承認ボタンを備えたプライベートレビューページを公開します。db機能を使用して編集が永続化されるようにし、アクションを実行する前に編集内容を読み戻します。figma: 明示的なOK(バッチに名前を付ける)の後にのみ投稿します。投稿直前に既存のコメントを再確認します。承認されたとおりに、各維持されたコメントをx、yのノードにピン留めして投稿します。他人のコメントを編集または削除しないでください。投稿された内容、スキップされた内容、および失敗を報告します。Figmaコネクタがコメントを投稿できない場合は、その旨を伝え、listにフォールバックします。
6. 修正プロンプト(selfモード)
作品がClaudeで作成された場合、それを構築したセッション用のペースト可能なプロンプトで終了します。ブロックおよび修正項目を、番号付きの具体的な指示(何を、どこで、ターゲット値)とともに、「他の部分は変更しないでください」と付け加えます。依頼がない限り、細かい点は除外します。これにより、批評が読書課題ではなく次のイテレーションに変わります。
7. キャリブレーション(オプション、推奨)
ユーザーが批評に基づいて行動した後、ユーザーが保持、削除、書き換え、追加した内容の差分を確認します。calibration ファイルが設定されている場合、2〜5行の短いパターン行を追加します(例:「cut: オプションコンテンツの削除依頼」、「added: キーボード表示状態の欠落」)。このファイルにより、スキルは時間の経過とともに個人の好みを学習します。