Skip to content
Back to skills

Reviewing

ASecurity

Convention audit and pre-PR code review for Sage/Acorn projects — checks PHP Blade JS CSS against Sage/Acorn/Tailwind v4 conventions; audits ACF Composer field patterns, Livewire component structure, Eloquent models, Acorn routes, Blade components; verifies design alignment; dispatches sage-reviewer agent; prepares code for PR merge. Invoke for: "review before PR", "run sage-reviewer", "convention audit", "/reviewing", "check my block for issues", "pre-merge review", "review this code". Skip ...

  • 13 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 11, 2026
businessgophpcode-reviewgitapifrontend

Works with

  • api

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add hekivo/superpowers-sage --skill reviewing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reviewing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reviewing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hekivo-reviewing/badge)](https://www.skillsdirectory.com/skills/hekivo-reviewing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: superpowers-sage:reviewing
description: >
  Convention audit and pre-PR code review for Sage/Acorn projects — checks PHP Blade JS CSS
  against Sage/Acorn/Tailwind v4 conventions; audits ACF Composer field patterns,
  Livewire component structure, Eloquent models, Acorn routes, Blade components;
  verifies design alignment; dispatches sage-reviewer agent; prepares code for PR merge.
  Invoke for: "review before PR", "run sage-reviewer", "convention audit",
  "/reviewing", "check my block for issues", "pre-merge review", "review this code".
  Skip when: you just need to read or understand a file — that is not a review session.
user-invocable: true
argument-hint: "[file path or scope]"
---

# Reviewing — Convention Audit + Design Alignment

Review code against Sage/Acorn conventions and verify alignment with design reference.

## Inputs

$ARGUMENTS

If no scope specified, review all changed files (`git diff` against base branch).

## Procedure

### 0) Determine scope

- If file path provided, review that file and related files
- If "all" or no argument, scan full project
- If active plan exists, focus on plan components

### 1) Convention checklist

#### Service Providers
- [ ] `ThemeServiceProvider` extends `Roots\Acorn\Sage\SageServiceProvider`; other feature providers extend `Illuminate\Support\ServiceProvider`
- [ ] `register()` only contains bindings (no hooks, no side effects)
- [ ] `boot()` contains hooks and initialization
- [ ] Dependencies injected via constructor

#### ACF Blocks & Fields
- [ ] Blocks created via `acf:block` generator
- [ ] `with()` returns only data the view needs
- [ ] `fields()` uses Builder API
- [ ] Block views use `$variable` not `get_field()`
- [ ] Reusable fields extracted to Partials

#### Blade Templates
- [ ] Composers for data injection, Components for reusable UI
- [ ] No business logic in Blade views
- [ ] Proper layout inheritance (`@extends`, `@section`, `@yield`)

#### Block Views
- [ ] **R-css-vars**: No `match($tone)` → Tailwind class strings; no `tone="*"` props driving color; no hardcoded color utilities on `h2`/`p`/`span` → G10 violation (CRITICAL)
- [ ] **R-component-reuse**: No inline `<x-eyebrow>` + `<h2>` when `<x-section-header>` exists; no raw `<a>` with button utilities when `<x-button>` exists → G9 violation
- [ ] **R-nl2br**: `nl2br()` only on `addTextarea()`/`addWysiwyg()` fields, not `addText()` → G11 violation
- [ ] **R-arbitrary-btn**: No `text-[*px]` or `tracking-[*px]` in block/component views → CRITICAL

#### Routes & Controllers
- [ ] Clean route declarations (no logic in closures)
- [ ] Thin controllers (delegate to services)
- [ ] Prefer Acorn Routes over `register_rest_route()`

#### Frontend
- [ ] Tailwind v4 CSS-first approach
- [ ] Assets referenced via `@vite()` or `Vite::asset()`
- [ ] Editor styles included

#### Hooks Placement
- [ ] `add_action`/`add_filter` in ServiceProvider `boot()`
- [ ] `setup.php` only for `after_setup_theme` essentials
- [ ] No hooks scattered in random files

#### Content Architecture
- [ ] Content that grows over time uses CPTs (not hardcoded arrays)
- [ ] CPTs defined in `config/poet.php` (not `register_post_type()`)
- [ ] Shared content uses Options Pages (not duplicated across blocks)

### 2) Design alignment (if plan exists)

If active plan has assets:
1. Read design reference from `assets/`
2. Compare implemented components with design
3. Flag visual drift

### 3) Report findings

```markdown
## Review: {scope}

### Critical (must fix)
- **{file}:{line}** — {issue}. See `{skill}`.

### Improvement (should fix)
- **{file}:{line}** — {issue}. See `{skill}`.

### Good Practices Found
- {positive observation}

### Design Alignment
- {component}: {MATCH/DRIFT} — {details}

### Summary
{X} critical, {Y} improvements, {Z} good practices.
```

### 4) Visual verification — all components

After sage-reviewer completes:

1. Glob for all spec files: `docs/plans/<active-plan>/assets/section-*-spec.md`
2. For each spec file found:
   a. Read the `### Verification Inputs` block — extract `url`, `selector`, `ref`
   b. Dispatch `visual-verifier` agent with:
      - `url`: from spec Verification Inputs
      - `selector`: from spec Verification Inputs
      - `spec`: this spec file path
      - `ref`: from spec Verification Inputs
   c. Collect report: MATCH | DRIFT | MISSING | FAIL_ARBITRARY_VALUES
3. Present consolidated report:
   - List all components with their verification status
   - If any DRIFT or FAIL: list fixes needed before merge
   - If all MATCH: proceed to `finishing-a-development-branch`

### 5) After review

- Offer `finishing-a-development-branch` for merge/PR workflow
- Use base skills: `requesting-code-review`, `receiving-code-review`

## Key Principles
- **Reference the relevant skill** for every issue
- **Be specific** — file path and line number for every issue
- **Acknowledge good code** — don't just report problems
- **Check content architecture** — hardcoded dynamic content is a critical finding

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.