
Obsreview
- Updated March 5, 2026
- Donega-Negocios-Digitais/obsidian-note-reviewer
obsreview is a Claude Code skill in the AI & Agent Building category. Interactive review UI for Claude Code hooks (plan mode + Obsidian write flow + markdown annotations).
Key points
- obsreview
- AI & Agent Building
- AI-coding skill
Obsreview by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add Donega-Negocios-Digitais/obsidian-note-reviewer/plugin install obsreview@obsidian-note-reviewerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Last updated | March 5, 2026 |
|---|---|
| Repository | Donega-Negocios-Digitais/obsidian-note-reviewer ↗ |
What it does
Interactive review UI for Claude Code hooks (plan mode + Obsidian write flow + markdown annotations).
README.md
Obsidian Note Reviewer Claude Code Plugin
This folder contains the Claude Code plugin config for hook flows.
Official runtime model
For normal users:
- Install global CLI binary (
obsreview). - Install plugin in Claude Code (
/plugin ...).
No repo clone is required for normal usage.
Do not run bun install inside ~/.claude/plugins/cache/....
The official runtime is the global obsreview binary.
Prerequisites
Install obsreview so Claude Code can execute local hooks:
macOS / Linux / WSL
curl -fsSL https://raw.githubusercontent.com/Donega-Negocios-Digitais/obsidian-note-reviewer/main/scripts/install.sh | bash
Windows PowerShell
irm https://raw.githubusercontent.com/Donega-Negocios-Digitais/obsidian-note-reviewer/main/scripts/install.ps1 | iex
Windows CMD
curl -fsSL https://raw.githubusercontent.com/Donega-Negocios-Digitais/obsidian-note-reviewer/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
Validate:
obsreview --version
obsreview --help
obsreview doctor
If obsreview --version returns no output:
- reinstall using the official installer;
- reopen terminal;
- validate
--versionand--helpagain before plugin install.
Plugin Installation · Manual Installation (Hooks) · Commands
Plugin Installation
No chat do Claude Code, rode um comando por vez.
- Primeiro:
/plugin marketplace add Donega-Negocios-Digitais/obsidian-note-reviewer
Espere finalizar.
- Depois:
/plugin install obsreview@obsidian-note-reviewer
Se Claude perguntar escopo de instalacao, selecione:
- Global (Recommended)
- Reinicie o Claude Code.
Sinais de sucesso:
- marketplace adicionado;
- plugin instalado;
- apos reiniciar, hooks/slash commands carregados.
Manual Installation (Hooks)
The official format is hooks.matcher/hooks.
Add this to ~/.claude/settings.json:
{
"hooks": {
"PermissionRequest": [
{
"matcher": "ExitPlanMode",
"hooks": [
{
"type": "command",
"command": "obsreview plan",
"timeout": 1800
}
]
}
],
"PostToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "obsreview plan-live",
"timeout": 1800
},
{
"type": "command",
"command": "obsreview obsidian",
"timeout": 1800
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "obsreview plan-live",
"timeout": 1800
}
]
}
]
}
}
How it works
Primary flow (plan-live):
- Claude writes a plan in
/.claude/plans/... PostToolUse/Writetriggersobsreview plan-live- If
Writefails and Claude falls back toBash,PostToolUse/Bashalso triggersobsreview plan-live - Review UI opens in production app (
/hook-review) beforeReady to code - Request changes keeps the same browser tab/session
- In remote mode, approve auto-saves the final note in app (
Meus Documentos) and then lets Claude continue
Fallback flow (plan):
PermissionRequest/ExitPlanModetriggersobsreview plan- Used only when
OBSREVIEW_PLAN_REVIEW_MODE=exitplan
Obsidian flow:
PostToolUse/Writetriggersobsreview obsidian- Handles vault plan files (
Plans/,.obsidian/plans/,plan/) - Ignores
/.claude/plans/to avoid conflict withplan-live
Commands
obsreview-> defaults toobsreview plan(hook stdin expected)obsreview --help-> usage infoobsreview --version-> CLI versionobsreview doctor [--json]-> local diagnosticsobsreview plan-live-> continuous pre-execution plan reviewobsreview plan-> ExitPlanMode fallback reviewobsreview obsidian-> PostToolUse/Write Obsidian reviewobsreview annotate <arquivo.md>-> annotate markdown manuallyobsreview nota <arquivo.md>-> alias ofannotateobsidian-note-reviewer ...-> legacy alias ofobsreview ...
Slash commands included:
/obsreview-plan/obsreview-plano/obsreview-annotate/obsreview-nota
Hook auth mode
Hook auth behavior:
- remote review (
OBSREVIEW_REVIEW_TARGET=remote): login required to review/approve - local hook flow: auth is opt-in (
VITE_HOOK_REQUIRE_AUTH=true)
Legacy format (when/then)
If old configs still use when/then, map:
when: ExitPlanMode->hooks.PermissionRequest[].matcher: "ExitPlanMode"when: Write->hooks.PostToolUse[].matcher: "Write"then.command: obsreview ...->hooks[].hooks[].command: "obsreview ..."
Prefer modern format for new setups.
Environment flags
OBSREVIEW_REVIEW_TARGET=auto(default, remote when healthy; local when remote fails)OBSREVIEW_REVIEW_TARGET=remote(forces production app)OBSREVIEW_REVIEW_TARGET=local(forces localhost legacy review)OBSREVIEW_REVIEW_APP_URL=https://obsidian-note-reviewer-hook.vercel.app(default)OBSREVIEW_REMOTE_FALLBACK_LOCAL=true(default)OBSREVIEW_REMOTE_HEALTH_TIMEOUT_MS=2000(default)OBSREVIEW_PLAN_REVIEW_MODE=live(default)OBSREVIEW_PLAN_REVIEW_MODE=exitplan(rollback)
Logs
.logs/plan-live-hook.log.logs/plan-live-session.log.logs/obsidian-hook.log
Security
/api/save includes path traversal protection (CWE-22).
Optional defense-in-depth:
# Single vault
export ALLOWED_SAVE_PATHS="/path/to/your/obsidian/vault"
# Multiple vaults
export ALLOWED_SAVE_PATHS="/vault1,/vault2"
See CONFIGURACAO.md for details.