pair

pair is a skill for Claude Code from kelp/agent-plugins. It costs 108 tokens per session (3,349 once invoked), scanned A, original, MIT.

A pairing workflow that keeps one Codex partner connected throughout a coding session. One agent edits files and runs tests while the Codex partner reviews designs, critiques work, and suggests changes in read-only mode.

In plain words
What is it for?
Use it for pair programming, iterative design review, code review, design approval and amendment, judging, and session snapshots.
Why use it?
It keeps the review partner's context across multiple exchanges, so feedback does not need to be re-explained each time. It also separates making changes from reviewing them.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: reads .claude/ paths; mentions subagents; runs codex exec.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the pair plugin — 1 skill shipped together

Good fit Use it for pair programming, iterative design review, code review, design approval and amendment, judging, and session snapshots.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add kelp/agent-plugins
Claude Code
/plugin install pair

Made for: Claude Code.

Or install pair, the plugin that ships this one along with the rest of its 1 skill.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pair

README.md
[![agentmods](https://agentmods.dev/badge/skills/kelp/agent-plugins/pair/github.svg)](https://agentmods.dev/skills/kelp/agent-plugins/pair)
Your own site
<a href="https://agentmods.dev/skills/kelp/agent-plugins/pair"><img src="https://agentmods.dev/badge/skills/kelp/agent-plugins/pair/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pair

Your own site · 80×15
<a href="https://agentmods.dev/skills/kelp/agent-plugins/pair"><img src="https://agentmods.dev/badge/skills/kelp/agent-plugins/pair.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 108 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,349 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00108 $0.03349
Opus 5.5 $0.00043 $0.01340
Sonnet 5.5 $0.00022 $0.00670
Haiku 4.5 $0.00011 $0.00335

Measured 1mo ago against content hash d610d5ca5cfc, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

pair scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/pair/skills/pair/SKILL.md · 352 lines

How it starts

The opening of the file, as written. The whole thing — 352 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/pair

Pair programming with a persistent navigator. The current session drives: edits files, runs tests. The named harness (Codex, Grok, or Claude) navigates: reviews, critiques, suggests, in a read-only session, with full memory.

You cannot pair with yourself. If the user names the current harness, refuse and ask for a different one. Default navigator is Codex.

The wrapper

All partner traffic goes through:

node "${CLAUDE_PLUGIN_ROOT}/scripts/pair.mjs" <cmd> [flags]

Commands: start, send, list, end, design-register, design-agree, design-amend, review-start, review-complete, override-cap, judge, snapshot. macOS and Linux only: the wrapper relies on POSIX process groups to terminate the partner tree and fails fast elsewhere. start and send read the prompt from stdin; send requires --kind design|review|freeform (freeform is uncounted). Both print JSON with threadId, lastMessage, and errors. State lives in ~/.claude/pair/pairs.json (schema v2; v1 files migrate automatically). An existing ~/.claude/codex-pair/pairs.json is still read.

Always pass prompts via stdin from a temp file, never as a shell-interpolated argument and never as a heredoc: diffs contain quotes, backticks, $(...), and can even contain your heredoc delimiter (this repo's own docs do), which would truncate the prompt and feed the remainder to the shell. Write the prompt with the Write tool, then:

node "${CLAUDE_PLUGIN_ROOT}/scripts/pair.mjs" send \
  --label <label> --kind <design|review|freeform> \
  < "<prompt-file>"

Quote every interpolated path. Labels are validated by the wrapper (letters, digits, dot, dash, underscore only); pick labels that fit.

Run long partner turns in the background. send for a review or design round takes minutes; run it as a background task and keep working (write the next test, prep the next change) until the completion notification, then read the output file and relay the verdict. The wrapper streams one [codex] ... line per partner action to stderr, so tailing the task output file shows live progress; read the tail, not the whole file, when peeking mid-run. Never have two in-flight sends for the same label: turns on one thread are strictly serial. Short turns (status-like questions) can stay foreground.

Read the full file on GitHub · 352 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +13 lines · -10 tokens per session d610d5ca5cfc
  2. 1mo ago First seen · 339 lines · 118 tokens per session scan A c45fc15fee38

Subscribe to this mod's changes

pair is a skill published in the GitHub repository kelp/agent-plugins (2 stars, last pushed 1mo ago), licensed MIT. It adds 108 tokens to every session and 3,349 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

code-review

Review code for actionable defects. Correctness is the core; performance and security are optional sub-cases of the same engine. Anchors on agreements between participants across a boundary, forces a violating execution, and refutes every candidate before reporting. Use when asked to review changes, find bugs, audit a…

phuryn/pm-skills · 74 tokens

intended-vs-implemented

The method for finding the gap between what a system is supposed to do and what the code actually does — the class of bug generic scanners miss because they have no model of intent. Defines what counts as documented intent, what counts as implementation evidence, which mismatches matter, and how to avoid hand-wavy…

phuryn/pm-skills · 95 tokens

council

Compare independent opinions from several models or contexts without inflating agreement. Use when: wanting a second opinion or debate, or summarizing several reviewers' results.

boshu2/agentops · 35 tokens

craft-goal

Draft or lint a bounded long-running goal prompt with a finish line and hard limits. Use when: selected by name; one change goes to Plan.

boshu2/agentops · 34 tokens

plan

Shape a request into one end-to-end slice with observable behavior; review write scope and reversible decisions. Use when: planning, breaking down or scoping a change.

boshu2/agentops · 35 tokens

review

Give advisory feedback on a plan, design or code change. Use when: asked for an opinion or a look-over, even informally. Not for acceptance; use Validate.

boshu2/agentops · 37 tokens