Claude
Skills
Sign in
Back

pm-project-review

Included with Lifetime
$97 forever

Lint a project (a Linear Project / GitHub Milestone) against its registered project-type template — checks the type marker is present, the lead is assigned (Linear; skipped on GitHub Milestones), a target date exists, every required section from the manifest is substantive (non-placeholder), milestones are defined, and child issues are scoped. Optional --apply posts findings as a comment (Linear) or appends a versioned marked block to the milestone description (GitHub). Operates on a project, not an individual issue — issue review lives in pm-review. Trigger phrases — "review this project", "review project CHK", "is this project ready", "audit the project", "lint the project", "/pm-project-review".

Security

What this skill does


# PM Project Review

Structural reviewer for tracker projects. Mirrors `pm-review` one tier up.

## Usage

```
/pm-project-review <project> [--apply]
```

- `<project>` *(project slug/name, required)* — the Linear Project or GitHub Milestone to review.
- `--apply` *(flag, optional)* — post the findings (Linear: comment on the project; GitHub: marked block appended to the milestone description).

## Checks performed

1. **Type marker present** in the description (`<!-- pm-project-type: <type> -->`).
2. **Type registered** in the resolved `pm-project-templates` manifest.
3. **Lead assigned** — Linear only. Skipped on GitHub Milestones (documented degradation: no lead field).
4. **Target date set.**
5. **Every required section is substantive.** Same non-placeholder check `pm-review` uses on issues — minimum 12 non-whitespace chars beyond the section heading, no TBD/TODO/`<…>` placeholders.
6. **Milestones defined** — Linear: native milestones present. GitHub: the description's `## Milestones` section has bullet entries (degradation: no sub-milestones).
7. **Child issues scoped** — at least one issue linked to the project / milestone, OR the description explicitly says "no child issues" (research-tracks legitimately have none).

## Output

Structured findings block. Each finding has: severity (`error`/`warn`), section, what's wrong, suggested fix.

## `--apply`

| Tracker | Behavior |
|---|---|
| Linear | Posts a comment on the project with the findings block, wrapped in `<!-- pm-project-review: v0.25.0 -->…<!-- /pm-project-review -->` markers |
| GitHub | Milestones have no comments — appends a marked block to the milestone description via `appendApplyBlock` (Phase 4). Replaces any prior block of the same kind |

The marker pattern matches the existing `<!-- pm-review: v… -->` convention so future automation can locate and replace.

## Related

- `pm-review` — the **issue-tier** equivalent. Distinct skill, identical mechanic.
- `pm-project-templates` — manifest consulted for `required_sections`.
- `pm-project-improve` — natural follow-up when `review` surfaces structural gaps that hint at missing context.

Related in Security