Communityコーディング&開発github.com

描画アニメーションダイアグラム

Next.js または React サイトで、説明用のダイアグラム(プロセス、タイムライン、フロー、構造、Before/After)を、スクロールに合わせて自身を描画する SVG React コンポーネントとして作成するスキル。ミニマリストなインクとグレーのスタイルで提供。

描画アニメーションダイアグラム とは?

このスキルは、Next.js または React プロジェクトで、ページに説明用のダイアグラム(プロセス、タイムライン、フロー、構造、Before/After)を追加する必要がある場合に使用します。作成されるダイアグラムはアニメーションで描画される SVG React コンポーネントで、ユーザーがスクロールしてビューポートに入ると要素が順に描かれていきます。スタイルはミニマリストなインクとグレーのみで、メッセージはインク色で表現され、その他の情報はグレーのトーンで表現されます。要素は読み順に応じて遅延時間が設定され、アニメーション全体は2〜3秒で完了し、一度描画が終わると静止します。スキルは reference/ ディレクトリ内のテンプレートとヘルパーコンポーネントを利用し、データファイルは英語とフランス語のバイリンガルで管理することを推奨しています。また、各ダイアグラムには、カードやリスト表示用の固定サムネイルバージョンを生成する機能も含まれています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marcus-clay/design-skills/tree/main/skills/drawing-animated-diagrams

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

画面に入場時に描画されるアニメーションダイアグラム

原則

1つのダイアグラムに1つのアイデアを、まず1文で記述します。描画は画面に入ったときに1度だけ、読み順に従って行われ、その後は静止します。インクがメッセージを伝え、グレーが残りの情報を伝え、ラベルは図の上に配置され、凡例はありません。「動きを減らす」設定が有効な場合、図は単に表示されます。

必須の背景知識: diagram-storytelling(1つのアイデアへの絞り込み、矢印上の動詞、ノード=状態)。emil-design-eng(曲線と時間に関する知識)。

使用すべきでない場合

  • データグラフ(曲線、数値付き棒グラフ):データ可視化ツールを使用。
  • 実時間での動作を示すためにループするアニメーション:アニメーションプロトタイプであり、ダイアグラムではありません。
  • ツール内で1日に数十回表示されるダイアグラム:アニメーションは不要です。

手順

  1. 一文にする。 アイデアを一文で書き、インクで表現する主体を決めます(「3つのコンセプトを探求し、1つのプロトタイプが選ばれた」)。文に2つのアイデアがある場合は、2つのダイアグラムを作成します。
  2. 語彙(ファイル)。 reference/diagramMotion.ts と reference/DiagramParts.tsx をプロジェクトにコピーします(まだ存在しない場合)。Panel、Arrowhead、トーン、ヘルパーをローカルで再定義しないでください。
  3. 文言(データファイル)。 バイリンガル(en/fr)のデータファイルを作成します。アクセシビリティ用の title と desc、および各ラベルを含めます。ラベルは最大でも数単語にします。フランス語の場合:大文字にアクセントを付け、コロンの前には改行しないスペースを入れ、ダッシュは使用しません。
  4. ジオメトリ。 viewBox="0 0 960 H"(H は 300 から 400 の間)、座標は名前付き定数で定義、行の端のラベルのために左右に 60px のマージンを確保します(textAnchor="end" で x=54 のラベルは切れます)。Panel の最小幅は 720(スマートフォンでもスクロール可能にします)。
  5. 読む順序=遅延の順序。 各要素には読み順に従ってミリ秒単位の遅延を設定します:最初に読むものは 0、ステップごとに +200〜300ms、同じシリーズ内の要素間は 40〜110ms。インクのメッセージは最後に表示します(1500〜2300ms)。描画の合計時間:2〜3秒。
  6. 検証。 localhost でページをレンダリングし、ダイアグラムを中央にスクロールし、3秒待って、パネルをキャプチャします(reference/shoot-diagrams.cjs を NODE_PATH=<プロジェクト>/node_modules で実行)。各キャプチャを確認:端で切れたラベル、白いブロックの下のラベル、隣り合って接触しているラベルがないか。修正して再キャプチャします。また、390px の幅でも確認します。

クイックリファレンス

