Skip to content
Back to skills

Discovery Review Criteria

ASecurity

Use when reviewing DISCOVER artefacts (triage reports, sprint proposals) for completeness, prioritization quality, and duplicate handling. Contains gate definitions G1-G6 and scoring rubric for the backlog-discoverer-reviewer lenses.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
ai-agents

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 26, 2026

npx -y skills add SebastienDegodez/skraft-plugin --skill discovery-review-criteria --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Discovery Review Criteria?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Discovery Review Criteria
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sebastiendegodez-discovery-review-criteria/badge)](https://www.skillsdirectory.com/skills/sebastiendegodez-discovery-review-criteria)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: discovery-review-criteria
description: "Use when reviewing DISCOVER artefacts (triage reports, sprint proposals) for completeness, prioritization quality, and duplicate handling. Contains gate definitions G1-G6 and scoring rubric for the backlog-discoverer-reviewer lenses."
---

# Discovery Review Criteria

## Overview

Formal gate definitions and verdict rubric for the `backlog-discoverer-reviewer`. Applied across **3 lenses** with **6 gates** (G1–G6).

| Lens | Gates | What it checks |
|---|---|---|
| Completeness | G1, G2 | Was the discovery thorough? Were important issues missed? |
| Prioritization | G3, G4 | Is prioritization coherent and the sprint realistic? |
| Duplicate Detection | G5, G6 | Are duplicates correctly identified and linked? |

## Lens-to-question mapping

Three lenses, four questions — the synthesis in `adversarial-review-lenses` is computed per
question, so this mapping is what makes it computable. It is declared here rather than
derived at review time, because a mapping re-invented on each pass is a mapping that drifts.

| Question | Answered by | Through |
|---|---|---|
| Completeness | Completeness lens | G1 mode coverage, G2 no hidden P0/P1 |
| Business Fit | Prioritization lens | G3 — priority is a claim about business value, and an unjustified P0 is a claim without evidence |
| Quality | Duplicate Detection lens | G5, G6 — two entries for one problem is the triage contradicting itself |
| Risk | Prioritization lens | G4 — an XL admitted or a P1 deferred is a sprint that fails downstream, not one that reads badly |

The Prioritization lens answers two questions. Its score therefore lands on both rows; it is
not averaged and not counted once.

---

## Gate Definitions (G1–G6)

### Lens 1: Completeness

| ID | Definition | Pass Condition | Severity |
|---|---|---|---|
| G1 | All 3 discovery modes were considered, or the triage report explicitly documents why a mode was skipped (e.g., "no recent commits → artifact-driven skipped"). | All modes accounted for in the report. | HIGH |
| G2 | No P0 or P1 issues exist in the repository but are absent from the triage report. Verify by sampling: query for `label:priority/P0,priority/P1 is:open is:issue sort:created-desc`, take top 5, check each appears in the triage report. | Zero critical issues absent from triage. | BLOCKER |

### Lens 2: Prioritization

| ID | Definition | Pass Condition | Severity |
|---|---|---|---|
| G3 | All P0 issues have a written justification in the Notes field. P1–P3 follows descending business value order. No priority inversions (a P2 that is clearly more urgent than a P1 in the same domain). | No priority inversions. All P0 justified. | HIGH |
| G4 | Sprint proposal respects declared capacity. Total effort ≤ effective capacity (team-days × 0.7) for non-P0 issues. No P2/P3 issue occupies a sprint slot while a P0/P1 issue is excluded. No issue above 8 points is in the sprint. | Capacity respected; estimates above 8 excluded. | HIGH |

### Lens 3: Duplicate Detection

| ID | Definition | Pass Condition | Severity |
|---|---|---|---|
| G5 | No two issues in the triage report describe the same problem (normalized title similarity > 80%). Normalize: lowercase, remove stop words, sort words alphabetically, compare overlap ratio. | Zero undetected exact or near-duplicate pairs. | HIGH |
| G6 | All issue pairs with 40–80% normalized title similarity are noted in the "Duplicates Detected" section with a recommendation (merge, link, or keep separate). | All similar pairs flagged with recommendation. | MEDIUM |

---

## Completeness Scoring

Discovery is considered **sufficient** when:

1. All 3 modes were applied — or skipped modes are justified in the report
2. No P0 or P1 issues are missing from the triage (G2 sample check passes)
3. Coverage is >80% of open issues in the target area (mode-specific):
   - User-assigned: all @me issues are in the report
   - Artifact-driven: issues related to the modified domain are represented
   - Search-based: all issues matching the declared query are in the report

**Completeness is not about finding every issue** — it is about ensuring critical issues are not hidden.

---

## Priority Coherence Rules

| Rule | Description |
|---|---|
| P0 always in sprint | Every P0 issue must appear in the sprint proposal, even if over capacity |
| P0 justification required | Every P0 issue must have a written justification in the Notes field |
| No P3 before P1 | A P3 issue cannot be in the sprint if any P1 issue is excluded |
| P2 after all P1 | Sprint fills P1 before P2 unless P1 is already covered |
| XL never in sprint | XL issues must be split — they cannot enter DISCUSS as-is |
| No priority inversion | A P2 issue with more urgency than a P1 in the same domain = G3 fail |

---

## Duplicate Similarity Thresholds

| Level | Similarity | Action Required |
|---|---|---|
| EXACT | > 95% | One issue must be labeled `status/duplicate` and linked to the original |
| NEAR | 80–95% | Recommendation to merge. Both issues linked. Documented in triage. |
| RELATED | 40–80% | Flagged in triage as "related". Recommendation documented. No merge required. |
| DIFFERENT | < 40% | No action required |

**G5 threshold**: > 80% = must flag (covers both EXACT and NEAR)
**G6 threshold**: 40–80% = should flag (covers RELATED)

---

## Sprint Capacity Rules

| Rule | Applies To |
|---|---|
| P0 overrides capacity | P0 issues enter sprint regardless of effective capacity |
| Effective capacity = team-days × 0.7 | Applies to P1/P2/P3 issues |
| Points convert to days: 1=0.25, 2=0.5, 3=0.75, 5=1.5, 8=3 | The scale is Fibonacci; the capacity stays in team-days. Cost per point never falls as the card grows, so splitting is always the cheaper arithmetic |
| Over-capacity P0 must be documented | Triage report must note "P0 override" |
| Above 8 points is an absolute exclusion | No 13 or 21 enters a sprint — G4 fail if present |
| P2/P3 after all P1 | P2/P3 issues fill remaining capacity after all P1s |

---

## Verdict Derivation Table

| Condition | Verdict |
|---|---|
| G2 fails (BLOCKER: P0/P1 missing from triage) | `rejected` |
| G1 fails (HIGH: modes not covered) | `changes_requested` |
| G3 fails (HIGH: priority inversions or missing P0 justification) | `changes_requested` |
| G4 fails (HIGH: capacity violated or XL in sprint) | `changes_requested` |
| G5 fails (HIGH: undetected near-duplicates) | `changes_requested` |
| G6 fails only (MEDIUM: related pairs not flagged) | `changes_requested` |
| All gates pass | `approved` |

---

## References

- [gate-definitions.md](references/gate-definitions.md) — step-by-step gate checklists with auto-insurance examples
- [completeness-heuristics.md](references/completeness-heuristics.md) — when to stop discovering; coverage signals; anti-patterns
- [verdict-rubric.md](references/verdict-rubric.md) — verdict derivation with 3 example verdict outputs (approved, changes_requested, rejected)

Files in this skill

  • SKILL.md6.8 KB
  • references/completeness-heuristics.md5.9 KB
  • references/gate-definitions.md10.5 KB
  • references/verdict-rubric.md8.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.