| name | pm-project-review |
| description | 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". |
| version | 0.44.4 |
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
- Type marker present in the description (
<!-- pm-project-type: <type> -->).
- Type registered in the resolved
pm-project-templates manifest.
- Lead assigned — Linear only. Skipped on GitHub Milestones (documented degradation: no lead field).
- Target date set.
- 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.
- Milestones defined — Linear: native milestones present. GitHub: the description's
## Milestones section has bullet entries (degradation: no sub-milestones).
- 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.