add-doc-reviewer
Use when reviewing a just-written ADD doc as a fresh stakeholder — surfaces gaps, clarity, and scope questions.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when reviewing a just-written ADD doc as a fresh stakeholder — surfaces gaps, clarity, and scope questions.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Consolidated view of the add-pro ecosystem - commands, skills, relationships and dependencies. Loaded by /add as source of truth.
Source of truth for ADD doc rules, depth floors, IDs, refs, validation gate. Load before any doc write.
Use when running agent-judged QA validation (read-PNG by default; the playwright plugin adds live driving) — the Level C judge rubric, severity taxonomy, dual-judge (@ux-agent review ∥ @qa-agent) method, report schema/template, and the config.json/screens.json formats. Consumed by /add.qa and both judges.
Use when a state-materializing command starts or is asked to upgrade — reads the setup receipt, compares the recorded contract against the shipped one, executes the declared upgrade deltas sequentially, and rewrites the receipt even on a verified-current no-op. Consumed by /add.qa-setup STEP 1.5 and STEP 11.
Internal skill for developing ADD framework artefacts (commands, skills, agents, scripts). Use when add-framework--plan analyzes viability of new framework features, when add-framework--build implements framework artefacts, or when creating/modifying commands, skills, or agents. Always use this skill before proposing or implementing changes to the framework itself.
Use when building, styling, or theming UI components, pages, layouts, dashboards, charts, tables, or forms for SaaS products.
| name | add-doc-reviewer |
| description | Use when reviewing a just-written ADD doc as a fresh stakeholder — surfaces gaps, clarity, and scope questions. |
Reviews a generated documentation asset as a fresh stakeholder, surfacing the questions a reasonable reader would still have, classified into Gap / Clarity / Scope. The reviewer reads only the doc and its schema — any question about something the user already discussed is proof the doc failed to capture it; reading the originating conversation destroys that signal.
/add.brainstorm writes a BRN doc — surface loose ends before the idea moves to planning/add.new writes about.md — catch missing requirements, unclear scope, undocumented edge casesadd-code-review, add-security-audit){{skill:add-doc-schemas/SKILL.md}}The caller passes two things:
{{skill:add-doc-schemas/SKILL.md}} (e.g. feature-about, brainstorm, feature-plan)You read only those two files (the doc and the schema H3). Nothing else — no source code, no prior conversation, no related docs unless the doc itself links to them and the question genuinely depends on following the link.
Check the schema against the lens table below. The lens is the first thing that determines what kinds of questions are legitimate. Getting the lens wrong turns the review into a mix-up of business and technical concerns, which is exactly what the separate schemas exist to prevent.
| Lens | Schemas | Questions in-scope | Questions out-of-scope (drop even if interesting) |
|---|---|---|---|
| Business | feature-about, brainstorm, owner, product, saas-copy | What the user does, why it matters, who is affected, in/out of scope, success criteria, user-visible behaviour, business rules | Field names, entity shapes, API routes, class/module names, DB columns, tech stack choices, libraries, implementation order, tasks, estimates |
| Technical | feature-plan, feature-design, audit-report, diagnose-report, changelog, hotfix-related, landing-page | Architecture decisions, tasks, risks, dependencies, validation steps, component/field/route specifics, migration steps, file paths | Product vision, user-facing value prose, marketing claims |
| Mixed | hotfix-about | Symptom section → Business lens (observable impact). Root Cause section → Technical lens (mechanism, failed safeguards). Stay inside the right lens per section. | Speculating about fix design beyond what the Fix section names |
feature-plan solves the wrong problem, that's an upstream feature-about gap — note in Verdict, do not enumerate.hotfix-about, Symptom questions must be observable and user-facing; Root Cause questions must be mechanical and specific. Do not blur.When in doubt: check the schema's section list. Problem/Users/Scope/Metrics → Business. Decisions/Tasks/Risks/Validation → Technical.
Walk the doc section by section. For each section, ask: if this doc landed in my inbox and I had to act on it, what would I need to ask before I could proceed?
Ask as many questions as the doc genuinely warrants — a clean doc may prompt one; a shaky one may prompt a dozen. Quality beats count. A question that would actually block a reader is worth more than five that wouldn't. Padding the list to look thorough hurts the user more than it helps.
Keep questions concrete. "What happens if the user is offline?" is useful. "Is the scope comprehensive?" is not — the user cannot act on it.
| Bucket | Definition | Signal to the user |
|---|---|---|
| Gap | The schema's depth floor expects this fact and it's missing or underspecified | Update the doc — add the content |
| Clarity | The fact is in the doc but ambiguous, buried, or contradicted by another section | Rewrite the passage — rephrase, not add |
| Scope | A reasonable stakeholder question, but nothing in the schema or the doc suggests it was part of the original intent | User decides: extend scope, mark out-of-scope with a reason, or ignore |
Tie-breaker (Gap vs. Scope): check the schema's depth floor for the section. If the required fact covers the question → Gap. If the schema is silent → Scope.
Tie-breaker (Gap vs. Clarity): if you can locate the fact in the doc but two readers could interpret it differently → Clarity. If you cannot locate the fact at all → Gap.
brainstorm docs have an "Open Threads" section. An unresolved question listed explicitly there is fine — the doc is acknowledging what remains open. But an implicit unresolved question — something obviously open that the doc does not surface as a thread — is a Gap. The point of closing a brainstorm is that loose ends are either resolved or explicitly listed. A brainstorm that leaves a big question unacknowledged has failed its purpose.
This is the one schema rule worth calling out; the rest are already covered by the depth-floor mechanism.
Return a textual review. The parent agent reads the prose and decides how to act. Omit empty bucket headings entirely. Use **<section name>** — prefix on Gaps/Clarity questions; omit for Scope questions that don't map to a section. No JSON — the consumer is a reasoning agent, not a parser.
## Doc Review: <doc path>
**Schema:** <schema type>
**Lens:** <Business | Technical | Mixed>
**Total questions:** <N> (<gaps> gap · <clarity> clarity · <scope> scope)
### Gaps
1. **<section name>** — <question>
Why: <which schema depth-floor item is not met>
### Clarity
1. **<section name>** — <question>
Why: <the ambiguous phrase and the two or more ways it could be read>
### Scope
1. <question>
Why: <why this is a reasonable stakeholder question but not covered by the schema or the doc>
### Verdict
<One paragraph. Name the 1–2 most important items to address first. If the doc has no Gaps or Clarity items, say so plainly and flag any Scope questions as the user's call. If the frontmatter is malformed or a required section is missing entirely, mention it here — schema compliance is the validation gate's job, not yours, but you can flag it in passing.>
Input: Doc docs/features/0042F-notifications/about.md, Schema feature-about.
Doc body (excerpted)
## Problem
Users miss important updates because we have no in-app notification system.
## Scope
### Includes
- In-app notification center
- Mark-as-read
### Does NOT Include
- Push notifications
Expected review
## Doc Review: docs/features/0042F-notifications/about.md
**Schema:** feature-about
**Lens:** Business
**Total questions:** 3 (1 gap · 1 clarity · 1 scope)
### Gaps
1. **Scope** — The "Does NOT Include" list has only one item. Email notifications, digest/summary frequency, and per-type mute controls are obvious candidates — are any of them out of scope, and why?
Why: `feature-about` depth floor requires "Does NOT Include" to cover the three most likely scope-creep requests with reasoning.
### Clarity
1. **Problem** — "Users miss important updates" can be read two ways: updates the user should act on (account alerts, mentions) or updates about system state (someone commented, file changed). These imply very different notification volumes. Which does the feature target?
Why: The phrase is load-bearing and ambiguous; downstream plan decisions depend on which interpretation is correct.
### Verdict
The Scope gap is the most important — without explicit exclusions, /add.plan will re-open the conversation. Address that first, then tighten the Problem statement.
| Wrong | Right |
|---|---|
| Reading the source conversation before reviewing | Read only the doc and the schema H3 |
| "This section is too short" | Name the missing fact by its schema depth-floor requirement |
| Field names / API routes / class names in a Business-lens review | Wrong lens — reframe as user-visible scope, or drop |
| Product-vision questions in a Technical-lens review | Wrong lens — note upstream gap in Verdict, don't enumerate |
none. filler