@pierre/diffs Code Rendering
pierrecomputer/pierre
Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.
Proves that a refactor leaves every rendered preview page unchanged by comparing fresh HTML output against a baseline captured beforehand.
$ npx skills add tabler/tabler --skill html-diff -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tabler/tabler html-diff --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/html-diff .claude/skills/html-diff && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .claude/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diffType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tabler/tabler --skill html-diff -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tabler/tabler html-diff --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/html-diff .agents/skills/html-diff && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .agents/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tabler/tabler --skill html-diff -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tabler/tabler html-diff --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/html-diff .cursor/skills/html-diff && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .cursor/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tabler/tabler.git --path .agents/skills/html-diff--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tabler/tabler --skill html-diff -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tabler/tabler html-diff --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/html-diff .gemini/skills/html-diff && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .gemini/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tabler/tabler html-diffInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tabler/tabler --skill html-diff -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/html-diff .github/skills/html-diff && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .github/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tabler/tabler --skill html-diff -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tabler/tabler html-diff --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/html-diff .opencode/skills/html-diff && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "html-diff" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/html-diff into .opencode/skills/html-diff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "html-diff", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
html-diffProves that a refactor leaves every rendered preview page unchanged by comparing fresh HTML output against a baseline captured beforehand.
The skill drives .build/html-diff.ts, a script that fetches every preview page from a running dev server and compares the result with stored snapshots. It suits changes that should not alter output: extracting a component, renaming props, moving code between shared files, restructuring a layout or running a formatter. A change that deliberately alters markup is a poor fit, because the whole run would report differences and say nothing useful.
The workflow is to capture a baseline from the tree before any edits, then run pnpm run html-diff after the change. Snapshots go to .cache/html-diff/, and the dev server is expected at http://localhost:3000 unless HTML_DIFF_BASE points elsewhere. A clean run reports all 128 pages byte-identical. Otherwise it exits non-zero and lists each differing page, with separate lines for whitespace-only changes, new pages, removed pages and pages that failed to render.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dcacb65. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
HTML Diff Refactor Check loads about 1.1k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 479 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tabler/tabler at commit dcacb65, republished under its MIT licence (© tabler). 479 words, ~1,052 tokens.
.claude/skills/html-diff/SKILL.md (or your agent's skills folder)..build/html-diff.ts renders every preview page from a running dev server and compares it to a stored baseline. It is the only fast way to refactor shared components with confidence: one run covers every page that uses them.
Use it for any change that should not alter output: component extraction, replacing repeated markup with a component, renaming props, moving code between shared/ files, layout restructuring, prettier/format passes.
Do not use it for a change that intentionally alters markup — the whole run will be red and tell you nothing. There, review the diff of the pages you meant to change instead.
The baseline must come from the tree before the change. If you have already started editing, stash first.
git stash # only if the working tree already has the change
pnpm --dir preview run dev # or preview_start with the `preview` config
pnpm run html-diff:baseline
git stash popBefore editing, list the pages that render what you are about to change:
grep -rl "Steps.astro" preview/pages docs/contentGreen on everything is not the only result worth checking — knowing that all-elements.html must stay identical while steps.html is allowed to differ is what turns the run into a proof.
Snapshots land in .cache/html-diff/ (one HTML file per page) and the directory is wiped on every baseline run. The dev server must be reachable at http://localhost:3000; override with HTML_DIFF_BASE if you run it elsewhere.
Keep the same dev server running — it recompiles pages on demand — and run:
pnpm run html-diffEvery page byte-identical:
✓ All 128 pages are byte-identical to the baseline.Anything else exits non-zero and prints one line per differing page.
| Line | Meaning |
|---|---|
± page: differs at line N with -/+ | real difference — the first differing line of that page |
± page: WHITESPACE-ONLY difference | identical after collapsing inter-tag whitespace |
± page: new page (no baseline snapshot) | page added since the baseline |
± page: page removed | page deleted, or it now fails to render |
✖ N page(s) failed to render | the dev server is down, or a page throws — fix that before reading anything else |
A whitespace-only difference is usually inert (flex containers, <select> internals) but is not automatically fine: inside inline contexts whitespace is a rendered space. Open such a page and compare visually before waving it through.
For a full diff of one page, compare the snapshot to the live render:
diff <(cat .cache/html-diff/badges.html) <(curl -s http://localhost:3000/badges)[...] in the filename) are skipped.dist.Generated <date> footer is normalised away; nothing else is.pnpm run html-diff green, or every remaining difference explained© tabler, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/html-diff of tabler/tabler.
Open the folder on GitHubat commit dcacb65
HTML Diff Refactor Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| HTML Diff Refactor Check this skilltabler/tabler | 42k | — | ~1.1k | Automated safety check: Pass | MIT | |
| @pierre/diffs Code Renderingpierrecomputer/pierre | 6.2k | 2 repos | ~803 | Automated safety check: Pass | Apache-2.0 | |
| Dsh Web UI Releaseningbainb/deepseek-harness-desktop | 776 | — | ~1.4k | Automated safety check: Warn | BSD-3-Clause | |
| Modern JavaScript Patternswshobson/agents | 40k | 11 repos | ~548 | Automated safety check: Pass | MIT | |
| Keybase Style Analysiskeybase/client | 9.3k | — | ~628 | Automated safety check: Pass | BSD-3-Clause | |
| QML Coding Best Practicesx-tools-author/x-tools | 1.1k | 1 repos | ~3.4k | Automated safety check: Pass | BSD-3-Clause |
pierrecomputer/pierre
Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.
ningbainb/deepseek-harness-desktop
Release and publish the dsh-web-ui monorepo (DSH Web GUI plugin family + skin collection) — bump all packages to one unified version, commit and tag, push the vX.Y.Z tag that triggers the GitHub…
wshobson/agents
Covers ES6+ syntax and functional patterns for refactoring older JavaScript: async/await, destructuring, spread, modules, generators and data pipelines.
keybase/client
Extracts style objects from the Keybase client's TSX files, then finds places where border helpers could replace repeated code and suggests new helpers.
x-tools-author/x-tools
Applies QML best practices when writing, reviewing, refactoring or debugging QML code, with Qt 5 and Qt 6 import rules and concise, rule-silent output.
chaxus/ran
A skill your agent uses when designing, reviewing, or improving web UI visual quality, especially when a developer-built interface feels cluttered, flat, generic, poorly spaced, weakly hierarchical…
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
tabler/tabler
Rules for adding or fixing client-side scripts in Tabler's Astro components so the copied preview HTML stays readable, self-contained and runs in the right order.
tabler/tabler
Sets the file structure, typing and Data API pattern for writing a new Bootstrap-style JavaScript component class in Tabler's vendored port of Bootstrap's JS.
tabler/tabler
Writes or updates the classnames front matter that renders the class table at the end of a Tabler component docs page.
tabler/tabler
Guidance for changing the Tabler framework's own JavaScript in core/js: the tabler.js and tabler-theme.js bundles, the Bootstrap port and their tests.
tabler/tabler
Rules for adding or changing styles in Tabler's core/scss framework: file placement, custom properties, dark mode, RTL, tests and build gates.
Works with
Categories
Proves that a refactor leaves every rendered preview page unchanged by comparing fresh HTML output against a baseline captured beforehand. ts, a script that fetches every preview page from a running dev server and compares the result with stored snapshots. It suits changes that should not alter output: extracting a component, renaming props, moving code between shared files, restructuring a layout or running a formatter.
HTML Diff Refactor Check fits situations like: extracting or renaming a shared component without changing its output; replacing hand-written markup with a shared/ui component; confirming that a layout restructure or prop reorder is byte-identical; running a formatting pass across shared files and checking the pages.
Run `npx skills add tabler/tabler --skill html-diff -a claude-code`. Or copy the skill folder (.agents/skills/html-diff in tabler/tabler) into .claude/skills/html-diff in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tabler/tabler --skill html-diff -a codex`. Or copy the skill folder (.agents/skills/html-diff in tabler/tabler) into .agents/skills/html-diff in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tabler/tabler --skill html-diff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/html-diff, .gemini/skills/html-diff, .github/skills/html-diff and .opencode/skills/html-diff in your project.
Going by SKILL.md and its folder, HTML Diff Refactor Check needs the command-line tools its instructions call (pnpm and git). Our summary lists: A preview dev server running at localhost:3000; pnpm.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
HTML Diff Refactor Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with HTML Diff Refactor Check: @pierre/diffs Code Rendering (pierrecomputer/pierre, 6.2k stars), Dsh Web UI Release (ningbainb/deepseek-harness-desktop, 776 stars), Modern JavaScript Patterns (wshobson/agents, 40k stars) and Keybase Style Analysis (keybase/client, 9.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tabler (a GitHub organization) maintains it in tabler/tabler, which has 41,821 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 6, 2026.
Source: tabler/tabler on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.