Agent skill

Visual Review

by ai-dynamo in ai-dynamo/dynamo

Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores…

Apache-2.0Auto-check passedDevelopment

Install Visual Review

skills CLI
$ npx skills add ai-dynamo/dynamo --skill visual-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ai-dynamo/dynamo visual-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ai-dynamo/dynamo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/visual-review .claude/skills/visual-review && rm -rf skills-src

Use ~/.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/

Facts

Skill name
visual-review
GitHub stars
8.2k
Token cost
~4.5k tokens
SKILL.md length
2,518 words
Files
12 (incl. scripts, references, assets)
Skills in repo
27
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores…

  • Works in 8 steps: Read repository instructions from the… → Acquire the exact unified diff,… → Read changed code plus enough callers,… → …
  • Codex is asked for a visual PR review
  • SKILL.md covers Workflow, Review contract and Spec guidance
  • Runs JavaScript and Python scripts from its folder; calls git and python3

What it does

Visual Review is an agent skill from ai-dynamo/dynamo. Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores, smell indicators, interactive component and finding diagrams, structured finding packages, per-finding diff tabs with important references, expandable full context, API manifests, annotated red/green diffs, minimaps, validation cases, and fix prompts. Use when Codex is asked for a visual PR review or any of those visual…

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts, reference files and assets (for example `agents/openai.yaml`, `assets/vendor/cytoscape-3.33.4.min.js` and `assets/vendor/cytoscape-dagre-2.5.0.js`).

It sits in Development, covering Pull requests, HTML artifacts and Diagrams. It works with GitHub, GitLab and Git. The repository describes itself as: A Datacenter Scale Distributed Inference Serving Framework. The licence is Apache-2.0.

When your agent uses it

  • Codex is asked for a visual PR review
  • Any of those visual review artifacts

Example prompts

  • “/visual-review”

Requirements

  • Python 3
  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Read repository instructions from the active worktree before inspecting code.
  2. Acquire the exact unified diff, immutable revision metadata, and full context for every changed file.
  3. Read changed code plus enough callers, types, tests, and invariants to support every finding. Do not run tests when the user requests a…
  4. Write a review spec following references/review-schema.md. Keep prose concise and evidence-based. Always include an information-flow…
  5. Render the dashboard
  6. Re-run with --validate-only after edits. If a local headless browser exists, inspect the rendered page; otherwise rely on the renderer's…
  7. Return a clickable Markdown file link to the workspace-local HTML artifact, followed by a fenced markdown code block containing a…
  8. Treat user feedback about a generated dashboard as feedback on the reusable skill. Fix the current artifact and update the relevant skill…

What it can do on your machine

