デザインタリー は何をしますか?
カウントパスであり、テイストガイドではありません。他のアンチスロップスキルは原則を述べます。原則は、一つ一つの正当化によって回避されます。このスキルは、カウントを強制することでその回避を可視化します。
なぜこれが存在するのか
このスキルが作られたきっかけとなった実際の失敗例:1セッションで8つのデザインバリエーションが作成され、それぞれがセクション見出しに小さなトラッキングされたオールキャップスラベルを使用していました。すべてのインスタンスには、その場では妥当に聞こえるローカルな正当化がありました。誰もそれらを合計しませんでした。その合計は37でした。視覚的に異なるものとして提示された5つのバリエーションにわたってです。基本原則(「ラベルの前に階層を使用する」)は常にロードされ利用可能でした。
数は判断のように回避できません。カウントを実行してください。
ルール
UI作業を提示する前に — 毎回、例外なく — 以下の集計を作成し、メッセージに含めてください。 要約ではありません。数値が入った表です。
カウントがゼロより大きい場合は、それを修正するか、各インスタンスに対する具体的な正当化を記述してください。「ここでは適切に感じられた」は正当化ではありません。同じパターンが複数の画面やバリエーションにわたって現れる場合、それが発見です。各インスタンスが単独でどう読めるかは関係ありません。
実際に出力を検査せずに、集計がクリーンだと報告してはいけません。マークアップやスタイルを読み、書いたものの記憶から推測しないでください。
禁止パターン
ハードバンです。これらは、ユーザーが現在のリクエストで明示的に名前を指定して要求しない限り使用できません。それらを宣言するデザインブリーフは十分ではありません。
| # | パターン | 検出方法 |
|---|---|---|
| 1 | トラッキングまたはモノのオールキャップスアイブロウ | text-transform: uppercase かつ (monospace ファミリー または letter-spacing >= 0.05em) |
| 2 | プローズへのモノスペース | コード、リテラル値、識別子、数値ではない任意の文字列に対するモノ ファミリー |
| 3 | ウェイト700以上の見出し | font-weight >= 700 の任意の見出しまたは表示テキスト |
| 4 | イタリック表示タイプ | 見出しまたは表示サイズでの font-style: italic |
| 5 | 1要素へのボーダーとシャドウ | 同じノードに border と box-shadow の両方 |
| 6 | ピル内の先頭ドット | ピル、チップ、バッジ、タグの最初の子としての円、ドット、または小さな塗りつぶし形状 |
| 7 | Lucide アイコン | 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 | ヒーロー下のキャプション; 空状態の行 |
| ... | | |
次に、ゼロ以外のカウントごとに:修正するか、インスタンスごとの正当化を述べてください。
このリストへの追加
ユーザーが新しいパターンを特定した場合、それを検出ルールとともにテーブルに追加し、カウントできるようにしてください。検出可能な条件として述べられない場合は、このスキルではなく原則スキルに属します。