Community编程与开发github.com

绘制动画示意图

用于 Next.js 或 React 站点,当页面需要一个解释性示意图(流程、时间线、图表、结构、前后对比)时,将其生成为一个随着滚动进入视口而自行绘制的 SVG React 组件,采用极简的墨灰风格。也适用于“diagramme animé”或“schéma qui se dessine”的请求。

绘制动画示意图 是什么?

该技能用于创建自绘制的 SVG React 组件形式的解释性示意图,专为 Next.js 或 React 站点设计。其核心原则是“一图一理”,示意图仅在进入视口时按阅读顺序绘制一次,随后保持静止。视觉风格严格限定为墨色(INK)传递信息、灰色(LINE)承载辅助元素,所有标签直接绘制在图上,无图例。该技能支持无障碍选项(减少动画)以保持可访问性。支持的示意图类型包括:时序流程、时间线分步、发散与收敛、状态转换、对象分解等。组件通过延迟控制绘制顺序(阅读顺序决定延迟),总绘制时长约为 2-3 秒。技能还提供缩略图视图支持,用于卡片或列表中的静态剪影,并包含双语(en/fr)数据文件结构以支持国际化。验证流程要求使用 `reference/shoot-diagrams.cjs` 捕获并检查渲染结果,确保无标签裁剪或重叠问题。该技能依赖于 `diagram-storytelling`(概念简化、箭头标签附加动词)和 `emil-design-eng`(曲线与动画曲线)作为背景知识。

兼容平台~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 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

绘制动画示意图(滚动进入视口时自绘制)

原理

每个示意图只表达一个核心观点,首先用一句话写下来。绘制过程在示意图进入视口时仅进行一次,按照阅读顺序逐步显现,随后保持静止。墨色(INK)传递核心信息,灰色(LINE)承载辅助内容,所有标签直接标注在图上,无需图例。当用户启用“减少动画”选项时,示意图直接完整显示,无动画效果。

必要背景知识: diagram-storytelling(将概念浓缩为一句话,箭头标注动词,节点代表状态)。emil-design-eng(曲线与动画时序)。

何时不使用

  • 数据图表(曲线、柱状图等数值图形):请使用数据可视化工具。
  • 循环播放的动画,用于展示实时运行过程:请使用原型动画,而非示意图。
  • 在工具中每日被查看数十次的示意图:无需添加动画效果。

实施步骤

  1. 一句话核心。将观点浓缩为一句话,明确主语(将会使用墨色强调)。例如:“三种概念被探索,一个原型被选中”。如果一句话包含两个独立观点,则应制作两个独立的示意图。
  2. 引用组件。将 reference/diagramMotion.ts 和 reference/DiagramParts.tsx 复制到项目中(如果尚未存在)。切勿在本地重新定义 Panel、Arrowhead、色调或辅助函数。
  3. 文本数据。创建一个双语(en/fr)数据文件:包含 title 和 desc 用于无障碍标识,以及每个标签的内容。每个标签应简短(几个词以内)。法语文本需注意:大写字母加变音符号,冒号前加无换行空格,不使用长破折号。
  4. 几何布局。viewBox="0 0 960 H"(其中 H 在 300 到 400 之间),坐标使用命名常量表示。左右各保留 60 像素边距用于行末标签(若标签的 textAnchor="end" 且 x 坐标为 54,则会被裁剪)。Panel 的最小宽度为 720(以确保在手机上滚动时可见)。
  5. 阅读顺序 = 延迟顺序。每个元素根据阅读顺序获得毫秒级延迟:阅读的第一个元素延迟为 0,此后每一步增加 200-300 毫秒,同一系列内元素之间增加 40-110 毫秒。核心消息(墨色元素)最后出现(延迟 1500-2300 毫秒)。总绘制时长控制在 2-3 秒。
  6. 验证。在本地主机上渲染页面,将示意图滚动到视口中央,等待 3 秒,使用 reference/shoot-diagrams.cjs 捕获面板截图(运行命令:NODE_PATH=<项目>/node_modules)。检查每张截图:标签是否被边缘裁剪、标签是否被白色块遮挡、两个相邻标签是否重叠。修正问题后重新截图。同时以 390 像素宽度再次验证。

快速参考

元素辅助函数值范围
线条、箭头draw(shown, delay, duration) 应用于 path,配合 pathLength={1}400-900 毫秒
虚线无法绘制:使用 rise(淡入)
块、标签rise(shown, delay):向上移动 8 像素500 毫秒
时间条grow(shown, delay, duration):从左向右扩展500-800 毫秒
边框、透镜open(shown, delay):从 0.96 缩放至 1600 毫秒
箭头尖端<Arrowhead x y angle style={rise(...)}> 紧跟在 draw 之后
色调INK #111827 核心消息,LINE #D1D5DB 边框,PALE #E5E7EB 背景,#6B7280 辅助标签,#9CA3AF 被排除元素
文本节点标题 14 像素 600 字重,标签 11-13 像素,最小不小于 10 像素
曲线cubic-bezier(0.22, 1, 0.36, 1)(已包含在辅助函数中)

所有 CSS 变换应应用于包裹 <g> 元素,切勿应用于已包含 SVG transform 属性的形状(否则会替换原有变换)。

不同观点类型对应的图形形式

  • 逐步收敛:节点排列成行,分支扇状展开,仅一条持续路径使用墨色,其余使用 LINE 色调并标注“被排除”。
  • 时间节奏:顶部为周刻度轴,每个参与者一行,时间条使用 grow,一个墨色箭头表示关键关系。
  • 先发散后收敛:使用一个透镜(先 open 再 draw 轮廓)位于按持续时间比例缩放的时间条上方。
  • 状态与转换:节点代表状态(探索阶段使用虚线,中间状态使用灰色,最终确定状态使用实心墨色),箭头标注转换动词,箭头置于行上方以避免与节点接触。
  • 对象分解:对象位于左侧,虚线切割线,箭头指向右侧的卡片表示分解后的部件,第一个部件使用墨色强调。

每种形式的完整示例请参见 reference/exemple-TemplateDiagrams.tsx 及其数据文件 reference/exemple-templateDiagramsData.ts。

示意图缩略图(卡片、列表形式)

同一个组件也可以渲染静态、裁剪的缩略图用于卡片展示:thumb 模式会禁用面板和滚动揭示功能,并且 viewBox 变为 520×400(13:10 比例,与卡片图片一致),内容居中于核心消息。每个示意图对应一个缩略图,定义在 FRAMES 中。需以 350 像素宽度进行截图验证:确保示意图内文本在 11 像素以上仍清晰可读。详见 reference/exemple-TemplateDiagrams.tsx 中的 Drawing 和 TemplateDiagramThumb。

常见错误

错误修正
添加循环动画(如旋转的点、闪烁的状态)“让示意图更生动”绘制过程本身就是运动。仅当时间本身是示意图的主题时才使用循环动画,且最多一个,在绘制完成后通过 useLoop 实现
使用强调色、绿色/红色表示成功/失败仅使用墨色和灰色;通过图形形式(实心、虚线、排除)或文字来表达判断结果
在图形旁边放置图例所有文字直接标注在图形上,靠近它们所指示的元素
箭头标签使用目标状态名称应使用表示转换的动作动词(如“已验证”、“未采纳”)
标签居中放置在间距仅 60 像素的两个节点之间标签会溢出到节点上:应将其放置在节点行上方
延迟时间仅为了视觉效果延迟应遵循阅读顺序,核心消息最后出现
未进行截图即宣布完成滚动后等待至少 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.

相关技能