jpskill.com
🛠️ 開発・MCP コミュニティ

plannotator

Interactive plan and diff review for AI coding agents. Visual browser UI for annotating agent plans — approve or request changes with structured feedback. Supports code review, image annotation, and auto-save to Obsidian/Bear Notes.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o plannotator.zip https://jpskill.com/download/20916.zip && unzip -o plannotator.zip && rm plannotator.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/20916.zip -OutFile "$d\plannotator.zip"; Expand-Archive "$d\plannotator.zip" -DestinationPath $d -Force; ri "$d\plannotator.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して plannotator.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → plannotator フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
9

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] plannotator

plannotator — 対話型プラン&差分レビュー

キーワード: plan | ソース: https://github.com/backnotprop/plannotator

AIコーディングエージェントのプランを視覚的に注釈付けしてレビューし、チームと共有し、ワンクリックでフィードバックを送信できます。 Claude CodeOpenCodeGemini CLICodex CLIに対応しています。

このスキルを使用するタイミング

  • AIエージェントがコーディングを開始する前に、その実装プランをレビューしたい場合
  • エージェントが変更を加えた後、git diffに注釈を付けたい場合
  • フィードバックループが必要な場合:変更点を視覚的にマークアップし、構造化されたフィードバックを返送したい場合
  • リンクを介してチームメイトとプランレビューを共有したい場合
  • 承認されたプランをObsidianまたはBear Notesに自動保存したい場合

スクリプト(自動化されたパターン)

すべてのパターンには、scripts/に対応するスクリプトがあります。直接実行するか、エージェントに呼び出させることができます。

スクリプト パターン 使用方法
scripts/install.sh CLIインストール ワンコマンドインストール; --allはすべてのAIツールを設定します
scripts/setup-hook.sh Claude Codeフック Claude Code ExitPlanModeフックを設定します
scripts/setup-gemini-hook.sh Gemini CLIフック Gemini CLI ExitPlanModeフック + GEMINI.mdを設定します
scripts/setup-codex-hook.sh Codex CLIセットアップ Codex CLI developer_instructions + promptを設定します
scripts/setup-opencode-plugin.sh OpenCodeプラグイン プラグイン + スラッシュコマンドを登録します
scripts/check-status.sh ステータスチェック すべての統合と設定を確認します
scripts/configure-remote.sh リモートモード SSH / devcontainer / WSL設定
scripts/review.sh コードレビュー 差分レビューUIを起動します

パターン1: インストール

# CLIのみをインストール (macOS / Linux / WSL)
bash scripts/install.sh

# CLIをインストールし、Claude Codeプラグインコマンドを取得
bash scripts/install.sh --with-plugin

# CLIをインストールし、Gemini CLIを設定
bash scripts/install.sh --with-gemini

# CLIをインストールし、Codex CLIを設定
bash scripts/install.sh --with-codex

# CLIをインストールし、OpenCodeプラグインを登録
bash scripts/install.sh --with-opencode

# CLIとすべてのAIツール統合を一度にインストール
bash scripts/install.sh --all

機能:

  • OS(macOS / Linux / WSL / Windows)を検出します
  • Obsidianをチェックし、見つからない場合はインストールリンクを表示します: https://obsidian.md/download
  • https://plannotator.ai/install.sh経由でインストールします
  • インストールとPATHを確認します
  • オプションで各AIツールの統合スクリプトを実行します
  • Windowsの場合: 手動で実行するPowerShell / CMDコマンドを出力します

パターン2: フック設定(プランレビューのトリガー)

# ~/.claude/settings.jsonにフックを追加
bash scripts/setup-hook.sh

# 変更される内容をプレビュー(書き込みなし)
bash scripts/setup-hook.sh --dry-run

機能:

  • plannotator CLIがインストールされているか確認します
  • ExitPlanModeフックを~/.claude/settings.jsonに安全にマージします(最初にバックアップします)
  • フックがすでに設定されている場合はスキップします
  • これを実行した後、Claude Codeを再起動してください

代替案: Claude Codeプラグイン(手動フックは不要)

