Communitygithub.com

marker-sketch

将任何创意、描述、流程、架构、组织、线框图或场景快速转化为手绘风格草图(SVG 格式,黑白灰,阴影,罕见强调色),始终采用一致的结构。四种模式:草图(直接回答)、现场(会议、研讨会、口头交流)、工坊(密集图表,自动布局)、交互(演变:现在、接着、以后,可拖动元素,形状变化)。

marker-sketch 是什么?

marker-sketch 是一个 AI 代理技能(适用于 Claude Code、claude.ai 等平台),专门用于将抽象概念转化为一致的手绘风格草图。它通过一个固定的核心(SVG 模板、字形库)和一套严格的思维协议,确保每次生成的视觉风格完全相同,避免依赖记忆重新绘制。该技能支持四种模式:**草图**(直接响应问题或请求)、**现场**(实时会议或研讨,快速调整)、**工坊**(密集的脚本化图表,适用于 10 个以上对象)和**交互**(HTML 页面,展示演变或可拖拽元素)。其核心包括一个 Python 脚本 `compose.py`,它将原始绘图与样式核心合并;一个检查脚本 `check.py` 用于验证预算、强调色和符号;以及一个渲染脚本 `render.py`(需要 Playwright/Chromium)用于生成 PNG 预览。视觉语言严格规范:使用粗且略微抖动的黑色线条、偏移的灰色平面、深色阴影、手写字体(Patrick Hand)以及点状纸背景。颜色限制为三种灰色加黑色,仅允许一个填充强调色(少于 10% 面积),并且禁止渐变色、光滑线条和模糊阴影。该技能还包含丰富的参考文档,涵盖 15 种图表家族、抽象概念的可视化隐喻、47 个符号目录,以及用于线框图和交互式演示的指南。它旨在处理诸如“显示我”、“绘制”、“可视化”或“示意”等请求,即便用户未明确指定风格,也会默认使用此风格。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marcus-clay/design-skills/tree/main/skills/marker-sketch

在你喜欢的 AI 中提问

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

文档

marker-sketch 是做什么的?

将创意转化为手绘草图:粗且略微抖动的黑色线条、偏移的灰色填充并带有笔触纹理、灰色阴影、简短的手写文字、点状纸。渲染结果始终如一,因为风格寄宿于固定的核心(assets/template.svg、assets/glyphes.svg),且思考过程遵循相同的协议。不依赖记忆重新绘制,而是进行组装。

路径与依赖

在命令中,${CLAUDE_SKILL_DIR} 是此技能的文件夹(Claude Code 会自动替换)。在 claude.ai 中,如果该变量原样出现,请使用从复制到执行环境的技能文件夹的相对路径(scripts/compose.py)。工作文件(draft.svg、croquis.svg)写入工作文件夹,绝不写入技能文件夹。

依赖:Python 3 足以运行 compose.py(文本保留在 <text> 中,并嵌入字体)。fonttools 将文本转换为路径(--outline,渲染结果处处一致),playwright 配合 Chromium 生成 PNG 控制图(render.py)。安装:pip install fonttools playwright && playwright install chromium。如果缺少依赖项且无法安装,则提供 SVG 并说明未进行视觉控制。

1. 在十秒内选择模式

情况模式输出目标时间
问题或图表请求,附带插图回答草图(默认)一个 SVG单次生成
会议、研讨会、口头交流,“展示刚才讨论的内容”现场一个 16:9 且高度清晰的 SVG,每次交流后修改每次修改数秒
密集图表(超过 10 个对象),大量链接,需控制渲染结果工坊通过脚本构建的 SVG,附带 PNG 控制图一分钟
“现在、接着、以后”、“当前、未来”、演变、趋势、可拖动元素交互一个独立的 HTML 页面一次 JSON 配置

如有疑问,默认使用草图模式。默认情况下绝不使用 three.js:它仅在工坊模式下用于创建缺少的透视符号(参见 references/glyphes.md,3D 部分)。

2. 思维协议,始终如一(在绘制之前)

