>- Convert a hand-drawn whiteboard photo (or sketched process/diagram) from a discovery or working session into a polished, client-ready infographic as an editable PowerPoint slide (.pptx). Use this whenever someone uploads or references a photo of a whiteboard, a hand sketch of a process or system, or session-capture notes and wants it "cleaned up", "made presentable", "turned into a diagram/infographic", "converted for the client", or similar — even if they don't say the word "infographic". Covers two layout archetypes — linear process flows (left-to-right step rails) and network/topology maps (locations, systems, or actors connected by labeled flows). Built for consulting/ERP discovery capture but works for any whiteboard-to-deliverable conversion. Do NOT use for charts/graphs from numeric data, for editing an existing polished design, or for generating diagrams with no source sketch.
npx skills add https://github.com/microsoft/cat-agent-skills --skill whiteboard-to-infographic
Turn a messy hand-drawn capture into a clean, branded one-page infographic —
delivered as a single editable PowerPoint slide — that a consultant can put
in front of a client. The hard, non-delegable work is reading the handwriting
correctly and choosing the right structure; the styling and layout are codified
here so every output looks consistent.
This is structure-first. Producing a polished deliverable from a misread sketch
is the main failure mode, so confirm interpretation before building.
crop aggressively — examine the image, then crop it into regions and
re-examine at 2–3x so the handwriting is legible. Transcribe every box,
label, arrow, annotation, and margin note. Do not silently drop anything you
can't read — list it as a question.
send the user a compact transcription: the nodes/steps, the
connections/flows, and any side notes or requirements. Explicitly flag:
ambiguous words, unexpanded acronyms, and anything you're inferring. Ask the
questions that change the build (see "Questions to ask"). Wait for
confirmation. Build only what's on the board — never invent steps, fields, or
connections to make it look complete. If a relationship isn't drawn, don't
draw it.
into this skill. If the user gave colors in the prompt or context, use them.
Otherwise, ask before building. You need hex values for these roles:
Derive sensible text tints (e.g. a muted slate for sub-captions) from these.
Offer to suggest a palette if the user has no preference, but don't assume.
(step 1 → step 2 → …). Read references/process-rail.md.
flows, with no single linear order (a topology). Read
references/network-map.md.
If it's genuinely both, lead with the dominant reading and ask.
python-pptx per the chosenarchetype's reference. The layout is deterministic — **code decides every
coordinate** — so verify structurally rather than by eye: every step/node
present, columns/nodes evenly spaced, no shape overlapping another, every
label inside its box, drop-lines landing on their cards, edges approaching
nodes straight-on and not crossing through them. If your runtime can
rasterize the slide, optionally do a visual critique pass; if it can't, lean
entirely on the computed geometry. Fix in code and rebuild. Faithfulness
beats polish — never add a step, field, or connection that wasn't on the
board.
Build the infographic as a single editable slide with python-pptx, drawn
natively as shapes — no HTML, no image rendering, no external render step. It
runs inside the agent's Python container and returns a .pptx the client can
open and edit.
The layout is deterministic — code decides every coordinate. Design on a
fixed 1600×1000 grid mapped to a 13.333in slide (see each reference for the
PX() scale helper), and compute every position from the step/node count and
the canvas so the slide is correct by construction. Use the house-style system
fonts (Arial Narrow for condensed display, Arial for body) so nothing
depends on font downloads. Turn off the default autoshape shadow
(shape.shadow.inherit = False) for the flat house look. Save the deck and
return the single .pptx as the deliverable — no PNG/PDF/HTML side-artifacts.
Revisions: never reuse a filename. When the user asks for changes to an
infographic you have already delivered, build the revision as a **new file with
a new name** — infographic-v1.pptx, infographic-v2.pptx, infographic-v3.pptx,
and so on — incrementing on every subsequent revision for the life of the
conversation. Do not overwrite, re-save, or re-deliver an existing filename: a
reused name can prevent the updated file from reaching the user, who then
receives the earlier version or no file at all. One revision, one new filename,
every time.
These are the house style. Keep them consistent across a client engagement.
full-width accent rule under it, and an optional right-aligned scope/context
note. A short eyebrow label (e.g. "THE PROCESS", "SUPPLY NETWORK") sits above
each major band.
client's process (a fit/gap item). Use only where the user confirms a gap.
invented shapes. Keep the client's exact terms and acronyms; don't expand or
rename acronyms the client already knows unless asked.
rail, or the region cluster), keep everything else quiet. Whitespace where the
source is sparse is honest — don't pad it with invented detail.
Ask only the ones that actually change the build; don't interrogate.
goes in the bottom band — principles, requirements, or nothing?
what each node/edge label means; does anything apply across all nodes.
margin note) in addition to a clean executive version.
references/process-rail.md — linear flow archetype: deterministic bandedlayout (header, numbered chevron rail with drop-lines, callout cards,
principles/requirements bottom band), as a python-pptx skeleton with color
placeholders.
references/network-map.md — topology archetype: node/edge/cluster helpers(labeled edges with arrowheads, dashed region clusters, edge-label chips, flow
legend, requirements band), as a python-pptx skeleton with color
placeholders.
Generate breadboard circuit mockups and visual diagrams using HTML5 Canvas drawing techniques. Use when asked to create circuit layouts, visualize electronic component placements, draw breadboard diagrams, mockup 6502 builds, generate retro computer schematics, or design vintage electronics projects. Supports 555 timers, W65C02S microprocessors, 28C256 EEPROMs, W65C22 VIA chips, 7400-series logic gates, LEDs, resistors, capacitors, switches, buttons, crystals, and wires.
> Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes. Use this skill whenever the user wants to understand, document, replicate, or audit the design of something visual: a screenshot, a URL, a Figma link, a Pinterest reference, a mockup, a competitor's site, a component, a dashboard, a landing page. Also when they ask 'extract the design system from X', 'document the style of Y', 'analyze this visually', 'convert this image into tokens', 'help me replicate this design', 'what palette does this site use', 'how is this built'. Also for single elements: 'copy this navbar', 'recreate this illustration', 'give me a prompt to regenerate this graphic' — element mode outputs a focused element.md, with token-grounded image-model prompts when the element is visual art. If the user brings any visual source and wants to understand it at a design level — this skill should activate.
Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.
Elite mobile app image-generation skill for creating premium, app-native screen concepts and flows. Designed for iOS, Android, and cross-platform mobile products. Prioritizes clean hierarchy, comfortably readable text, strong multi-screen consistency, controlled color palettes, non-generic creative direction, textured surfaces, image-led composition, tasteful custom iconography, and clean phone mockup framing. By default, screens should be shown inside a subtle premium iPhone or similar phone mockup with a visible frame, while the main focus stays on the app content itself. This skill generates images only. It does not write code.
Optimize web performance: bundle size, images, caching, lazy loading, and overall page speed. Use when site is slow, reducing bundle size, fixing layout shifts, improving Time to Interactive, or optimizing for Lighthouse scores. Triggers on: web performance, bundle size, page speed, slow site, lazy loading. Do NOT use for Core Web Vitals-specific fixes (use core-web-vitals), running Lighthouse audits (use perf-lighthouse), or Astro-specific optimization (use perf-astro).
| Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.
| Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.
Take microsoft/whiteboard-to-infographic from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.