AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Agents Pair

skill-hcaiano-skills-agents-pair · by hcaiano

Pair with a peer AI agent. Use when the user asks to pair with Codex or Claude, delegate a scoped slice, request peer review, run an adversarial challenge, mirror a long goal loop, or use live herdr pairing. Routes Claude Code<->Codex through the codex plugin, Codex<->Claude through headless `claude -p`, and live panes through `herdr-pair`. For paired UI work, use `impeccable`.

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

Install

$ agentstack add skill-hcaiano-skills-agents-pair

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

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-hcaiano-skills-agents-pair)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Agents Pair? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Agents Pair

Bring in a second AI agent as an equal engineer — to plan, build, review, or take a slice in parallel. This hub holds the rules that hold for any pairing; the transport for a specific direction lives in a bridge you load below.

Stance: peers, not manager and report. Alternate who writes. Settle disagreements with tests and repo conventions, not seniority. Whoever owns the user thread is doing logistics, not giving orders.

Route to your bridge

You know which agent you are. Pick the peer, read that bridge in full, then work from it.

| You are | Peer | Bridge | |---|---|---| | Claude Code | Codex | references/bridges/claude-with-codex.md | | Codex | Claude | references/bridges/codex-with-claude.md |

No bridge for the peer they asked for (Gemini, Grok, Cursor, ...)? Say so, then offer the nearest pairing or go solo. Adding a peer later is just a new bridge file; this hub doesn't change.

Live or headless

The bridges above are the headless surface: an ephemeral peer, scoped prompt in, clean result out. Inside herdr there is a live surface: a peer already running in a tab, warm with its own context, that the user watches. herdr-pair owns that protocol: pane identity, session state, and turn transport.

Go live only when it earns it:

  • In herdr (HERDR_ENV=1) with a real opposite-agent pane in your tab, or when the

user asks for live pairing → hand off to herdr-pair.

  • No live peer, or a narrow delegation/review where headless is cheaper and

cleaner → stay headless. Don't go live just because HERDR_ENV=1, and don't let both surfaces track session state for the same collaboration.

Write lease. One agent holds the pen for a declared scope: owner, target files, forbidden changes, validation, and stop point. The other agent stays read/review-only on that scope until handoff; either renegotiates before editing out of scope. Broad concurrent work needs disjoint leases, separate worktrees, or headless delegation. herdr-pair enforces live turns; the hub sets the rule.

When to pair

Default to pairing on non-trivial work; skip it on trivial edits. Worth a peer:

  • a review of the real diff before you call something done,
  • a heavy or cleanly separable slice you can hand off,
  • an adversarial read on a risky or hard-to-reverse decision,
  • a stall, a second implementation, or a deeper diagnosis.

Don't pair as ceremony, and don't escalate just because a feature exists.

Rules that matter

Easy to get wrong — hold these:

  • Write lease. Hold one lease per file set. Take turns or split scopes;

parallel work only on disjoint leases.

  • Verify peer output. It's a peer's patch, not ground truth. After any peer

writing turn, read git diff and the touched files and run tests before you build on it.

  • Evidence over rank. Push back, and let tests and conventions decide. Surface

real disagreements instead of quietly complying or quietly overruling.

  • Stay in scope and safe. No secrets in peer prompts. No commit, push, merge,

deploy, or credential change unless the user asked and you confirmed the exact action. No broad refactors riding along. Keep the user's global rules.

How a turn ends

Pairing is a dialogue, not a one-shot. End each handoff with a short peer message: what you did or concluded, where you disagree, what's next and who holds the pen, the files you changed, and any checks you want run. Next turn, answer the peer's questions before adding new asks. The bridge says how that message is carried.

The loop

  1. Clarify and route. Done when the peer, surface, bridge, and shared goal are

explicit.

  1. Debate before big edits. Done when open objections are resolved or recorded.
  2. Write under a lease. Done when each writing turn names owner, files, forbidden

changes, validation, and stop point before edits begin.

  1. Review the real diff. Done when the other peer has read touched files,

inspected git diff, and run or requested the relevant checks.

  1. Close with a final audit. Done when the final diff, validation, peer questions,

and remaining disagreements are accounted for. On long goals, keep the shared plan below and ask the user if two cycles produce no progress.

Shared plan (long goals)

For a goal that spans many checkpoints — a migration, multi-feature work, research — track it with planning-with-files; that skill owns the task_plan.md / findings.md / progress.md contract and the recovery behavior. agents-pair adds only the pairing delta: the plan files are a shared, write-leased set, so two agents don't collide on them.

  • The coordinator — the agent that took the goal, fixed until an explicit

handoff, not the rotating write lead — owns task_plan.md and progress.md.

  • The peer appends to findings.md and reports its changed files, validation,

and decisions in the peer message; the coordinator records the checkpoint.

  • progress.md is coordinator-only (a code write lease doesn't grant it) and stays

semantic — sid, pane ids, rounds, and turn state live in the bridge's session state, never copied here.

Once the plan exists, the peer message references it instead of restating it. Skip it entirely for a quick review or one-shot delegation; there the peer message and the diff are the state.

Domain skills still apply

Pairing doesn't replace them. For UI, use impeccable and have the peer critique against it. For APIs, check current docs before reasoning from memory. Tell the peer which skill's rules bind this turn. For advanced Codex/Claude surfaces, see references/features.md.

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.