By asermax
Code review surface: agent skill generates a guided JSON view of a GitHub PR or a local agent change, local server renders it in the browser. Two leaf skills (review-pr, review-local) share a base skill.
Generate a guided code-review surface for code an LLM agent (or the user) just produced locally — no GitHub PR. Produces an ordered, annotated JSON view of the local diff (git working tree or branch vs base) with typed side notes, inline suggestions, and mermaid diagrams; then launches a local server that renders it, and on finish saves the reviewer's feedback as result.json for the agent to read back. There is no Approve action in this mode — the only positive terminus is **Finish review**, which persists the reviewer's drafts as `result.json`. Trigger phrasings: "review what I just changed", "review this branch", "review the agent's draft", or an explicit `/annai:review-local` invocation.
Generate a guided code-review surface for a GitHub pull request and open it in the browser. Produces an ordered, annotated JSON view of the diff (base context first, then entry points, then supporting code) with typed side notes, inline PR suggestions, and mermaid diagrams; then launches a local server that renders it, and on submit pushes the review to GitHub via three GraphQL mutations. Trigger phrasings: "review this PR", "prep PR #N for review", "help me review <github-url>", or an explicit `/annai:review-pr` invocation.
NEVER INVOKE THIS SKILL DIRECTLY; USE `/annai:review-pr` to review a GitHub pull request, or `/annai:review-local` to review code an agent just produced locally. This file is the shared base that the two leaf skills load — it owns the surface-authoring rules, launch + watch + react loop, schema-validation contract, and cleanup. It is not a standalone entry point.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Turn a code review into a guided browser surface. Two agent skills —
review-pr (review a GitHub pull request) and review-local (review code
an LLM agent just produced locally) — generate a structured, ordered view
of the change: base context first, then entry points, then supporting
code, with typed side notes, inline suggestions, and mermaid diagrams. A
local server renders it. In PR mode the reviewer's decision pushes to
GitHub via GraphQL; in local-agent mode it lands as result.json for the
agent to read back.

Reviewing a PR you don't already have the context for is mostly assembly work: jumping between Notion, Slack threads, design docs, and the diff just to build a mental model before you can judge anything. Annai moves that assembly into an agent step and hands the reviewer a surface that explains the why alongside the what — in the order that makes sense.
Read the long form in docs/code-review-surface.md;
the runtime design lives in docs/annai-architecture.md.
note, question,
pattern, surface-check, discrepancy — rendered in a column
alongside the code so the reviewer reads the why next to the
what.suggestion
blocks with an alternative snippet; the reviewer accepts as a
draft comment or dismisses with one click.Ctrl/Cmd+Enter to save.gh api graphql: one
addPullRequestReview (with line/range threads), one
addPullRequestReviewThread per file-level draft
(subjectType: FILE), one submitPullRequestReview to finalise. All
comments land in one review event — the reviewer never sees them
arrive one at a time.result.json and annai.sh result --session <id>
dumps it for the agent to read back as feedback.surface.json: scaffold parses a GitHub PR diff into a typed
skeleton, scaffold-local does the same from a local git diff the
agent ran itself, and *-add / *-update / *-drop / set-*
mutate the surface atomically with zod validation on every write.window.onerror, unhandled
rejections, and React error boundaries all POST to the daemon and
surface in annai.sh status and on the watch stream.From the asermax-plugins marketplace:
/plugin marketplace add asermax/claude-plugins
/plugin install annai@asermax-plugins
Or point Claude Code directly at this repo.
From any Claude Code session in the repo you want to review:
/annai:review-pr <PR url or number> # review a GitHub PR
/annai:review-local # review the current local change
Either skill will:
npx claudepluginhub asermax/claude-plugins --plugin annaiClaude Code hooks for seemux terminal multiplexer — sends session events via Unix socket for real-time status and notifications
Real-time observability dashboard for Claude Code agent activity
AUR package management commands for building and maintaining Arch User Repository packages
Development workflow skills for systematic debugging, code review, planning, and more
Spec-driven development framework with iterative growth, progressive adoption, and retrofit support
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth