Back to skills
SkillHub ClubShip Full StackFull Stack

code-reviewer

Performs code reviews following SF-Bench quality standards. The agent invokes this skill when reviewing code, evaluating pull requests, or assessing code quality for production-readiness.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
4
Hot score
81
Updated
March 20, 2026
Overall rating
C0.9
Composite score
0.9
Best-practice grade
B84.0

Install command

npx @skill-hub/cli install yasarshaikh-sf-bench-code-reviewer

Repository

yasarshaikh/SF-bench

Skill path: .cursor/skills/code-reviewer

Performs code reviews following SF-Bench quality standards. The agent invokes this skill when reviewing code, evaluating pull requests, or assessing code quality for production-readiness.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: yasarshaikh.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install code-reviewer into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/yasarshaikh/SF-bench before adding code-reviewer to shared team environments
  • Use code-reviewer for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: code-reviewer
description: Performs code reviews following SF-Bench quality standards. The agent invokes this skill when reviewing code, evaluating pull requests, or assessing code quality for production-readiness.
---

# Code Reviewer

## Overview

This skill provides a structured code review process following SF-Bench quality standards. It focuses on production-readiness, error handling, and adherence to project conventions.

## When This Skill Applies

- Reviewing code changes or pull requests
- Assessing code quality before merging
- Evaluating production-readiness
- Checking adherence to project standards

## Review Checklist

### Critical (Must Fix)

#### Error Handling
- [ ] Retry logic for transient operations (API calls, org creation)
- [ ] Exponential backoff implemented correctly (2^n pattern)
- [ ] Errors logged with full context (task ID, attempt number, error details)
- [ ] No silent failures (all exceptions handled or propagated)

#### Resource Management
- [ ] Scratch orgs deleted in finally blocks
- [ ] Context managers used for file/connection handling
- [ ] No resource leaks (unclosed connections, orphaned processes)
- [ ] Timeouts set for external operations

#### Security
- [ ] No hardcoded secrets or credentials
- [ ] API keys read from environment variables
- [ ] Sensitive data not logged
- [ ] Input validation for user-provided data

### Important (Should Fix)

#### Code Quality
- [ ] PEP 8 compliance (line length 100)
- [ ] Type hints on all function signatures
- [ ] Docstrings follow Google style format
- [ ] Functions focused and small (< 50 lines)

#### Logging
- [ ] Structured logging with appropriate levels
- [ ] Context included (task ID, operation name)
- [ ] Debug logs for troubleshooting
- [ ] No excessive logging in hot paths

#### Testing
- [ ] Unit tests for new functionality
- [ ] Edge cases covered
- [ ] Error conditions tested
- [ ] Test coverage meets threshold (≥80%)

### Suggestions (Nice to Have)

#### Performance
- [ ] Parallel processing where safe
- [ ] Caching for expensive operations
- [ ] Batch API calls when possible
- [ ] No unnecessary iterations

#### Documentation
- [ ] Complex logic explained in comments
- [ ] README updated if needed
- [ ] Docstrings accurate and complete
- [ ] Examples provided for non-obvious usage

## Review Process

### Step 1: Understand the Change
1. Read the PR description or commit message
2. Identify the scope (files changed, components affected)
3. Understand the intended behavior

### Step 2: Check Critical Issues
1. Scan for error handling patterns
2. Verify resource cleanup
3. Check for security issues
4. Identify any breaking changes

### Step 3: Review Code Quality
1. Check adherence to style guidelines
2. Verify type hints and docstrings
3. Assess test coverage
4. Review logging practices

### Step 4: Validate Functionality
1. Trace the code path mentally
2. Identify edge cases
3. Check error scenarios
4. Verify business logic correctness

### Step 5: Provide Feedback
1. Prioritize issues (Critical > Important > Suggestions)
2. Provide specific line references
3. Suggest alternatives when rejecting
4. Acknowledge good patterns

## Feedback Format

### For Issues
```
**[CRITICAL/IMPORTANT/SUGGESTION]** Line XX-YY

**Issue**: [Brief description of the problem]

**Why**: [Explanation of why this is problematic]

**Suggestion**: [Recommended fix or alternative]
```

### For Approval
```
**Approved**

Changes look good. Key observations:
- [Positive observation 1]
- [Positive observation 2]

Minor suggestions (non-blocking):
- [Optional improvement 1]
```

## SF-Bench Specific Patterns

### Retry Pattern (Required for transient operations)
```python
# Expected pattern
for attempt in range(max_retries):
    try:
        result = operation()
        return result
    except TransientError as e:
        if attempt < max_retries - 1:
            delay = initial_delay * (2 ** attempt)
            logger.warning(f"Attempt {attempt + 1} failed, retrying in {delay}s...")
            time.sleep(delay)
            continue
        raise
```

### Cleanup Pattern (Required for scratch orgs)
```python
# Expected pattern
try:
    org_alias = create_scratch_org()
    # ... operations ...
finally:
    delete_scratch_org(org_alias)  # Always executes
```

### Logging Pattern (Required for operations)
```python
# Expected pattern
logger.info(f"Starting operation for task {task_id}")
logger.debug(f"Input preview: {input[:500]}...")
logger.error(f"Operation failed: {error}", exc_info=True)
```

## Anti-Patterns to Flag

### Silent Failures
```python
# BAD
try:
    operation()
except Exception:
    pass  # Silent failure

# GOOD
try:
    operation()
except Exception as e:
    logger.error(f"Operation failed: {e}", exc_info=True)
    raise
```

### Resource Leaks
```python
# BAD
org = create_scratch_org()
deploy(org)
# org never deleted if deploy fails

# GOOD
org = create_scratch_org()
try:
    deploy(org)
finally:
    delete_scratch_org(org)
```

### Hardcoded Secrets
```python
# BAD
api_key = "sk-12345abcde"

# GOOD
api_key = os.environ.get("API_KEY")
```

### Missing Type Hints
```python
# BAD
def process(data):
    return result

# GOOD
def process(data: Dict[str, Any]) -> List[Result]:
    return result
```
code-reviewer | SkillHub