Install
$ agentstack add skill-gustavo-meilus-superpipelines-reporter-protocol ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Reporter — Operational Protocol
The reporter step reads the reviewed findings produced by the reviewer step, formats a structured markdown validation report with separate sections for required-field violations, type mismatches, deprecated keys, and dismissed findings, and writes the report to {ROOT}/output/parity-test-h-validation-report.md. It is the final step of the parity-test-h Sequential pipeline (Pattern 1) on Tier 2 (Cursor/Windsurf/Cline), executing inline in the entry skill's session. The quality bar is: the output must be a readable markdown file whose confirmed findings are clearly separated by category and whose dismissed findings are documented with their dismissal rationale.
Protocol
1. DISCOVER
- Read inputs from the orchestrator execution context:
reviewed_findings_path: path toreviewed-findings.jsonwritten by the reviewer step.output_path: path where the final validation report must be written (always{ROOT}/output/parity-test-h-validation-report.md).state_path: path topipeline-state.jsonfor status updates.run_id: current run identifier.root: resolved scope root.
- Verify
reviewed_findings_pathexists and is a readable file. If not: updatepipeline-state.jsonphases[2].status = "blocked"; emitBLOCKEDwith message: "Reviewed findings not found at{reviewed_findings_path}. The reviewer step may have failed." - Parse the reviewed findings JSON. If JSON is malformed: update
pipeline-state.jsonphases[2].status = "blocked"; emitBLOCKEDwith message: "Reviewed findings at{reviewed_findings_path}are not valid JSON. Re-run the reviewer step."
2. PROCESS
Step 2.1 — Partition findings by category and status:
From reviewed-findings.json, partition the findings into four groups:
confirmed_required_fields: findings wherecategory = "required_field"andreview_status = "confirmed".confirmed_type_mismatches: findings wherecategory = "type_mismatch"andreview_status = "confirmed".confirmed_deprecated_keys: findings wherecategory = "deprecated_key"andreview_status = "confirmed".dismissed: all findings wherereview_status = "dismissed", regardless of category.
Step 2.2 — Render the markdown report:
Format the markdown report using the following template:
# YAML Validation Report — parity-test-h
**Source file**: {source_path}
**Reviewed at**: {reviewed_at}
**Run ID**: {run_id}
**Total findings**: {total_findings} ({confirmed} confirmed, {dismissed} dismissed)
---
## Summary
| Category | Confirmed | Dismissed |
|---|---|---|
| Required field violations | {n} | {n} |
| Type mismatches | {n} | {n} |
| Deprecated keys | {n} | {n} |
| **Total** | **{confirmed}** | **{dismissed}** |
---
## Required Field Violations
{If no confirmed required-field findings: "_No required field violations confirmed._"}
{For each confirmed required-field finding:}
### {id}: {key}
- **Severity**: Error
- **Message**: {message}
---
## Type Mismatches
{If no confirmed type-mismatch findings: "_No type mismatches confirmed._"}
{For each confirmed type-mismatch finding:}
### {id}: {key}
- **Severity**: Error
- **Expected type**: `{expected_type}`
- **Actual type**: `{actual_type}`
- **Actual value**: `{actual_value}`
- **Message**: {message}
---
## Deprecated Keys
{If no confirmed deprecated-key findings: "_No deprecated keys confirmed._"}
{For each confirmed deprecated-key finding:}
### {id}: {key}
- **Severity**: Warning
- **Message**: {message}
---
## Dismissed Findings (False Positives)
{If no dismissed findings: "_No findings were dismissed._"}
{For each dismissed finding:}
### {id}: {key} ({category})
- **Original severity**: {severity}
- **Original message**: {message}
- **Dismissal rationale**: {review_note}
---
_Report generated by parity-test-h pipeline on Tier 2 (Cursor/Windsurf/Cline). Reviewer isolation is convention-only; review was performed within the same agent session as validation._
Step 2.3 — Handle zero-confirmed-findings edge case:
If confirmed = 0 (all findings dismissed, or zero findings from validator): the report still renders with all sections showing the "no findings" placeholder text. Emit DONE_WITH_CONCERNS with message: "Report written with zero confirmed findings. Either the YAML is fully valid or all findings were dismissed as false positives."
3. DELIVER
- Create the
{root}/output/directory if it does not exist. - Write the rendered markdown report to
output_pathusing the Write tool. - Update
pipeline-state.json:
- Set
phases[2].status="completed"(or"completed_with_concerns"if zero confirmed findings). - Set
phases[2].outputs=[output_path]. - Set
phases[2].outputs_summary={ "confirmed_findings": N, "dismissed_findings": N }. - Set top-level
status="completed"(or"completed_with_concerns"as appropriate). - Set
completed_at= current ISO-8601 timestamp.
- Emit terminal status:
DONE— report written successfully with at least one confirmed finding.DONE_WITH_CONCERNS— report written but contained zero confirmed findings (note reason).BLOCKED— reviewed-findings file missing or malformed; output not written.
- ALWAYS write the output to exactly
{ROOT}/output/parity-test-h-validation-report.md— never a different path. - ALWAYS include all four report sections (required fields, type mismatches, deprecated keys, dismissed) even when a section has zero entries.
- ALWAYS include the footer note about convention-only reviewer isolation in the report.
- NEVER write partial output — if rendering fails mid-way, do not write the file; emit BLOCKED.
- NEVER hardcode platform paths — use only the
rootvalue supplied in the execution context. - ALWAYS update
pipeline-state.jsonphases[2] and top-level status after writing. - NEVER suppress dismissed findings from the report — they must appear in the Dismissed Findings section with their rationale.
- Emit exactly one terminal status: DONE / DONEWITHCONCERNS / NEEDS_CONTEXT / BLOCKED.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: gustavo-meilus
- Source: gustavo-meilus/superpipelines
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.