Claude Code内で実行します:

/plugin marketplace add backnotprop/plannotator
/plugin install plannotator@plannotator
# 重要: プラグインのインストール後、Claude Codeを再起動してください

パターン3: プランレビュー(コーディング前)

Claude Codeがプランモードを終了すると、フックによって自動的にトリガーされます。

エージェントがプランニングを終了すると(Claude Code: Shift+Tab×2でプランモードに入ります)、plannotatorが自動的に開きます:

  1. 視覚的なUIでエージェントのプランを表示します
  2. 明確な意図で注釈を付けます:
    • delete — リスクのあるステップや不要なステップを削除します
    • insert — 欠落しているステップを追加します
    • replace — 不正確なアプローチを修正します
    • comment — 制約や受け入れ基準を明確にします
  3. 1つの結果を送信します:
    • 承認 → エージェントは実装に進みます
    • 変更を要求 → 注釈は再プランニングのための構造化されたフィードバックとして返送されます

パターン4: コードレビュー(コーディング後)

# コミットされていないすべての変更をレビュー
bash scripts/review.sh

# 特定のコミットをレビュー
bash scripts/review.sh HEAD~1

# ブランチの差分をレビュー
bash scripts/review.sh main...HEAD

機能:

  • CLIとgitリポジトリの状態をチェックします
  • 開く前に差分の概要を表示します
  • plannotator review UIを起動します
  • UIで: 注釈を付ける行番号を選択し、統合/分割ビューを切り替え、画像を添付します

パターン5: リモート / Devcontainerモード

# 対話型セットアップ (SSH, devcontainer, WSL)
bash scripts/configure-remote.sh

# 現在の設定を表示
bash scripts/configure-remote.sh --show

# ポートを直接設定
bash scripts/configure-remote.sh --port 9999

機能:

  • シェルプロファイル(.zshrc.bashrc.profile)を検出します
  • PLANNOTATOR_REMOTE=1PLANNOTATOR_PORTをシェルプロファイルに書き込みます
  • SSHとVS Codeのポートフォワーディング手順を表示します
  • オプションでカスタムブラウザまたは共有URLを設定します

手動環境変数:

export PLANNOTATOR_REMOTE=1    # ブラウザの自動起動なし
export PLANNOTATOR_PORT=9999   # フォワーディング用の固定ポート
変数 説明
PLANNOTATOR_REMOTE リモートモード(ブラウザの自動起動なし)
PLANNOTATOR_PORT 固定ローカル/フォワードポート
PLANNOTATOR_BROWSER カスタムブラウザのパス/アプリ
PLANNOTATOR_SHARE_URL カスタム共有ポータルURL

パターン6: ステータスチェック

bash scripts/check-status.sh

以下のすべてをチェックします:

  • CLIのインストールとバージョン
  • ~/.claude/settings.json内のClaude Codeフック(またはプラグインの検出)
  • ~/.gemini/settings.json内のGemini CLIフック
  • Codex CLI ~/.codex/config.tomlのdeveloper_instructions
  • opencode.json内のOpenCodeプラグイン + スラッシュコマンド
  • Obsidianのインストール
  • 環境変数の設定
  • 差分レビューに利用可能なGitリポジトリ

パターン7: Gemini CLI統合

# Gemini CLIを設定 (フック + GEMINI.mdの指示)
bash scripts/setup-gemini-hook.sh

# 変更される内容をプレビュー(書き込みなし)
bash scripts/setup-gemini-hook.sh --dry-run

# settings.jsonフックのみを更新(GEMINI.mdはスキップ)
bash scripts/setup-gemini-hook.sh --hook-only

# GEMINI.mdのみを更新(スキップ
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

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 vault
bash scripts/check-status.sh

# Step 2: Trigger a plan review (any method)
# Claude Code: Shift+Tab×2 → plan mode → exit plan mode
# Gemini CLI: gemini --approval-mode plan
# OpenCode: Agent creates a plan

