# uip agent review

> Score a low-code agent project against a deterministic rule set with `uip agent review`.

`uip agent review` runs a deterministic rule set over a low-code agent project and returns a verdict (`PASS`/`FAIL`), a score (0-100), a letter grade (A+ through F), and a categorized list of issues and strengths. It's a quality pass, distinct from [`uip agent validate`](./uip-agent-validate.md)'s pass/fail schema check — review can pass a structurally-valid project with a low score if the rules flag weak prompts, missing guardrails, or other authoring issues.

Local-only — no login required.

## Synopsis

```
uip agent review [path] [--checks <categories>]
```

All invocations honor the [global options](./global-options.md) (`--output`, `--output-filter`, `--log-level`, `--log-file`). Exit codes follow the [standard contract](./exit-codes.md).

## Arguments

- `[path]` *(optional, default `.`)* — Agent project directory.

## Options

| Flag | Default | Purpose |
|---|---|---|
| `--checks <categories>` | *all categories* | Comma-separated rule categories to run. Known categories: `evals`, `schema`, `tools`, `guardrails`, `code`, `general`. |

An empty or all-whitespace `--checks` value fails with `AgentReviewInvalidChecks`; an unrecognized category name fails the same way, listing the known set.

## Examples

```bash
# Review a project at a specific path
uip agent review ./my-agent

# Run only the schema and general rule categories
uip agent review --checks schema,general
```

## Data shape (--output json)

```json
{
  "Code": "AgentReview",
  "Data": {
    "ProjectDir": "./my-agent",
    "Verdict": "PASS",
    "Score": 100,
    "Grade": "A+",
    "Issues": [],
    "Strengths": [],
    "Stats": {
      "errors": 0,
      "warnings": 0,
      "infos": 0,
      "byCategory": { "evals": 0, "schema": 0, "tools": 0, "guardrails": 0, "code": 0, "general": 0 }
    }
  }
}
```

`Issues` and `Strengths` are populated with rule-specific entries when the project has findings. Review failing to run at all (bad path, unreadable project) uses `Code: "AgentReviewFailed"`.

## Related

- [`uip agent review-history add`](./uip-agent-review-history.md) — record this command's grade over time.
- [`uip agent validate`](./uip-agent-validate.md) — the schema-conformance check to run alongside review.

## See also

- [Global options](./global-options.md), [Exit codes](./exit-codes.md).