按顺序在脑中回答以下六个问题。这是保证一致性的关键,而非技巧。

  1. 一句话总结信息。 读者必须在三秒内理解什么?这句话将成为标题或蓝色注释。
  2. 图表家族。 从 references/familles-diagrammes.md 中选择(十五个家族:流程、循环、树、集合、层、枢纽、轮盘、曲线、矩阵、网络、场景、线框、前/后、时间线、漏斗)。
  3. 可能的隐喻。 如果概念抽象(张力、增长、债务、摩擦),寻找一个能用十笔左右画出的物理对象来承载该张力(references/metaphores.md)。否则,坚持使用图表家族。
  4. 预算。 5 到 9 个对象,40% 留白,每个文本 1 到 3 个词(最多一行图例)。在“现场”模式下:最多 7 个对象。
  5. 墨水层级。 黑色 = 核心信息(最多一个纯黑色对象)。灰色 = 上下文。蓝色钢笔 = 注释、评论箭头、数字。每张图只能有一个填充强调色(黄色高亮、橙色、红色、天蓝色或沙色),面积少于 10%,绝不用于装饰。
  6. 构图。 从左到右、从上到下阅读;一个焦点;在松散网格上对齐;为注释预留空间。

然后绘制。然后进行控制(第 8 节)。

3. 不可妥协的风格规则

  • 绝不使用渐变,绝不使用细而规则的轮廓,绝不使用模糊阴影。阴影 = 偏移 (-7, 10) 的灰色副本。
  • 三种灰色 + 黑色 + 纸张:f1 浅色,f2 中色,f3 深色,f4 纯黑。
  • V 形开口箭头(arr、arrb、arrg 类),S 形曲线而非直角弯头。
  • 灰色粗虚线流程线(flow),黑色小点周长线(dotk),破折线(dash)。
  • 文本:Patrick Hand 字体,t (36)、tl (52, 标题)、ts (27, 迷你)、tb (蓝色)、tg (灰色)、tw (黑底白字) 类。法语要求严格:大写字母带重音,œ 连字,« » 引号,无长破折号,使用弯角撇号 ’。
  • 使用读者自己的词汇。不创造术语,不写完整句子。
  • 不使用表情符号、品牌标志或受保护角色。

精确数值、颜色和特殊情况:references/grammaire-visuelle.md。

4. 草图模式:直接绘制

原始绘图仅包含内容。样式核心由 compose.py 添加。

对象模式(四层,共享相同 id):

<use href="#a1" x="-7" y="10" class="sh"/>        <!-- 阴影 -->
<use href="#a1" class="pp"/>                       <!-- 不透明纸张 -->
<use href="#a1" x="-2.5" y="2.5" class="f1"/>     <!-- 偏移平面 -->
<g class="ink"><path id="a1" d="M300 300 L560 296 L556 420 L296 424 L302 296"/></g>
<text class="t" x="430" y="372">想法</text>

角度略微超出(路径未完全闭合),边永不严格平行于像素点。对于符号(人物、窗口、数据库、云、放大镜...),使用符号库:

<use href="#g-person" x="540" y="260" class="cb"/>   <!-- 色调类: cb co cr cs ch c1 c3 c4 -->

目录:python3 ${CLAUDE_SKILL_DIR}/scripts/compose.py --catalog 或 references/glyphes.md。视觉板卡:references/planche-symboles.png。

组装与控制:

python3 ${CLAUDE_SKILL_DIR}/scripts/compose.py draft.svg -o croquis.svg --outline      # 纸张、点、滤镜、文本转路径
python3 ${CLAUDE_SKILL_DIR}/scripts/check.py draft.svg                                  # 预算、强调色、符号、颜色强调
python3 ${CLAUDE_SKILL_DIR}/scripts/render.py croquis.svg                               # PNG 控制图(Chromium)

compose.py 的选项:--paper cream|white|kraft|yellow|blue、--no-dots、--transparent(用于幻灯片粘贴)、--size 1200x1200、--embed-font(保持文本可编辑)、--title。

不执行代码(在 claude.ai 中进行简单对话):直接复制 assets/template.svg 中的 <defs> 块,仅从 assets/glyphes.svg 粘贴使用的符号,然后内容放在 <g id="drawing" filter="url(#wob)"> 中。明确说明未能进行视觉控制。

5. 现场模式:会议、研讨会、口头交流

在首次修改前阅读 references/mode-live.md。要点:

  • 倾听,而非编写。从交流中提取 3 到 7 个元素:名词变为对象,动词变为箭头,“但是”和“否则”变为分支,“前/后”变为两列,“首先,然后”变为流程。
  • 16:9 格式,最小文本 36 px (t),标题 52 px (tl),绝不使用 ts。四米外可读。
  • 稳定位置。 每次修改时,仅移动变化的部分。重复使用相同的标识符和坐标。团队不应失去参照物。
  • 口头修改:“添加”、“连接”、“划掉”、“突出显示”(纯黑或高亮)、“干净版本”(重新对齐,最后只做一次)。
  • 投影:python3 ${CLAUDE_SKILL_DIR}/scripts/live.py draft.svg 打开一个页面,每次文件重写时自动更新(全屏按 f 键)。在 claude.ai 中:重新发布相同的 artifact,或每次修改时将 SVG 渲染为 PNG。
  • 实时线框和流程:参见 references/wireframes-flows.md 中的方法。

