Skip to content
cccskills
FreePublished on GitHub

exporting-to-png

Export code, terminal output, diagrams, or UI components to PNG images using headless browser rendering or CLI tools.

The English summary is being prepared. Showing the original description.

Works withPlaywright

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Exporting to PNG

Convert code snippets, Markdown content, terminal output, diagrams, or rendered UI components into PNG image files.

Methods

1. HTML → PNG via Headless Browser

The most flexible approach. Render any content as HTML and screenshot it.

# Using Playwright (if available)
npx playwright screenshot --full-page "file:///path/to/content.html" output.png

# Using Puppeteer one-liner
node -e "
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setContent(\`<html>...</html>\`);
  await page.screenshot({ path: 'output.png', fullPage: true });
  await browser.close();
})();
"

Steps:

  1. Generate an HTML file with the content styled appropriately (syntax highlighting, padding, fonts)
  2. Use a headless browser to render and capture
  3. Crop if needed using an image tool

2. Code → PNG with Carbon or Silicon

For styled code screenshots:

# silicon (Rust CLI, fast)
silicon --language python --output code.png source.py
silicon --from-clipboard --output code.png

# Or generate a Carbon URL for browser capture
# https://carbon.now.sh/?l=python&code=<url-encoded-code>

3. Mermaid Diagrams → PNG

# Using mermaid-cli
npx @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.png -b transparent

# Or with Docker
docker run --rm -v "$(pwd)":/data minlag/mermaid-cli mmdc -i /data/diagram.mmd -o /data/diagram.png

4. SVG → PNG

# Using sharp (Node.js)
node -e "
const sharp = require('sharp');
sharp('input.svg').png().toFile('output.png');
"

# Using Inkscape CLI
inkscape input.svg --export-type=png --export-filename=output.png

# Using ImageMagick
convert input.svg output.png

5. Terminal Output → PNG

# Using termshot (if installed)
termshot -- ls -la

# Manual approach: capture output, wrap in HTML with monospace font, screenshot

Workflow

  1. Determine the content type (code, diagram, HTML, terminal, SVG)
  2. Check which tools are available in the environment (which silicon, npx --help, etc.)
  3. Choose the best method and generate the PNG
  4. Verify the output exists and is non-empty: file output.png && ls -la output.png
  5. Report the file path and dimensions

Tips

  • For code screenshots, use a dark theme with generous padding (32px+) for a polished look
  • Set deviceScaleFactor: 2 in Playwright/Puppeteer for retina-quality output
  • For transparent backgrounds, use --background transparent or omitBackground: true
  • If no specialized tool is installed, fall back to the HTML + headless browser method — it works for everything

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

Add PostHog analytics to a web application, including event tracking, page views, feature flags, and session replay.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

Dockerize an application with a production-ready Dockerfile, docker-compose setup, and .dockerignore.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

Set up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.

The English summary is being prepared. Showing the original description.

0xAidan/polymarket-bot-test4Updated Sep 4, 2026

See all skills by 0xAidan

Report a problem with this skill