rich-page
Generate a single self-contained HTML page that is genuinely visual AND interactive — charts, diagrams, motion, tabs, comparison toggles, click-to-expand, base64-inlined images, opinionated typography. Use whenever the user wants ANY rich visual artifact from arbitrary content: explainer, research write-up, PRD or spec page, pitch, internal one-pager, "make this less boring" rebuild, scroll-snap deck, landing-style summary, distilled report. Trigger phrasings: "make me a page about X", "turn this PDF/doc into something visual", "build me a deck/talk/pitch", "explain Y in a visual way", "make this readable", "give it some eye candy", "I want something I can show the team", "less boring version of this", "rebuild that page", "redo it with more visuals". Output is one .html file that renders identically when DM'd — CDN libraries (Tailwind, Chart.js, D3, GSAP, Mermaid, Lucide) load from stable jsdelivr/unpkg URLs; every image is base64-inlined. Not for plain Markdown docs (use technical-writer), not for code review (use reviewer), not for maintainable component code a team will edit over time (use frontend-design — rich-page produces one-shot HTML artifacts, not living software).
What this skill does
# rich-page
Build an opinionated, visually distinctive **single self-contained HTML page** from an arbitrary source — explainer, research write-up, PRD, pitch, one-pager, distilled report, "make this less boring" rebuild. The output is one `.html` file that renders identically when DM'd to anyone: CDN-loaded libraries are allowed (they're stable), but every image is base64-inlined so there are no external file references.
The point of this skill, in the spirit of Google Research's [Generative UI](https://generativeui.github.io/) work: **generate the interface, not just the content.** Most "explainers" written by AI default to prose with a card grid. Reach further. A bar chart with the SLO line called out. A Mermaid sequence of the actual protocol. A scroll-tied walkthrough of how a request travels through the system. A click-to-detail architecture diagram. Typography that signals intent. The visual treatment is the contribution.
This skill is a **four-phase workflow**. The split between Phase 2 (visual plan) and Phase 3 (build) is what keeps the page focused — without it, every section becomes a card grid and the page reverts to AI slop.
## When this skill applies
Trigger for explicit asks ("make me a rich page about X", "turn this PDF into something visual", "build me a deck"), but also for implicit ones:
- "I want something I can show the team about Y"
- "explain Z in a visual way" / "more visual than a doc"
- "make this less boring" / "give it some eye candy"
- "distill our research into a page"
- "I want a one-pager / pitch / PRD page for [thing]"
- "rebuild that page" / "redo it with more visuals"
- "turn this into something I can present"
If the user wants a **plain Markdown doc**, hand off to `technical-writer`. If they want a **review of code or a PR**, use `reviewer`. If they want **maintainable component code a team will edit over time** (React/Vue/Svelte components shipping to production), use `frontend-design` — rich-page produces one-shot HTML artifacts (DM-able files, internal pages, archival reports), not living software. If they show up with a source (PDF, markdown, notes, URL) and ask for a "rich", "visual", "interactive", "less-boring" treatment, this skill fits.
## Workflow at a glance
1. **Intake.** Read the source if there is one. Otherwise collect topic, audience, language, output path. Identify candidate "visual moments" — places where prose would lose the lesson.
2. **Visual plan.** Pick the visual direction (font pair, palette, vibe), draft the section list, and choose 4–7 centerpiece visuals from the catalog with the *technique* named for each. Stop and confirm (unless the user said "just go").
3. **Build the HTML.** Write one self-contained `.html` file: theme CSS, CDN library tags, base64-inlined images, inline SVG diagrams, inline JS for interactivity. No external image references.
4. **Self-check + handoff.** Parse the HTML, confirm self-containment, report the path.
Each phase below says what to do, what supporting file to load, and what output the user should see.
---
## Phase 1 — Intake
Goal: understand the source well enough to plan the page. Don't over-interview.
### If a source file is provided
Read it end-to-end with the `Read` tool. For long PDFs (>10 pages), use the `pages` parameter to chunk it — don't skip to the conclusion. You want the table of contents, the figures, the methodology, the limitations, the conclusion. Note:
- **Title, author, attribution, date** — for the hero block and footer.
- **The source's own visual language** — accent colors, fonts. The default palette is dark + coral; override if the source uses a distinctive color (e.g. orange thesis cover, a brand identity).
- **The source's language** — Dutch source → Dutch page. French source → French page. Keep technical terms in their original language as the source does.
- **Candidate visual moments.** Scan for any of (with the matching pattern from `references/interaction-patterns.md`):
- **Quantitative claims, distributions, time series** → annotated chart (Chart.js)
- **Same metric across categories** → small multiples (Observable Plot)
- **"With X vs without X" / "naïve vs"** → comparison toggle
- **Architecture with 3–6 components** → hover/click node diagram (inline SVG)
- **Protocol / handshake / API dance** → sequence diagram (Mermaid or custom)
- **Cyclic processes (loop, retry, observe-act)** → animated process loop
- **Parameters with non-obvious effects** → slider + live chart
- **Phases / milestones / staged work** → click-to-expand timeline
- **"We reduced N to M"** → aggregation animation
- **A genuinely sequential walkthrough** → scroll-tied sequence (GSAP)
- **A section with 4+ sub-views** → tabbed view
- **Hard numbers** for the key-facts strip (page count, sections, sample size, metrics).
- **Placeholders the source contains** (`[TBD]`, `[forthcoming]`). Mirror them; don't invent data.
### If no source file, only a topic
Bundle one `AskUserQuestion` call covering:
- **Topic** — what's the page about? One sentence.
- **Audience** — who reads this?
- **Language** — default to whatever the user is writing in.
- **Output path** — default to `./<topic-slug>.html` in CWD.
- **Source material** — any docs, links, or notes? (Optional)
Don't ask four separate questions. Bundle into one.
### Escape hatch — "just go" phrases
If the user's first message contains any of these phrases, **skip the Phase 2 pause** and move directly through Phase 2 + Phase 3 in the same reply:
`"just go"` · `"just build it"` · `"build it"` · `"don't ask"` · `"skip the plan"` · `"go ahead"` · `"do it"`
Use sensible defaults for anything you'd otherwise have asked about. Still emit a **3–5 line prose summary** of your decisions (direction + sections + visuals, in flat prose, no tables, no section list, no inventory block) at the top of the reply so the user can see what you decided before scrolling to the artifact — they just don't have to approve it. The structured Phase 2 outputs (visual direction paragraph, section list, visual inventory table) belong to the gated path; in escape-hatch mode you produce the artifact directly and the summary substitutes for them. Phase 2 below references this same canonical list.
---
## Phase 2 — Visual plan
Produce three things in one reply: **visual direction**, **section list**, **visual inventory**.
### 2a. Visual direction (one short paragraph)
Name the font pair, the OKLCH palette (3 colors), the overall vibe, the target page shape. Something like:
> **Direction.** Bold editorial — Archivo Black display paired with Space Grotesk body. Palette: deep slate `oklch(0.18 0.02 260)` background, off-white `oklch(0.94 0.01 260)` text, saturated coral `oklch(0.70 0.18 40)` accent. Cyan `oklch(0.82 0.14 195)` as the "other side" in comparisons. Long scrolling page (~7 sections), sticky nav, animated conic-gradient hero, sparse motion (fade-up on reveal only).
Load `references/design-system.md`. It has the font pair catalogue, OKLCH primer, layout primitives, hero recipe, and the AI-slop avoid list. Pick a direction that fits the source's tone — don't default to "modern corporate" for every page.
### 2b. Section list
A scroll-page rhythm that works for most topics:
```
1. Hero — title, attribution, scroll cue, link to source
2. Sticky nav — anchors to every below section
3. Key facts — 5–8 numbers, large type, single row
4. The problem — why this exists, plain prose
5–9. Content — 4–6 thematic sections, each a chunk of the source
10. Limitations — what doesn't work / open questions (if source has any)
11. Conclusion — short, the source's takeaway in plain language
12. Footer — author, attribution, link back to source
```
For **short pages (≤ 5 sections)**, drop the sticky nav — it's overhead the reader doesn't need when the whole page fits in 2–3 viewports. Same for the limitations section if the source doesn't have any.
Vary Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors 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.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".