From 2e7a67d5a2629294bf98c18bd507cd12de5a8726 Mon Sep 17 00:00:00 2001 From: alexsoyes Date: Sun, 7 Jun 2026 15:29:31 +0200 Subject: [PATCH] feat(framework): add review checklist consumed by the reviewer agent Add aidd_docs/review-checklist.md (review-only baseline, not in memory/). The reviewer agent loads it on code/diff reviews, alongside the validator; 02-project-init scaffolds it idempotently so downstream projects get the baseline. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: alexsoyes --- aidd_docs/review-checklist.md | 11 +++++++++++ plugins/aidd-context/CATALOG.md | 1 + plugins/aidd-context/skills/02-project-init/SKILL.md | 1 + .../02-project-init/actions/02-scaffold-docs.md | 10 ++++++---- .../skills/02-project-init/assets/review-checklist.md | 11 +++++++++++ plugins/aidd-dev/agents/reviewer.md | 2 ++ 6 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 aidd_docs/review-checklist.md create mode 100644 plugins/aidd-context/skills/02-project-init/assets/review-checklist.md diff --git a/aidd_docs/review-checklist.md b/aidd_docs/review-checklist.md new file mode 100644 index 00000000..94f313e5 --- /dev/null +++ b/aidd_docs/review-checklist.md @@ -0,0 +1,11 @@ +# Review Checklist + +Recurring defects the reviewer ticks on every code/diff review, so they get caught in any diff. + +- [ ] **No information duplication** — DRY across code *and* docs; link to the canonical home instead of copying. +- [ ] **No incoherence / contradiction** — naming, behavior, and docs-vs-code stay consistent. +- [ ] **No over-engineering** — the simplest solution that meets the need; no speculative generality, no unused abstraction. +- [ ] **No dead code or debug leftovers** — no commented-out blocks, stray logs, or TODOs left silently. +- [ ] **Consistent with existing patterns** — follows the conventions already established in the codebase. +- [ ] **Clear, explicit naming** — names reveal intent; no misleading or vague identifiers. +- [ ] **Errors handled** — no swallowed exceptions, no ignored failure paths. diff --git a/plugins/aidd-context/CATALOG.md b/plugins/aidd-context/CATALOG.md index ca89f5a9..9c58a53e 100644 --- a/plugins/aidd-context/CATALOG.md +++ b/plugins/aidd-context/CATALOG.md @@ -92,6 +92,7 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai | `assets` | [golden-principles.md](skills/02-project-init/assets/golden-principles.md) | - | | `assets` | [GUIDELINES.md](skills/02-project-init/assets/GUIDELINES.md) | - | | `assets` | [README.md](skills/02-project-init/assets/README.md) | - | +| `assets` | [review-checklist.md](skills/02-project-init/assets/review-checklist.md) | - | | `evals` | [scenarios.json](skills/02-project-init/evals/scenarios.json) | - | | `-` | [README.md](skills/02-project-init/README.md) | - | | `references` | [mapping-ai-context-file.md](skills/02-project-init/references/mapping-ai-context-file.md) | - | diff --git a/plugins/aidd-context/skills/02-project-init/SKILL.md b/plugins/aidd-context/skills/02-project-init/SKILL.md index bcb12e73..0609deeb 100644 --- a/plugins/aidd-context/skills/02-project-init/SKILL.md +++ b/plugins/aidd-context/skills/02-project-init/SKILL.md @@ -63,6 +63,7 @@ When this skill emits Mermaid diagrams, follow the project's Mermaid conventions - `@assets/AGENTS.md` - canonical AI context file template - `@assets/README.md` - `aidd_docs/README.md` template - `@assets/GUIDELINES.md` - `aidd_docs/GUIDELINES.md` template +- `@assets/review-checklist.md` - `aidd_docs/review-checklist.md` template (baseline rules the reviewer agent applies on code reviews) - `@assets/templates/memory/` - memory file templates (scope: `all` | `frontend` | `backend`) ## References diff --git a/plugins/aidd-context/skills/02-project-init/actions/02-scaffold-docs.md b/plugins/aidd-context/skills/02-project-init/actions/02-scaffold-docs.md index 69ae1bd9..06fb0394 100644 --- a/plugins/aidd-context/skills/02-project-init/actions/02-scaffold-docs.md +++ b/plugins/aidd-context/skills/02-project-init/actions/02-scaffold-docs.md @@ -13,6 +13,7 @@ aidd_docs/ README.md GUIDELINES.md CONTRIBUTING.md + review-checklist.md memory/ internal/.gitkeep external/.gitkeep @@ -23,10 +24,11 @@ aidd_docs/ 1. If `aidd_docs/README.md` is absent -> write from `@../assets/README.md`. If present -> update it but take care to preserve any user customizations. 2. If `aidd_docs/GUIDELINES.md` is absent -> write from `@../assets/GUIDELINES.md`. If present -> update it but take care to preserve any user customizations. 3. If `aidd_docs/CONTRIBUTING.md` is absent -> write from `@../assets/CONTRIBUTING.md`. If present -> update it but take care to preserve any user customizations. -4. If `aidd_docs/memory/internal/` is absent -> create it. Always ensure `aidd_docs/memory/internal/.gitkeep` exists. -5. If `aidd_docs/memory/external/` is absent -> create it. Always ensure `aidd_docs/memory/external/.gitkeep` exists. -6. Print a summary table: `path | action taken (created | updated | skipped)`. +4. If `aidd_docs/review-checklist.md` is absent -> write from `@../assets/review-checklist.md`. If present -> preserve any user customizations. +5. If `aidd_docs/memory/internal/` is absent -> create it. Always ensure `aidd_docs/memory/internal/.gitkeep` exists. +6. If `aidd_docs/memory/external/` is absent -> create it. Always ensure `aidd_docs/memory/external/.gitkeep` exists. +7. Print a summary table: `path | action taken (created | updated | skipped)`. ## Test -`test -f aidd_docs/README.md && test -f aidd_docs/GUIDELINES.md && test -f aidd_docs/CONTRIBUTING.md && test -f aidd_docs/memory/internal/.gitkeep && test -f aidd_docs/memory/external/.gitkeep && echo ok` prints `ok`. +`test -f aidd_docs/README.md && test -f aidd_docs/GUIDELINES.md && test -f aidd_docs/CONTRIBUTING.md && test -f aidd_docs/review-checklist.md && test -f aidd_docs/memory/internal/.gitkeep && test -f aidd_docs/memory/external/.gitkeep && echo ok` prints `ok`. diff --git a/plugins/aidd-context/skills/02-project-init/assets/review-checklist.md b/plugins/aidd-context/skills/02-project-init/assets/review-checklist.md new file mode 100644 index 00000000..94f313e5 --- /dev/null +++ b/plugins/aidd-context/skills/02-project-init/assets/review-checklist.md @@ -0,0 +1,11 @@ +# Review Checklist + +Recurring defects the reviewer ticks on every code/diff review, so they get caught in any diff. + +- [ ] **No information duplication** — DRY across code *and* docs; link to the canonical home instead of copying. +- [ ] **No incoherence / contradiction** — naming, behavior, and docs-vs-code stay consistent. +- [ ] **No over-engineering** — the simplest solution that meets the need; no speculative generality, no unused abstraction. +- [ ] **No dead code or debug leftovers** — no commented-out blocks, stray logs, or TODOs left silently. +- [ ] **Consistent with existing patterns** — follows the conventions already established in the codebase. +- [ ] **Clear, explicit naming** — names reveal intent; no misleading or vague identifiers. +- [ ] **Errors handled** — no swallowed exceptions, no ignored failure paths. diff --git a/plugins/aidd-dev/agents/reviewer.md b/plugins/aidd-dev/agents/reviewer.md index 6724f012..270cbf8c 100644 --- a/plugins/aidd-dev/agents/reviewer.md +++ b/plugins/aidd-dev/agents/reviewer.md @@ -18,6 +18,8 @@ When invoked, you receive: - A **validator** - either explicit acceptance criteria (e.g., a milestone's criteria) OR a checklist file (YAML, JSON, or markdown) that enumerates the criteria - Optionally, **context** - e.g., the spec when reviewing a plan, or the plan when reviewing code +On every review, read the project review checklist at `aidd_docs/review-checklist.md` (path relative to the repository root, your working directory) with your Read tool, and apply each item; skip silently if the file is absent. Render the checklist ticked in your output — `- [x]` when met, `- [ ]` with the offending `file:line` when not. + # Outputs When you return, your output is structured: