/visual-recapSAFE
Skills for agents
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Turn a branch, commit, or PR diff into an interactive visual recap with annotated diffs, diagrams, API/schema summaries, file maps, UI state summaries, and focused review notes.
/visual-recap is the reverse of /visual-plan: instead of planning a future change, it summarizes a diff, branch, commit, or PR after the work exists. The goal is to help reviewers understand the shape of a change before they dive into raw line-by-line diffs.
It solves for diffs that hide the shape of the change. Reviewers can understand contracts, architecture moves, schema changes, and UI impact before diving into raw line-by-line review.
The recap is a human-optimized MDX document with custom components for the things raw diffs are bad at explaining: annotated diffs, diagrams, visual schema maps, OpenAPI-style API diffs, file maps, UI state summaries, and focused review notes.
Visual recaps are MDX, customizable with your own components, and viewed with the Agent-Native plans app. The hosted app is 100% free and open source; local-files mode writes the recap MDX locally, starts a localhost bridge, and opens the hosted Plan UI with no sharing. Source here.
What It Does
- Reads the actual changed files and diff.
- Publishes an interactive recap with file maps, diagrams, visual schema
maps, API diffs, annotated diffs, UI state summaries, and focused key changes.
- Keeps recaps substantial enough for real review without dumping every line.
- Makes large changes consumable before a reviewer opens raw GitHub diff view.
- Can be installed with a reusable GitHub Action for PR visual recaps.
When To Use It
Use it for PRs or work units that are large, multi-file, UI-heavy, or touch schema, API contracts, permissions, architecture, or review-critical behavior.
fb822f174542OBSERVED · 2026-10-24Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| codex | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: visual-recap
description: >-
Turn a PR, branch, commit, or git diff into an interactive visual recap with
diagrams, file maps, API/schema summaries, annotated diffs, and focused review
notes.
metadata:
visibility: exported
---
# Visual Recap
`/visual-recap` creates a visual plan built **from** a diff, not toward one. It
is the reverse of forward planning: instead of describing the change you are
about to make, you describe the change that was just made, at a higher altitude
than line-by-line review. The same plan data model serves both directions —
schema, API, file, and architecture changes become the same `data-model`,
`api-endpoint`, `file-tree`, and `diagram` blocks a forward plan would use, only
now they summarize work that exists. A reviewer scans the shape of the change
before spending attention on the literal lines.
## Publish As An Agent-Native Plan — Never Inline
The deliverable is ALWAYS a published Agent-Native Plan, created with
`create-visual-recap` on the Plan MCP connector — NEVER inline chat content (not
Markdown prose, an ASCII sketch, a table, a fenced "wireframe", or a "here's the
recap" summary). A recap's entire value is the hosted, interactive, annotatable
plan; an inline summary is not a degraded recap, it is the thing a recap
replaces. If the `plan` (or legacy `agent-native-plans`) tools are not visible,
discover them through the host's `tool_search` first; if they are still missing,
STOP and give the user the client-specific reconnect step rather than improvising
an inline recap. Before publishing, or whenever a connector or auth error
appears, READ `references/connection.md` in this skill directory — it is the
single source of truth for the never-inline rule, connector discovery, and the
per-client reconnect steps. Local-files privacy mode (below) is the one
exception.
## Local-Files Privacy Mode — read `references/local-files.md`
When the user wants no hosted Plan database writes — no DB writes, no Plan MCP
publish, fully local/offline/private recaps, or `AGENT_NATIVE_PLANS_MODE=local-files`
— do not call any hosted Plan tool except the schema-only `get-plan-blocks`
catalog lookup. Read the diff with the local `recap collect-diff` / `scan` /
`build-prompt --local-files` helpers, author a local MDX folder (set
`kind: "recap"` and `localOnly: true`), and preview it with `plan local check`,
`plan local serve --kind recap`, and `plan local verify --kind recap`. Before
using local-files mode, READ `references/local-files.md` in this skill directory
— it is the single source of truth for the full contract.
## When To Use
Build a recap when a PR or commit is large, multi-file, or touches schema, API
contracts, or architecture, and a reviewer would benefit from seeing the change
mapped to structured blocks before reading the raw diff. A GitHub Action can
generate one automatically from a PR diff; an agent can generate one on request
("recap this PR", "show me what this branch changed"). Skip it for small,
single-file, or obvious diffs — a recap is review overhead, and a tiny change
reviews faster as plain diff.
## Recap The Whole Work Unit
When `/visual-recap` is invoked in a chat thread after work has already happened,
the default scope is the whole current work unit/thread, not only the most recent
user message, tool action, or follow-up fix. Gather the thread-owned changes
across the conversation: original implementation work, later bug fixes, UI
follow-ups, tests, changesets, skill/instruction updates, generated plan/source
artifacts, and any local import/linking fixes needed to make the recap open.
Use the current diff plus conversation context to separate thread-owned changes
from unrelated dirty work that existed before the thread. Exclude unrelated
pre-existing edits. If the scope is genuinely ambiguous and cannot be inferred,
state the assumption or ask a concise question before publishing.
When updating an existing recap after feedback, revise the recap so it still
covers the whole thread/work unit plus the new correction. Do not replace a broad
recap with a narrow recap of only the latest feedback unless the user explicitly
asks for that narrower scope.
## Keep The Recap Body Lean
Do not add boilerplate intro, disclaimer, provenance, or summary prose blocks to
the generated plan body. In particular, do not create a `rich-text` block just to
say the recap is an aid, that the reviewer should still review the diff, how many
files changed, or which ref/working tree generated the recap. The plan title,
brief, and `file-tree` (which carries the per-file change stats) already carry
that context.
Only add prose blocks when they tell the reviewer something specific about the
change that the structured blocks do not: the objective, a real compatibility
risk, an important decision visible in the diff, or a grounded review note.
## Recaps Must Be Substantial
Lean is not the same as thin. A recap is not a single wireframe plus one
sentence — that under-serves the reviewer as much as boilerplate prose over-serves
them. Alongside the visual/structural headline (wireframes, `data-model`,
`api-endpoint`, `diagram`), a substantial recap also carries the implementation
evidence:
- A short surface/state inventory before authoring: list the changed routes,
components, popovers/dialogs, role/access states, empty/error states, and
shared abstractions visible in the diff. The final recap must either represent
each meaningful item with a block or intentionally omit it because it is tiny,
redundant, or not user-visible.
- A `file-tree` of the changed files with each entry's `change` flag, so the
reviewer sees the footprint of the work at a glance.
- The split `diff` of the KEY changed files, grouped under a `## Key changes`
`rich-text` heading in a single horizontal `tabs` block (the default
orientation, one file per tab), with a one-line `summary` and a few
`annotations` on each — so the reviewer can drop from the high-altitude shTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
"html": "<div style=\"display:flex;flex-direction:column;gap:10px;padding:16px;height:100%\"><h1>Sign in</h1><p class=\"wf-muted\">Use your work email to continue.</p><div class=\"wf-card\" style=\"di
Gates applied: no_behavioural_pass.
fb822f174542full audit observations/trust-audit/skill/builderio__visual-recap.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-24 | fb822f174542 | SAFE | B | 89 | first audit |
Questions
What does the visual-recap — builderio/skills skill do?
Skills for agents
Is visual-recap — builderio/skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can visual-recap — builderio/skills access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does visual-recap — builderio/skills work with?
Its documentation mentions claude-code and codex. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (fb822f174542), read on 2026-10-24. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/builderio/visual-recap/)
Not your listing, or something out of date? Claim or update your listing.