plannotator

supercent-io/skills-template · updated May 2, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/supercent-io/skills-template --skill plannotator
0 commentsdiscussion
summary

Visual plan and diff review UI with structured feedback, annotation, and auto-save to Obsidian or Bear Notes.

  • Integrates with Claude Code, Gemini CLI, Codex CLI, and OpenCode via hooks or plugins; automatically opens when agents exit plan mode
  • Supports three annotation types (delete, insert, replace, comment) with line-level precision for both plans and code diffs
  • Includes image annotation for UI/UX feedback and split/unified diff views for code review
  • Auto-saves approved plans to
skill.md

plannotator — Interactive Plan & Diff Review

Keyword: plan | Source: https://github.com/backnotprop/plannotator

Annotate and review AI coding agent plans visually, share with your team, send feedback with one click. Works with Claude Code, OpenCode, Gemini CLI, and Codex CLI.

When to use this skill

  • You want to review an AI agent's implementation plan BEFORE it starts coding
  • You want to annotate a git diff after the agent makes changes
  • You need a feedback loop: visually mark up what to change, then send structured feedback back
  • You want to share plan reviews with teammates via a link
  • You want to auto-save approved plans to Obsidian or Bear Notes

Scripts (Automated Patterns)

All patterns have a corresponding script in scripts/. Run them directly or let the agent call them.

Script Pattern Usage
scripts/install.sh CLI Install One-command install; --all sets up every AI tool
scripts/setup-hook.sh Claude Code Hook Configure Claude Code ExitPlanMode hook
scripts/setup-gemini-hook.sh Gemini CLI Hook Configure Gemini CLI ExitPlanMode hook + GEMINI.md
scripts/setup-codex-hook.sh Codex CLI Setup Configure Codex CLI developer_instructions + prompt
scripts/setup-opencode-plugin.sh OpenCode Plugin Register plugin + slash commands
scripts/check-status.sh Status Check Verify all integrations and configuration
scripts/configure-remote.sh Remote Mode SSH / devcontainer / WSL configuration
scripts/review.sh Code Review Launch diff review UI

Pattern 1: Install

# Install CLI only (macOS / Linux / WSL)
bash scripts/install.sh

# Install CLI and get Claude Code plugin commands
bash scripts/install.sh --with-plugin

# Install CLI + configure Gemini CLI
bash scripts/install.sh --with-gemini

# Install CLI + configure Codex CLI
bash scripts/install.sh --with-codex

# Install CLI + register OpenCode plugin
bash scripts/install.sh --with-opencode

# Install CLI + all AI tool integrations at once
bash scripts/install.sh --all

What it does:

  • Detects OS (macOS / Linux / WSL / Windows)
  • Checks for Obsidian and shows install link if missing: https://obsidian.md/download
  • Installs via https://plannotator.ai/install.sh
  • Verifies install and PATH
  • Optionally runs integration scripts for each AI tool
  • On Windows: prints PowerShell / CMD commands to run manually

Pattern 2: Hook Setup (Plan Review trigger)

# Add hook to ~/.claude/settings.json
bash scripts/setup-hook.sh

# Preview what would change (no writes)
bash scripts/setup-hook.sh --dry-run

What it does:

  • Checks plannotator CLI is installed
  • Merges ExitPlanMode hook into ~/.claude/settings.json safely (backs up first)
  • Skips if hook already configured
  • Restart Claude Code after running this

Alternative: Claude Code Plugin (no manual hook needed)

Run inside Claude Code:

/plugin marketplace add backnotprop/plannotator
/plugin install plannotator@plannotator
# IMPORTANT: Restart Claude Code after plugin install

Pattern 3: Plan Review (Before Coding)

Triggered automatically via hook when Claude Code exits plan mode.

When your agent finishes planning (Claude Code: Shift+Tab×2 to enter plan mode), plannotator opens automatically:

  1. View the agent's plan in the visual UI
  2. Annotate with clear intent:
    • delete — remove risky or unnecessary step
    • insert — add missing step
    • replace — revise incorrect approach
    • comment — clarify constraints or acceptance criteria
  3. Submit one outcome:
    • Approve → agent proceeds with implementation
    • Request changes → your annotations are sent back as structured feedback for replanning

Pattern 4: Code Review (After Coding)

# Review all uncommitted changes
bash scripts/review.sh

