Agent skill

Review Plan

by jackfranklin in jackfranklin/dotfiles

Present a plan to the user for inline annotation via the ai-review UI.

MITAuto-check passedDevelopment

Install Review Plan

skills CLI
$ npx skills add jackfranklin/dotfiles --skill review-plan -a claude-code

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

GitHub CLI
$ gh skill install jackfranklin/dotfiles review-plan --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/jackfranklin/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/skills/review-plan .claude/skills/review-plan && 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
review-plan
GitHub stars
255
Token cost
~1.6k tokens
SKILL.md length
839 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Present a plan to the user for inline annotation via the ai-review UI.

  • Works in 7 steps: Write the plan to a file in the /tmp/… → Generate AI annotations. Before opening… → Start the CLI in the background with… → …
  • You have a plan ready for human review before executing it
  • SKILL.md covers Steps and Notes
  • Calls node

What it does

Review Plan is an agent skill from jackfranklin/dotfiles. Present a plan to the user for inline annotation via the ai-review UI. Use when you have a plan ready for human review before executing it. The user will annotate it in the browser; you then revise based on their comments.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. The repository describes itself as: My dotfiles for my dev environment, compromising of tmux, vim, zsh and git. The licence is MIT.

When your agent uses it

  • You have a plan ready for human review before executing it

Example prompts

  • “/review-plan”

