feat: strengthen /workspace-review beyond high-signal-only

The old workspace-review prompt only hunted for catastrophic bugs and
omitted everything it wasn't highly certain about, so it usually returned
'No high-signal issues found' and felt useless.

Rework it to first understand the diff's intent and judge whether the
implementation actually achieves it and is adequate (smallest correct
solution, completeness), then review correctness across concrete failure
modes (concurrency, lifecycle, state fanout, comparators, a11y,
regressions, targeted-test gaps) plus a security/supply-chain lens, and
classify findings by severity (blocker / non-blocker / nit). Keeps the
existing false-positive discipline (diff is source of truth, validation
pass, no nitpicks, cite rules) and stays review-only by default.

Adapted from a battle-tested PR-review prompt, minus the GitHub-specific
parts that don't apply to a local workspace diff. Updates command and
settings descriptions across locales.
This commit is contained in:
Bohdan Triapitsyn
2026-05-30 02:04:32 +03:00
parent b1c751d51e
commit a85a9ae451
17 changed files with 60 additions and 40 deletions
@@ -1692,7 +1692,7 @@ export const settingsDict = {
'settings.magicPrompts.page.group.sessionWorkspaceReview.title': 'Workspace Review',
'settings.magicPrompts.page.group.sessionExplore.title': 'Codebase Tour',
'settings.magicPrompts.page.group.sessionExplore.description': 'Prompts used by the /explore slash command: visible user message + hidden instructions. Investigates the repository and gives a structured orientation — the big picture, main modules, how they connect, and where to start — rather than a file-by-file dump.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': 'Prompts used by the /workspace-review slash command: visible user message + hidden instructions. Reviews current workspace changes for high-signal issues only.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': 'Prompts used by the /workspace-review slash command: visible user message + hidden instructions. Reviews the workspace diff for whether it achieves its intent and is correct and adequate, classifying findings by severity.',
'settings.magicPrompts.page.group.sessionFeaturePlan.title': 'Feature Planning',
'settings.magicPrompts.page.group.sessionFeaturePlan.description': 'Prompts used by the /plan-feature slash command: visible user message + hidden instructions. Runs a guided dialogue that researches the code and asks clarifying questions in small batches before producing an implementation plan.',
'settings.magicPrompts.page.group.sessionCatchUp.title': 'Catch Up',
+1 -1
View File
@@ -1518,7 +1518,7 @@ export const dict = {
'chat.commandAutocomplete.command.timelineDescription': 'Open the conversation timeline',
'chat.commandAutocomplete.command.compactDescription': 'Compress session history using AI to reduce context size',
'chat.commandAutocomplete.command.summaryDescription': 'Non-destructive session summary. Optional topic hint after the command.',
'chat.commandAutocomplete.command.workspaceReviewDescription': 'Review current workspace changes for high-signal issues only.',
'chat.commandAutocomplete.command.workspaceReviewDescription': 'Review the workspace diff for intent, correctness, and adequacy, graded by severity.',
'chat.commandAutocomplete.command.featurePlanDescription': 'Start a guided, back-and-forth planning session for a new feature.',
'chat.commandAutocomplete.command.catchUpDescription': 'Re-establish context: what you were doing and where to pick up.',
'chat.commandAutocomplete.command.debugDescription': 'Guided root-cause investigation for a bug before proposing a fix.',
@@ -1659,7 +1659,7 @@ export const settingsDict = {
"settings.magicPrompts.page.group.sessionWorkspaceReview.title": "Revisión del espacio de trabajo",
"settings.magicPrompts.page.group.sessionExplore.title": "Recorrido del código",
"settings.magicPrompts.page.group.sessionExplore.description": "Prompts usados por el comando /explore: mensaje visible del usuario + instrucciones ocultas. Investiga el repositorio y ofrece una orientación estructurada — la visión general, los módulos principales, cómo se conectan y por dónde empezar — en lugar de un listado archivo por archivo.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Prompts usados por el comando /workspace-review: mensaje visible del usuario + instrucciones ocultas. Revisa los cambios actuales del espacio de trabajo solo para problemas de alta señal.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Prompts usados por el comando /workspace-review: mensaje visible del usuario + instrucciones ocultas. Revisa el diff del espacio de trabajo: si logra su intención y si es correcto y adecuado, clasificando los hallazgos por severidad.",
"settings.magicPrompts.page.group.sessionFeaturePlan.title": "Planificación de funciones",
"settings.magicPrompts.page.group.sessionFeaturePlan.description": "Prompts usados por el comando /plan-feature: mensaje visible del usuario + instrucciones ocultas. Ejecuta un diálogo guiado que investiga el código y hace preguntas aclaratorias en lotes pequeños antes de producir un plan de implementación.",
"settings.magicPrompts.page.group.sessionCatchUp.title": "Ponerse al día",
+1 -1
View File
@@ -1484,7 +1484,7 @@ export const dict: Record<I18nKey, string> = {
"chat.commandAutocomplete.command.timelineDescription": "Abrir la línea de tiempo de la conversación",
"chat.commandAutocomplete.command.compactDescription": "Comprimir el historial de la sesión usando IA para reducir el tamaño del contexto",
"chat.commandAutocomplete.command.summaryDescription": "Resumen no destructivo de la sesión. Pista opcional del tema después del comando.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Revisar los cambios actuales del espacio de trabajo solo para problemas de alto impacto.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Revisa el diff del espacio de trabajo en intención, corrección y adecuación, con hallazgos por severidad.",
"chat.commandAutocomplete.command.featurePlanDescription": "Inicia una sesión de planificación guiada e interactiva para una nueva función.",
"chat.commandAutocomplete.command.catchUpDescription": "Recupera el contexto: qué estabas haciendo y por dónde continuar.",
"chat.commandAutocomplete.command.debugDescription": "Investigación guiada de la causa raíz de un error antes de proponer una solución.",
@@ -1659,7 +1659,7 @@ export const settingsDict = {
'settings.magicPrompts.page.group.sessionWorkspaceReview.title': '워크스페이스 리뷰',
'settings.magicPrompts.page.group.sessionExplore.title': '코드베이스 둘러보기',
'settings.magicPrompts.page.group.sessionExplore.description': '/explore slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 저장소를 조사하여 파일별 나열이 아니라 큰 그림, 주요 모듈, 연결 방식, 시작점 등 구조적인 방향을 제시합니다.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '/workspace-review slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 현재 workspace 변경 사항에서 중요한 문제만 리뷰합니다.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '/workspace-review slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 워크스페이스 diff가 의도를 달성했는지, 구현이 정확하고 적절한지 검토하고 심각도별로 분류합니다.',
'settings.magicPrompts.page.group.sessionFeaturePlan.title': '기능 계획',
'settings.magicPrompts.page.group.sessionFeaturePlan.description': '/plan-feature slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 코드를 조사하고 작은 묶음으로 명확화 질문을 한 뒤 구현 계획을 만드는 가이드 대화를 실행합니다.',
'settings.magicPrompts.page.group.sessionCatchUp.title': '따라잡기',
+1 -1
View File
@@ -1520,7 +1520,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.timelineDescription': '대화 타임라인 열기',
'chat.commandAutocomplete.command.compactDescription': 'AI로 세션 기록을 압축해 컨텍스트 크기를 줄입니다',
'chat.commandAutocomplete.command.summaryDescription': '세션 기록을 안전하게 요약합니다. 명령 뒤에 선택적으로 주제 힌트를 넣을 수 있습니다.',
'chat.commandAutocomplete.command.workspaceReviewDescription': '현재 워크스페이스 변경 사항에서 중요한 이슈만 리뷰합니다.',
'chat.commandAutocomplete.command.workspaceReviewDescription': '워크스페이스 diff의 의도, 정확성, 적절성을 검토하고 심각도별로 분류합니다.',
'chat.commandAutocomplete.command.featurePlanDescription': '새 기능을 위한 대화형 가이드 계획 세션을 시작합니다.',
'chat.commandAutocomplete.command.catchUpDescription': '맥락을 다시 파악합니다: 무엇을 하고 있었고 어디서 이어서 할지.',
'chat.commandAutocomplete.command.debugDescription': '수정안을 제시하기 전에 버그의 근본 원인을 단계적으로 조사합니다.',
@@ -278,7 +278,7 @@ export const settingsDict = {
'settings.magicPrompts.page.group.planTodo.title': 'Planowanie Todo',
'settings.magicPrompts.page.group.sessionSummary.description': 'Prompty używane przez polecenie /summary: widoczna wiadomość użytkownika + ukryte instrukcje. Niedestrukcyjne nie kompaktuje historii sesji.',
'settings.magicPrompts.page.group.sessionSummary.title': 'Podsumowanie Sesji',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': 'Prompty używane przez polecenie /workspace-review: widoczna wiadomość użytkownika + ukryte instrukcje. Przegląda zmiany w bieżącym obszarze roboczym tylko pod kątem istotnych problemów.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': 'Prompty używane przez polecenie /workspace-review: widoczna wiadomość użytkownika + ukryte instrukcje. Sprawdza diff obszaru roboczego — czy realizuje swój zamiar oraz czy jest poprawny i adekwatny, klasyfikując znaleziska według wagi.',
'settings.magicPrompts.page.group.sessionFeaturePlan.title': 'Planowanie funkcji',
'settings.magicPrompts.page.group.sessionFeaturePlan.description': 'Prompty używane przez polecenie /plan-feature: widoczna wiadomość użytkownika + ukryte instrukcje. Uruchamia prowadzony dialog, który bada kod i zadaje pytania doprecyzowujące w małych partiach przed utworzeniem planu implementacji.',
'settings.magicPrompts.page.group.sessionCatchUp.title': 'Nadrobienie kontekstu',
+1 -1
View File
@@ -509,7 +509,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.redoDescription': 'Ponów poprzednio cofnięte wiadomości',
'chat.commandAutocomplete.command.compactDescription': 'Skompresuj historię sesji używając AI aby zredukować rozmiar kontekstu',
'chat.commandAutocomplete.command.summaryDescription': 'Niedestrukcyjne podsumowanie sesji. Opcjonalna wskazówka tematu po poleceniu.',
'chat.commandAutocomplete.command.workspaceReviewDescription': 'Recenzja obecnych zmian w przestrzeni roboczej tylko dla problemów o wysokim sygnale.',
'chat.commandAutocomplete.command.workspaceReviewDescription': 'Sprawdź diff obszaru roboczego pod kątem zamiaru, poprawności i adekwatności — ze znaleziskami według wagi.',
'chat.commandAutocomplete.command.featurePlanDescription': 'Rozpocznij prowadzoną, interaktywną sesję planowania nowej funkcji.',
'chat.commandAutocomplete.command.catchUpDescription': 'Przywróć kontekst: nad czym pracowałeś i od czego kontynuować.',
'chat.commandAutocomplete.command.debugDescription': 'Prowadzone badanie pierwotnej przyczyny błędu przed zaproponowaniem poprawki.',
@@ -1659,7 +1659,7 @@ export const settingsDict = {
"settings.magicPrompts.page.group.sessionWorkspaceReview.title": "Revisão do workspace",
"settings.magicPrompts.page.group.sessionExplore.title": "Tour do código",
"settings.magicPrompts.page.group.sessionExplore.description": "Prompts usados pelo comando /explore: mensagem visível do usuário + instruções ocultas. Investiga o repositório e dá uma orientação estruturada — o panorama geral, os módulos principais, como se conectam e por onde começar — em vez de uma listagem arquivo por arquivo.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Prompts usados pelo comando /workspace-review: mensagem visível do usuário + instruções ocultas. Revise apenas problemas importantes nas alterações atuais do workspace.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Prompts usados pelo comando /workspace-review: mensagem visível do usuário + instruções ocultas. Revisa o diff do workspace: se ele alcança sua intenção e se está correto e adequado, classificando os achados por severidade.",
"settings.magicPrompts.page.group.sessionFeaturePlan.title": "Planejamento de funcionalidade",
"settings.magicPrompts.page.group.sessionFeaturePlan.description": "Prompts usados pelo comando /plan-feature: mensagem visível do usuário + instruções ocultas. Executa um diálogo guiado que investiga o código e faz perguntas de esclarecimento em pequenos lotes antes de produzir um plano de implementação.",
"settings.magicPrompts.page.group.sessionCatchUp.title": "Retomada de contexto",
+1 -1
View File
@@ -1484,7 +1484,7 @@ export const dict: Record<I18nKey, string> = {
"chat.commandAutocomplete.command.timelineDescription": "Abrir a linha do tempo da conversa",
"chat.commandAutocomplete.command.compactDescription": "Comprimir o histórico da sessão usando IA para reduzir o tamanho do contexto",
"chat.commandAutocomplete.command.summaryDescription": "Resumo não destrutivo da sessão. Dica opcional do tema após o comando.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Revisar as alterações atuais do workspace apenas para problemas de alto impacto.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Revisa o diff do workspace quanto a intenção, correção e adequação, com achados por severidade.",
"chat.commandAutocomplete.command.featurePlanDescription": "Inicie uma sessão de planejamento guiada e interativa para uma nova funcionalidade.",
"chat.commandAutocomplete.command.catchUpDescription": "Retome o contexto: o que você estava fazendo e por onde continuar.",
"chat.commandAutocomplete.command.debugDescription": "Investigação guiada da causa raiz de um bug antes de propor uma correção.",
@@ -1659,7 +1659,7 @@ export const settingsDict = {
"settings.magicPrompts.page.group.sessionWorkspaceReview.title": "Огляд робочого простору",
"settings.magicPrompts.page.group.sessionExplore.title": "Огляд кодової бази",
"settings.magicPrompts.page.group.sessionExplore.description": "Промпти, які використовуються командою /explore: видиме повідомлення користувача + приховані інструкції. Досліджує репозиторій і дає структуровану орієнтацію — загальна картина, основні модулі, як вони пов'язані й звідки почати — а не дамп файл за файлом.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Промпти, які використовуються командою /workspace-review: видиме повідомлення користувача + приховані інструкції. Переглядає поточні зміни робочого простору лише для проблем із сильним сигналом.",
"settings.magicPrompts.page.group.sessionWorkspaceReview.description": "Промпти, які використовуються командою /workspace-review: видиме повідомлення користувача + приховані інструкції. Перевіряє diff робочого простору — чи досягнуто наміру і чи реалізація коректна й адекватна, класифікуючи знахідки за рівнем критичності.",
"settings.magicPrompts.page.group.sessionFeaturePlan.title": "Планування фічі",
"settings.magicPrompts.page.group.sessionFeaturePlan.description": "Промпти, які використовуються командою /plan-feature: видиме повідомлення користувача + приховані інструкції. Запускає кероване діалогове планування — досліджує код і ставить уточнюючі запитання невеликими батчами, перш ніж скласти план імплементації.",
"settings.magicPrompts.page.group.sessionCatchUp.title": "Повернення в контекст",
+1 -1
View File
@@ -1484,7 +1484,7 @@ export const dict: Record<I18nKey, string> = {
"chat.commandAutocomplete.command.timelineDescription": "Відкрити хронологію розмови",
"chat.commandAutocomplete.command.compactDescription": "Стиснути історію сесії за допомогою ШІ, щоб зменшити розмір контексту",
"chat.commandAutocomplete.command.summaryDescription": "Неруйнівний підсумок сесії. Після команди можна додати тему.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Перегляньте поточні зміни в робочому середовищі лише для проблем із сильним сигналом.",
"chat.commandAutocomplete.command.workspaceReviewDescription": "Перевірити diff робочого простору на намір, коректність і адекватність — зі знахідками за рівнем критичності.",
"chat.commandAutocomplete.command.featurePlanDescription": "Розпочати покрокову діалогову сесію планування нової фічі.",
"chat.commandAutocomplete.command.catchUpDescription": "Повернутись у контекст: над чим працювали і звідки продовжити.",
"chat.commandAutocomplete.command.debugDescription": "Кероване дослідження першопричини бага перед тим, як пропонувати фікс.",
@@ -1659,7 +1659,7 @@ export const settingsDict = {
'settings.magicPrompts.page.group.sessionWorkspaceReview.title': '工作区审查',
'settings.magicPrompts.page.group.sessionExplore.title': '代码库导览',
'settings.magicPrompts.page.group.sessionExplore.description': '由 /explore 斜杠命令使用的提示词:可见用户消息 + 隐藏说明。调研仓库并给出结构化的导览——整体概貌、主要模块、它们如何连接以及从哪里入手——而不是逐文件罗列。',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '由 /workspace-review 斜杠命令使用的提示词:可见用户消息 + 隐藏说明。审查当前工作区的高信号问题。',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '由 /workspace-review 斜杠命令使用的提示词:可见用户消息 + 隐藏说明。审查工作区 diff:是否达成其意图、实现是否正确且充分,并按严重程度对发现进行分类。',
'settings.magicPrompts.page.group.sessionFeaturePlan.title': '功能规划',
'settings.magicPrompts.page.group.sessionFeaturePlan.description': '由 /plan-feature 斜杠命令使用的提示词:可见用户消息 + 隐藏说明。运行引导式对话,先调研代码并分小批提出澄清问题,然后生成实现计划。',
'settings.magicPrompts.page.group.sessionCatchUp.title': '快速回顾',
+1 -1
View File
@@ -1484,7 +1484,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.timelineDescription': '打开对话时间线',
'chat.commandAutocomplete.command.compactDescription': '使用 AI 压缩会话历史以减少上下文大小',
'chat.commandAutocomplete.command.summaryDescription': '非破坏性会话总结。命令后可选填主题提示。',
'chat.commandAutocomplete.command.workspaceReviewDescription': '审查当前工作区中高价值的问题。',
'chat.commandAutocomplete.command.workspaceReviewDescription': '审查工作区 diff 的意图、正确性与充分性,并按严重程度分级。',
'chat.commandAutocomplete.command.featurePlanDescription': '为新功能开始一次引导式的来回规划会话。',
'chat.commandAutocomplete.command.catchUpDescription': '重新进入上下文:你之前在做什么、从哪里继续。',
'chat.commandAutocomplete.command.debugDescription': '在提出修复方案前,引导式地排查 bug 的根本原因。',
@@ -1580,7 +1580,7 @@
'settings.magicPrompts.page.group.sessionWorkspaceReview.title': '工作區審查',
'settings.magicPrompts.page.group.sessionExplore.title': '程式碼庫導覽',
'settings.magicPrompts.page.group.sessionExplore.description': '由 /explore 斜線命令使用的提示詞:可見使用者訊息 + 隱藏說明。調研儲存庫並給出結構化的導覽——整體概貌、主要模組、它們如何連接以及從哪裡入手——而不是逐檔案羅列。',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '由 /workspace-review 斜線命令使用的提示詞:可見使用者訊息 + 隱藏說明。審查目前工作區中的高訊號問題。',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '由 /workspace-review 斜線命令使用的提示詞:可見使用者訊息 + 隱藏說明。審查工作區 diff:是否達成其意圖、實作是否正確且充分,並依嚴重程度對發現進行分類。',
'settings.magicPrompts.page.group.sessionFeaturePlan.title': '功能規劃',
'settings.magicPrompts.page.group.sessionFeaturePlan.description': '由 /plan-feature 斜線命令使用的提示詞:可見使用者訊息 + 隱藏說明。執行引導式對話,先調研程式碼並分小批提出釐清問題,然後產生實作計畫。',
'settings.magicPrompts.page.group.sessionCatchUp.title': '快速回顧',
+1 -1
View File
@@ -1481,7 +1481,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.timelineDescription': '開啟對話時間線',
'chat.commandAutocomplete.command.compactDescription': '使用 AI 壓縮會話歷史以減少上下文大小',
'chat.commandAutocomplete.command.summaryDescription': '非破壞性會話總結。命令後可選填主題提示。',
'chat.commandAutocomplete.command.workspaceReviewDescription': '審查目前工作區中高價值的問題。',
'chat.commandAutocomplete.command.workspaceReviewDescription': '審查工作區 diff 的意圖、正確性與充分性,並依嚴重程度分級。',
'chat.commandAutocomplete.command.featurePlanDescription': '為新功能開始一次引導式的來回規劃工作階段。',
'chat.commandAutocomplete.command.catchUpDescription': '重新進入上下文:你之前在做什麼、從哪裡繼續。',
'chat.commandAutocomplete.command.debugDescription': '在提出修復方案前,引導式地排查 bug 的根本原因。',
+44 -24
View File
@@ -543,44 +543,64 @@ Respond in the same language the user used most in the conversation.`,
id: 'session.review.instructions',
title: 'Workspace Review Instructions',
group: 'Session',
description: 'Hidden instructions attached to the /workspace-review command. Reviews current workspace changes for high-signal issues only.',
template: `
Report only real, high-signal issues introduced by these changes.
description: 'Hidden instructions attached to the /workspace-review command. Reviews the workspace diff for intent, correctness, and adequacy, with severity-classified findings.',
template: `Review the changes in this workspace and judge whether they are correct and adequate — not just whether they contain catastrophic bugs.
The diff is the source of truth. Use the local repo only as ancillary context when you need to validate a specific claim or check an applicable rule.
The diff is the source of truth. Read the relevant code around the diff too, not only the diff itself, so you understand the change in context.
Focus on:
- runtime bugs
- incorrect logic
- broken assumptions in the changed code
- clear regressions introduced by the changes
First, understand the intent and whether it was achieved:
- Work out what these changes are trying to do the intent behind them from the diff and the surrounding code.
- Judge whether the implementation actually achieves that intent, and whether it is the smallest correct way to do it. Call out where the change is incomplete, only partially solves the goal, misses cases it clearly set out to handle, or solves it in a way that will not hold up.
Then look for concrete problems. Report real failure modes, not abstract suspicions, and do not nitpick without impact.
Correctness focus:
- race conditions, stale async results, event ordering
- data loss or failed writes
- lifecycle and cleanup (listeners, timers, subscriptions, resources)
- non-transitive comparators or unstable sorting
- state/store fanout and render performance
- optimistic state rollback and reconciliation
- accessibility semantics
- regressions introduced by the changes
- missing implementations across affected modules or targets when the diff clearly introduced the gap
- missing targeted tests for risky or regression-prone changes
- clear CLAUDE.md or AGENTS.md violations that apply to the changed files
Security and supply-chain focus (when the diff touches these):
- dependencies, build/release/CI scripts
- auth, tokens, secrets, credentials
- filesystem boundaries and path traversal
- shell execution
- network calls, telemetry, exfiltration
- IPC, native bridge, updater, desktop shell
- hidden behavior behind small diffs or broad refactors
Do not report:
- pre-existing issues unrelated to the diff
- pedantic nitpicks a senior engineer would not flag
- issues a linter would catch
- subjective style preferences not explicitly required by CLAUDE.md or AGENTS.md
- speculative concerns or anything you cannot verify with high confidence
- missing tests or coverage gaps unless an applicable CLAUDE.md or AGENTS.md explicitly requires them for the changed area
- pedantic nitpicks a senior engineer would not flag, or issues a linter would catch
- subjective style preferences not required by CLAUDE.md or AGENTS.md
- speculative concerns you cannot tie to a concrete failure
- rules mentioned in CLAUDE.md or AGENTS.md but explicitly silenced in the code
Validation pass:
- Before reporting an issue, re-check it against the diff plus only the local context you actually needed to read.
- Before reporting an issue, re-check it against the diff plus only the context you actually read.
- For CLAUDE.md or AGENTS.md violations, verify the rule applies to the affected file path and cite the exact rule.
- If you are not certain an issue is real, omit it.
- If you cannot tie a finding to a concrete impact, drop it.
Classify each finding:
- blocker: likely regression, data loss, security issue, broken invariant, or a serious correctness problem or the change does not actually achieve its intent
- non-blocker: a real but minor issue, a test gap, or a maintainability concern
- nit: mention only if useful, never treat as blocking
This is a review only do not edit, fix, or commit anything unless the user asks you to.
Output:
- If no high-signal issues are found, respond with exactly: No high-signal issues found.
- Otherwise, return a concise numbered list.
- For each issue include:
- short title
- why it is a real problem
- affected file path
- category: bug or rule violation
- Start with one or two sentences: what the change does and whether it achieves its intent.
- Then list findings grouped by severity. For each: short title, why it is a real problem, the affected file path, and category (correctness / security / rule violation / adequacy gap).
- If you find nothing real, say so plainly instead of inventing findings.
Keep the review concise and practical.`,
Keep the review concise and practical. Respond in the same language the user uses.`,
},
{
id: 'session.plan.visible',