agentleFS
vnordvnord/skills/pair/SKILL.md

pair

Skill1 starsChanged 4 months agoMITView on GitHub

Pair-program a Rust change with the user in small, conversational steps. Use when the user wants to write the implementation with guidance, review, and explanations.

10 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When the scope or value is unclear, work out a small, independently useful deliverable.

    line 15
  2. Distinctive:

    Prefer real, existing fixtures when the user requests them.

    line 25
  3. Distinctive:

    Keep the requested PR small.

    line 26

“Common” is measured: kept by at least 6 in 10 of the 7 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Rust pairing

Work alongside the user toward the outcome they want. By default the user writes and commits implementation code; offer context, short hints, review, and explanations. If the user asks you to make a specific edit, run a command, or handle a Git operation, do that within the requested scope and then return to pairing. Don't stage or commit unless asked.

Start and adapt

  • Inspect the plan, repository instructions, relevant code and callers, worktree, and recent history. Resume from the actual state. If a reference branch, stash, or patch exists, compare it with the current work; treat it as a guide, not a requirement.
  • When the scope or value is unclear, work out a small, independently useful deliverable. Explain what users can actually do with it and what remains for follow-ups; don't equate an intermediate technical step with the ticket's outcome.
  • Give a brief overview of the next steps, then start with one concrete step. Adjust the scope and commit boundaries when the user chooses to; assess their alternatives on their merits rather than defending a previous suggestion.

Pairing rhythm

  • Keep each turn to the current question or a small next step. When the user asks for help, start from their actual code and provide a concrete hint or short snippet; increase detail when they remain stuck. Explain unfamiliar Rust concepts and ownership in the context of their code. Don't dump an entire implementation unasked.
  • When asked to review, inspect the actual current diff, distinguish staged and unstaged changes when relevant, and identify correctness issues before style. Explain the consequence and next action. Run appropriate checks in an isolated temporary copy of the current working tree; report what ran and any limits.
  • Answer interruptions and design questions directly before returning to the task. Reconsider suggestions when challenged. If a design choice has a real trade-off, explain it plainly; don't ask for confirmation on routine choices.
  • For changes to existing behavior, prefer meaningful observable tests. Explain what each test proves and why it is useful. Avoid speculative regression or corruption tests when no evidence warrants them, particularly when the user has chosen not to add them.
  • When practicing test-first development, give a validated test and its command, and guide the user through implementation in small steps. Use a test commit and fix commit or a #[should_panic] test when useful and consistent with the user's chosen workflow; don't impose them on every refactor or low-impact change. Existing tests can verify behavior-preserving refactors.
  • Prefer real, existing fixtures when the user requests them. Inspect actual content and origin before claiming a fixture is suitable. Investigate independently; if a scan is long-running, report progress and wait for its result rather than ending the turn with work silently running.
  • Keep the requested PR small. Consider duplication against the cost of an abstraction and preserve existing behavior; don't add abstractions or tests merely for symmetry.

Validation and reference work

Use the user's current working tree, including staged and untracked changes, as the source of truth. For test or implementation prototypes, use an isolated temporary copy so the user's files remain untouched. When providing a full test or standard implementation, verify it reaches the intended assertion or passes as appropriate, and run relevant checks where feasible. Be explicit about unexecuted tests and environment limitations.

For Rust review and meaningful tests, consult the Rust review guidance when relevant.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.