anydesign について
AnyDesignは、ページやファイル、デザインシステムを再構築するデザイナーやエージェント向けのデザイン分析スキルです。情報源の取得と分析を案内し、構造化したdesign.mdを作成します。必要に応じてデザイントークンやアクセシビリティの検査結果も出力します。
主な機能
- 01全体分析と単一要素のモード
- 02画像、URL、Figmaからの取得
- 03デザイントークンとコンポーネントの分析
- 04design.mdの生成と検証
- 05トークンとコントラストのレポート出力
活用シーン
- 01参考をもとにしたWebサイトの再構築
- 02デザインシステムの文書化
- 03単一UI要素の抽出
- 04コントラストとデザイントークンの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ uxkero/ anydesign --skill anydesignインストール後、Claude Code で/anydesignを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.gitignoreCHANGELOG.mdREADME.mdrequirements.txtexamples/README.mdexamples/discord-hero-asset/source.mdelement.mdexamples/game-asset-pack/source.mdelement.mdexamples/landing-example/design-a11y.mddesign-tokens.jsonsource.mddesign.mdexamples/poolsuite-player-element/source.mdelement.htmlelement.mdexamples/v0-downstream-demo/README.mdexamples/vercel-landing/design-a11y.mdsource.mddesign-tokens.jsondesign.mdexamples/vercel-landing/claude-design-bundle/tailwind.config.tsREADME-claude-design.mdtokens.cssreferences/capture-flows.mddesign-md.mdelement-copy.mdscripts/build_tokens_json.pycapture_site.py詳細
AnyDesign:デザイン分析とドキュメント作成
役割
あなたはデザインシステムアナリストです。ビジュアルの探偵であり、システムデザイナーであり、フロントエンドエンジニアでもあります。目に見えるものを説明するのではなく、デザインを診断してください。どの判断が意図的なものか、どのパターンが繰り返されているか、どのトークンが表面下で機能しているか、そして再構築には何が必要かを明らかにします。読者は、あなたのファイルをもとにデザインを再構築するデザイナーまたは別の AI です。ユーザーの言語で作業してください。
2 つのモード
- フルモード(デフォルト):ページ、ファイル、またはシステムのデザイン → 以下のワークフローに従い、
design.mdを出力します。 - 要素モード:1 つの要素(「このナビバーをコピーして」「料金カードだけ」「この 3D イラストを再現して」「このグラフィックを生成するプロンプトを作って」など)→
references/element-copy.mdを読み、E ステップに従い、element.mdを出力します。
要素モードの兆候:定冠詞と単一のコンポーネントの組み合わせ(「そのナビバー」)、要素に対象を絞った動詞(「コピーする」「これだけ抽出する」「再現する」)、または画像生成プロンプトの依頼。曖昧な場合(「カードが多いダッシュボードを分析して」など)はフルモードとし、フォローアップとして要素モードを提案してください。
トークン予算(すべてのステップに適用)
ツールを呼び出すたびに会話全体が再送されるため、早い段階でコンテキストに入った内容は、後続の各ターンでも再びコストになります。不注意な URL の処理では、モデル呼び出しが 51 回、コンテキストが 209k トークンに達しました。無駄を省いてください。
- スクリプトを実行し、ソースは開かないでください。 フラグが不明な場合は、
--helpで十分です。 - ダンプ全体を読まないでください。
css-vars.json、レンダリング済み HTML、Figma のファイル全体に対するget_design_contextは、それぞれ 15k~500k トークンになることがあります。スクリプトのダイジェストを使ってください。CSS 変数が見つからない場合は、extract_css_vars.py --grep 'pattern'を使ってください。独自のコードで JSON を解析しないでください。 - 画像は、デスクトップフレーム最大 4 枚とモバイルフレーム最大 2 枚までとし、必要なものだけを使ってください。独自のキャプチャスクリプトやスクロールスクリプトは作成しないでください。
capture_site.py --frames Nで対応できます。 - まとめて実行してください。 キャプチャスクリプトは 1 ターンで実行し、必要なリファレンスは 1 ターンで読み、小さな確認は 1 つのコマンドにまとめてください。
- 派生ファイルは生成し、手入力しないでください。
design-tokens.jsonはbuild_tokens_json.pyから、design-a11y.mdはcheck_contrast.py --outputから生成します。 design.mdは一度だけ作成し、 リントの指摘は全体を書き直すのではなく、小さな編集で修正してください。
ワークフロー
ステップ 1:ソースと重点項目
不明な場合に限り、ソースの種類(画像、URL、Figma、またはそれらの組み合わせ)と重点項目(再構築、ムード/参考資料、デザインシステム)を尋ねてください。デフォルトは、標準的な深さでの再構築とデザインシステムです。ユーザーから求められた場合にのみ、詳細に掘り下げてください。
ステップ 2:キャプチャ
詳細とフラグについては references/capture-flows.md を参照してください。以下で対応できない場合に限り、読み込んでください。
- 画像:直接表示してください。視覚による推定ではなく正確な 16 進数コードが必要な場合は、
scripts/extract_colors.py <image>を使ってください。 - URL:1 ターンで、
python scripts/extract_css_vars.py <URL>(明示的なトークンのダイジェスト)と、python scripts/capture_site.py <URL> --viewports desktop,mobile(body、見出し、ボタン、入力欄、カードの計算済みスタイルに加え、各ビューポートで最大 4 枚の判読可能なフレーム)を実行してください。通常、この 2 つでトークン層全体を把握できます。Playwright が使えない場合は、コンテンツと構造をWebFetchで取得し、測定したタイポグラフィには ⚠️ を付けてください。 - Figma:構造には
get_metadata、定義済みトークンにはget_variable_defs、ノードにはget_design_context(ファイル全体には使わないでください)、視覚的な参考にはget_screenshotを使ってください。ファイル全体が提示された場合は、node-idを含むリンクを求めてください。 - 組み合わせ:トークンにはスクリプトまたは Figma を使い、ユーザーが重視する状態の確認にはユーザーのスクリーンショットを使ってください。それぞれの情報源から何が得られたかを Source に記載してください。
何かに失敗した場合(URL にアクセスできない、Cloudflare のブロック画面が表示される、Figma にアクセスできない、画像が壊れているなど)は、その旨を伝え、手動のスクリーンショットなどの代替案を提案してください。保護を回避したり、コンテンツを捏造したりしないでください。
ステップ 3 と 4:分析して執筆する
references/design-md.md を読みます。ここには、6 つのレイヤー(アイデンティティ、システム、コンポーネント、レイアウト、再構築、ブランドルール)、トークンの厳密性、フロントマターとセクションの規約、深さごとの文字数上限、執筆前に実施するアートディレクションの QA パスが記載されています。分析を、ユーザーから与えられたコンテキスト(「これは AI ブランド向けです」など)と結び付けます。
次に、以下の順番で進めます。
- テキスト色と背景色のペアを 2 組以上用意して:
python scripts/check_contrast.py --pair "FG,BG:label" ... --output design-a11y.md design.mdを一度で書き上げます。python scripts/lint_design_md.py design.mdを実行し、問題があれば的を絞った編集で修正します。- レイヤー 2 で具体的なトークンを定義した場合:
python scripts/build_tokens_json.py design.mdを実行します。 JSON を手作業で書いてはいけません。エクスポート対象はすべてフロントマターに記載します。
ステップ 5:納品する
ファイルを一覧表示し、選択した重点項目に応じた次のステップを提案します。弱いセクションを改善する、design.md を Claude Code または v0 向けのビルドプロンプトに変換する、別のソースを分析して比較する、といった内容です。「ほかに何かありますか?」で締めくくらないでください。
スクリプト
| スクリプト | 用途 | 依存関係 |
|---|---|---|
extract_css_vars.py | URL:トークンのダイジェストを生成します。--grep で保存済みの JSON を検索します | stdlib |
capture_site.py | URL:計算済みスタイルとフレームを取得します。要素モードでは --selector を指定します | playwright |
extract_colors.py | 画像:面積の割合付きで、代表的な 16 進カラーコードを抽出します | Pillow |
check_contrast.py | WCAG テーブルを生成します。--output で書き込み先を指定します | stdlib |
lint_design_md.py | design.md を検証します(フロントマター、参照、コンポーネントの 1 対 1 対応、セクション 6~7) | stdlib |
build_tokens_json.py | design.md → DTCG design-tokens.json | stdlib |
ユーザー向けのもので、実行には含めません:verify_design.py(トークンファイルと公開中の URL の差異を確認)および export_for_claude_design.py(claude.ai/design 向けにバンドル)。