pharaoh-review-completeness

Audit needs.json for missing reviewer and approved_by fields against artefact-catalog.yaml.

24|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/useblocks/pharaoh --skill pharaoh-review-completeness
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pharaoh-review-completeness
Source: https://github.com/useblocks/pharaoh/tree/main/skills/pharaoh-review-completeness
Command: npx skills add https://github.com/useblocks/pharaoh --skill pharaoh-review-completeness

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Use when inspecting one or more needs for review / approval-chain completeness. Flags needs missing required :reviewer: or :approved_by: fields per the project's artefact catalog. Emits one finding per incomplete need via pharaoh-finding-record.

Core Features & Use Cases

  • Atomicity
  • (a) Indivisible — one lookup + one field-presence check per need.
  • (b) Input: {project_dir, need_ids?: list[str]} (if need_ids omitted, iterate all). Output: [{need_id, missing_roles: [str]}] (empty list if all complete).
  • (c) Reward: deterministic — field-present vs field-absent. 100% target on fixture.
  • (d) Reusable: audit orchestrators, standalone CI gate, pre-merge check.
  • (e) Composable: read-only over needs.json + artefact-catalog.yaml.
  • Process
  • Step 1: Load artefact catalog

  • For each artefact type, extract required_roles — which may include reviewer, approved_by, or be absent (no review required).
  • Step 2: Load needs

  • Read <project_dir>/needs.json (or the pre-built bazel artefact). For each need matching need_ids (or all needs if none given), determine its artefact type from its ID prefix.
  • Step 3: Check required roles

  • For each need whose type has required_roles, verify each required role field is present in the need's options and non-empty. Collect missing roles.
  • Step 4: Emit findings

  • For each need with at least one missing role, emit a finding record:
  • {
      "need_id": "<id>",
      "missing_roles": ["reviewer", "approved_by"]
    }
    
  • Output is a JSON list of such objects, wrapped in a single fenced json block. Empty list → [].
  • Input / output example
  • Input call (as audit subagent):
  • pharaoh-review-completeness on project <Score dir> for all component-level reqs
    
  • Output:
  • [
      {"need_id": "gd_req__timestamp_recording", "missing_roles": ["approved_by"]}
    ]
    
  • Failure modes
  • artefact-catalog.yaml absent → emit [] with stderr warning; skill is a no-op without tailoring.
  • needs.json absent → emit [] with stderr warning.
  • Malformed artefact catalog → emit [] with stderr warning "artefact-catalog malformed".
  • Composition
  • Consumed by pharaoh-audit-fanout as sub-area 4. Each returned finding is passed to pharaoh-finding-record with category: missing_reviewer or category: missing_approval.

Frequently Asked Questions about pharaoh-review-completeness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit project needs for missing reviewer and approved_by fields?

Auditing needs for missing reviewer and approved_by fields is done by reading the artefact-catalog.yaml for required roles and scanning needs.json to report missing fields per need. The output is a deterministic JSON list of findings with need_id and missing_roles.

What happens if the artefact-catalog.yaml or needs.json file is absent when checking requirements?

If the artefact-catalog.yaml or needs.json file is absent, the audit emits an empty list with a stderr warning. The skill acts as a no-op without the artefact catalog present, ensuring CI gates do not fail on missing configuration.

Can I check review and approval completeness for specific need IDs instead of all project requirements?

Yes, you can check review and approval completeness for specific need IDs by providing a list of need_ids in the input. If need_ids are omitted, the skill iterates over all needs in the needs.json file to verify required roles.

How does the review completeness audit handle needs that do not require approval?

When an artefact type in the artefact-catalog.yaml has absent required_roles, meaning no review is required, the audit skips field-presence checks for those needs. It only collects missing roles for needs whose type explicitly requires reviewer or approved_by fields.

What is the best way to integrate missing approval findings into a continuous integration pipeline?

The best way to integrate missing approval findings into a CI pipeline is using the skill's JSON output wrapped in a fenced block. Each finding record is passed to pharaoh-finding-record with categories like missing_reviewer or missing_approval for downstream tracking.

Why does the needs audit output an empty list for a malformed artefact catalog?

The needs audit outputs an empty list with a stderr warning stating 'artefact-catalog malformed' to prevent pipeline failures on configuration errors. This deterministic behavior ensures downstream pharaoh-finding-record integration receives valid, parseable JSON.