本文へ移動
cccskills
無料GitHub で公開

code-review-guidelines

When asynchronously reviewing peer code before merging into the main branch.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Code Review Guidelines

Purpose

Code review catches bugs, ensures maintainability, and builds team knowledge. This skill provides a structured, objective, empathetic framework for reviewing code without causing friction. The goal is to improve the codebase while growing the team.

When to use

  • Evaluating a Pull Request or Merge Request
  • Providing constructive feedback to peers
  • Ensuring code quality and architectural standards are met
  • Building new team members' skills through feedback

When NOT to use

  • Nitpicking personal coding style (use linters/formatters)
  • Blocking on subjective preferences
  • Reviewing without understanding context

Inputs required

  • Pull request with code changes
  • PR description explaining the why
  • Linked ticket with context
  • Test coverage (unit/integration tests)

Workflow

  1. Understand the Goal: Read the PR description and linked ticket FIRST. Understand WHY the change exists before reading code.
  2. Review Architecture: Check structural integrity and design. Does it fit the codebase? Are new dependencies justified? Is it the right abstraction level?
  3. Review Logic: Check for correct error handling, edge cases, off-by-one errors, and security implications.
  4. Check Tests: Verify new logic is covered by unit/integration tests that test actual behavior (not just code coverage).
  5. Consider Performance: Check for obvious performance issues (N+1 queries, memory leaks, synchronous blocking in async code).
  6. Provide Feedback: Leave comments that explain the WHY. Differentiate between blocking requests and suggestions (use "Nit:" or "Note:").
  7. Be Constructive: Phrase feedback as questions when possible ("Have you considered...?"). Assume positive intent.

Rules

  • MUST assume positive intent; critique the code, not the author
  • MUST automate style and formatting checks via Linters/Formatters (do NOT argue over spacing in PR)
  • MUST approve immediately if code improves the codebase, even if not perfect
  • MUST provide context and links when referring to standards or patterns
  • MUST distinguish between blocking requests and optional suggestions
  • MUST NOT block on personal coding style preferences
  • MUST NOT require unrelated changes (keep scope focused)

Anti-patterns

  • Gatekeeping: Blocking PRs over personal style preferences or "I would have done it differently"
  • Rubber Stamping: Approving large PRs without reading or thinking
  • Scope Creep: Asking the author to fix unrelated legacy code nearby
  • Vague Comments: "This is bad" or "Improve this" without explanation
  • Late Requests: Requesting major architectural changes after code is already implemented
  • Tone Issues: Comments that feel dismissive or condescending

Failure conditions

  • PR blocked without clear explanation
  • Security or correctness issue missed
  • No tests for new logic
  • Feedback based on personal preference, not code quality
  • Author feels disrespected or attacked

Validation checklist

  • PR description explains the why (not just what)
  • Tests cover new logic
  • No obvious performance issues
  • Error handling is correct
  • Edge cases are considered
  • Security implications reviewed (if applicable)
  • Code follows established patterns in the codebase
  • Dependencies are justified
  • Comments explain complex logic
  • No scope creep (focused on this change)

Output format

  • Feedback structure: Problem + context + suggestion
  • Tone: Constructive, curious, respectful
  • Clarity: Blocking requests vs. optional suggestions clearly marked
  • Actionability: Comments are specific and actionable
  • Decision: Clear approval, changes requested, or comment

Security considerations

  • Security issues MUST be flagged as blocking
  • SQL injection, XSS, authentication bypasses MUST be caught
  • Secrets/credentials MUST NEVER be committed (catch before merge)
  • Permission checks MUST be enforced
  • Data exposure MUST be reviewed

Agent execution notes

  • Agent MAY: Leave constructive feedback, ask clarifying questions, suggest improvements
  • Agent MUST NEVER: Block on style/preference, be dismissive, miss security issues, approve without reading
  • Agent MUST ASK: When context is missing, when architectural impact is unclear
  • Agent MUST VALIDATE: Tests are present, no security holes, code improves codebase

Example

❌ Anti-pattern (Vague, dismissive, scope creep):

"This code is bad"
"Why are you doing it this way?"
"Also, can you fix the bug in the file next to this?"
"Blocked - needs improvement"
"LGTM" (without reading)

✅ Correct pattern (Constructive, specific, respectful):

✅ Good catch on the edge case - this prevents the race condition we had in production.

💭 Question: In the validateEmail function, what happens if the email service is down?
   Have you considered adding a timeout or fallback behavior?

🔒 Security: Double-check that user input is sanitized before the database query.

📝 Nit: This comment could be clearer - what does "process the thing" mean?

✅ The test coverage looks good. I especially like the edge case tests.

🚀 Approved! This is a clear improvement to the codebase. Nice work.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

When designing and implementing web interfaces to ensure they are usable by everyone.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

When creating or extending an HTTP API for client consumption.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

When improving read performance and reducing database load.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

When configuring automated build, test, and deployment workflows for a repository.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

When addressing slow application endpoints, high database CPU usage, or standardizing data access patterns.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

When isolating and fixing unpredictable or complex software bugs.

日本語の概要は準備中です。原文の説明を表示しています。

KraitDev/skiLL.Md62026年6月8日 更新

KraitDev のスキルをすべて見る

このスキルの問題を報告する