Install
$ agentstack add skill-gustavo-meilus-superpipelines-run-parity-test-f ✓ 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
run-parity-test-f — Entry Skill
> Entry point for the parity-test-f pipeline. Orchestrates the sequential dispatch of analyzer, reviewer, and reporter agents on Tier 1d (Codex CLI) via model_driven dispatch.
This skill initializes the pipeline run, resolves the scope root and run ID, dispatches the analyzer, reviewer, and reporter agents in sequence via the model_driven path of sk-platform-dispatch, and applies the cleanup contract (C20) on completion. The reviewer agent runs with sandbox_mode = "read-only" (structural isolation); the orchestrator must not pass write-capable context to the reviewer dispatch.
Platform Context
- Tier:
tier_1d(Codex CLI) - Dispatch mechanism:
model_driven— the host orchestrator drives subagent sequencing; noTask()primitive available. - modelfieldformat:
toml_split— agents declaremodelandmodel_reasoning_effortin their TOML files; the entry skill does NOT stamp model fields into dispatch prompts. - Degradation warnings: None for Tier 1d.
Workflow
PHASE 0: PREFLIGHT
- Resolve
{ROOT}viask-pipeline-paths(scope root resolved from the active tier profile at runtime — never hardcode.codex/or any platform path). - Resolve
{runId}= ISO-8601 compact timestamp (e.g.,20260526T143000Z). - Create temp directory:
{ROOT}/superpipelines/temp/parity-test-f/{runId}/. - Create
output/directory if absent:{ROOT}/output/. - Initialize
pipeline-state.jsonat{ROOT}/superpipelines/temp/parity-test-f/{runId}/pipeline-state.json:
{
"pipeline_id": "parity-test-f",
"run_id": "{runId}",
"started_at": "{iso8601}",
"plugin_version": "2.0.0",
"pattern": "1",
"status": "running",
"current_phase": 0,
"metadata": {
"source_tier": "tier_1d",
"runtime_tier": "tier_1d",
"model_field_format": "toml_split",
"resolved_models": {
"analyzer": "gpt-5.4-mini",
"reviewer": "gpt-5.5",
"reporter": "gpt-5.4-mini"
}
},
"phases": [
{
"index": 0,
"step_id": "analyzer",
"name": "analyze",
"status": "pending",
"agent": "agents/superpipelines/parity-test-f/analyzer.toml",
"outputs": [],
"error": null
},
{
"index": 1,
"step_id": "reviewer",
"name": "review",
"status": "pending",
"agent": "agents/superpipelines/parity-test-f/reviewer.toml",
"outputs": [],
"error": null
},
{
"index": 2,
"step_id": "reporter",
"name": "report",
"status": "pending",
"agent": "agents/superpipelines/parity-test-f/reporter.toml",
"outputs": [],
"error": null
}
]
}
- If the user has not supplied the path to the pull request diff file, ask for it now. Record as
{DIFF_PATH}.
PHASE 1: DISPATCH ANALYZER (model_driven)
DISPATCH via model_driven orchestration:
Agent: analyzer (analyzer.toml)
Protocol: {ROOT}/../.agents/skills/superpipelines/parity-test-f/analyzer-protocol/SKILL.md
Context to pass:
- diff_path: {DIFF_PATH}
- findings_output_path: {ROOT}/superpipelines/temp/parity-test-f/{runId}/findings.json
- state_path: {ROOT}/superpipelines/temp/parity-test-f/{runId}/pipeline-state.json
- run_id: {runId}
- root: {ROOT}
Wait for terminal status from analyzer:
DONE→ updatepipeline-state.jsonphases[0].status = "completed"; advance to Phase 2.DONE_WITH_CONCERNS→ update phases[0].status = "completedwithconcerns"; surface concerns to user; advance to Phase 2.NEEDS_CONTEXT→ update phases[0].status = "blocked"; update top-level status = "blocked"; surface message to user; GO TO CLEANUP (preserve).BLOCKED→ update phases[0].status = "blocked"; update top-level status = "blocked"; surface message to user; GO TO CLEANUP (preserve).
PHASE 2: DISPATCH REVIEWER (model_driven — READ-ONLY)
DISPATCH via model_driven orchestration:
Agent: reviewer (reviewer.toml — sandbox_mode = "read-only")
Protocol: {ROOT}/../.agents/skills/superpipelines/parity-test-f/reviewer-protocol/SKILL.md
Context to pass:
- findings_path: {ROOT}/superpipelines/temp/parity-test-f/{runId}/findings.json
- run_id: {runId}
- root: {ROOT}
NOTE: The reviewer agent has sandbox_mode = "read-only". The Codex host enforces structural write-deny — the reviewer writes NO files and emits its verdict via terminal output text only. Do NOT pass any write-capable context (no verdict_output_path, no writable state_path); the orchestrator owns all persistence.
After the reviewer completes:
- Capture the
REVIEWER VERDICTblock from the reviewer's terminal output. Record as{REVIEWER_OUTPUT}. - Parse from the block:
{reviewer_verdict}(approved/approved_with_concerns/rejected),{reviewer_completeness_score},{reviewer_missing_categories},{reviewer_notes}. - Update
pipeline-state.json:
phases[1].outputs→[{ "verdict": "{reviewer_verdict}", "completeness_score": "{reviewer_completeness_score}", "missing_categories": "{reviewer_missing_categories}", "reviewer_notes": "{reviewer_notes}" }]
Wait for terminal status from reviewer:
DONE→ updatepipeline-state.jsonphases[1].status = "completed"; advance to Phase 3.DONE_WITH_CONCERNS→ update phases[1].status = "completedwithconcerns"; surface concerns to user; advance to Phase 3.BLOCKED→ update phases[1].status = "blocked"; update top-level status = "blocked"; surface message to user; GO TO CLEANUP (preserve). DO NOT dispatch reporter.
PHASE 3: DISPATCH REPORTER (model_driven)
Only dispatched if the reviewer verdict is approved or approved_with_concerns.
DISPATCH via model_driven orchestration:
Agent: reporter (reporter.toml)
Protocol: {ROOT}/../.agents/skills/superpipelines/parity-test-f/reporter-protocol/SKILL.md
Context to pass:
- findings_path: {ROOT}/superpipelines/temp/parity-test-f/{runId}/findings.json
- reviewer_verdict: {reviewer_verdict}
- reviewer_completeness_score: {reviewer_completeness_score}
- reviewer_missing_categories: {reviewer_missing_categories}
- reviewer_notes: {reviewer_notes}
- output_path: {ROOT}/output/parity-test-f-review-report.md
- state_path: {ROOT}/superpipelines/temp/parity-test-f/{runId}/pipeline-state.json
- run_id: {runId}
- root: {ROOT}
Wait for terminal status from reporter:
DONE→ update phases[2].status = "completed"; advance to Phase 4.DONE_WITH_CONCERNS→ update phases[2].status = "completedwithconcerns"; surface concerns to user; advance to Phase 4.NEEDS_CONTEXT→ update phases[2].status = "blocked"; update top-level status = "blocked"; surface message to user; GO TO CLEANUP (preserve).BLOCKED→ update phases[2].status = "blocked"; update top-level status = "blocked"; surface message to user; GO TO CLEANUP (preserve).
PHASE 4: FINALIZE
- Update
pipeline-state.json:
status:"completed"(or"completed_with_concerns"if any phase had concerns)completed_at: ISO-8601 timestamp
- Cleanup contract (C20):
- On
DONEorDONE_WITH_CONCERNS: writestatus: completedtopipeline-state.json, then delete the temp directory{ROOT}/superpipelines/temp/parity-test-f/{runId}/. - On
BLOCKEDorNEEDS_CONTEXT: preserve the temp directory (do NOT delete); it holds resume state for diagnosis.
- Confirm to the user:
> Pipeline parity-test-f completed. Code review report written to: {ROOT}/output/parity-test-f-review-report.md
- Emit terminal status:
DONE(orDONE_WITH_CONCERNS/BLOCKED/NEEDS_CONTEXTas applicable).
- NEVER use
Task()— Tier 1d hastask_primitive: false. All dispatch is model_driven. - NEVER hardcode platform paths (
.codex/,.claude/, etc.) — always use{ROOT}resolved viask-pipeline-paths. - NEVER pass file contents in dispatch prompts — pass file paths only (anti-pattern #3 Context Dumping).
- ALWAYS update
pipeline-state.jsonafter each phase completes. - NEVER dispatch the reporter if the reviewer verdict is
rejectedor the reviewer emitsBLOCKED. - NEVER advance past a
BLOCKEDorNEEDS_CONTEXTstatus without human input. - ALWAYS apply the C20 cleanup contract: delete temp dir on DONE/DONEWITHCONCERNS, preserve on BLOCKED/NEEDS_CONTEXT.
- NEVER pass write-capable context to the reviewer dispatch —
sandbox_mode = "read-only"is enforced by the host; the entry skill must not attempt to circumvent it. The reviewer writes no files; its verdict arrives via terminal output only. - ALWAYS capture and parse the
REVIEWER VERDICTblock from the reviewer's terminal output before advancing, and pass the parsed verdict fields inline to the reporter dispatch (the reporter no longer reads averdict.jsonfile). - Emit exactly one terminal status at the end of this skill's own execution: 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.