skills/marketing/viz/SKILL.md
Transforms content (URLs, uploaded documents, pasted text, meeting transcripts) into professional visualizations across four output modes. Accepts a mode argument or a keyword trigger in the user message. Mode "diagram" produces an Excalidraw diagram via Excalidraw:create_view. Mode "infographic" generates a Swiss Pulse PNG via the Gemini image-generation API. Mode "visualize" renders an inline Visualizer widget (SVG or HTML) via visualize:show_widget. Mode "publish" ships an interactive Swiss Pulse HTML visual to HeyGenverse via HeyGenverse:create_app and returns a shareable link. Keywords that activate the skill: "diagram it", "excalidraw this", "draw a diagram of this", "nano this", "vis it", "ver it", "hey it", "heygenverse this". Do not use for plain-text summaries, code explanations, prose responses, or generic chat visualizations without a chosen output format.
npx skillsauth add pedronauck/skills vizInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Transform any content into a professional visualization via one of four output modes. This skill is a dispatcher: it resolves the active mode, loads the mode-specific workflow from references/, and executes it.
Inspect the invocation in this priority order:
Positional argument. The first positional argument is $0. If $0 matches diagram, infographic, visualize, or publish, use it as the mode. Remaining arguments ($ARGUMENTS after the mode token) are the optional content reference (URL, file path, or inline text).
Keyword trigger. If $0 is empty or not a valid mode, scan the most recent user message for a trigger keyword and map it to a mode:
| Trigger keyword(s) | Mode |
| ----------------------------------------------------------------------------- | ------------- |
| "diagram it", "excalidraw this", "draw a diagram of this" | diagram |
| "nano this" | infographic |
| "vis it" | visualize |
| "ver it", "hey it", "heygenverse this", "put this on heygenverse as a visual" | publish |
Ask the user. If neither signal yields a mode, stop and ask which output to produce — diagram (Excalidraw), infographic (Swiss Pulse PNG via Gemini), visualize (inline Visualizer widget), or publish (interactive Swiss Pulse app on HeyGenverse). Do not guess.
Invocation context injected at render time: mode token is $0, content reference is $ARGUMENTS.
Read the reference file for the resolved mode and follow its workflow end-to-end:
| Mode | Workflow file |
| ------------- | -------------------------------- |
| diagram | references/mode-diagram.md |
| infographic | references/mode-infographic.md |
| visualize | references/mode-visualize.md |
| publish | references/mode-publish.md |
Read the file on every invocation — do not execute from memory — so any updates to the workflow are applied.
All four modes accept content from the same sources. Resolve the content target in this priority order:
$ARGUMENTS contains a URL → retrieve via web_fetch. If blocked (429/403), fall back to web_search with key phrases to get the content from search snippets.$ARGUMENTS points to an uploaded file → read from /mnt/user-data/uploads/ using pdfplumber for PDF, python-docx for DOCX, pandas for CSV/TSV, direct read for TXT/MD/HTML.$ARGUMENTS is inline text → use it directly./mnt/transcripts/, pasted text) and use that.Summarize to core structure if the content exceeds 3,000 words for modes that pipe text into an LLM (infographic) or 5,000 words for modes that assemble visuals client-side (diagram, visualize, publish).
Follow the steps in the loaded workflow file exactly. Do not substitute tools, colors, typography, or output formats across modes.
mode=publish was requested).references/mode-<mode>.md).Excalidraw:*, visualize:*, HeyGenverse:*) → report the specific missing integration and ask whether to proceed with an alternative mode.GEMINI_API_KEY (mode infographic only) → stop and ask for the key before continuing.development
Guides a founder through the full Y Combinator batch application end-to-end. A 10-phase workflow that captures the live YC form, profiles the founders, stress-tests the idea via an embedded grill loop, runs a mandatory 5-agent parallel external research pass on the startup, drafts every form field with anti-pattern and accepted-example checks, produces founder-video bullet notes (no script), runs a final adversarial gate, generates paste-ready submission answers, unlocks an interview-prep simulator after invite, and supports reapplicant delta tracking and post-decision post-mortems. Writes a documented markdown trail under a user-chosen workspace. Use when a founder wants to prepare a YC batch application, build their founder video, drill mock YC interview questions, or reapply with delta evidence. Don't use for pitch-deck design unrelated to YC, generic startup advice without applying, or post-funding work.
development
Authors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
tools
Provides guardrails for user-facing UI work: usability heuristics, accessibility floors, design-system discipline, component states, microcopy, motion, dark mode, responsive behavior, and human-AI UX. Use when designing, generating, reviewing, or refactoring visible product surfaces such as components, pages, dashboards, forms, dialogs, loading/empty/error states, or AI interfaces. Do not use for backend-only work, infrastructure, CLI/TUI design, or pure documentation editing.
tools
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects. Don't use for plain JavaScript, runtime validation libraries (Zod, Yup), or basic TypeScript syntax questions.