要素ヘルパー値
線、矢印draw(shown, delay, duration) を pathLength={1} の path に適用400〜900ms
点線描画不可:rise(フェードイン)を使用
ブロック、ラベルrise(shown, delay):8px 上昇500ms
タイムバーgrow(shown, delay, duration):左から伸長500〜800ms
フレーム、レンズopen(shown, delay):0.96 から 1 に開く600ms
矢印の先端<Arrowhead x y angle style={rise(...)}> を draw の直後に配置
トーンINK #111827 メッセージ、LINE #D1D5DB 境界線、PALE #E5E7EB 背景、#6B7280 セカンダリラベル、#9CA3AF 除外されたもの
テキストノードタイトル 14px 太字、ラベル 11〜13px、10px 未満は不可
曲線cubic-bezier(0.22, 1, 0.36, 1)(ヘルパーに既に含まれています)

CSS 変換はすべてラッパーの <g> に適用し、SVG の transform 属性を持つ形状には直接適用しないでください(置き換わってしまいます)。

アイデアのタイプ別の形状

  • 絞り込まれていくシーケンス:ノードを一列に配置し、枝分かれを扇状に広げ、1本だけをインクで、残りを LINE で「除外」と表示します。
  • 時間的リズム:上部に週の軸、アクターごとに1行、grow バー、重要な関係を示すインクの矢印を1本。
  • 広がりから収束へ:時間の長さに比例したバーの上にレンズ(open してから輪郭を draw)を配置します。
  • 状態と遷移:ノード=状態(探索中は点線、中間はグレー、確定したものはベタのインク)、矢印には動詞でラベルを付け、ノードと重ならないように行の上側に配置します。
  • オブジェクトの部分分解:オブジェクトを左側に、点線で切断、矢印、部分をカードとして右側に、最初の部分をインクで。

各形状の完全な例:reference/exemple-TemplateDiagrams.tsx とその文言ファイル reference/exemple-templateDiagramsData.ts。

ダイアグラムのサムネイル(カード、リスト用)

同じコンポーネントをカード用に固定ビューでレンダリングできます。thumb はパネルとリビールを無効にし、viewBox は 520×400(13:10、カード画像と同じアスペクト比)のフレームになり、メッセージを中央に配置します。フレームはダイアグラムごとに FRAMES に定義し、350px 幅でキャプチャして検証します:描画内のテキストは 11px 以上で読みやすくなります。reference/exemple-TemplateDiagrams.tsx 内の Drawing と TemplateDiagramThumb を参照してください。

よくあるエラー

エラー修正
「動きを出すために」ループ(回るドット、点滅する状態)を追加する描画そのものが動きです。ループは時間がダイアグラムの主題である場合のみ、1つだけ、描画後に useLoop を使用します。
アクセントカラー、有効/無効を示す緑/赤インクとグレーのみ。判定は形状(実線、点線、除外)または単語で表現します。
図の横に凡例を配置単語は図の上、それが示すものの近くに配置します。
矢印に移動先画面の名前でラベル付け遷移の動詞でラベル付けします(「承認済み」、「非採用」)。
60px 離れた2つのノードの中央にラベルを配置ラベルがノードにかぶります:行の上側に配置します。
効果のために遅延を選択読み順に従って遅延を設定し、メッセージは最後にします。
キャプチャせずに完了と宣言スクロールして3秒待ってからキャプチャし、キャプチャを確認します。

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

brand-system

Système de marque sobre et éditorial, fourni comme marque par défaut : palette bleue sur fond clair, typographie Inter, dégradé doux, boutons en pilule, cartes à ombre légère, icônes Phosphor. Appliquer à tout livrable (présentation, document, page, artefact web) quand aucune autre charte n'est donnée, ou s'en servir comme modèle à remplacer par la charte d'un projet. À combiner avec `slides` (mises en page) et `pptx` (génération du fichier). Déclencher dès qu'on demande une mise en forme soignée, une identité visuelle, des tokens de design, ou un livrable client à l'aspect professionnel.

card-illustrations

Use when asked for an illustration, a thumbnail or a card picture for a card in a grid of content, such as a library of resources (guide, template, deck, article), when a set of cards needs one consistent treatment, or when product screenshots are shared as a reference for card illustrations. Two modes, "noir et blanc" (ink accent) or "accent couleur" (ten-hue palette), chosen by the argument or the wording of the request.

