ai-engineering-fluency: Skill for Claude Code

.claude/skills/visual-view-diff/SKILL.md

visual-view-diff is a skill for Claude Code from rajbos/ai-engineering-fluency. It costs 79 tokens per session (3,311 once invoked), scanned A, original, MIT.

A visual comparison tool for VS Code extension web panels. It renders the panels without opening a normal browser, takes before-and-after screenshots, and reports visual differences.

In plain words
What is it for?
Use it after changing web-panel code, HTML, or shared CSS to check whether the interface changed and inspect the resulting screenshots.
Why use it?
It makes interface changes visible during review, including changes that still pass functional tests, while leaving publication of screenshots to the surrounding workflow.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions Claude Code; mentions AGENTS.md.

This is rajbos/ai-engineering-fluency's own configuration. It tells Claude Code how to work on ai-engineering-fluency itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ai-engineering-fluency configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node .github/skills/visual-view-diff/visual-diff.js.

Reuse

Borrowing it

Nothing to install: this file belongs to rajbos/ai-engineering-fluency. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/rajbos/ai-engineering-fluency/main/.claude/skills/visual-view-diff/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/rajbos/ai-engineering-fluency

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for visual-view-diff

README.md
[![agentmods](https://agentmods.dev/badge/skills/rajbos/ai-engineering-fluency/visual-view-diff/github.svg)](https://agentmods.dev/skills/rajbos/ai-engineering-fluency/visual-view-diff)
Your own site
<a href="https://agentmods.dev/skills/rajbos/ai-engineering-fluency/visual-view-diff"><img src="https://agentmods.dev/badge/skills/rajbos/ai-engineering-fluency/visual-view-diff/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for visual-view-diff

Your own site · 80×15
<a href="https://agentmods.dev/skills/rajbos/ai-engineering-fluency/visual-view-diff"><img src="https://agentmods.dev/badge/skills/rajbos/ai-engineering-fluency/visual-view-diff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 79 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,311 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00079 $0.03311
Opus 5.5 $0.00032 $0.01324
Sonnet 5.5 $0.00016 $0.00662
Haiku 4.5 $0.00008 $0.00331

Measured yesterday against content hash 85f2edf55da0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

visual-view-diff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/visual-view-diff/SKILL.md · 276 lines

How it starts

The opening of the file, as written. The whole thing — 276 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Visual View Diff Skill

Renders the extension's webview panels headlessly, screenshots them, and reports which views changed compared to a baseline commit.

The screenshots are the deliverable. Posting them anywhere — a PR comment, a job summary, an artifact upload — is deliberately not part of this skill. It answers exactly one question: what changed visually, and what does it look like? Whoever wants to publish that answer reads report.md and the PNGs.

The publisher for pull requests is the ui-checks job in .github/workflows/ci.yml: it runs this diff against the PR's merge base and posts the before/after/diff images as one comment on the PR (replaced on every push) through gh pr comment --attach, rendered by .github/workflows/scripts/visual-diff-comment.js. An agent opening a UI PR does not have to attach screenshots by hand — it has to make sure the change is visible to this harness (see "States" below) and say in the PR body which views it expects to change.

When to use it

  • A change touches vscode-extension/src/webview/**, the shared webview CSS, or a get*Html method in extension.ts.
  • A refactor is supposed to be visually neutral and you want proof.
  • You want before/after images of a UI change for a human to look at.

Why this exists (and why it does not open VS Code)

The repo forbids agents from launching a real editor window — see "Never Launch a Real Editor/IDE Instance" in AGENTS.md. That rules out the Extension Development Host, and with it the existing aiEngineeringFluency.runLocalViewRegression command, which only a human can run and which checks DOM metrics (node counts, text length) rather than appearance.

This skill covers the gap: it renders the real webview bundles outside VS Code. Every panel's HTML shell in extension.ts is the same four ingredients — a <div id="root">, a window.__INITIAL_<VIEW>__ payload, the shared JSON config globals, and <script src="dist/webview/<view>.js">. The harness reproduces that shell around a committed fixture and supplies the --vscode-* theme tokens VS Code would normally inject, then lets the real bundle render.

Read the full file on GitHub · 276 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 276 lines · 79 tokens per session scan A 85f2edf55da0

Subscribe to this mod's changes

visual-view-diff is a skill published in the GitHub repository rajbos/ai-engineering-fluency (119 stars, last pushed yesterday), licensed MIT. It adds 79 tokens to every session and 3,311 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.