ma-system
SKILL.md
ma のサブスキル。ma の哲学を継承: 情報の明瞭性と目的ある装飾。
Core Principle
一貫性は情報の一形態だ。 一貫性のなさはノイズだ。似たものが違って見えるとき、 ユーザーは存在しない区別を探す。これは認知コストだ。排除しなければならない。
デザインシステムはスタイルガイドではない——それは契約だ。 そこからのすべての逸脱には理由が必要だ。 理由がなければ、それはバグだ。
What to Audit
Tokens
- 余白の値は一貫したスケールから取られているか?(例: 4px基本単位)
- 色はアドホックなhex値ではなく定義されたセットから参照されているか?
- フォントサイズ・ウェイト・行間は定義されたタイプスケールからか?
- border-radiusの値はコンポーネントクラスごとに一貫しているか?
- z-index値は管理されているか、恣意的ではないか?
Patterns
- 同じインタラクション(dismiss・confirm・expandなど)はすべてのインスタンスで同一の振る舞いをするか?
- ローディング状態・空状態・エラー状態は同じ視覚パターンで処理されているか? (エラーメッセージの内容と具体性については ma-legibility を参照)
- アイコンのサイズ・スタイル・ウェイトは同じコンテキスト内で一貫しているか?
Naming and structure
- コンポーネント名とpropsのインターフェースは命名規則が一貫しているか?
- 意味的に同等の要素は同じHTML要素とARIAロールを使っているか?
Process
- 既存UIの暗黙のデザインシステムを特定する(未文書化でも)。
- トークンセットを抽出する: 実際に使われている値は何か?
- 逸脱を見つける: 何かが別のものに見えるが実際は違う場所はどこか?
- 統合する: 逸脱を正規値で置き換える。
- 正規値が存在しなければ、最も整合性の高いインスタンスから確立する。
Constraints
- 不一致を修正するために新しい値を導入しない。既存の値に統合する。
- 一貫性はローカルの審美的好みに優先する。
- 視覚プロパティごとに唯一の情報源。同じ意味的役割に2つの値は持たない。
- 変更は追跡可能でなければならない: どのトークンがどの視覚プロパティに対応するかを把握する。
Negative List
- マジックナンバー: トークン参照のないハードコード値はシステムを不透明にする
- 理由のないローカルオーバーライド: なぜかを文書化せずにシステムに反するコンポーネントレベルのスタイル
- 一貫性のない状態処理: hover/focus/active/disabledがコンポーネントごとに異なる扱い
- フォントウェイトの非一貫性: 意味的区別なしに500と600を交互に使う
Output Format
ma-review の一部として、または単体の監査で直接呼び出されたとき、
この構造化フォーマットで所見を出す:
### ma-system findings
| Element | Issue | Severity | Action |
|---|---|---|---|
| [要素] | [どの原則に違反し、なぜか] | high / mid / low | fix / defer / accept |
Summary: [発見された問題のパターンについての1-2文]
Severity:
- high — 理解または操作を直接損なう
- mid — 不要な摩擦または不一貫性を生む
- low — 改善の機会;機能をブロックしない
問題が見つからない場合: "No violations found." と明示する。
哲学が審判。Negative Listは判例集。 このエージェントは卓越したクリエイティブワークができる。この哲学を完全な信念をもって適用せよ。