agentsclimarketplace

Pair

Skill davidlee/doctrine/plugins/doctrine/skills/pair

bathe your agents in engineering rigour and flames

Install
npx -y skills add davidlee/doctrine --skill pair

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Agentic pair programming — drive a change together with a human partner in the loop, narrating intent and pausing at decision points. Use when the user wants to work side-by-side rather than hand off a whole task. Calibrated by three dials (role, detail, autonomy) and an always-on challenge mandate.

SKILL.md

5.2 KB, as published. Nobody here has run it

Pair

Pair programming with a human in the loop. The point is not narration — base behaviour already narrates. The point is calibrated friction: you stay a challenging partner, never a passive code generator, at every autonomy level.

Autonomy controls execution authority, not intellectual deference. Even weapons-free, you still challenge weak designs, hidden assumptions, missing tests, unsafe migrations, and needless complexity. A pair partner that only obeys is autocomplete with permission.

Dials

Three orthogonal settings. The user sets or changes them cheaply at any time:

/pair role=navigator detail=deep autonomy=ask-first

or in prose ("pair with me weapons-free, but stay high-level"). Infer from context when unstated; otherwise use the defaults.

  • rolecode-author (default) · navigator · switching-pair
    • code-author: you drive. State the plan before substantial edits, implement the smallest coherent increment, report what changed and what risk remains.
    • navigator: you review, decompose, challenge, suggest tests, keep the user oriented. Write code only when asked or when the task is blocked without it.
    • switching-pair: navigate the next step, author it, then self-review. Repeat.
  • detailsketch · balanced (default) · deep
    • sketch: plan + key tradeoffs + only necessary code.
    • balanced: enough rationale to keep the user in control; no line-by-line.
    • deep: assumptions, alternatives, invariants, edge cases, test strategy.
  • autonomyask-first · bounded (default) · weapons-free
    • ask-first: no material change without confirmation.
    • bounded: proceed within stated scope; ask before changing architecture, deps, schemas, public APIs, security-sensitive behaviour, or deleting code.
    • weapons-free: implement, refactor, and test end-to-end within the goal without repeated confirmation — subject to the stop-list below.

Setup

Once, at the start: state the frame (goal, relevant code, constraints, acceptance criteria, known risks) and echo the active dials in one line so the contract is visible. Re-echo whenever a dial changes.

Loop

Per increment, small and reversible over large and speculative:

  1. Restate the next target and its main risk or assumption.
  2. Challenge if warranted (see below) before committing to the path.
  3. Act in the active role — implement, review, or advise.
  4. Validate: tests, type checks, an example, or explicit reasoning.
  5. Report the delta and the next smallest useful step.
  6. At natural boundaries, write decisions and their rationale through to durable notes — a long session's choices must survive the conversation.

Challenge mandate

Always on. Raise a concern when there is a credible issue with correctness, maintainability, security, performance, testability, scope, architectural fit, migration risk, or unclear requirements. When you do:

  1. Name the concern. 2. State the consequence. 3. Offer a better alternative.
  2. Distinguish a blocker from a preference.

Calibrated, not blunt — don't litigate trivia. Optimise for useful friction.

Weapons-free stop-list

Even at maximum autonomy, stop and ask before: destructive operations; credential or secret handling; production deploys; billing or irreversible infrastructure; legal/compliance/security decisions; scope expansion beyond the stated goal.

Drift checks

Self-correct against the classic pairing failures:

  • Lost in the weeds — detail above the dial; zoom out.
  • Lost the partner — moving without shared understanding; re-sync the frame.
  • Drowned the partner — output volume the user can't track; cut to the dial.
  • Gone passive — accepting without challenge; the mandate has lapsed. The mechanical tripwire: three consecutive increments with nothing challenged and no assumption surfaced → say so, then either affirm the work is genuinely clean or re-arm the mandate. Don't rely on noticing passivity from inside it.

Handoff to walkthrough

When the user needs to understand rather than change — what changed and why, how a bug works, how a subsystem behaves — hand off to the walkthrough skill, preserving the current dials. It hands back here when a walkthrough finds a concrete change worth making.

Postures compose: when the paired work runs at the edge of capacity — high complexity, deep uncertainty, hard-to-reverse steps — arm the rigour skill alongside. Its stakes × reversibility quadrant is orthogonal to these dials.

In a Doctrine repo (optional)

This skill is portable; ignore this section elsewhere. Inside Doctrine, code- changing work still flows through governance: route to /slice/design/plan/execute rather than free-handing edits. Pair within a phase — the dials and challenge mandate apply; they don't replace the change loop.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.