| name | review-guidelines |
| description | Structured code review process for TAF changes. Provides step-by-step guidance for reviewing Python test code, configuration files, and library changes. Use when asked to review a PR, diff, or set of changed files in TAF. |
Agent Review Skill
Purpose
Provide a structured, repeatable code review process tailored to TAF conventions.
Covers correctness, test quality, framework patterns, configuration validity, and
security — producing actionable, prioritized review comments.
When to Use
- "Review these changes"
- "Check my changes before I commit"
- "What's wrong with this code?"
- Reviewing any changed
.py, .conf, .ini, or AGENTS.md file in TAF
Review Process
Step 1 — Understand the Scope
Before reading any code:
- Run
git diff --stat (or inspect the provided diff) to list changed files.
- Group files by layer:
- Tests —
pytests/**/*.py
- Libraries —
lib/**/*.py, couchbase_utils/**/*.py, platform_utils/**/*.py
- Configuration —
conf/**/*.conf, *.ini
- Documentation —
agents/**/*.md, docs/**/*.md, AGENTS.md
- Read the relevant
AGENTS.md for each directory touched before opening .py files.
- State the summary: what feature/fix this change appears to implement.
Step 2 — Correctness Review
For each changed .py file:
Logic & Semantics
Error Handling
Data Integrity
Step 3 — TAF Pattern Compliance
Check against TAF conventions (from AGENTS.md):
Naming
Test Structure
Document Loading
Submodule Boundaries
Step 4 — Configuration File Review (.conf / .ini)
For each changed conf/**/*.conf:
For changed *.ini files:
Step 5 — Security Review
Step 6 — Code Quality & Maintainability
Readability
Duplication
Size
Imports
Step 7 — Documentation & AGENTS.md
Step 8 — Produce Review Output
Structure comments by severity:
| Level | When to use |
|---|
| BLOCKER | Bug, security issue, data loss, or broken test — must fix before merge |
| MAJOR | Violates TAF pattern, missing cleanup, wrong base class — fix strongly recommended |
| MINOR | Style, naming, readability — fix preferred but not blocking |
| NIT | Cosmetic (whitespace, comment wording) — optional |
Comment format:
[BLOCKER] pytests/storage/fusion/fusion_base.py:142
tearDown does not call super().tearDown(). Cluster cleanup will be skipped on failure.
Fix: add `super().tearDown()` as the last line.
[MAJOR] conf/fusion/fusion_sanity.conf:17
Test entry references `fusion_sanity.FusionSanity.test_foo` but that method does not
exist in the class. Will silently skip at runtime.
Fix: correct method name to `test_foo_bar` or remove the entry.
[MINOR] pytests/storage/fusion/fusion_sync.py:88
Variable `bucketList` should be `bucket_list` (PEP8 snake_case).
[NIT] pytests/storage/fusion/fusion_sync.py:92
Comment "# loop over buckets" restates the code. Remove.
End with a one-line summary:
Overall: N blockers, N major, N minor, N nits. [Ready to merge / Needs fixes before merge.]
Quick Reference Checklist
Scope
[ ] Changed files identified and grouped by layer
[ ] Relevant AGENTS.md files read before .py files
Correctness
[ ] Logic matches intent
[ ] Edge cases handled
[ ] No silent exception swallowing
TAF Patterns
[ ] Naming conventions followed
[ ] Correct base class
[ ] Parameters via TestInputSingleton
[ ] tearDown cleans up resources
[ ] No hard-coded credentials or IPs
[ ] Submodule boundaries respected
Configuration
[ ] Every new test_* method in pytests/ has a .conf entry
[ ] .conf entries match actual test methods
[ ] No duplicate entries
Security
[ ] No secrets committed
[ ] No shell injection vectors
Quality
[ ] No dead code or stale comments
[ ] No leftover debug prints (print, pdb, breakpoint)
[ ] No trailing whitespace
[ ] No duplicated utility logic
[ ] Imports clean (no unused, no circular dependencies)
Documentation
[ ] AGENTS.md updated if public API changed