6. 工坊模式:通过脚本构建的密集图表

对于超过十个对象或大量链接,编写几行代码使用 scripts/sketch.py:链接会自动计算到对象边缘,包括 S 形曲线和 V 形开口箭头。

import sys; sys.path.insert(0, "${CLAUDE_SKILL_DIR}/scripts")
from sketch import Sketch
s = Sketch()
s.box("a", 260, 420, "探索", fill="f1")        # (id, 中心 x, 中心 y, 文本)
s.box("b", 800, 420, "定义", fill="fh")
s.glyph("c", "g-flag", 1340, 400, "交付")
s.link("a", "b"); s.link("b", "c", label="验证")
s.perimeter(["a", "b"], "发现")
s.note(1330, 640, "在此测量", target="c")
s.save("draft.svg")

对象:box(形状 box、pill、oval,对于重叠的集合可使用 solid=False)、glyph、text、label、wf(线框元素)、badge(蓝色数字)。链接:link(kind="ink|gray|flow|dash|blue|line")、arrow、perimeter、note、highlight、raw(自由 SVG)。完整示例见 examples/build_examples.py。

对于大型图表的自动布局,使用 ELK 或 dagre(npm)计算位置,然后将坐标传递给 sketch.py。

7. 交互模式:时间上的演变

当需求涉及演变、连续状态、“现在、接着、以后”、趋势变化、组织转型、可移动部件时:生成一个独立的 HTML 页面。阅读 references/interactif.md(六个模式、配置结构图、陷阱)。

原理:原始绘图(元素具有 id)+ JSON 配置(状态,每个元素的关键帧:x y s r o d draw txt、图层、注释):

python3 ${CLAUDE_SKILL_DIR}/scripts/compose.py draft.svg --interactive scenes.json -o page.html
python3 ${CLAUDE_SKILL_DIR}/scripts/render.py page.html --state 1        # 控制每个状态

页面提供:状态按钮、时间滑块、播放、显示或隐藏图层、拖放标记为 drag 的元素、双击重命名文本、跟随元素的链接、导出状态为 SVG、复制布局(JSON)、键盘快捷键(箭头、空格、f)。无外部依赖,离线工作。示例:examples/migration-organisation.html、examples/tendance-adoption.html。

8. 回答前的控制

  1. check.py 无错误(已知符号、无长破折号、仅一个颜色强调)。
  2. 查看渲染的 PNG:文本可读、无重叠、阴影可见、焦点明显、留白充足。
  3. 看向图画而不阅读文本,信息一句话可概括。
  4. 如果无法进行视觉控制,请说明。

9. 根据环境交付

  • Claude Code:将 croquis.svg(及 PNG)写入工作文件夹,提供路径。在“现场”模式下,启动 live.py。
  • claude.ai(可执行代码):生成、控制,发送 SVG 和 PNG。对于交互式页面或需要保留及分享的绘图,发布为 artifact(首先加载 artifact-design 技能,标题两到四个词);compose.py --interactive 生成的 HTML 已经独立。
  • 无法执行:根据第 4 节手动编写完整 SVG,并声明未经控制。

法语回答:对绘图标签和周围文本应用 francais-parfait。

10. 参考索引

文件何时阅读
references/grammaire-visuelle.md样式精确值、类、纸张、边界情况
references/familles-diagrammes.md选择并组成十五个家族之一
references/metaphores.md将抽象概念可视化
references/glyphes.md47 个符号目录、添加符号、可选 3D
references/mode-live.md会议、研讨会、口头交流
references/wireframes-flows.md线框、流程、屏幕状态
references/interactif.md动画页面、状态、可拖动元素
references/planche-symboles.png所有符号概览
examples/六个草图(SVG 和 PNG)、两个交互式页面、brut/(源绘图和配置)、build_examples.py

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é.

drawing-animated-diagrams

Use when a page needs an explanatory diagram (process, timeline, flow, structure, before/after) as an SVG React component that draws itself as it scrolls into view, in a minimalist ink-and-grey style, for a Next.js or React site. Also when asked for a "diagramme animé", "schéma qui se dessine".

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.

相关技能