MPH Figure
SkillWeb & browsingRender markdown or HTML into a crisp, accurately-rendered PNG, tables, data figures, stat cards, for inlining into Substack posts (where markdown tables render as garbage) or anywhere a real-browser-rendered image beats a hand-drawn one. Use whenever a post or doc needs a table-as-image, or any markdown/HTML turned into a picture.
Use MPH Figure in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add MPH Figure and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the MPH Figure skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by mphinance/alpha-skills in plugins/mph-kit/skills/mph-figure/SKILL.md and read by Ahel’s review.
Turns markdown (or raw HTML) into a pixel-accurate image: it renders the content in a real browser via Playwright and screenshots it. Because a browser does the layout, the output has full CSS fidelity — real fonts, text wrapping, column alignment, the lot. More accurate than SVG-shortcut generators, which only support a subset of CSS.
Built mainly for one job: Substack cannot render markdown tables. The
mph-substack-writer skill mandates "generate an image instead." This skill is how you
generate it.
When to use it
- A Substack post (or any doc) needs a table — render it as an image instead of writing a raw markdown table.
- Any time structured content (a comparison, a stat block, a small data card) reads better as a clean image than as plain markdown.
One-time setup
This skill bundles a script with dependencies. Run once:
cd ~/.claude/skills/mph-figure
npm install
npx playwright install chromium # skip if Playwright's browser is already installed
How to use it
-
Write the figure as markdown (a normal markdown table works; column alignment with
:---:is respected) and save it to a file, e.g.figure.md. -
Render it:
node ~/.claude/skills/mph-figure/scripts/render.mjs --in figure.md --out figure.png -
Inline the result in the post:
.
Need full control of the markup? Pass a .html file (or add --html) instead.
Options
--in <file>markdown or HTML input (required)--out <file>output PNG (required)--width <px>figure width, default 720 (a good Substack inline width)--scale <n>sharpness / device scale, default 2 (retina-crisp)--theme <name>visual theme, defaultbloomberg--htmltreat the input as raw HTML regardless of extension
Theme
bloomberg — a dark, sharp, data-first look: near-black card, amber accents, clean
tables with uppercase headers and tabular numerals. This is the "dark theme, Bloomberg
aesthetic" mph-substack-writer asks for. Add more themes to the THEMES map in
scripts/render.mjs.
Signals
- GitHub stars
- 27
- Forks
- 5
- Last commit
- Sep 2026
Ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
mph-figure- Source
- github.com/mphinance/alpha-skills
github.com/mphinance/alpha-skills
More in Web & browsing
Skill · browser-use
More in Web & browsingwebapp-testing
Skill · anthropics
More in Web & browsingplaywright-cli
Skill · microsoft
More in Web & browsingbenchmark
Skill · affaan-m
More in Web & browsingopen-source
Skill · browser-use
More in Web & browsingdeploy-to-vercel
Skill · vercel-labs
More in Web & browsing