---
name: Deliverable Self-Loop
slug: deliverable-self-loop
category: Quality
description: Deliverable Self-Loop scores an existing reader-facing deliverable and writes a deterministic PASS/FAIL report with a bounded repair plan. Use it after synthesis to verify section and artifact contracts without rewriting the content.
github: "https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/deliverable-selfloop"
language: Python
stars: 499
forks: 39
install: "npx degit https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/deliverable-selfloop ~/.claude/skills/deliverable-selfloop"
installs_to: ~/.claude/skills/deliverable-selfloop
source_path: .codex/skills/deliverable-selfloop/SKILL.md
collection_size: 25
category_size: 1354
collection_url: "https://dirskills.com/collections/WILLOSCAR/research-units-pipeline-skills"
added: 2026-08-26T05:12:55.316Z
last_synced: 2026-08-26T05:12:55.316Z
canonical_url: "https://dirskills.com/skills/deliverable-self-loop"
---

# Deliverable Self-Loop

Deliverable Self-Loop scores an existing reader-facing deliverable and writes a deterministic PASS/FAIL report with a bounded repair plan. Use it after synthesis to verify section and artifact contracts without rewriting the content.

**Install:**

```bash
npx degit https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/deliverable-selfloop ~/.claude/skills/deliverable-selfloop
```

## README

# Deliverable Self-Loop

Runs the final quality gate for a reader-facing deliverable and always writes a PASS/FAIL report.

## Inputs

Primary input depends on the active pipeline contract:
- brief deliverable
- paper-review deliverable
- evidence-review deliverable
- idea memo bundle
- tutorial deliverable

## Output

- `output/DELIVERABLE_SELFLOOP_TODO.md`
- for `research-brief`: `output/BRIEF_SCORECARD.md` and `output/BRIEF_SCORECARD.json`
- for `paper-review`: `output/REVIEW_SCORECARD.md` and `output/REVIEW_SCORECARD.json`
- for `idea-brainstorm`: `output/IDEA_SCORECARD.md` and `output/IDEA_SCORECARD.json`
- for `evidence-review`: `output/EVIDENCE_SCORECARD.md` and `output/EVIDENCE_SCORECARD.json`

## Dispatch rule

The gate should dispatch by pipeline contract first:
- `quality_contract.deliverable_kind`

Only fall back to legacy profile-name checks when contract metadata is missing.

## Script boundary

`scripts/run.py` should:
- detect the active deliverable contract
- run the matching evaluator
- always write a report

It should not mutate the deliverable itself.

## Acceptance

- report exists
- report contains `- Status: PASS` or `- Status: FAIL`
- PASS only when the active deliverable satisfies its minimum section / artifact contract
- `research-brief` additionally requires valid core-set pointers and the configured score threshold
- `paper-review` additionally requires the configured score threshold and all critical rubric dimensions
- `idea-brainstorm` additionally requires traceable anchors, actionable lead directions, and the configured score threshold
- `evidence-review` additionally requires clause-linked screening, complete extraction rows, synthesis pointers, and the configured score threshold

## Non-goals

- rewriting the deliverable
- choosing upstream fixes beyond pointing to the missing contract items
