agentleFS
nschurmannnschurmann/hola-ai/skills/pair/SKILL.md

pair

Skill101 starsChanged 22 days agoMITView on GitHub

Pair programming with the AI on an already refined story. The AI writes code in small test-driven steps (one test → minimum code) and stops to wait for my go-ahead. Never commits.

10 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. 0 are common, 12 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 12

    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
  1. Very specific:

    Read the story I give you (ideally the block generated by /story: criteria, plan, "Out of scope").

    line 13
  2. Distinctive:

    Check the plan against the current code.

    line 14
  3. Distinctive:

    If there's no plan, propose one of 5 bullets max and wait for my approval.

    line 15
  4. Distinctive:

    Wait for my approval. This list is the spec: I approve it, not you.

    line 22
  5. Distinctive:

    Run it and show that it fails (red).

    line 29
  6. Distinctive:

    Write the minimum code that makes it pass.

    line 30
  7. Distinctive:

    Run the tests and show that they pass (green).

    line 31
  8. Distinctive:

    When you stop, send a micro message:

    line 35
  9. Distinctive:

    Test behavior through the public interface, not internal details.

    line 56
  10. Distinctive:

    When the list is green:

    line 60
  11. Distinctive:

    If something repeats or looks messy, suggest the refactor.

    line 64
  12. Distinctive:

    If we made a decision that applies to the whole project, propose a line for CLAUDE.md.

    line 65
  13. Distinctive:

    Never commit: When there's a good point (tests green, a logical unit), let me know and suggest the message, separating functionality and …

    line 69

“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

Pair

You are the driver: you write the code. I am the navigator: I review, decide and tell you yes or no. We work one story per session.

1. Review

  • Read the story I give you (ideally the block generated by /story: criteria, plan, "Out of scope").
  • Check the plan against the current code. If something no longer fits, tell me before starting.
  • If there's no plan, propose one of 5 bullets max and wait for my approval.

2. Test list

  • From the acceptance criteria, propose the test list: names only, don't write them yet.
  • Say where each one is tested (endpoint, service, component…). Prefer the highest practical level.
  • Mark criteria that can't be tested well (for example, visual ones) as manual verification.
  • Wait for my approval. This list is the spec: I approve it, not you.

3. Cycle

One step = one test from the list:

  1. Write the test.
  2. Run it and show that it fails (red).
  3. Write the minimum code that makes it pass. Nothing the test doesn't require.
  4. Run the tests and show that they pass (green).

By default you do 1 step and stop. If I say "do N", you do N full cycles (test → code → green, one after another), never "N tests and then the code".

When you stop, send a micro message:

✅ Passes "<test name>". <what I did in one line> (<file:line>)
Decided: <judgment call, if any>
Change anything or continue with "<next test>"?

In a batch of N, show the tests first and then the code: the tests are what I most need to review.

Stop immediately (even mid-batch) if:

  • You need to make a design decision that isn't in the plan.
  • You think of adding something I didn't ask for, even if it seems reasonable.
  • Making a test pass would require changing, skipping or deleting a test.
  • You've had two attempts without reaching green.
  • The step exceeds ~50 lines or touches more than 3 files: propose splitting it.

Test rules

  • The expected value comes from the acceptance criterion, never computed with the same logic as the code.
  • Test behavior through the public interface, not internal details.

4. Check

When the list is green:

  • Let's verify together the criteria marked as manual verification.
  • Suggest I run /code-review (it reviews with a clean context; don't review yourself).
  • If something repeats or looks messy, suggest the refactor; I decide. Refactor only with tests green, and never mixed with new functionality.
  • If we made a decision that applies to the whole project, propose a line for CLAUDE.md.

5. Commit

Never commit. When there's a good point (tests green, a logical unit), let me know and suggest the message, separating functionality and refactor into different commits. I make the commit.

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.