# Step 3: In the plannotator UI:
#   1. Click ⚙️ (Settings gear icon)
#   2. Go to "Saving" tab
#   3. Toggle ON "Obsidian Integration"
#   4. Select your vault from dropdown (auto-detected)
#      - Or enter custom path if vault not detected
#   5. Set folder name (default: "plannotator")

# Step 4: Approve a plan to test the integration
#   - Click "Approve" in the plannotator UI
#   - Check your vault for the saved file

Obsidian Configuration Options

Setting Description Default
Vault Path to Obsidian vault Auto-detected
Folder Subfolder in vault for plans plannotator
Custom Path Manual path if auto-detect fails -

Saved File Format

Files are saved with human-readable names and YAML frontmatter:

Filename: {Title} - {Month} {Day}, {Year} {Hour}-{Minute}{am/pm}.md
Example:  User Authentication - Feb 22, 2026 10-45pm.md
---
created: 2026-02-22T22:45:30.000Z
source: plannotator
tags: [plannotator, project-name, typescript, ...]
---

[[Plannotator Plans]]

# Original plan content...

Tag extraction:

  • plannotator — always included
  • Project name — from git repo or directory
  • Title words — first 3 meaningful words from H1 heading
  • Languages — from code blocks (```typescript → typescript)

Folder Organization

Organize plans within the vault using subfolders:

vault/plannotator/
├── approved/          ← approved plans
├── denied/            ← rejected plans
└── 2026-02/           ← monthly archive

Create subfolders manually (Obsidian detects them automatically):

mkdir -p ~/path/to/vault/plannotator/approved
mkdir -p ~/path/to/vault/plannotator/denied
mkdir -p ~/path/to/vault/plannotator/2026-02

Or write directly to any subfolder:

cp ~/.plannotator/plans/<name>-approved.md ~/path/to/vault/plannotator/approved/

Bear Notes (Alternative)

If you prefer Bear Notes over Obsidian:

  1. Toggle ON "Bear Notes" in Settings → Saving tab
  2. Plans are saved via bear://x-callback-url/create
  3. Tags are appended as hashtags
  4. Validate callback from terminal:
open "bear://x-callback-url/create?title=Plannotator%20Check&text=Bear%20callback%20OK"
Feature Obsidian Bear
Storage File system x-callback-url
Frontmatter YAML None (hashtags)
Platforms macOS/Win/Linux macOS/iOS

Troubleshooting

Vault not detected:

# 1. Check Obsidian config exists
ls ~/Library/Application\ Support/obsidian/obsidian.json  # macOS

# 2. If missing, open Obsidian and create a vault first
open /Applications/Obsidian.app

# 3. After creating vault, restart plannotator

Plans not saving:

# Check write permissions on vault folder
ls -la ~/path/to/vault/plannotator/

# Check browser console for errors (F12 → Console)

Export → Notes tab Save buttons require hook mode:

  • Export → Notes tab Save buttons require plannotator running in hook mode (stdin JSON input). In CLI review/annotate modes, the /api/save-notes endpoint is not active. Normal Claude Code hook invocation (ExitPlanMode hook) always runs in hook mode.

Settings not visible in automated/headless browsers:

  • Obsidian Integration settings must be configured in the system browser that plannotator auto-opens. Settings are stored in cookies (not localStorage). Automated/headless browser profiles (Playwright, Puppeteer) use isolated cookie jars and will not see these settings.

Bear export not working:

  • Confirm Bear app is installed and opened at least once
  • Confirm open "bear://x-callback-url/create?..." works from terminal
  • Use system browser session for plannotator settings; automated/headless sessions can block custom URI handlers

Settings not persisting:

  • Settings are stored in cookies (not localStorage)
  • Ensure cookies are enabled for localhost
  • Settings persist across different ports

Auto-save (Summary)

Obsidian integration is optional — plans can still be reviewed and approved without it.


Best Practices

  1. Use plan review BEFORE the agent starts coding — catch wrong approaches early
  2. Keep each annotation tied to one concrete, actionable change
  3. Include acceptance criteria in "request changes" feedback
  4. For diff review, annotate exact line ranges tied to expected behavior changes
  5. Use image annotation for UI/UX feedback where text is insufficient

References

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。