# Review a specific commit
bash scripts/review.sh HEAD~1

# Review branch diff
bash scripts/review.sh main...HEAD

What it does:

  • Checks CLI and git repo state
  • Shows diff summary before opening
  • Launches plannotator review UI
  • In the UI: select line numbers to annotate, switch unified/split views, attach images

Pattern 5: Remote / Devcontainer Mode

# Interactive setup (SSH, devcontainer, WSL)
bash scripts/configure-remote.sh

# View current configuration
bash scripts/configure-remote.sh --show

# Set port directly
bash scripts/configure-remote.sh --port 9999

What it does:

  • Detects shell profile (.zshrc, .bashrc, .profile)
  • Writes PLANNOTATOR_REMOTE=1 and PLANNOTATOR_PORT to shell profile
  • Shows SSH and VS Code port-forwarding instructions
  • Optionally sets custom browser or share URL

Manual environment variables:

export PLANNOTATOR_REMOTE=1    # No auto browser open
export PLANNOTATOR_PORT=9999   # Fixed port for forwarding
Variable Description
PLANNOTATOR_REMOTE Remote mode (no auto browser open)
PLANNOTATOR_PORT Fixed local/forwarded port
PLANNOTATOR_BROWSER Custom browser path/app
PLANNOTATOR_SHARE_URL Custom share portal URL

Pattern 6: Status Check

bash scripts/check-status.sh

Checks all of:

  • CLI installed and version
  • Claude Code hook in ~/.claude/settings.json (or plugin detected)
  • Gemini CLI hook in ~/.gemini/settings.json
  • Codex CLI ~/.codex/config.toml developer_instructions
  • OpenCode plugin in opencode.json + slash commands
  • Obsidian installation
  • Environment variables configured
  • Git repo available for diff review

Pattern 7: Gemini CLI Integration

# Configure Gemini CLI (hook + GEMINI.md instructions)
bash scripts/setup-gemini-hook.sh

# Preview what would change (no writes)
bash scripts/setup-gemini-hook.sh --dry-run

# Only update settings.json hook (skip GEMINI.md)
bash scripts/setup-gemini-hook.sh --hook-only

# Only update GEMINI.md (skip settings.json)
bash scripts/setup-gemini-hook.sh --md-only

What it does:

  • Checks plannotator CLI is installed
  • Merges ExitPlanMode hook into ~/.gemini/settings.json (same format as Claude Code)
  • Appends plannotator usage instructions to ~/.gemini/GEMINI.md
  • Backs up existing files before modifying

Usage in Gemini CLI after setup:

# Enter planning mode (hook fires when you exit)
gemini --approval-mode plan

# Manual plan review (validated format)
python3 -c "
import json
plan = open('plan.md').read()
print(json.dumps({'tool_input': {'plan': plan, 'permission_mode': 'acceptEdits'}}))
" | plannotator > /tmp/plannotator_feedback.txt 2>&1 &

# Code review after implementation
plannotator review

Note: Gemini CLI supports gemini hooks migrate --from-claude to auto-migrate existing Claude Code hooks.


Pattern 8: Codex CLI Integration

# Configure Codex CLI (developer_instructions + prompt file)
bash scripts/setup-codex-hook.sh

# Preview what would change (no writes)
bash scripts/setup-codex-hook.sh --dry-run

What it does:

  • Adds plannotator instruction to developer_instructions in ~/.codex/config.toml
  • Creates ~/.codex/prompts/plannotator.md (invoke with /prompts:plannotator)
  • Backs up existing config before modifying

Usage in Codex CLI after setup:

# Use the plannotator agent prompt
/prompts:plannotator

# Manual plan review (validated format)
python3 -c "
import json
plan = open('plan.md').read()
print(json.dumps({'tool_input': {'plan': plan, 'permission_mode': 'acceptEdits'}}))
" | plannotator > /tmp/plannotator_feedback.txt 2>&1 &

# Code review after implementation
plannotator review HEAD~1

Note: plannotator plan - with heredoc/echo can fail with Failed to parse hook event from stdin. Use the python3 JSON format above.


Pattern 10: Manual Save via Export → Notes Tab

Save the current plan to Obsidian or Bear Notes at any time — without approving or denying.

