Communitygithub.com

marker-sketch

將任何想法、描述、流程、架構、組織、線框或場景,以麥克筆在點點紙上快速繪製成草圖(SVG 黑、白、灰、陰影、罕見的強調色),風格始終一致。提供四種模式:草圖(直接回應)、現場(會議、工作坊、口頭交流)、工作坊(密集圖表、自動佈局)、互動(現在、接著、之後的演變、可拖曳元素、變化的形狀)。當使用者要求圖表、圖解、流程、草圖、插圖、線框、快速模型、心智圖、繪製概覽,或說「展示給我看」、「畫出來」、「視覺化」、「示意圖」,或需要動畫或互動式的演化說明時,立即使用。即使使用者未提及風格,也應使用此預設風格。

marker-sketch 是什麼?

marker-sketch 是一個 AI 代理技能,能將任何概念、流程或場景轉換為風格統一的麥克筆草圖(SVG 格式)。它專為快速、一致地產生易於理解的視覺化內容而設計,支援四種核心模式:**草圖**(單次直接回應)、**現場**(用於會議或口頭交流,可快速迭代修改)、**工作坊**(處理超過 10 個物件的密集圖表,可透過 Python 腳本自動佈局)以及**互動**(建立動態 HTML 頁面,展示隨時間的演變,並支援拖曳和狀態切換)。此技能適用於 Claude Code、Claude.ai 等平台。其核心是依循一個固定的視覺風格(粗黑線條、偏移灰色填充、陰影、Patrick Hand 字體)和嚴格的繪製協議(六個心智步驟),確保每次都產生一致的結果。它透過組合預先定義的符號庫(47 個圖形)和模板 SVG 來運作,並提供 Python 腳本(`compose.py`、`check.py`、`render.py`)來組合草圖、驗證設計規則並生成控制用 PNG。此外,它也完整支援本地端執行所需的相依性(fonttools、playwright)。

相容平台✓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% 留白,文字一至三個詞(最多一個句子作為圖例)。在現場模式中:最多 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 形曲線和開放箭頭。

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.

相關技能