plugins/onex/skills/adversarial_pipeline/SKILL.md
Autonomous 3-stage adversarial plan-to-ticket pipeline — design_to_plan → hostile_reviewer gate (≥3 issues required) → plan_to_tickets. All stages run as background agents. Zero foreground work.
npx skillsauth add omninode-ai/omniclaude plugins/onex/skills/adversarial_pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Three-stage autonomous pipeline that catches wrong-approach patterns before tickets are created. Chains design_to_plan, hostile_reviewer, and plan_to_tickets as background agents. The adversarial gate blocks ticket creation until the plan has been stress-tested.
Anti-patterns caught: ONEX not Docker, typed Pydantic not strings, contracts not hardcoding, OAuth not SSO, topics from contract.yaml not topics.py. See omni_home/docs/plans/adversarial-rubric.md for the full rubric.
Dispatch a background agent to run design_to_plan on the provided topic.
/onex:dispatch_worker role=designer
Invoke /design_to_plan --topic "<topic>" --no-launch
Save the output plan path to checkpoint key: adversarial_pipeline.plan_path
Report: plan file path saved to checkpoint
Wait for Stage 1 agent to complete. Read adversarial_pipeline.plan_path from checkpoint before proceeding.
Dispatch a background agent to run hostile_reviewer --static on the plan output.
/onex:dispatch_worker role=adversarial-reviewer
Read plan path from checkpoint key: adversarial_pipeline.plan_path
Invoke /hostile_reviewer --static --file <plan_path> --rubric $OMNI_HOME/docs/plans/adversarial-rubric.md
Count findings in reviewer output.
IF findings < 3:
ESCALATE to user: "Adversarial gate: fewer than 3 issues found — plan may be under-scrutinized. Attach reviewer output and pause pipeline."
DO NOT proceed to Stage 3.
ELSE:
Save findings summary to checkpoint key: adversarial_pipeline.findings
Save plan path to checkpoint key: adversarial_pipeline.gated_plan_path
Report: gate passed, N findings recorded
Wait for Stage 2 agent to complete. Read adversarial_pipeline.findings and adversarial_pipeline.gated_plan_path from checkpoint. If gate did not pass (escalation fired), surface findings to user and stop — do not proceed to Stage 3.
Only dispatched after Stage 2 gate passes.
/onex:dispatch_worker role=ticket-creator
Read plan path from checkpoint key: adversarial_pipeline.gated_plan_path
Invoke /plan_to_tickets --plan-file <plan_path> [--project <project>] [--dry-run if --dry-run set]
Report: Linear epic URL and ticket count
dispatch_worker. No foreground implementation./onex:checkpoint to pass state between stages. Never pass paths via inline text substitution.design_to_plan, hostile_reviewer, or plan_to_tickets logic here. Invoke the skills./adversarial-pipeline "design a cross-repo dependency analyzer"
/adversarial-pipeline "design a real-time alerting system" --project "Platform"
/adversarial-pipeline "design a unified auth layer" --dry-run
omni_home/docs/plans/adversarial-rubric.md.tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.