Community研究&データ分析github.com

デザインタリー

UI作業における禁止デザインパターンをカウントし、何かを提示する前にその集計を報告します。アンチスロップ、デスロップ、または「AIスロップ回避」リクエスト、デザインリント、監査、批評、レビュー、クリーンアップ、そしてUI(スクリーン、ページ、コンポーネント、モックアップ、デザインコード、CSS/Tailwind/JSX、Paper/Figmaアートボード)の作成や改訂の際に使用します。再設計、ポリッシュパス、複数バリエーションの探索も含みます。「avoid ai slop」「no slop」「deslop」「is this generic」「does this look AI-made」でトリガーされます。

デザインタリー とは?

Design Tally(デザインタリー)は、UI作業において禁止されているデザインパターンを強制的にカウントするAIエージェントスキルです。他のアンチスロップスキルが原則を述べるのに対し、このスキルは個々の正当化を許さず、具体的な数値で違反を可視化します。Cursor、Claude Code、CodexなどのAIエージェントと連携し、あらゆるUI作業(画面、ページ、コンポーネント、モックアップ、Paper/Figmaアートボード)の提示前に、11の禁止パターン(トラッキングされたオールキャップスアイブロウ、プローズへのモノスペース、太字見出し、イタリック表示タイプ、ボーダー+シャドウの併用、ピル内の先頭ドット、Lucideアイコンなど)の集計を自動的に行います。コードベースのUIに対しては、Pythonスクリプト(`tally.py`)がルール1〜6を自動チェックし、残りのルールは手動でカウントします。このスキルの核心は「数は判断のように回避できない」という洞察にあり、設計の選択を正当化する代わりに、具体的な数値と根拠を要求することで、AIによる「スロップ」なデザインを防止します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yus-mat/skills/tree/HEAD/design-tally

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

ドキュメント

デザインタリー は何をしますか?

カウントパスであり、テイストガイドではありません。他のアンチスロップスキルは原則を述べます。原則は、一つ一つの正当化によって回避されます。このスキルは、カウントを強制することでその回避を可視化します。

なぜこれが存在するのか

このスキルが作られたきっかけとなった実際の失敗例:1セッションで8つのデザインバリエーションが作成され、それぞれがセクション見出しに小さなトラッキングされたオールキャップスラベルを使用していました。すべてのインスタンスには、その場では妥当に聞こえるローカルな正当化がありました。誰もそれらを合計しませんでした。その合計は37でした。視覚的に異なるものとして提示された5つのバリエーションにわたってです。基本原則(「ラベルの前に階層を使用する」)は常にロードされ利用可能でした。

数は判断のように回避できません。カウントを実行してください。

ルール

UI作業を提示する前に — 毎回、例外なく — 以下の集計を作成し、メッセージに含めてください。 要約ではありません。数値が入った表です。

カウントがゼロより大きい場合は、それを修正するか、各インスタンスに対する具体的な正当化を記述してください。「ここでは適切に感じられた」は正当化ではありません。同じパターンが複数の画面やバリエーションにわたって現れる場合、それが発見です。各インスタンスが単独でどう読めるかは関係ありません。

実際に出力を検査せずに、集計がクリーンだと報告してはいけません。マークアップやスタイルを読み、書いたものの記憶から推測しないでください。

禁止パターン

ハードバンです。これらは、ユーザーが現在のリクエストで明示的に名前を指定して要求しない限り使用できません。それらを宣言するデザインブリーフは十分ではありません。

#パターン検出方法
1トラッキングまたはモノのオールキャップスアイブロウtext-transform: uppercase かつ (monospace ファミリー または letter-spacing >= 0.05em)
2プローズへのモノスペースコード、リテラル値、識別子、数値ではない任意の文字列に対するモノ ファミリー
3ウェイト700以上の見出しfont-weight >= 700 の任意の見出しまたは表示テキスト
4イタリック表示タイプ見出しまたは表示サイズでの font-style: italic
51要素へのボーダーとシャドウ同じノードに border と box-shadow の両方
6ピル内の先頭ドットピル、チップ、バッジ、タグの最初の子としての円、ドット、または小さな塗りつぶし形状
7Lucide アイコンLucide セット、またはその形状を再現する手描きSVG(1.5pxストローク、ラウンドキャップ、24x24の幾何学グリフ)。手描きはデフォルトでLucideに収束します — 承認されたセットと照合するまで、手描きアイコンは違反とみなされます

完全には禁止されず、インスタンスごとにカウントされ正当化されます:

#パターン検出方法
8区切り線画面ごとにすべてのルール、ヘアライン、境界線としての区切りをカウントします。それぞれに、ホワイトスペースや近接性では対応できなかった理由が必要です
9コンテナカード画面ごとにすべての境界線付きまたは塗りつぶしボックスをカウントします。別のボックスの内側に直接ネストされているものにフラグを立てます
10過剰なテキスト隣接する値、ラベル、または状態がすでに伝えていることを言い換える散文
11バリエーション間で同じスロット異なるものとして提示されるN個のバリエーションを生成する場合、任意のスロット(セクションラベル、フッター、ヘッダー、ボタン形状、スペーシングリズム)がすべてのNで同一にレンダリングされているもの

ルール11はバリエーション間チェックです。セットを提示する前に、すべてのバリエーションにわたって同じスロットを比較してください。同一のラベル処理を持つ異なるムードは、異なるバリエーションではありません。

アイコン

承認済みセット:Phosphor。グリフを手描きする代わりにこれを使用してください。

アイコンを追加する前に、それが単語では伝えられない情報を伝えているかどうか自問してください。テキストラベルが機能する場合は、テキストラベルを使用してください。

リンターの実行

コードとして存在するUIの場合、手動カウントの前にスクリプトを実行してください:

python3 ~/.claude/skills/design-tally/scripts/tally.py <path> [--json] [--quiet]

ルール1〜6をカバーし、集計表を出力します。終了コード1は、証明可能なルール(1、5、6)にヒットがあった場合のみ発生するため、候補で失敗することなくフックやCIステップをゲートできます。

ルール2、3、4は違反ではなく候補として報告されます。スクリプトはモノファミリーや700のウェイトを認識できますが、散文とコード、見出しとラベルを区別できません。各候補を自分で分類し、どちらに判断したかを述べてください。

スクリプトはルール7〜11を認識できず、PaperやFigmaのアートボードも読み取れません。デザインツールでの作業の場合は、get_jsxまたは同等のものを使って手動でカウントしてください。スクリーンショットから決して行わず、自分が書いたものの記憶からも決して行わないでください。

クリーンなスクリプト実行はクリーンな集計ではありません。コードのみで11ルール中6つをカバーします。

出力形式

ゼロのルールも含めてすべてのルールを報告してください。ゼロも情報です。ヒットのみをリストすると、パスが実際に実行されたかどうかが隠れてしまいます。

デザインタリー
| ルール | カウント | 場所 |
|------|-------|-------|
| 1 アイブロウ        | 0  | — |
| 2 プローズへのモノ   | 2  | ヒーロー下のキャプション; 空状態の行 |
| ...               |    | |

次に、ゼロ以外のカウントごとに:修正するか、インスタンスごとの正当化を述べてください。

このリストへの追加

ユーザーが新しいパターンを特定した場合、それを検出ルールとともにテーブルに追加し、カウントできるようにしてください。検出可能な条件として述べられない場合は、このスキルではなく原則スキルに属します。

関連スキル