Workflow steps

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

  1. Write the plan to a file in the /tmp/ directory (e.g. /tmp/plan-.md).
  2. Generate AI annotations. Before opening the review, write a JSON file with a summary and any per-line notes to guide the reviewer. This is…
  3. Start the CLI in the background with --interactive, so you can keep working while it stays open across rounds. Choose a title that is…
  4. Wait for stdout to print Watching: — this confirms the server is up and the browser has been asked to open. The process keeps running…
  5. Keep monitoring the background process's stdout by polling
  6. The stdout for each round always begins with ## Review: APPROVED or ## Review: CHANGES REQUESTED, followed by any comments as a numbered…
  7. Once the session has ended (approved, or the user confirms they're done), delete both temporary files (plan and annotations).

What it can do on your machine

Read from SKILL.md and the folder at commit bfc6291. 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

    Shell commands in SKILL.md call:

    • node

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

  • Network

    No URLs in SKILL.md.

    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

Review Plan loads about 1.6k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 839 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from jackfranklin/dotfiles at commit bfc6291, republished under its MIT licence (© jackfranklin). 839 words, ~1,600 tokens.

Download SKILL.mdSave it as .claude/skills/review-plan/SKILL.md (or your agent's skills folder).
name
review-plan
description
Present a plan to the user for inline annotation via the ai-review UI. Use when you have a plan ready for human review before executing it. The user will annotate it in the browser; you then revise based on their comments.
disable-model-invocation
true

You are presenting a plan for human review using the ai-review CLI, in interactive mode: the CLI stays running across multiple rounds, and you revise the plan file in place instead of restarting the CLI for each pass.

Steps

  1. Write the plan to a file in the /tmp/ directory (e.g. /tmp/plan-<timestamp>.md).

  2. Generate AI annotations. Before opening the review, write a JSON file with a summary and any per-line notes to guide the reviewer. This is especially useful on later rounds to show what changed since the last one.

    Write the file to /tmp/annotations-<timestamp>.json using this schema:

    json
    {
      "summary": "One or two sentences: what this plan does, or what changed since the last round.",
      "annotations": [
        {
          "startLine": 15,
          "endLine": 22,
          "text": "This section was rewritten to address the feedback about error handling."
        }
      ]
    }

    Rules for generating annotations:

    • summary is optional but strongly recommended; always write one after the first round.
    • annotations is optional; include only lines worth drawing the reviewer's attention to.
    • Do not include a file field — plan mode uses plain line numbers only.
    • startLine and endLine are 1-indexed line numbers in the plan file. To get accurate numbers: read the written plan file back with line numbers (e.g. cat -n /tmp/plan-<timestamp>.md), then reference the specific lines.
    • Fenced code blocks and tables are treated as a single block. Annotating any line inside a code fence attaches the annotation to the opening ``` line. If you want to annotate content within a fence, use the line number of the opening fence.
    • Read the written annotations file back and verify line numbers look correct before proceeding. If annotations don't appear in the review UI, they were silently dropped with no error — check that line numbers fall within the rendered content.
  3. Start the CLI in the background with --interactive, so you can keep working while it stays open across rounds. Choose a title that is short (3–6 words) and specific to the current task — the user may have multiple review tabs open at once and needs to tell them apart at a glance:

    node ~/git/ai-review-plan/dist/cli.js plan \
      --title "<short task-specific title>" \
      --theme <dark|light> \
      --ai-annotations-file /tmp/annotations-<timestamp>.json \
      --interactive \
      /tmp/plan-<timestamp>.md

    Use --theme light unless the user has expressed a preference for dark mode.

  4. Wait for stdout to print Watching: <path> — this confirms the server is up and the browser has been asked to open. The process keeps running after this; do not wait for it to exit.

  5. Keep monitoring the background process's stdout by polling:

    • Schedule a 10-second timer using the schedule tool (e.g., DurationSeconds="10", TimerCondition="never").
    • When the timer fires, check the background task's status using manage_task with action status, read its log file using view_file, and inspect the latest output.
    • If no new output or feedback is present, immediately schedule another 10-second timer to continue polling.
    • Each round ends in one of three ways:
      • === FEEDBACK END === / [ACTION REQUIRED] — the user clicked Request Changes. The stdout since the last marker contains the ## Review: CHANGES REQUESTED comments. You must act immediately and autonomously. Do not wait for a user chat prompt or command termination. Read the comments carefully, revise the plan file in place at its original path (do not write a new file — the CLI is watching that exact path), and optionally rewrite the annotations file with an updated summary describing what you just changed. Once you save the file, the changes are automatically sent to the browser. Then go back to waiting on stdout.
      • The process exits with code 0 — the user clicked Approve. Stdout will contain ## Review: APPROVED and any final comments; check for inline comments and address them, then proceed. This ends the review — go to step 6.
      • === SESSION CLOSED: client disconnected === (process exits non-zero) — the browser tab didn't reconnect within 30 seconds (e.g. the user closed it without submitting). Tell the user the session closed and ask whether to re-open it (re-run from step 3 against the same plan file) or stop here.

    [!IMPORTANT] When the user clicks Request Changes, the CLI does not exit. It prints === FEEDBACK END === and a [ACTION REQUIRED] block, then continues running. You must not wait for a user chat prompt or command termination. You must immediately read the printed feedback, perform the required code/plan changes, save the file, and resume monitoring stdout.

  6. The stdout for each round always begins with ## Review: APPROVED or ## Review: CHANGES REQUESTED, followed by any comments as a numbered list. Read each comment carefully before revising.

  7. Once the session has ended (approved, or the user confirms they're done), delete both temporary files (plan and annotations).

Show full SKILL.md (130 more words)Show less

Notes

  • Always pass --title. Derive it from the current conversation (e.g. "Auth middleware refactor", "Add dark mode", "DB migration plan") — never use a generic title like "Plan review".
  • Always pass --theme. Default to light; switch to dark if the user has indicated a preference.
  • Pass --no-wrap to disable line wrapping if you prefer lines to overflow with a scrollbar. Line wrapping is enabled by default.
  • Do not proceed with execution until the session ends with an Approved verdict.
  • If the user's comments conflict with each other, surface the conflict and ask for clarification rather than guessing.
  • Diagrams: Use Mermaid diagrams (e.g. sequenceDiagram, flowchart TD, stateDiagram-v2 in a fenced code block with language mermaid) when explaining complex interactions, database schemas, architectures, or step-by-step processes to make the plan easier to review.

© jackfranklin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in claude/skills/review-plan of jackfranklin/dotfiles.

Open the folder on GitHubat commit bfc6291

Compare with similar skills

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

Review Plan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review Plan this skilljackfranklin/dotfiles255—~1.6kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from jackfranklin/dotfiles

All 20 skills in this repo
  • GitHub Code Review

    jackfranklin/dotfiles

    Perform a thorough, read-only review of one GitHub pull request.

    255 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Adr

    jackfranklin/dotfiles

    Capture an Architecture Decision Record (ADR) for a significant decision made in the current project.

    255 GitHub stars~962 tokensUpdated today
    Auto-check passed
  • Jack References

    jackfranklin/dotfiles

    Manage Jack's personal technical reference library at ~/git/references.

    255 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Later

    jackfranklin/dotfiles

    Log items to come back to later — bugs found mid-task, feature ideas, project feedback — as GitHub Issues.

    255 GitHub stars~767 tokensUpdated today
    Auto-check passed
  • New Deno App

    jackfranklin/dotfiles

    Scaffold a new Deno 2 + Hono + Deno KV + Eta + HTMX app with password auth and PWA support.

    255 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Resolve Merge Conflict

    jackfranklin/dotfiles

    A skill your agent uses when you need to resolve an in-progress git merge/rebase conflict.

    255 GitHub starsUsed in 23 repos~427 tokens
    Auto-check passed

Categories

Questions about Review Plan

What does Review Plan do?

Present a plan to the user for inline annotation via the ai-review UI. Review Plan is an agent skill from jackfranklin/dotfiles. Present a plan to the user for inline annotation via the ai-review UI.

When should I use Review Plan?

Review Plan fits situations like: you have a plan ready for human review before executing it.

How do I install Review Plan in Claude Code?

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

How do I install Review Plan in Codex?

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

Can I use Review Plan 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 jackfranklin/dotfiles --skill review-plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-plan, .gemini/skills/review-plan, .github/skills/review-plan and .opencode/skills/review-plan in your project.

What does Review Plan need to run?

Going by SKILL.md and its folder, Review Plan needs the command-line tools its instructions call (node).

Does Review Plan access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Review Plan 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. Review the folder before installing.

What licence does Review Plan use?

Review Plan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Review Plan use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Review Plan?

Skills that share tags, products or a category with Review Plan: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review Plan?

jackfranklin (a GitHub user) maintains it in jackfranklin/dotfiles, which has 255 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 10, 2026.

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