Read from SKILL.md and the folder at commit 1668037. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (JavaScript and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Visual Review loads about 4.5k tokens when it runs, and up to ~8.3k if it reads all its reference files. Until then it costs about 137 tokens; SKILL.md has 2,518 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~137
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.3k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from ai-dynamo/dynamo at commit 1668037, republished under its Apache-2.0 licence (© ai-dynamo). 2,518 words, ~4,542 tokens.

Download SKILL.mdSave it as .claude/skills/visual-review/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
visual-review
description
Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores, smell indicators, interactive component and finding diagrams, structured finding packages, per-finding diff tabs with important references, expandable full context, API manifests, annotated red/green diffs, minimaps, validation cases, and fix prompts. Use when Codex is asked for a visual PR review or any of those visual review artifacts.
license
Apache-2.0
metadata.author
Stefan Schimanski
metadata.tags
dynamo, code-review, visualization, pull-request

Visual Review

<!--
SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->

Produce a deep code review and render it as one portable HTML file with no external dependencies.

Workflow

  1. Read repository instructions from the active worktree before inspecting code.
  2. Acquire the exact unified diff, immutable revision metadata, and full context for every changed file.
    • Remote PR: use the repository CLI/API without checking out unless requested; fetch base/head file contents when the normal patch omits expandable context.
    • Current branch: diff against the actual merge base with full-file context, for example git diff --unified=100000 <base> <head> -- <changed-files>.
    • Supplied patch: preserve it verbatim and request or derive base/head file contents when the patch alone cannot support context expansion.
  3. Read changed code plus enough callers, types, tests, and invariants to support every finding. Do not run tests when the user requests a read-only review.
  4. Write a review spec following references/review-schema.md. Keep prose concise and evidence-based. Always include an information-flow component diagram. Add finding-specific sequence or graph diagrams when they materially clarify causality. Mark findings that involve API objects and attach concrete manifest examples.
  5. Render the dashboard:
bash
python3 <skill-dir>/scripts/render_review.py \
  --spec /absolute/path/review.json \
  --diff /absolute/path/review.diff \
  --output <workspace-artifact-dir>/<review-name>.html

Resolve <workspace-artifact-dir> inside the active Codex workspace, not inside a temporary review worktree. Prefer a writable, VCS-ignored .codex/reviews/; otherwise use a writable, VCS-ignored workspace directory such as tmp/codex-reviews/. Confirm the chosen directory with git check-ignore when the workspace uses Git. The renderer creates the output directory when needed. 6. Re-run with --validate-only after edits. If a local headless browser exists, inspect the rendered page; otherwise rely on the renderer's structural, anchor, and annotation validation. 7. Return a clickable Markdown file link to the workspace-local HTML artifact, followed by a fenced markdown code block containing a copy-ready text version of every finding. Link the bare absolute .html path with no #fragment; Codex workspace file links with URL fragments may fail to open. Internal anchors remain available after the HTML file is open. Never hand off a final review from /tmp, $TMPDIR, ~/Library/Caches, or any path outside the active workspace; those locations are temporary working storage only.

  • Keep the findings in severity order and include severity, title, exact file:line, summary, labeled evidence lists, and suggested fix. Preserve the dashboard's structure instead of flattening each finding into one prose paragraph.
  • Emit only findings in this block, not scope boundaries, validation cases, logical flows, or implementation notes.
  • Emit the fenced block even when there are no findings; use No findings. as its content.
  1. Treat user feedback about a generated dashboard as feedback on the reusable skill. Fix the current artifact and update the relevant skill instruction, renderer, or template in the same turn so future visual reviews inherit the improvement. Revalidate both the skill and the regenerated artifact.

Review contract

  • Include the complete diff with old/new line numbers and GitHub-style red/green rows.
  • Put a tab bar above the code diff with All changes plus one tab per finding. The all-changes tab shows the complete PR; each finding tab shows only code_blocks attached to that finding and a compact copy of its important reference snippets. Keep filenames, annotations, heat, smell, and exact line links functional in every view.
  • Attach every code_blocks entry to exactly one finding through finding_ids; use those associations as the source of truth for finding-specific diff tabs.
  • Embed full changed-file context but collapse it to the normal review radius initially. Insert GitHub-style [+] expansion rows for each hidden context run so reviewers can reveal more context without leaving the dashboard. Finding tabs must not reveal unrelated changed rows merely because context is expanded.
  • Anchor each actionable finding to an exact changed line. Do not label the requested implementation itself as an additional finding; distinguish known scope from newly found defects.
  • Render a findings overview immediately after the summary. Make each overview entry the canonical finding package with severity, title, concise summary, labeled bullet groups, and a direct link to the annotated code.
  • Never write a finding as one long prose paragraph. Require a one-sentence summary, two or more labeled details groups with short bullet items, a structured suggested_fix, and a per-finding agent_prompt.
  • Put every finding-specific artifact inside its canonical finding package and keep it collapsed by default: Suggested fix, diagrams, API manifests, validation cases, logical flows, reference snippets, and agent fix prompt. Attach each supporting artifact to exactly one finding through a single-entry finding_ids array. Do not render mixed PR-wide sections for these artifacts. Only inherently PR-wide material such as the primary information-flow component map, scope, scores, file map, and complete diff stays global.
  • Always render an information-flow component diagram covering every runtime component involved in the PR, including unchanged external components needed to understand the flow. Distinguish changed, existing, external, and test-only nodes. Show the direction and payload or action on each connection.
  • Render component diagrams with the vendored Cytoscape.js and Dagre libraries. Keep the output self-contained with no CDN or runtime network dependency. Component maps must use automatic directed layout, display labels on edges, allow node dragging, zooming, and panning, provide visible Relayout and Fit controls, and expose keyboard-accessible links for every linked node and edge.
  • Assess every finding for a visual explanation. Use a sequence diagram for timing, ordering, retries, races, or lifecycle behavior; use a component or graph illustration for cross-component dependencies and data paths. For ordering defects, show both the failing sequence and the corrected sequence. Attach focused diagrams to their finding through finding_ids and render them in its collapsed diagram section. Do not add decorative diagrams for localized findings that are clearer in one code annotation.
  • For each finding involving Kubernetes or other API objects, include a linked manifest or focused manifest snippet with the exact fields that trigger or demonstrate the issue. Label server-observed snapshots so they are not mistaken for apply-ready manifests.
  • Always duplicate the final findings in the chat response as a fenced markdown code block so the reviewer can paste them into another review surface without opening the dashboard.
  • Keep dashboard concepts explicit and separate: findings are defects or risks; scope states review boundaries; validation cases describe how to prove behavior; logical flows explain multi-location causality. Never present these as peer lists without labels.
  • Link multi-step behavior through flow cards and reference snippets when the bug crosses three or more locations.
  • Keep logical flows in the main content only. Do not duplicate them as sidebar navigation.
  • Make every internal anchor destination unmistakable: flash the actual destination on navigation and leave it visibly highlighted. Diff-line anchors must highlight the whole diff row, not only the line number, and clicking the current anchor again must retrigger the flash. Preserve a strong static highlight when reduced motion is requested.
  • Make reference anchors focus the evidence rather than the outer reference container: center the inline reference annotation in the viewport and apply the anchor palette to both the decisive code lines and the annotation card. Do not rely on an outline around the full reference block.
  • When source_url is a GitHub pull request, normalize direct review links to the current /files view and derive exact diff anchors for changed files and old/new lines. Inspect the PR page for files GitHub leaves behind a Load diff placeholder and list them in github_collapsed_files: their line anchors do not exist until the user expands the diff, so link to the always-present file anchor without an L/R suffix and say Load diff, then identify the old/new target line in the visible label and tooltip. Use exact L/R anchors only for files GitHub renders initially. Place a GitHub-style blue + button on the boundary between the number gutters and code, sized like GitHub's control. Reveal it only when the code cell is hovered or the button receives keyboard focus, not when the line numbers or another part of the row is hovered. Open GitHub in a new tab without replacing the local review; use both target="_blank" with rel="noopener noreferrer" and an explicit user-click window.open(..., "_blank", "noopener,noreferrer") handler because embedded app browsers may ignore the target attribute. Do not claim that this opens GitHub's comment editor: the user must use GitHub's own controls; state the necessary action in the button tooltip. Keep the line number itself as the dashboard's internal anchor, and also expose direct PR links from finding summaries, inline annotations, validation cases, and file headers.
  • When source_url is a GitLab merge request, normalize direct review links to its /diffs view. Pin file links with GitLab's SHA-1 filename anchor and derive exact line links with GitLab's <sha1(path)>_<old-position>_<new-position> line code. Expose these MR links in the same file headers, finding summaries, inline annotations, validation cases, and hover + buttons as GitHub links, and identify GitLab accurately in every label and tooltip.
  • Use the minimap for changed files, important callers/types/tests, and explicit out-of-scope areas.
  • Define larger logical diff ranges once in code_blocks. Use high/red for code that must be inspected, medium/yellow for code worth a look, and low/green for routine changes. Render the heat as a 5 px bar at the far left of the number gutters; do not recolor the number or code backgrounds, because those already encode diff semantics.
  • Classify each code_blocks entry independently with smell: high, medium, or none. Smell is exclusively about code quality: structural debt, mixed responsibilities, duplication, avoidable complexity, poor encapsulation, readability, or maintainability. Never derive smell from correctness, finding severity, risk, or missing behavior; those belong to findings and review heat. Use high for concentrated structural debt, medium for a refactoring concern, and none for clean or routine code. Every high or medium smell must include a concise smell_reason naming the quality problem and its maintenance cost. Render that reason in the code-edge and aggregate hover explanations. Render high as a red ☁ and medium as an orange ☁ overlaid at the far-right edge of the block's first code row; render no row icon for none. Beside the PR title, aggregate the maximum smell as red, orange, or green.
  • Use exactly one custom tooltip for smell and score badges; never also set a native HTML title. Structure metric tooltips with a heading, a short summary or scale explanation, and a bulleted list for multiple smell reasons or score factors. Do not concatenate long explanations into one paragraph with inline bullet characters.
  • Always score correctness improvement and safe-to-merge confidence from 1 through 10 and render both badges immediately after the aggregate smell icon. Label the second badge Safe to merge, never merely Risk: 10 is green and means low residual risk / safe to merge, while 1 is red and means unsafe to merge. Ten is also good for correctness and means a clear net correctness improvement. Color both continuously through red at 0, orange at 3, yellow at 6, and green at 10. Include a concise summary and an auditable base-plus-factors breakdown in each hover.
  • Score correctness as a delta against the base branch, not as an absolute bug count. Use base 10 for a complete P1/P2-class fix, base 7 when the target fix is materially useful but incomplete, and base 5 for no material correctness change. Deduct only regressions introduced by the PR: P1 −9, P2 −5, and P3 −2. Do not call a pre-existing unresolved ordering a newly introduced regression or mix smell into correctness.
  • Score safe-to-merge confidence from base 10, deducting for unresolved severity, likelihood, blast radius, and recovery difficulty while avoiding double-counting. Apply the aggregate smell once as change-risk debt: high/red −3 or medium/orange −1. Add small positive factors only for concrete mitigations such as focused tests. Clamp both scores to 1–10. Keep the internal spec key risk_score for compatibility, but never expose that ambiguous name as the dashboard label.
  • Render a right-side 10,000-foot rail beside each file diff from the same code_blocks data. Align one concise sentence with the start of each larger block; explain what the block does and avoid line-by-line narration or repeating findings.
  • Keep file diffs in the page's single vertical scroll flow. Allow horizontal overflow for long code, but explicitly hide vertical overflow on that horizontal scroller so browser overflow-axis normalization cannot create a tiny nested vertical scroll area that captures wheel input.
  • State what is in scope and out of scope when ownership spans multiple PRs.
  • Make each finding's agent fix prompt short and independently actionable. Include only that finding's non-obvious behavior, constraints, and tests; do not combine unrelated findings or repeat repository instructions that the agent will load from AGENTS.md or equivalent files.
  • Report tests as unrun unless they were actually executed.
  • Keep the final HTML review inside a writable, preferably VCS-ignored directory in the active workspace so the Codex app can open the file link reliably.
  • Never post review comments, mutate the PR, or change source code unless the user separately requests it.
Show full SKILL.md (426 more words)Show less

Spec guidance

  • Put findings in severity order (P0 through P3, then notes).
  • Use the structured finding schema from references/review-schema.md. Keep each bullet focused on one trigger, causal step, impact, or proof point.
  • Set involves_api_objects: true on findings whose trigger or consequence depends on API object fields. Every such finding must be covered by at least one manifests entry.
  • Use stable IDs for findings, flows, references, and scope sections so links remain meaningful.
  • Prefer plain text with backticks for identifiers; the renderer escapes all content.
  • Add exact validation cases to the matrix when coverage is part of the review. Every row must identify an exact changed code line with file, side, and line; link the row to that diff anchor.
  • Keep reference snippets short and focused on the causal path, but include a few real source lines before and after the decisive code. Mark the decisive one-based snippet lines in highlight_lines; render them in light blue so evidence is distinguishable from context at a glance. Render the reference summary directly after the last highlighted line as a neutral gray annotation card with the same structure as P1/P2 inline annotations, but never present it as an additional finding.
Diagrams
  • Include exactly one primary component diagram that covers the full information flow. Additional focused component diagrams are allowed.
  • Let Dagre place component nodes and edge labels. Do not hand-place the graph or depend on x, y, label_x, or label_y coordinates; preserve concise labels so the automatic planar-style layout stays readable.
  • Keep component-map typography legible at the initial Fit view: use at least 15 px node labels and 13 px edge labels, and increase dense, larger graphs enough that Fit does not shrink their rendered text below normal UI caption size.
  • Component maps are interactive: reviewers can drag nodes, zoom or pan the canvas, click linked nodes or edges, and restore the automatic layout or viewport with Relayout and Fit.
  • Use sequence diagrams for finding-specific event ordering. Keep participant names stable across failing and corrected views so they compare directly.
  • Link diagram nodes, edges, and events to findings, diff annotations, flows, or references when evidence exists.
  • Keep labels short; put nuance in the diagram description or outcome.
API object examples
  • Add one or more manifests entries for every finding marked involves_api_objects.
  • Show only fields relevant to the finding. Use multi-document YAML when before/after or old/new incarnations must be compared.
  • Prefix server-populated fields such as uid and resourceVersion with a comment that the document is an observed snapshot, not apply-ready input.

The renderer and HTML template live in scripts/render_review.py and assets/review-template.html.

© ai-dynamo, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files (scripts, references, assets) in .agents/skills/visual-review of ai-dynamo/dynamo.

  • SKILL.md
  • agents/openai.yaml
  • assets/review-template.html
  • assets/vendor/cytoscape-3.33.4.min.js
  • assets/vendor/cytoscape-dagre-2.5.0.js
  • assets/vendor/cytoscape-dagre.LICENSE
  • assets/vendor/cytoscape.LICENSE
  • assets/vendor/dagre-0.8.5.min.js
  • assets/vendor/dagre.LICENSE
  • references/review-schema.md
  • scripts/render_review.py
  • tests/test_render_review.py

Open the folder on GitHubat commit 1668037

Compare with similar skills

Visual Review 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.

Visual Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Visual Review this skillai-dynamo/dynamo8.2k—~4.5kAutomated safety check: PassApache-2.0
Greploop Appsmichaelshimeles/skills1.3k1 repos~3.6kAutomated safety check: PassMIT
MR and PR Description Draftertabler/tabler42k—~2kAutomated safety check: PassMIT
Miro Code Reviewmiroapp/miro-ai160—~4.8kAutomated safety check: WarnMIT
Create PRyonatangross/orchestkit289—~4.5kAutomated safety check: NotesMIT
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Greploop Apps

    michaelshimeles/skills

    Loops on a large pull request, merge request or Perforce changelist, fixing Greptile findings until it scores 5/5 with no unresolved comments.

    1.3k GitHub starsUsed in 1 repo~3.6k tokens
    DevelopmentAuto-check passed
  • Drafts a merge request or pull request title and body in simple English from the branch's git history and diff against origin/dev, ready to paste into GitLab or GitHub.

    42k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Miro Code Review

    miroapp/miro-ai

    A skill your agent uses when the user wants to create a visual code review on a Miro board from a pull/merge request (GitHub, GitLab, or any forge), local uncommitted changes, or a branch comparison…

    160 GitHub stars~4.8k tokensUpdated 21 days ago
    DevelopmentAuto-check: warnings
  • Create PR

    yonatangross/orchestkit

    Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.

    289 GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed

More from ai-dynamo/dynamo

All 27 skills in this repo
  • Fern Components

    ai-dynamo/dynamo

    Knowledge of Fern's built-in MDX component library (accordions, callouts, cards, steps, tabs, code blocks, API-reference snippets, and more) for authoring docs pages.

    8.2k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Fern Navigation

    ai-dynamo/dynamo

    Knowledge of Fern's site-level navigation and structure configuration — how a docs site is organized in docs.yml (and product/version .yml files) using sections, pages, folders, tabs, tab variants…

    8.2k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Dynamo Agent Harness

    ai-dynamo/dynamo

    Drives persistent Claude Code, Codex, or OpenCode agent sessions through a Dynamo OpenAI/Anthropic-compatible endpoint over Agent Client Protocol (ACP).

    8.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Benchmark and profile the Dynamo frontend (dynamo.frontend HTTP + tokenizer + KV router) against mock workers (dynamo.mocker).

    8.2k GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Selects and freezes a question-driven AIPerf workload, objective, load policy, and Kubernetes execution manifest for a successfully deployed Dynamo candidate.

    8.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Debug Session

    ai-dynamo/dynamo

    Sets up a structured debugging session for a Dynamo bug — pull the report from a Linear ticket, GitHub issue, or pasted text, capture the environment, create a persistent worklog markdown file, and…

    8.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Visual Review

What does Visual Review do?

Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores…. Visual Review is an agent skill from ai-dynamo/dynamo. Create self-contained interactive HTML code-review dashboards from GitHub or GitLab pull requests, checked-out branch diffs, or supplied unified diffs, with correctness and safe-to-merge scores, smell indicators, interactive component and finding diagrams, structured finding packages, per-finding diff tabs with important references, expandable full context, API manifests, annotated red/green diffs, minimaps, validation cases, and fix prompts.

When should I use Visual Review?

Visual Review fits situations like: Codex is asked for a visual PR review; any of those visual review artifacts.

How do I install Visual Review in Claude Code?

Run `npx skills add ai-dynamo/dynamo --skill visual-review -a claude-code`. Or copy the skill folder (.agents/skills/visual-review in ai-dynamo/dynamo) into .claude/skills/visual-review in your project. Claude Code loads it when a task matches its description.

How do I install Visual Review in Codex?

Run `npx skills add ai-dynamo/dynamo --skill visual-review -a codex`. Or copy the skill folder (.agents/skills/visual-review in ai-dynamo/dynamo) into .agents/skills/visual-review in your project. Codex loads it when a task matches its description.

Can I use Visual Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-dynamo/dynamo --skill visual-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/visual-review, .gemini/skills/visual-review, .github/skills/visual-review and .opencode/skills/visual-review in your project.

What does Visual Review need to run?

Going by SKILL.md and its folder, Visual Review needs JavaScript and Python for the scripts in its folder and the command-line tools its instructions call (git and python3). Our summary lists: Python 3; Node.js.

Does Visual Review access the network?

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.

Is Visual Review safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Visual Review use?

Visual Review is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Visual Review use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.

What are the alternatives to Visual Review?

Skills that share tags, products or a category with Visual Review: Greploop Apps (michaelshimeles/skills, 1.3k stars), MR and PR Description Drafter (tabler/tabler, 42k stars), Miro Code Review (miroapp/miro-ai, 160 stars) and Create PR (yonatangross/orchestkit, 289 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Visual Review?

ai-dynamo (a GitHub organization) maintains it in ai-dynamo/dynamo, which has 8,245 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 8, 2026.

Source: ai-dynamo/dynamo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.