agentleFS
rizukirrrizukirr/vibekit/skills/repl/SKILL.md

repl

Skill20 starsChanged 3 months agoMITView on GitHub

Use when the user types /vibekit:repl: runs brainstorm with the user, then carries plan, exec, verify and debug to the end with no human input, deciding by decide's rules and stopping only for what the user alone can decide.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After the spec is approved, nothing waits for the user until the run ends.

    line 13
  2. Very specific:

    Write the answer under the spec's ## Constraints as Run limits: at most N verify rounds, at most $M on paid runs, and commit it with the …

    line 25
  3. Very specific:

    Create branch repl/<topic> in a worktree at .vibe-worktrees/<topic>, off the current branch.

    line 32
  4. Very specific:

    Add .vibe-worktrees/ to .git/info/exclude if it is not there.

    line 33
  5. Distinctive:

    Commit the spec on the run branch.

    line 34
  6. Very specific:

    Start the decision log at .vibe-worktrees/<topic>.decisions.tsv with the header row ts phase decision why evidence result.

    line 35
  7. Very specific:

    Run plan, exec, verify and debug exactly as written, every one of them, however small the change looks.

    line 39
  8. Distinctive:

    Never delete a goal, weaken a goal or its criterion, or move a goal into the non-goals.

    line 61
  9. Distinctive:

    Never push, open a pull request, or merge.

    line 77

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

repl

The user designs. You run the rest.

After the spec is approved, nothing waits for the user until the run ends. You sit in the user's seat for every question the pipeline would ask, answer it by decide, and log the answer.

1. Brainstorm with the user

Invoke brainstorm with the intent. It runs exactly as it always does: questions, pushback, approaches, design sections, the spec, and the user's approval. Nothing is automated here.

2. Run limits

Right after the user approves the spec, ask once:

Run limits: at most 3 verify rounds, at most $0 on paid runs. Reply with other numbers, or accept these.

Write the answer under the spec's ## Constraints as Run limits: at most N verify rounds, at most $M on paid runs, and commit it with the approval. This is the last point that waits for the user.

A goal whose only criterion is a paid run, with no budget left for it, cannot be measured. The run pauses on it rather than spending.

3. Set up

  1. Invoke decide. It stays on for the rest of the run.
  2. Create branch repl/<topic> in a worktree at .vibe-worktrees/<topic>, off the current branch. exec refuses to run without one.
  3. Add .vibe-worktrees/ to .git/info/exclude if it is not there. Never edit .gitignore.
  4. Commit the spec on the run branch. If its path is gitignored, force-add it there: the branch is local, so this is a two-way door.
  5. Start the decision log at .vibe-worktrees/<topic>.decisions.tsv with the header row ts phase decision why evidence result.

4. The pipeline

Run plan, exec, verify and debug exactly as written, every one of them, however small the change looks. Making a change yourself instead of through exec is never yours to decide. Where a skill would wait for the user, you answer:

The skill asksYou answer
plan: review the planapprove once its self-review has passed
exec: needs-inputdecide picks an option, plan amends the plan in its own commit, and the task is dispatched fresh
exec: blocked or a scope violationdebug, with the report as the failure
verify: not readythe route verify names: a failing test or build to debug, a goal the plan cannot satisfy to plan as a new task, a ladder violation to exec as a new task
verify: ready with warns or nits openanother round, fixing them like blockers
debug: approve the reportapprove once its refuter has run and its guard test is named
a one-way door, unreproducible, or refuted twicepause

5. Rounds

A round is one verify pass plus the fixes it routes. Count rounds against the cap and money against the budget, and log both as they change.

A round that ends with the same or more findings than it started with did not help. Undo its fix commits with git revert, never a reset, log it, and change approach in the next round.

6. Amending the spec

You may add a goal or a non-goal for behaviour the spec does not cover, or record one reading of an ambiguous requirement. Each amendment is its own commit, spec: amend <topic>: <one line>, with a log row.

Never delete a goal, weaken a goal or its criterion, or move a goal into the non-goals. If weakening is the only way forward, pause.

7. The decision log

One row per decision, with the columns ts, phase, decision, why, evidence and result. Evidence is a pointer, such as a commit, a file:line or a command, never prose. The log is append-only: a wrong call gets a new row that supersedes it.

The log sits beside the worktree, not in it, so verify's clean-tree and scope checks never see it.

8. Endings

  • done: verify, invoked in this run, returns ready, no blocker is open, and every warn or nit still open at the cap carries a ruling.
  • paused: the run reached something only the user can decide.
  • capped: the round cap was reached with a blocker still open.

On every ending, commit the work on the run branch. For paused and capped, write a resume note to .vibe-worktrees/<topic>.resume.md with the intent, what is verified, the current state and the first action on resume. Check that every evidence commit in the log exists with git cat-file -e, and that every row matches something that happened in this session. Then report.

Never push, open a pull request, or merge. Integration belongs to the user, after they read the report.

The report

Ending:     done | paused | capped, and HEAD
Verdict:    verify's last verdict, each goal with its evidence
Amended:    every spec amendment, or none
Set aside:  every finding set aside, with its ruling, or none
Rulings:    how many, and the log path
Spent:      money spent on paid runs, against the budget
Paused on:  the door or dead end and the resume note path, for paused or capped

Handoff

None of your own. retro fires after the report when a debug report in the run carried a Class: other than none. Otherwise the user takes it from the report.

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.