How to access

  1. Click Export button in the plannotator UI toolbar
  2. Click the Notes tab (not Share or Annotations)
  3. You see:
    • Obsidian row with configured vault path and Save button
    • Bear row with Save button
    • Save All button to save both at once
  4. A green dot next to each row means that integration is configured
  5. Clicking Save shows Saved when complete

When to use

  • Save work-in-progress plans without committing to Approve/Deny
  • Quick archive after reviewing without final decision
  • Save annotated plans for team reference

Requirements

  • plannotator must be running in hook mode (normal Claude Code ExitPlanMode hook invocation = hook mode)
  • Obsidian/Bear must be configured in Settings (⚙️) → Saving tab
  • Settings are stored in cookies (not localStorage) and persist across restarts

Note: The Notes tab uses POST /api/save-notes which writes directly to the vault filesystem (Obsidian) or calls bear://x-callback-url/create (Bear). This endpoint is only available in hook mode.


Recommended Workflow

Quick Start (all AI tools)

# 1. Install CLI + configure all AI tool integrations at once
bash scripts/install.sh --all

# 2. Verify everything
bash scripts/check-status.sh

# 3. Restart your AI tools (Claude Code, Gemini CLI, OpenCode, Codex)

Claude Code (manual)

1. bash scripts/install.sh --with-plugin
   └─ Installs CLI + shows plugin install commands

2. bash scripts/setup-hook.sh          ← skip if using plugin
   └─ Configures automatic plan review trigger

3. bash scripts/check-status.sh
   └─ Confirm everything is ready

4. [Code with agent in plan mode → Shift+Tab×2]
   └─ plannotator opens automatically

5. bash scripts/review.sh              ← after agent finishes coding
   └─ Opens visual diff review

Gemini CLI (manual)

1. bash scripts/install.sh
2. bash scripts/setup-gemini-hook.sh
3. gemini --approval-mode plan          ← work in plan mode
   └─ plannotator fires on exit

Codex CLI (manual)

1. bash scripts/install.sh
2. bash scripts/setup-codex-hook.sh
3. /prompts:plannotator                 ← inside Codex session

OpenCode Setup

# Automated (recommended)
bash scripts/setup-opencode-plugin.sh

# Or add manually to opencode.json:
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@plannotator/opencode@latest"]
}

After setup, restart OpenCode. Available slash commands:

  • /plannotator-review — open code review UI for current git diff
  • /plannotator-annotate <file.md> — annotate a markdown file

The submit_plan tool is automatically available to the agent for plan submission.


Pattern 9: Obsidian Integration Setup

Auto-save approved plans to your Obsidian vault with YAML frontmatter and tags.

Prerequisites

  1. Install Obsidian: https://obsidian.md/download
  2. Create a Vault: Open Obsidian → Create new vault → Choose location
    • Example: ~/Documents/Obsidian/MyVault
  3. Verify Vault Exists: Obsidian creates obsidian.json config after first vault creation
# Check Obsidian installation (macOS)
ls /Applications/Obsidian.app

# Check Obsidian config exists (vault detection depends on this)
# macOS
cat ~/Library/Application\ Support/obsidian/obsidian.json
# Linux
cat ~/.config/obsidian/obsidian.json
# Windows
cat %APPDATA%/obsidian/obsidian.json

Step-by-Step Setup

# Step 1: Verify Obsidian is installed and has at least one vau
how to use plannotator

How to use plannotator on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add plannotator
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/supercent-io/skills-template --skill plannotator

The skills CLI fetches plannotator from GitHub repository supercent-io/skills-template and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/plannotator

Reload or restart Cursor to activate plannotator. Access the skill through slash commands (e.g., /plannotator) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.760 reviews
  • William Brown· Dec 28, 2024

    plannotator reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Pratham Ware· Dec 20, 2024

    We added plannotator from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Kofi Martin· Dec 20, 2024

    Keeps context tight: plannotator is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • William Srinivasan· Dec 8, 2024

    Useful defaults in plannotator — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • James Ndlovu· Dec 8, 2024

    plannotator is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Emma Gill· Dec 4, 2024

    I recommend plannotator for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Arya Martin· Nov 27, 2024

    plannotator has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • James Okafor· Nov 27, 2024

    Keeps context tight: plannotator is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Isabella Liu· Nov 23, 2024

    plannotator fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • William Patel· Nov 19, 2024

    Registry listing for plannotator matched our evaluation — installs cleanly and behaves as described in the markdown.

showing 1-10 of 60

1 / 6