DEV Community

Mizoko
Mizoko

Posted on

As a PM, I run every document review through Claude 3 times. Repeat review comments dropped from about 10 to 2-3

TL;DR

  • Review comments I received on documents dropped from about 10 (including small ones) to 2-3.
  • I turned past review comments into a checklist and have Claude review each document 3 times in a row, each time with a fresh agent.
  • The AI only points out issues. I decide what to fix, and a human check is still required.

It started with asking a senior PM how they worked so fast

I work as a PM on client software projects. On one project I was the assistant PM. Above me was a lead PM responsible for several projects at once, yet their documents were fast and high quality.

So I asked them directly: "How are you so fast?"

Their secret: letting AI review documents against each other

They kept the whole set of development documents in Google Drive: requirements, specifications, design documents and implementation guides. Then they had Claude review the documents against each other to catch contradictions, missing links and inconsistent wording.

I review new documents against the approved upstream ones

I copied the idea. I put related documents in one folder and tell Claude to use them as reference material for the review.

For example, when I write a detailed design document, Claude reviews it against the approved requirements and basic design. If terms or names conflict, the upstream document wins.

I turned past review comments into a checklist

I collected the comments I had received before, removed the one-off ones, and kept only those that apply to future documents. Claude reviews against this list. Items are split into "critical" and "normal".

# Content review checklist

Goal: zero missed issues

## Critical
Items that change the conclusion, scope or total cost if missed,
or make the reader misunderstand the premise.

### Comparison target and scope
- The comparison target agreed with the requester matches what the document compares
- No products or components outside the target layer appear in the document
- No ambiguous scope boundaries. Processing or costs that cross the boundary are clearly marked as included or excluded
- A diagram shows the scope, and it matches the text

### Diagrams
- Structures, scope and data flows that are hard to follow in text are shown in diagrams. If missing, point out where a diagram should go and what it should show

### Cost
- The breakdown includes rows for testing, review, PM and infrastructure setup
- The total does not include costs decided by a separate decision
- The monthly rate per person is realistic

### Writing
- A first-time reader can tell who builds what

## Normal
Items that do not change the conclusion; only wording or missing details.

### Structure
- Every table has an introductory sentence right before it

### Cost
- Included and excluded tests are listed by type
- Effort estimated as a ratio matches the overall scale
- The exchange rate is stated
- The target environments for cloud costs are stated in the assumptions
Enter fullscreen mode Exit fullscreen mode

The "comparison target and scope" items at the top come from my own mistake. I once submitted a document where the comparison target and scope were off, and got called out for it.

Content review runs 3 times in a row, each with a fresh agent

I never stop at one review pass. Each pass uses a new AI agent that does not carry over the previous conversation.

  • Pass 1: check the full document against every checklist item
  • Pass 2: receive pass 1's comments, and look only for what pass 1 missed or got wrong
  • Pass 3: receive both earlier passes' comments, and do the same

Even if a pass finds nothing, the remaining passes still run. A pass that does not report a result for every item and confirm it read the full text is redone.

Pass 1 usually finds about 20 issues, and passes 2 and 3 find 5-10 each. In total I fix about 30-40 issues per document.

The AI never edits the document. Each comment is tagged "fix", "needs judgment" or "skip", and I decide what to change.

Wording checks: a script finds everything, AI only judges

After the content fixes, I run one wording check. A Python script detects everything mechanical: banned words from a glossary, project-specific terms and inconsistent sentence endings, including conjugated forms of Japanese verbs.

The AI only judges each detected item and looks for casual expressions the glossary does not cover.

The rules live outside the AI

The source of truth for procedures and checklists is in Obsidian. The Claude skill files only describe how to run them in Claude, and load the content from Obsidian every time. If they conflict, Obsidian wins. Client names and project-specific names are never written there.

document-writing/
├ 00_entry-point.md
├ tool-constraints/
│ └ google-docs-constraints-and-rules.md
├ create/
│ ├ skill_create-procedure.md
│ └ create-checklist.md
├ review/
│ ├ content-review/
│ │ ├ skill_content-review-procedure.md
│ │ └ content-review-checklist.md
│ ├ wording-check/
│ │ ├ skill_wording-check-procedure.md
│ │ ├ wording-check-checklist.md
│ │ └ wording-check-script.py
│ └ responding-to-feedback/
│   └ skill_feedback-procedure.md
└ shared-rules/
  ├ banned-words-glossary.md
  ├ editing-rules.md
  └ formatting-rules.md
Enter fullscreen mode Exit fullscreen mode

The flow is: write, content review, apply fixes, wording check, then respond to human review comments.

What AI still cannot do

This setup catches mistakes. Basic structural contradictions and errors are now mostly caught.

It cannot yet judge where an explanation is hard to follow, or where a diagram would make things clearer. I am thinking about giving that kind of value-adding work to a separate agent.

Without carefully sharing the premises, the AI review often falls short. In the end, a human check is always required.

Ask people you admire how they work

This whole setup started with one question to a lead PM. When someone impresses you, ask them directly how they do it.

Top comments (0)