Skip to content

feat: add release-infographic skill#96

Merged
nujovich merged 7 commits into
mainfrom
feat/release-infographic
Jul 20, 2026
Merged

feat: add release-infographic skill#96
nujovich merged 7 commits into
mainfrom
feat/release-infographic

Conversation

@nujovich

Copy link
Copy Markdown
Owner

Summary

Adds a project-scoped Claude Code skill, release-infographic, that generates a mint-branded PNG summarizing what ships in a release, sourced from CHANGELOG.md.

It is a skill invoked by Claude (applies editorial judgment: highlights, copy, layout) — not an automatic hook on npm run release. Rendering is deterministic HTML→PNG via a headless browser, so brand tokens and technical identifiers (mint-ds lint, gap-rule-color, …) come out exact — unlike AI-image infographics, which garble technical text.

What's included

  • .claude/skills/release-infographic/SKILL.md — the editorial workflow.
  • template.html — mint-branded shell (tokens from app/globals.css inline) with {{placeholders}} and three layout presets (bento, linear, dashboard).
  • render.mjs — HTML→PNG via Playwright, with an injectable launch so unit tests run without a real browser.
  • render.test.mjs — Vitest unit tests (fake browser; no Chromium in vitest run).
  • EXTEND.md — pinned preferences (layout, language, tagline, width).
  • release-assets/ — generated PNGs + HTML records, versioned; auto-excluded from the npm tarball (the files allowlist).

Supporting changes

  • package.json — adds playwright as a devDependency (renderer engine).
  • vitest.config.ts — excludes .claude/worktrees/** from test discovery (fixes pre-existing worktree pollution).

Test Plan

  • npm test — 520 tests pass, including 3 new renderer tests
  • npm run check:pack — passes; release-assets/ confirmed absent from the npm tarball
  • End-to-end: rendered real CHANGELOG sections (Unreleased and 0.2.0) to valid 1200px-wide PNGs, no leftover placeholders, brand identity and code chips correct
  • Width parameter verified configurable (design reflows to fill the viewport width)
  • Cleanup-on-error verified (browser closes even when screenshot throws)

@nujovich
nujovich merged commit 4933a99 into main Jul 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant