Open source · MIT

Mermaid diagrams for AI code reviews.

Greptile-style diagrams, without the SaaS. Iago perches on top of your /review comment and squawks a visual summary of the change — sequence, flow, class, or ER — auto-detected from the diff and drawn by your agent's own LLM.

“Awk! Awk! Add a diagram!”

How it picks

Four diagram types — auto-detected from the diff

Iago reads the diff signals first. The first match wins. Trivial changes (docs, deps, formatting) are skipped — Iago abstains rather than spam. You can always override: /iago sequence, /iago er, etc.

er

Migrations & schemas

SQL files, Prisma schema, or ORM models trigger an entity-relation diagram.

class

New types / interfaces

Two or more OO files introducing class, interface, or trait.

sequence

Cross-component flow

Handler + client + worker changes? You're getting a sequence diagram.

flow

State / branching logic

State machines and non-trivial control flow get a flowchart.

Pick your path

Install the way that fits your stack

Runtime is just bun + an authenticated gh. Use bunx/npx for Node users, the Claude Code plugin, or a direct skill-folder copy for the bare /iago name in Claude Code, Codex, Copilot, and Gemini.

Friendliest path. Fully typed, auto-detects Claude Code, Codex, Copilot, and Gemini. Re-run the same command to update.

bunx @drakulavich/iago install --force
npx  @drakulavich/iago install --force   # same, via npm

# Diagnostics & targeted install:
bunx @drakulavich/iago doctor              # show install paths & versions
bunx @drakulavich/iago install --target=both
bunx @drakulavich/iago uninstall --target=claude

Install via the Claude Code plugin marketplace. Plugin skills are namespaced as /iago:iago and /iago:squawk. Already added the marketplace? Run /plugin marketplace update iago-marketplace first.

/plugin marketplace add drakulavich/iago
/plugin install iago@iago-marketplace
/reload-plugins

Copy the skill folders directly for the bare /iago and /squawk names — no plugin namespace. Use ~/.claude/skills/ for Claude Code or ~/.agents/skills/ for Codex.

git clone https://github.com/drakulavich/iago /tmp/iago-skill
cp -R /tmp/iago-skill/iago    ~/.claude/skills/iago
cp -R /tmp/iago-skill/squawk  ~/.claude/skills/squawk
rm -rf /tmp/iago-skill
Usage

One command. Five aliases. Predictable behavior.

Run /review first, then /iago — Iago finds the review comment via the <!-- review-skill --> marker (or falls back to “most recent comment starting with # Review”) and appends the diagram.

In Claude Code / Codex

/iago                   # auto-detect PR + type
/iago 230               # explicit PR number
/iago 230 sequence      # override type
/iago --mode=comment    # standalone comment

/squawk                 # alias

After /review

/review                 # your reviewer posts its comment
/iago                   # appends the diagram to it

# or just say it in plain words:
squawk this PR
Use cases

When to let Iago squawk

Reach for Iago whenever a diff is easier to grasp as a picture than as a wall of green and red. A few of the moments it was built for:

Trace a request flow

/iago

A PR touches a handler, a client, and a worker. Run /review, then /iago — it appends a sequence diagram of the new cross-component path right under the review.

Review a schema change

/iago er

A migration or schema.prisma change auto-detects to an entity-relation diagram of the new tables and keys — no more eyeballing column lists.

Map new types

/iago class

Several new classes or interfaces land in one PR. Iago draws a class diagram so reviewers see the hierarchy at a glance.

Chart branching logic

/iago flow

A new state machine or a gnarly conditional? Force a flowchart to make the control flow reviewable instead of guessable.

Drop a standalone diagram

/iago --mode=comment

No /review comment to attach to? --mode=comment posts the diagram as its own comment on the PR.

Target & override

/iago 230 sequence

Point Iago at a specific PR and force the diagram type when you already know the shape you want — auto-detection is a default, not a cage.

Supported agents

Bring your own agent

Iago is an open standard built on the SKILL.md format — the same skill works across every major CLI agent.

Claude Code

Skill or plugin install

Codex CLI

$iago / $squawk

Copilot CLI

.github/skills/

Gemini CLI

.gemini/skills/

What you get

Real Mermaid output — rendered right in the PR

These are simplified previews of the four diagram types Iago emits. On GitHub, they render as native Mermaid blocks inside the /review comment.

Sequence

sequenceDiagram
CLI Session Engine start() ensure(voice) pcm opus bytes

Flow

flowchart TD
read line empty? vosk-tts-rs misaki G2P opus encode ru en

Class

classDiagram
«interface» TtsEngine +synthesize(text) VoskTtsEngine -modelPath: string +synthesize(text) KokoroEngine -voice: string +synthesize(text)

Entity-Relation

erDiagram
USER id PK email VOICE_NOTE id PK user_id FK AUDIO_BLOB voice_note_id PK data bytea VOICE lang, name 1 1 1

Give your reviewer a beak.

Greptile and CodeRabbit draw diagrams on every PR; Claude Code's and Codex's /review don't. Iago fills that gap — open source, MIT-licensed, BYO-agent. No API key, no SaaS lock-in.