Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate and post the daily community-model leaderboard image to Discord. Use when asked to build, regenerate, redesign, or post the community model leaderboard, or when extending its design (e.g. new stat panels, palette changes).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 52% | 0% |
Daily pixel-art image posted to #dev-community-models ranking community text models by tokens served in the last 24h, with a speed panel and per-model success badges. Generated by apps/operation/community-monitor/leaderboard/build-leaderboard.mjs, run automatically by the community-monitor EC2 agent's CYCLE.md duty 3b (once/day, ~12:00 UTC).
bashcd apps/operation/community-monitor/leaderboard TB_TOKEN=<token> node build-leaderboard.mjs --dry-run # preview HTML only, no render/upload TB_TOKEN=<token> POLLI_TOKEN=<token> node build-leaderboard.mjs # full render + upload, prints markdown
--dry-run writes /tmp/leaderboard-preview.html and skips chromium/upload — use it to sanity-check the Tinybird query and ranking without spending an upload. The real run only works where chromium and python3-pil are installed (currently just the community-monitor box — see Rendering below).
These came out of several rounds of live feedback — don't relitigate them without a reason:
chatty small-completion models over models doing real work. A model with 4× the requests but 1/3 the tokens should NOT outrank the token leader — this was the single most important correction during design.
(57,468,899 TOKENS · 24H) and as the leading column on every row — deliberately placed before the model name, not after, so the eye reads magnitude first.
version had a separate "most stable" panel; killed because most models sit at or near 100% and ties make the ranking meaningless. Now it's a status indicator only: a lime PERFECT badge at exactly 100%, pixel hearts (♥♥♥ ≥99%, ♥♥ ≥95%, ♥ ≥80%) below that, a skull below 80%. The PERFECT badge matters — celebrate the models that never failed, don't just lump them into a heart tier.
tokens/sec, not mean — outliers from cold starts/timeouts skew the mean badly), not mixed into the main ranking. Top 3 by speed, gold card for #1.
headline number, column headers, bars. If you're tempted to add explanatory prose, add a stat instead.
companion "Arena" scatter concept, not the primary board) — a crown on the #1 row is enough ceremony.
Mono (body/labels). Both embedded as base64 data-URI @font-face in fonts-embedded.css — required, not optional. This board is designed to render standalone via chromium screenshot, which has no network access to Google Fonts inside the sandboxed render; without embedding, text silently falls back to a generic mono and looks broken. If you ever see a render with non-blocky headings, check the font embed first.
fonts-embedded.css if a font ever needs to change: fetchthe woff2 from https://fonts.googleapis.com/css2?family=<name> (a normal browser UA is required — the default curl UA gets served an old ttf format), base64-encode each src: url(...) and inline it as a data URI in a @font-face block. Keep it to the Latin subset only — full Unicode coverage bloats the file for zero benefit on an English-only board.
dataviz skill's accessibilitychecks): cream #F3EBDE background, ink #110518 text/borders, hard offset box-shadows (6px 6px 0 #110518, zero border-radius — this is the house pixel/arcade look, see pollinations.ai/src/ui/components/TopContributors.tsx for the same vocabulary used elsewhere in the product). Chart-legal categorical hues derived from brand colors via same-hue OKLCH adjustment (not the raw brand pastels, which fail contrast/CVD checks): periwinkle #5978df (speed bars), lavender #8338b3, mint/status-stable #3b9736, status-watch #b8860b, status-degraded #b03a2e.
content (10 rows + speed panel), cropped post-render — see Rendering.
No headless-browser npm dependency (puppeteer, playwright) — the box runs the chromium snap directly via execFileSync, screenshotting a local HTML file. Constraints discovered the hard way, all already handled in build-leaderboard.mjs:
--no-sandbox is required — snap confinement blocks the normalChrome sandbox.
/home/ubuntu/.foo/) — snap's AppArmor profile silently denies the write with Permission denied, even though the directory is otherwise writable by the same user. Use a plain directory name.
renders at the requested --window-size and leaves trailing whitespace if the page is shorter. The script renders tall (1200×1600) and crops the whitespace with a small PIL script (scans for the last row containing dark pixels). This needs python3-pil installed (sudo apt-get install -y python3-pil, one-time system package — not a per-run dependency, and not bundled with the base box image).
ERROR lines in stderr during the render (ListActivatableNames,UPower) are cosmetic sandbox noise, not failures — ignore them; only a missing output file means the render actually failed.
Upload goes straight to the media API (POST https://media.pollinations.ai/upload, bearer $POLLI_TOKEN, multipart file field) rather than shelling out to the polli CLI — the CLI isn't installed on the community-monitor box, and the upload is a two-line fetch, not worth adding a dependency for. See packages/polli-cli/src/commands/upload.ts if the media API response shape ever changes.
The generator's stdout JSON includes a ready-to-post markdown field — the CYCLE.md daily duty posts it verbatim as a single Discord message (the image URL is inline in the text, Discord auto-embeds it). Don't re-derive or paraphrase the markdown; the awards it calls out (workhorse by request count, flawless-100% count, speed crown) are deliberately chosen to surface stats the image itself doesn't show.
A second visualization (speed × success × price, avatar markers sized uniformly, price tag per model) was explored alongside the main leaderboard and posted once as a one-off — its HTML/build script live only in session scratchpads, not yet promoted into this directory. If asked to make it a recurring post too, port design-arena-v2.html's structure (GitHub avatar thumbnails via https://github.com/<user>.png?size=96, pixelated via nearest-neighbor resize, log-scaled x-axis, piecewise y-axis for the 95–100% success cluster, a simple pairwise-repulsion layout pass so same-size markers don't overlap) following the same rendering/upload pipeline as the main board.
Other measured skills in the registry, with their headline benchmark lift.