name: sharecraft description: >- Craft high-quality shareable materials — slide decks (幻灯片/PPT), posters/cards/covers, code screenshots, infographics, and explainer/demo videos or GIFs — by combining best-in-class local open-source tools (Slidev, Marp, markdown-to-image, poster-design, 文颜, Carbon, Remotion, Manim, VHS, etc.) AND a real "how to make a great share" methodology (audience, the one takeaway, narrative, visual hierarchy). Use whenever the user wants to MAKE or design something to share or present: a deck / slides / PPT for a talk or 技术分享, a 公众号 / 小红书 / Twitter / 知乎 card, cover, or poster, an article 排版 for a platform, a launch graphic or 封面图, a code screenshot, an explainer or product-demo video, a terminal GIF, or a SET of matching pieces for one launch (cover + video, or deck + card). Trigger even if the user names only the tool ("make a Slidev deck", "用 Manim 做动画") or only the goal ("做一套幻灯片", "I need a launch poster", "turn this into something I can share"). Tools are means; making the share land is the point.
Sharecraft — 做出真正打动人的分享物料
A great share is not "pretty output". It's the right message, shaped for a specific audience, on the right medium, with nothing in the way of understanding. Tools make that fast; they don't make it good. This skill does both: it forces a short thinking pass first, then drives best-in-class open-source tools to produce slides, images, or video.
Read these as defaults to adapt, not rules to obey. The recipes, specs, and checklists here are a menu you pull from after reading the brief (Step 0) — not a script to run top-to-bottom. When a rule and the audience disagree, the audience wins. Pull only what fits; skip the rest.
Step 0 — Think before you build (never skip)
Spend 30 seconds answering these out loud with the user. Most bad shares fail here, not in tooling.
- Who is the audience? (peers / execs / strangers scrolling / future-you) — sets depth, jargon, tone.
- One takeaway: if they remember exactly one thing, what is it? Write it as a single sentence.
- Action: what should they do/feel after? (try it / star it / approve it / understand it)
- Medium & where: where will it actually be consumed? (WeChat feed, Twitter, a meeting, README, a talk) — this decides aspect ratio, length, and density more than anything. Also lock the shape now: an HTML share to read on its own is a real website (interactive.md IH09), not a deck or a blog column — getting the shape wrong up front is the costliest mistake to fix later.
- Base look for this audience: dark is only the house default. A public / teaching / broad-audience piece usually wants a light, plain base (
design-system.md§1/§6); the dark brand look is for dev-facing brand artifacts. Decide here, not after a rewrite. - Effort budget: 5-minute throwaway or a polished centerpiece? Don't over-build a Slack one-off.
Then declare a one-line "read" and go. Before generating, state the call in a single sentence —
"Reading this as: a <medium/shape> for <audience>, <vibe>, leaning <direction/base>." — so the
direction is explicit and correctable. If the brief is genuinely ambiguous, ask exactly one tight
question (never a multi-question dump); if you can infer it, don't ask — declare and proceed.
Then read references/methodology.md for the principles that make each medium land. Always skim it
before producing the final artifact — it is what separates this skill from "just run a tool". For the
concrete cross-medium how — width/measure, code-block style, directed-edge flowcharts, palette tokens,
the two registers (product vs brand), and the anti-pattern self-check — read references/design-system.md;
every medium pulls from that one contract so the output stays coherent and avoids the generic "AI look".
Step 1 — Pick the medium (and feel free to combine)
The user often wants more than one artifact from the same content — a deck and a launch card, or a video and a thumbnail. Plan the set, not just one piece.
| Goal | Primary medium | Read |
|---|---|---|
| A live talk you present slide-by-slide | Slides | references/slides.md |
| Share a doc / guide / explanation / launch as HTML to read on its own | Interactive HTML — a single-page site (IH09), not slides, not a blog column, not PPT-flip | references/interactive.md |
| One striking visual: social card, cover, poster, code shot, infographic | Image | references/images.md |
| Show motion: concept animation, product demo, terminal flow | Video / GIF | references/video.md |
| Let the audience do it: explore params, simulate, scroll a story, filter data | Interactive HTML — a widget (IH01–IH08) | references/interactive.md |
| Long-form article styled for a platform (公众号/知乎) | Styled doc | references/images.md (文颜/markdown-to-image) |
Then check references/combine.md — the real power is chaining tools (e.g. one Mermaid diagram reused
across a deck, a card, and a video; a Slidev slide exported as a social image).
Before you build, learn from the best — the principle, not the look. Skim the matching section of
references/exemplars.md. It first distills the underlying principles every benchmark keeps
rediscovering about attention and understanding, then shows how each one (3Blue1Brown, Kurzgesagt,
Fireship, TED/Jobs, Tufte/NYT, Bartosz/Nicky Case, Julia Evans, awesome-readme) expressed those
principles for their audience. Reason from the principle and invent your own expression that fits
this topic and these tools — copying the surface gives a knockoff; honoring the principle gives original,
effective work.
Step 2 — Set up the tool, then build
This skill deeply integrates the open-source projects rather than reinventing them. Each reference file gives the exact setup command, the minimal authoring loop, and how to export. Prefer the tool the user already has; otherwise install on demand and tell the user what you're installing and why.
Two load-bearing capabilities most recipes rely on — set these up once:
- HTML/CSS → PNG (the universal image/poster engine): a Playwright-based renderer,
scripts/html_to_image.py— how cards, posters, infographics and interactive previews get pixel-perfect output without a heavy app. Install everything locally with the bundled./setup.sh(creates a skill-folder.venv+ a folder-local chromium — nothing global; uninstall = delete the folder). Then always invoke via the skill-local interpreter so it finds that chromium:"$SKILL_DIR/.venv/bin/python" scripts/html_to_image.py …. If.venvis missing, run./setup.shfirst. The installer is layered — core is the renderer;./setup.sh --videoadds Manim + a venv-local ffmpeg,./setup.sh --terminaladds VHS. Install a layer only when the chosen medium needs it, and tell the user what you're adding. - A package manager: most projects are Node (
pnpm/npm) or Python (pip/uv). Detect what's available before assuming. Prefernpxfor Node slide tools (no global install) and the skill's.venvfor Python tools, so the user's environment stays clean.
Tool map (what to reach for)
- Slides: Slidev (developer talks, code-heavy), Marp (lightweight Markdown→PDF/PPTX), reveal.js (web); plus Pandoc (one-command convert), Patat (terminal/SSH demos), Impress.js (3D/Prezi-style).
- Images / posters / cards: HTML→PNG engine (custom designs + 小红书 carousel / 公众号 covers via templated loop), Satori (programmatic/batch OG images), markdown-to-image / Madopic (MD→poster), poster-design 迅排设计 (full editor), 文颜 wenyan (公众号/知乎 typesetting), Carbon / ray.so / CodeImage (code screenshots), Excalidraw + Mermaid + Draw.io (diagrams/infographics).
- Video / GIF: Remotion (React, programmatic video), Manim (math/concept animation),
Motion Canvas / MotionForge (programmatic motion), VHS (scripted terminal→GIF) / asciinema+agg
(live terminal recording), OBS (screen recording), ffmpeg (trim/convert/caption — bundled
video-editorskill). - Interactive HTML (explorables, dashboards, scrollytelling, demos, toys — the deliverable stays
live): vanilla HTML/CSS/JS as the base; D3 / Observable Plot / Chart.js (data), Three.js (3D),
GSAP / Motion One (animation), Scrollama (scrollytelling), Leaflet / MapLibre (maps),
CodeMirror / Sandpack (live code), KaTeX / Mermaid; bundled
web-artifacts-builderfor complex React apps. Ship one self-contained file; host on GitHub Pages; preview viahtml_to_image.py. Seereferences/interactive.md.
All of the above run locally with no external API keys. Don't introduce a tool that needs a paid API or platform auth unless the user explicitly asks.
Step 3 — Self-review against the medium's checklist
Before handing over, run the artifact against the checklist in references/methodology.md for its
medium (e.g. "one idea per slide", "card readable at thumbnail size", "video has a hook in 3s"), and —
for anything with HTML, code, or a diagram — the anti-pattern self-check in references/design-system.md
§7 (one reading measure, restrained code blocks, directed-edge flowcharts, no card-in-card, no generic
"AI look"). Fix the gaps. Then state plainly: what you made, where the file is, and one concrete
suggestion to make it even better. Offer to produce the companion artifacts (the deck's launch card, the
video's thumbnail).
Boundaries & non-negotiables
A few hard rules keep output honest and on-scope:
- No external API keys / paid services — every tool here runs locally. Don't reach for one that needs auth unless the user explicitly asks.
- Don't fake data, quotes, logos, or metrics. A share that misrepresents loses trust fast. Source images get recorded (see
images.md); credit when needed. For before/after or good/bad comparisons, use the real, uncompressed artifact (the actual screenshot / original page) — a prettified re-creation is no longer evidence. - Pick a layout, then fill it — for cards/carousels use a named recipe (
images.md), don't free-style every card; verticals must pass the 4-band density check. - Honor the platform's real spec — exact ratios/sizes from the
methodology.mdtable (e.g. 公众号 cover = 21:9 + 1:1, re-typeset not cropped). - Skim
methodology.mdbefore the final artifact, and run the medium's checklist before handing over. That discipline is the skill.
Not this skill (hand off instead): pure photo editing like background removal or retouching; generative AI image creation; trimming/compressing an existing video file (→ bundled video-editor); generating spreadsheets/Word/PDF docs (→ xlsx/docx/pdf). Sharecraft is for making a share land, not general file manipulation.
Quick recipes (common asks)
- "Share this project nicely" → README skim → a Slidev deck (overview→problem→demo→how it works→
call to action) + one social launch card (
images.md) reusing the deck's hero visual. - "Make a card for this post" → 文颜 or markdown-to-image for text-heavy; HTML→PNG for custom design;
size to the platform (see
methodology.mdaspect-ratio table). - "Explain this concept in a video" → Manim for abstract/math, Remotion for UI/data, VHS if it's a
CLI workflow. Script the narration beats first (
video.md). - "Beautiful screenshot of this code" → Carbon/CodeImage; pick theme matching the share's context.
Keep SKILL.md as the map; the references hold the detail. Read the relevant reference fully before building.