plannotator-last — Claude Code skill: what it does, how to install
Opens Plannotator on the latest assistant message to collect annotations and guide subsequent revisions.
npx skills add backnotprop/plannotator --skill plannotator-last -a claude-codeWhat plannotator-last does
The skill executes plannotator annotate-last $ARGUMENTS through the Bash tool. It displays the latest assistant response inside the Plannotator interface, allowing you to highlight sections and add notes directly on the rendered output.
Plannotator yields one of three outcomes. If you approve the output or dismiss the window, the assistant acknowledges the action in a single sentence and halts. If you provide markup or an annotated decision payload, the agent reads the feedback and revises the message.
This skill requires the plannotator CLI binary installed in your environment. If the command is missing from your PATH, the Bash call fails immediately.
What it helps with
- annotate the latest assistant message in an external UI
- provide non-blocking guidance for upcoming tasks
- dismiss a review session without triggering model changes
- feed structured feedback back into the prompt context
Example prompts for the agent
- Review your last response with plannotator-last
- Run plannotator-last to inspect the previous message
- Open Plannotator on your last output and apply my feedback
How to install plannotator-last
1Skills CLI (Vercel)
npx skills add backnotprop/plannotator --skill plannotator-last -a claude-code2Manually: put the files in place
~/.claude/skills/plannotator-last/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/plannotator-last/
1Skills CLI (Vercel)
npx skills add backnotprop/plannotator --skill plannotator-last -a codex2Manually: put the files in place
.agents/skills/plannotator-last/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add backnotprop/plannotator --skill plannotator-last -a cursor2Manually: put the files in place
.cursor/skills/plannotator-last/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install backnotprop/plannotator plannotator-last2Manually: put the files in place
.github/skills/plannotator-last/SKILL.md1Skills CLI (Vercel)
npx skills add backnotprop/plannotator --skill plannotator-last -a gemini-cli2Platform CLI
gemini skills install https://github.com/backnotprop/plannotator --path apps/skills/claude/plannotator-lastManually: put the files in place
.devin/skills/plannotator-last/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add backnotprop/plannotator --skill plannotator-last -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about plannotator-last
How to install plannotator-last in Claude Code?
Run npx skills add backnotprop/plannotator --skill plannotator-last -a claude-code in your terminal.
What does plannotator-last do?
It launches the Plannotator tool on the latest assistant response, returning user annotations, approvals, or dismissals back to the model.
How does the assistant handle approval with notes?
The assistant treats notes as non-blocking guidance for subsequent work instead of rewriting the text, replies with a single acknowledgement, and stops.
Source text
SKILL.md · Apache-2.0
---
name: plannotator-last
description: Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.
allowed-tools: Bash(plannotator:*)
disable-model-invocation: true
---
# Plannotator Last
## Message annotations
!`plannotator annotate-last $ARGUMENTS`
## Your task
The output above will be one of:
1. The exact text `The user approved.`, an "Approved with Notes" message, OR a JSON object with `"decision": "approved"`. The user approved your last message. If it is the Approved with Notes message, or that object also carries a `"feedback"` field, the user approved *with notes*: read them and carry them into subsequent work — they are non-blocking guidance, not a request to revise the message. Otherwise acknowledge with a single sentence ("Approved.") and stop. Either way, do not begin any work.
2. Empty, OR a JSON object with `"decision": "dismissed"`. The user closed the session without requesting changes. Acknowledge with a single sentence ("Annotation session closed.") and stop. Do not begin any work.
3. Plaintext annotation feedback, OR a JSON object with `"decision": "annotated"` and a `"feedback"` field. Address the feedback. The user has reviewed your last message and provided specific annotations and comments.
© backnotprop · Apache-2.0 · backnotprop/plannotator