AgentStack
SKILL verified MIT Self-run

Run Parity Test F

skill-gustavo-meilus-superpipelines-run-parity-test-f · by gustavo-meilus

Use when the user wants to run the parity-test-f pipeline on Tier 1d (Codex CLI) to analyze a pull request diff for code issues and produce a validated review report.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-gustavo-meilus-superpipelines-run-parity-test-f

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

Are you the author of Run Parity Test F? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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; no Task() primitive available.
  • modelfieldformat: toml_split — agents declare model and model_reasoning_effort in their TOML files; the entry skill does NOT stamp model fields into dispatch prompts.
  • Degradation warnings: None for Tier 1d.

Workflow

PHASE 0: PREFLIGHT

  1. Resolve {ROOT} via sk-pipeline-paths (scope root resolved from the active tier profile at runtime — never hardcode .codex/ or any platform path).
  2. Resolve {runId} = ISO-8601 compact timestamp (e.g., 20260526T143000Z).
  3. Create temp directory: {ROOT}/superpipelines/temp/parity-test-f/{runId}/.
  4. Create output/ directory if absent: {ROOT}/output/.
  5. Initialize pipeline-state.json at {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
    }
  ]
}
  1. 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 → update pipeline-state.json phases[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:

  1. Capture the REVIEWER VERDICT block from the reviewer's terminal output. Record as {REVIEWER_OUTPUT}.
  2. Parse from the block: {reviewer_verdict} (approved / approved_with_concerns / rejected), {reviewer_completeness_score}, {reviewer_missing_categories}, {reviewer_notes}.
  3. 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 → update pipeline-state.json phases[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

  1. Update pipeline-state.json:
  • status: "completed" (or "completed_with_concerns" if any phase had concerns)
  • completed_at: ISO-8601 timestamp
  1. Cleanup contract (C20):
  • On DONE or DONE_WITH_CONCERNS: write status: completed to pipeline-state.json, then delete the temp directory {ROOT}/superpipelines/temp/parity-test-f/{runId}/.
  • On BLOCKED or NEEDS_CONTEXT: preserve the temp directory (do NOT delete); it holds resume state for diagnosis.
  1. Confirm to the user:

> Pipeline parity-test-f completed. Code review report written to: {ROOT}/output/parity-test-f-review-report.md

  1. Emit terminal status: DONE (or DONE_WITH_CONCERNS / BLOCKED / NEEDS_CONTEXT as applicable).
  • NEVER use Task() — Tier 1d has task_primitive: false. All dispatch is model_driven.
  • NEVER hardcode platform paths (.codex/, .claude/, etc.) — always use {ROOT} resolved via sk-pipeline-paths.
  • NEVER pass file contents in dispatch prompts — pass file paths only (anti-pattern #3 Context Dumping).
  • ALWAYS update pipeline-state.json after each phase completes.
  • NEVER dispatch the reporter if the reviewer verdict is rejected or the reviewer emits BLOCKED.
  • NEVER advance past a BLOCKED or NEEDS_CONTEXT status 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 VERDICT block from the reviewer's terminal output before advancing, and pass the parsed verdict fields inline to the reporter dispatch (the reporter no longer reads a verdict.json file).
  • 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.