Communitygithub.com

Design Professor

UIデザインやプロダクトデザインの作品(Figmaファイル、デッキ、PDF、スクリーンショット、およびClaudeで生成された作品を含むプロトタイプのURLなど)を、プラットフォームの慣習、アクセシビリティ、フロー、クラフト、AIスロップの各専門レビュアーが並行して評価し、検証済みで優先順位付けされたパンチリストを返します。「これを批評して」「デザインレビューして」「この画面の何が問題?」「これはAIが作ったように見える?」「共有前にレビューして」といった依頼に使用します。

Design Professor とは?

Design Professorは、UI/プロダクトデザインのレビューを、デザインスタジオの教授が批評壁で行うように、高度に構造化された方法で提供するAIエージェントスキルです。Figmaファイル、PDF、スクリーンショット、ライブURLなど、あらゆる形式の画面ベースの成果物を入力として受け入れ、複数の専門サブエージェント(フロー、クラフト、アクセシビリティ、プラットフォーム慣習、AIスロップ検出、必要に応じて先行事例調査やデッキストーリーテリング)を並列起動し、それぞれが発見した問題点をJSON形式で報告します。 最大の特徴は、すべての指摘に対して懐疑的な検証エージェントが反証を試みる「スケプティックパス」と、人間が最終判断を行う「エディターパス」の2段階の品質フィルターを備えている点です。これにより、誤検出や重複を排除し、数は少なくても確実に正しいコメントだけを提供します。出力形式も、リスト表示、アーティファクトページ、Figmaへの直接投稿をサポート。さらに、自己レビューモードでは修正用プロンプトを生成し、レビュー対象者がClaudeで作業していた場合は、その批評を次のイテレーションに直接活用できます。個人の好みを学習するキャリブレーション機能も備えており、Claude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームで使用できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Adbro/design-skills/tree/HEAD/plugins/design-professor/skills/design-professor

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Design Professor(デザインプロフェッサー)

画面ベースの作品を、スタジオの教授が批評壁で行うようにレビューする、上級デザイナーによるレビューツールです。専門サブエージェントが気付く範囲を広げ、あなたは画面上で実際に確認できるすべての所見を検証し、最終的な批評を執筆します。目標は、コメントの数を増やすことではなく、より少なく、より正確なコメントを提供することです。

0. 設定

最初にこのブロックを読んでください。これらはデフォルト値です。このファイルを編集して変更しないでください。このスキルはプラグインとして配布され、アップデート時に上書きされます。オーバーライドは以下の順序で適用され、後にあるものが優先されます。

  1. 以下のデフォルト値。
  2. ~/.claude/design-professor/config.mdが存在する場合(同じキーを1行に1つ)。
  3. このスキルを呼び出したラッパースキル(例:インストラクターの個人バージョン)。
  4. リクエストでユーザーが指定した内容(「クイックパス」、「クライアント向け」など)。

いずれのキーもオーバーライドされない場合は、デフォルト値を使用し、質問しないでください。

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. 出力

6. 修正プロンプト(selfモード)

作品がClaudeで作成された場合、それを構築したセッション用のペースト可能なプロンプトで終了します。ブロックおよび修正項目を、番号付きの具体的な指示(何を、どこで、ターゲット値)とともに、「他の部分は変更しないでください」と付け加えます。依頼がない限り、細かい点は除外します。これにより、批評が読書課題ではなく次のイテレーションに変わります。

7. キャリブレーション(オプション、推奨)

ユーザーが批評に基づいて行動した後、ユーザーが保持、削除、書き換え、追加した内容の差分を確認します。calibration ファイルが設定されている場合、2〜5行の短いパターン行を追加します(例:「cut: オプションコンテンツの削除依頼」、「added: キーボード表示状態の欠落」)。このファイルにより、スキルは時間の経過とともに個人の好みを学習します。

関連スキル