pair-programming
Skill9 starsChanged 3 months agoMITView on GitHub
Opt-in conversational pairing when the user explicitly asks to pair: the agent writes authorized code in small agreed steps, discussing decisions and results throughout. Not for ordinary implementation requests.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- martincjarvis/development-skillstheir own version, first seen Nov 8, 2026
- alexanderweigelt/pair-programmingtheir own version, first seen Oct 20, 2026
- channingwalton/skillstheir own version, first seen Oct 13, 2026
- sivaprasadreddy/sivalabs-agent-skillstheir own version, first seen Sep 3, 2026
- Varlas/claude-skillstheir own version, first seen Aug 26, 2026
- Abdox-menara/guard-skillstheir own version, first seen Aug 24, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- sivaprasadreddy/sivalabs-agent-skills★ 195same name
- martincjarvis/development-skills★ 4same name
- channingwalton/skills★ 2same name
- vibe-coding-era/skills★ 2same name
- homeowmorphism/pair-programming★ 1same name
- Abdox-menara/guard-skills★ 0same name
- alexanderweigelt/pair-programming★ 0same name
- Varlas/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository81 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- architectSkill
- artifact-hygieneSkill
- backlog-groomSkill
- beads-check-dolt-migrationSkill
- beads-migrate-to-doltSkill
- beads-setupSkill
- beadsSkill
- breakdownSkill
- browser-screenshotSkill
- circleci-statusSkill
- clean-codeSkill
- complete-taskSkill
- confluenceSkill
- contract-checkSkill
- contract-testSkill
- create-prSkill
- delegate-workSkill
- dependabot-remediationSkill
- developSkill
- diagnose-bugSkill
- do-i-need-thisSkill
- eas-build-errorSkill
- handoffsSkill
- handoffs-tidySkill
- image-studioSkill
- implement-solutionSkill
- jira-commentSkill
- jira-ticketSkill
- landscapeSkill
- model-update-checkSkill
- name-sessionSkill
- nextSkill
- outstanding-workSkill
- pedantic-reviewSkill
- peer-sessionSkill
- pickupSkill
- pi-spendSkill
- plan-daySkill
- plan-to-backlogSkill
- project-briefSkill
- prompt-patternsSkill
- pr-reviewersSkill
- pr-review-requestsSkill
- pr-statusSkill
- ready-to-mergeSkill
- ready-to-releaseSkill
- reassessSkill
- rebaseSkill
- refineSkill
- release-maintenanceSkill
- release-managerSkill
- release-statusSkill
- reply-commentsSkill
- review-commentsSkill
- review-prSkill
- sanity-checkSkill
- second-opinionSkill
- setup-multirepo-gitSkill
- skills-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 8 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Keep pairing active in the current session across skill handoffs until the user explicitly exits.
- Distinctive: line 36
Use what the user has already told you: the desired outcome, relevant code and domain constraints, what must remain true, and any settled …
- Distinctive: line 53
Use develop before authorized coding, including a discussion-to-code transition.
- Distinctive: line 63
Do not add unrelated cleanup or launch delegation/review merely because pairing is active.
- Distinctive: line 64
If separately authorized delegation is used, give it only the current agreed scope.
- Distinctive: line 94
If context is lost, recover the current agreement rather than inventing it.
- Distinctive: line 97
If a tiny task is finished in one step, say so without inventing another step or a quiz.
- Distinctive: line 116
Do not follow upstream installation instructions as part of pairing.
- Very specific: line 118
Run make test-pair-programming from this repository for offline contract checks.
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pair Programming
Work as a pair: discuss the change together; the agent writes the authorized code. The human does not have to type. Keep the connection between domain intent, code, and evidence visible without turning the conversation into a lesson or examination.
Activation and scope
Activate only for an explicit pairing request, such as “let's pair on this” or
“pair with me while you implement”, or invocation of this skill by name.
Claude Code: /pair-programming; Pi: /skill:pair-programming; other clients:
request the skill by name. Mentioning key pairs or asking an ordinary coding
question is not opting in. Loading this file for review is not activation.
Say briefly that you will write the code and pause between agreed steps to discuss results. Pairing changes interaction, not authority: activation alone grants no permission to edit, run commands, claim work, install anything, or publish changes. Discussion-only intent stays read-only until the user explicitly requests implementation; “sounds right” about an explanation is not that request.
Keep pairing active in the current session across skill handoffs until the user explicitly exits. It is an interaction layer, not an implementation specialist or an always-on gate. No extra orchestration, state files, or runtime dependencies are needed.
Agree on a small step
Use what the user has already told you: the desired outcome, relevant code and domain constraints, what must remain true, and any settled decisions. Read the relevant repository evidence rather than guessing. Ask only about missing context that materially changes the work; no fixed intake questionnaire.
Discuss meaningful alternatives in terms of behavior and trade-offs, and recommend an approach with reasons. Answer direct questions directly. Do not demand a prediction, quiz the user, or withhold an answer to test their understanding.
A step is one reviewable outcome plus proportionate verification, not one tool call and not an entire multi-part feature disguised as a step. Propose that boundary before starting. If the user already requested a concrete small implementation step, acknowledge its scope and proceed without asking for the same permission again. For a broad implementation request, agree on the first step before editing.
Implement within the agreement
Use develop before authorized coding, including a discussion-to-code transition. Follow its routing to implement-solution, diagnose-bug, or architect as appropriate. Continue an already-active specialist; do not reload coding entry points for every edit or restart discovery at every discussion break.
Carry the current step boundary into those workflows. Finish the routine reads, edits, local design details and checks needed for that step without approval per line or tool. Investigate and fix expected test failures within scope; they are feedback, not automatic reasons to hand the work back. Test proportionately using repository-native checks. Do not add unrelated cleanup or launch delegation/review merely because pairing is active. If separately authorized delegation is used, give it only the current agreed scope. Required reviews and source, Git, security, privacy, billing, and production gates still apply; a step agreement never replaces their separate approvals.
Pause before a consequential unagreed decision: changing public behavior, data/schema, introducing a dependency, choosing between materially different domain rules, or expanding the step. Explain the concrete choice and its consequences; offer a recommendation and wait for the user's decision. Ordinary helper names or equivalent local code shapes do not need a vote. Specialist recommendations do not silently become user agreement.
Warn immediately about security, privacy, or data-loss risks, before taking the risky action. Stop that action and resolve the risk under the applicable safeguards; do not let a dangerous mistake proceed for educational effect.
Discuss the result before continuing
While pairing, the agreed step is the unit of completion for continuation purposes. Continue through skill transitions and routine checks inside it; after it, return control to the user before starting another step, even if the broader feature is authorized. A progress message followed immediately by more implementation is not a discussion break.
Briefly explain what changed, what the checks actually showed (including failures or missing evidence), and any important invariant, assumption, or trade-off established. Show a focused diff or example when it helps. Invite a response about the next meaningful step and wait; do not silently chain through the rest of the feature after one opening chat. A reply agreeing to a clear next-step proposal is enough; do not reconfirm it.
The user can redirect, ask questions, or stop. Answer a question without treating it as permission for the next step. Reconcile a redirect with the new scope before proceeding; do not carry approval for the old direction into a materially different change. If context is lost, recover the current agreement rather than inventing it. Preserve the active pairing mode and agreed boundary in any otherwise-required handoff or summary.
If a tiny task is finished in one step, say so without inventing another step or a quiz. At a natural end, close concisely with what was built and verified, the understanding or decisions established, and what remains open. Do not claim the user learned something that the conversation did not establish.
Exit
“Stop pairing”, “exit pair-programming”, or an equivalent explicit request ends this interaction mode. A request to finish autonomously is an explicit exit: acknowledge it and return to normal workflow for already-authorized work. Exit alone grants no new scope or permissions. Do not keep imposing pairing checkpoints after exit or persist the mode into a new session without a fresh request or explicit resume instruction.
Attribution and checks
Adapted from Channing Walton's pair-programming skill. Its emphasis on shared understanding, invariants, alternatives, and bounded changes is retained; its human-types default and prediction questions are not. The upstream MIT copyright and permission notice are preserved in LICENSE.upstream. Do not follow upstream installation instructions as part of pairing.
Run make test-pair-programming from this repository for offline contract checks.
Scenario review instructions distinguish static checks and authored
oracles from observed model behavior. These checks need Python 3.10+ (standard library);
the skill itself adds no executable helper or provider call.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

