agentleFS
shinprshinpr/rashomon/skills/worktree-execution/SKILL.md

worktree-execution

Skill20 starsChanged 6 months agoMITView on GitHub

Creates, pins, and cleans isolated Git worktree pairs for comparison trials. Use only when a Rashomon prompt or skill evaluation needs paired execution environments or orphan recovery.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    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:

    After successful report generation

    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

Worktree Execution Skill

Architecture

Two isolated worktrees enable parallel prompt execution.

Orchestrator
    │
    ├── Create Worktrees (in ${TMPDIR:-/tmp}/)
    │       ├── worktree-rashomon-original-{timestamp}
    │       └── worktree-rashomon-optimized-{timestamp}
    │
    ├── Parallel Execution (Agent tool)
    │       ├── Execution 1 → worktree-rashomon-original
    │       └── Execution 2 → worktree-rashomon-optimized
    │
    ├── Collect Results (await both)
    │
    └── Cleanup Worktrees (always)

Worktree Management

Creation

Script: scripts/worktree-create.sh

# Default labels (original/optimized) for prompt eval
./scripts/worktree-create.sh [repo_root]

# Custom labels for skill eval
./scripts/worktree-create.sh [repo_root] baseline with-skill
./scripts/worktree-create.sh [repo_root] old-version new-version

# Pin every pair in an evaluation run to the same commit
./scripts/worktree-create.sh [repo_root] trial-a trial-b [base_sha]

Output (stdout):

/tmp/worktree-rashomon-{label_a}-20260114-123456
/tmp/worktree-rashomon-{label_b}-20260114-123456

Properties:

  • Location: ${TMPDIR:-/tmp}/
  • Naming: worktree-rashomon-{label}-{timestamp}
  • Branch: Detached HEAD at the pinned base commit
  • Base commit: Caller-supplied SHA, resolved once per evaluation
  • Active marker: Git worktree lock containing run ID, owner PID, start time, and lease expiry
  • Labels default to original / optimized if not specified

Cleanup

Script: scripts/worktree-cleanup.sh

# Remove all rashomon worktrees
./scripts/worktree-cleanup.sh [repo_root]

# Remove specific worktrees
./scripts/worktree-cleanup.sh [repo_root] path1 path2

# Remove registered orphaned worktrees, including expired Rashomon locks
./scripts/worktree-cleanup.sh --orphans [repo_root]

Cleanup Triggers:

  • After successful report generation
  • In finally block on any failure
  • On timeout
  • On startup (orphan detection)

Parallel Execution Principle

Key: To achieve true parallel execution, send both Agent invocations in a single message.

The calling command determines which agents to invoke and how to structure the Agent invocations. This skill provides only the worktree infrastructure.

Error Handling (Worktree Operations)

ScenarioBehavior
Creation failsReport git error, suggest checking repository state
Cleanup failsLog warning, attempt orphan cleanup on next run
Unlocked orphanRemove registered Rashomon worktree after 1 hour
Crashed locked runRemove after owner disappearance plus orphan age, or after lease expiry
Active long runSet RASHOMON_LEASE_SECONDS before creation so the lease covers the run

Scripts Reference

worktree-create.sh

Exit CodeMeaning
0Success
1Not a git repository
2Creation failed

worktree-cleanup.sh

Exit CodeMeaning
0Success (or nothing to clean)
1Not a git repository
2Cleanup partially failed

Constraints

  • No concurrent comparisons: One rashomon execution per repository
  • Git required: A version supporting git worktree lock
  • Disk space: Sufficient space for worktree copies

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.