direction-design

Aide à tenir une position de responsable design : cadrer les besoins de conception à l'échelle d'une feuille de route plutôt que d'un seul sujet, planifier les bonnes instances et revues, et construire l'argumentaire qui permet de défendre un point de vue design et de peser dans un arbitrage, y compris dans une organisation pilotée par la direction technique. Déclencher dès qu'il faut préparer une feuille de route design, décider quelles instances créer ou faire évoluer, ou construire un argumentaire pour défendre une position dans un arbitrage ou une négociation de priorité.

marker-sketch

Dessine n'importe quelle idée, description, flux, architecture, organisation, wireframe ou scène sous forme de croquis au feutre sur papier à points (SVG noir, blanc, gris, ombres portées, un accent rare), de façon rapide et toujours avec la même construction. Quatre modes, Croquis (réponse directe), Live (réunion, atelier, échange oral), Atelier (schéma dense, mise en page automatique), Interactif (évolution maintenant, ensuite, plus tard, éléments déplaçables, formes qui changent). À utiliser dès qu'on demande un schéma, diagramme, flow, croquis, sketch, illustration, wireframe, maquette rapide, carte mentale, vue d'ensemble dessinée, "montre-moi", "dessine", "visualise", "schématise", ou une illustration animée ou interactive d'une évolution. Utiliser même si l'utilisateur ne parle pas de style : ce style est le défaut.

personal-os

OS personnel avec Claude Code. À utiliser pour créer ou faire évoluer un second cerveau (un « brain »), un dossier de fichiers Markdown qui sert de mémoire et de tableau de bord à Claude Code. Déclencher quand on veut structurer son travail, traiter une inbox (comptes rendus, transcriptions, notes), mettre en place des règles d'ingestion, des agents, des commandes ou des vues générées, préparer un 1:1, tenir un registre de décisions, ou propager un changement dans tous ses contenus.

ship-to-show

Framework en 7 phases pour transformer un prototype en case study portfolio avec vidéos animées, contenu narratif bilingue et pack d'intégration. Déclencher quand l'utilisateur veut documenter un prototype, créer un case study, produire des vidéos de démonstration d'une interface, ou publier un projet dans un portfolio. Entrée : un fichier de code ou un prototype. Sortie : case study complet publié avec vidéos.

signal-research

Scans current signals across UI/UX, product design, design strategy, AI-assisted workflows, the design toolchain, B2B/B2G/SaaS design, AI regulation and process automation, then generates content angles calibrated to the user's own positioning. Use when the user asks for content ideas, wants to know what is trending or debated in design, product or AI, needs an editorial plan, or names a topic to write about (search first, then differentiate).

slides

Système de création de présentations et de slides : tokens de design, catalogue de quinze mises en page, structure narrative et conventions de rédaction des titres. Appliquer à tout output de type deck, pitch, présentation client, keynote, support de formation ou rapport visuel. Déclencher dès que la demande implique des slides, un deck, une présentation PowerPoint, Google Slides, ou tout support visuel multi-pages. Prend la priorité sur une skill de génération de fichiers (pptx) pour les choix visuels et stylistiques : celle-ci gère la technique, slides gère les tokens, la structure narrative et les mises en page.

socle

Framework de création de projet digital en 5 étapes : Structurer, Outiller, Construire, Livrer, Élargir. Appliquer systématiquement au démarrage de tout nouveau projet web, app, SaaS, ou outil interne. Déclencher dès que l'utilisateur mentionne un nouveau projet, un MVP, un prototype, un produit à construire, une app à développer, ou demande comment organiser le développement d'un produit. Également pertinent quand l'utilisateur a une idée de produit et veut passer à la réalisation, ou quand il se demande par où commencer. Ce skill prend la priorité sur les approches ad-hoc ou les scaffoldings improvisés.

ux-et-design-thinking

Apporte un regard de méthodologie UX, de cycle de design et de design thinking sur un parcours, un écran ou une proposition de conception : logique Jobs-to-be-Done, ergonomie d'interface, cohérence de parcours (customer journey), avec prise de hauteur plutôt que jugement esthétique. Déclencher dès qu'on demande un avis de conception, qu'on veut challenger un écran ou un parcours, ou qu'on réfléchit à une approche méthodologique UX.

関連スキル