code-review
Review code changes for correctness, regressions, and unintended scope. Use when reviewing a pull request, branch, commit, patch, or local diff, including when invoked with /code-review.
- License 许可
- MIT
- 所属仓库
- microsoft/vscode
- 最近更新
- 2026-11-11
- Stars
- ★ 20w
- Forks
- 4.4w
01 前言 Front Matter
- name
- code-review
- description
- Review code changes for correctness, regressions, and unintended scope. Use when reviewing a pull request, branch, commit, patch, or local diff, including when invoked with /code-review.
02 资源文件 7
- 脚本scripts/frame-template.html7.5 KB
- 脚本scripts/helper.js2.6 KB
- 脚本scripts/server.cjs11.0 KB
- 脚本scripts/start-server.sh4.5 KB
- 脚本scripts/stop-server.sh1.3 KB
- 参考文档spec-document-reviewer-prompt.md1.7 KB
- 参考文档visual-companion.md11.8 KB
03 SKILL.md 正文
Code Review
Review the proposed changes as a senior maintainer. Focus on actionable defects introduced by the changes, especially correctness issues, regressions, and changes that are not necessary for the stated goal.
Establish the Review Scope
Before reviewing:
- Determine the intended change from the request, pull request description, linked issue, and maintainer comments.
- Identify the complete diff against the appropriate base.
- Account for every changed file and subsystem.
Do not infer the purpose solely from the implementation. If the intended behavior is unclear, state the assumption used for the review.
Review the Changes
Trace the changed behavior through its callers, dependencies, and tests. Check for:
- Incorrect logic, broken edge cases, or behavior that contradicts the stated goal.
- Regressions in existing behavior, including platform-specific and lifecycle behavior.
- Missing or incorrect error handling.
- Unsafe assumptions about data, ordering, concurrency, or object lifetime.
- Tests that do not cover the changed behavior or that would pass without the fix.
- Changes whose connection to the stated goal is unclear.
Keep fixes tied to the underlying cause. Do not accept unrelated changes to behavior, state management, or architecture merely because they make the reported symptom disappear.
Treat prerequisite or tightly coupled changes as in scope only when their necessity is clear from the implementation or pull request description. A changed file should be necessary for the stated goal or be a directly related test, documentation update, generated artifact, or required refactor. Independent cleanup and speculative improvements belong in a separate change.
Report Findings
Report only findings that are:
- Introduced or made materially worse by the changes under review.
- Specific and actionable.
- Supported by the code or by a concrete missing validation.
For each finding:
- State the user-visible or engineering impact.
- Explain the conditions that trigger it.
- Point to the smallest relevant changed line or range.
- Explain why the current implementation is incorrect.
Prioritize findings by severity. Do not report stylistic preferences, speculative concerns, or pre-existing problems unrelated to the change. If no actionable findings remain, say so explicitly and mention any meaningful validation gaps.
Flag changes whose connection to the stated goal is unclear even when tests pass or the resulting behavior appears correct. Ask for the causal link to be explained; if none exists, recommend reverting the change or moving it to a separate pull request.
04 同仓库更多 Skills
sweeper-query
Answer natural-language questions about the VS Code Sweeper's published issue index (index-<name>.json for microsoft/vscode and the enrolled family repos) — which issues are agent-ready to implement or plan, what the sweeper proposed for an assignee or area, whether the sweeper knows a report as a duplicate, the highest-value open bugs in a lane — and, for one issue, the review's full record (evidence with file citations, fix brief, proposed comment). Use ONLY when the request explicitly names the sweeper — "sweeper", "vscodesweeper", "sweeper-query", a sweeper verdict, record, brief or index, an agent-ready issue — or asks what "the sweeper" found, proposed or knows. Do NOT use for general questions about issues, duplicates, priorities or ranking that do not mention the sweeper. Read-only; discovery only.
update-skills
Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says "learn!", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.
update-pr
Update the pull request for the current session. Use when the user wants to push new changes to an existing PR.
sync
Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.
sync-upstream
Update a stale session branch by rebasing onto the latest origin. Use when the upstream has moved significantly and the session needs to catch up, resolving conflicts by preserving upstream changes and adapting session work to fit.
merge
Merge changes from the topic branch to the merge base branch. Use when the user wants to merge their session's work back to the base branch.