Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create or sync session worktree for parallel dev
.claude/skills/catlog22-maestro-fork/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 3% | 0% |
<required_reading> @~/.maestro/workflows/run-mode.md @~/.maestro/workflows/codex-run-mode.md </required_reading>
<purpose> Create or sync a session-level git worktree for parallel development. Supports --sync mode to pull latest main changes into an active worktree. </purpose>
<deferred_reading>
</deferred_reading>
<context> $ARGUMENTS -- session ID (or slug) and optional flags.
Terminology: this command uses 'session' throughout. The underlying workflow file (fork.md) may use 'milestone' as a legacy alias for 'session'. Treat them as equivalent: --session maps to workflow's -m, state.json.sessions[] maps to state.json.milestones[].
--base <ref>: git ref (branch, tag, or commit hash) to fork from. Default: HEAD.
Modes (Fork / Sync), flags (--session, --base, --sync), session resolution, worktree layout, and artifact scoping are defined in workflow fork.md. </context>
<execution> Follow '~/.maestro/workflows/fork.md' completely.
Fork and sync algorithm steps are defined in workflow fork.md.
Fork mode:
GATE 1: Validation → Worktree Creation
state.json.sessions[] by session_id or intent slug.GATE 2: Worktree Creation → Artifact Copy
session/{slug})..workflow/ files copied (project.md, config.json, specs/).GATE 3: Artifact Copy → Completion
worktree-scope.json written with session scope (after confirmation).state.json written (only this session's data) (after confirmation).worktrees.json registry updated in main worktree (after confirmation).Sync mode:
GATE: Sync → Completion
</execution>
<completion>
| Condition | Suggestion | |-----------|-----------| | Fork complete | cd {wt.path} then step analyze — open a v3 Session (maestro session open "<goal>" --id YYYYMMDD-analyze-{topic} --chain analyze --participant {p} --actor {a} --request-id {r} --reason "<reason>" --json → fenced maestro run next --session {session_id} ... --json), or route via /maestro-next | | Fork + automated | maestro delegate "run full lifecycle for session" --cd {wt.path} --mode write | | Sync complete | Resume work in worktree | | Sync conflicts found | Resolve manually, then retry | </completion>
<error_codes> | Code | Severity | Condition | Recovery | |------|----------|-----------|----------| | E001 | error | Project not initialized | Run maestro-init first | | E002 | error | No roadmap found | Run step roadmap first — open a v3 Session (maestro session open "<goal>" --id YYYYMMDD-roadmap-{topic} --chain roadmap ... --json → fenced maestro run next) | | E003 | error | Running inside a worktree | Run from main worktree | | E004 | error | No session ID provided | Provide --session <session_id> | | E005 | error | No sessions defined in state.json | Run step roadmap first — open a v3 Session (maestro session open "<goal>" --id YYYYMMDD-roadmap-{topic} --chain roadmap ... --json → fenced maestro run next) | | E006 | error | Session not found in state.json.sessions] | Check available sessions | | E007 | error | No active worktree for session (--sync) | Check worktrees.json | | E008 | error | Session already has active worktree | Merge or cleanup first | </error_codes>
<success_criteria> Fork mode:
session/{slug}).workflow/ files copied (project.md, config.json, specs/)worktree-scope.json written with session scopestate.json written (only this session's data)worktrees.json registry updated in main worktreeSync mode:
</success_criteria>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→fail | 5,971 | 7,655 | +28% | 1 | 1 | 0% | 984 | 1,769 | +80% | 0 | 0 | — |
case-05 | fail→fail | 4,313 | 5,996 | +39% | 1 | 1 | 0% | 245 | 1,646 | +572% | 0 | 0 | — |
case-01 | fail→fail | 11,724 | 5,562 | -53% | 1 | 1 | 0% | 2,015 | 1,690 | -16% | 0 | 0 | — |
case-02 | fail→fail | 6,681 | 6,278 | -6% | 1 | 1 | 0% | 1,034 | 1,701 | +65% | 0 | 0 | — |
case-03 | pass→fail | 7,677 | 7,272 | -5% | 1 | 1 | 0% | 1,248 | 1,708 | +37% | 0 | 0 | — |
case-06 | fail→fail | 2,896 | 7,878 | +172% | 1 | 1 | 0% | 357 | 1,858 | +420% | 0 | 0 | — |
case-07 | fail→pass | 11,318 | 4,798 | -58% | 1 | 1 | 0% | 1,765 | 2,157 | +22% | 0 | 0 | — |
case-08 | fail→pass | 9,652 | 4,159 | -57% | 1 | 1 | 0% | 1,407 | 2,053 | +46% | 0 | 0 | — |
case-09 | fail→pass | 9,595 | 3,591 | -63% | 1 | 1 | 0% | 1,467 | 1,959 | +34% | 0 | 0 | — |
case-10 | pass→pass | 9,839 | 3,421 | -65% | 1 | 1 | 0% | 1,456 | 1,976 | +36% | 0 | 0 | — |
case-11 | pass→pass | 6,418 | 4,291 | -33% | 1 | 1 | 0% | 763 | 2,095 | +175% | 0 | 0 | — |
case-12 | fail→pass | 11,381 | 2,806 | -75% | 1 | 1 | 0% | 1,480 | 1,830 | +24% | 0 | 0 | — |
case-13 | pass→pass | 5,508 | 4,046 | -27% | 1 | 1 | 0% | 801 | 1,934 | +141% | 0 | 0 | — |
case-14 | fail→pass | 12,183 | 2,814 | -77% | 1 | 1 | 0% | 1,823 | 1,884 | +3% | 0 | 0 | — |
case-15 | fail→pass | 8,669 | 2,107 | -76% | 1 | 1 | 0% | 1,428 | 1,736 | +22% | 0 | 0 | — |
case-16 | fail→pass | 10,929 | 2,681 | -75% | 1 | 1 | 0% | 1,568 | 1,867 | +19% | 0 | 0 | — |
case-17 | fail→pass | 7,260 | 2,315 | -68% | 1 | 1 | 0% | 1,045 | 1,769 | +69% | 0 | 0 | — |
case-18 | fail→pass | 10,912 | 3,051 | -72% | 1 | 1 | 0% | 1,544 | 1,912 | +24% | 0 | 0 | — |
case-19 | fail→pass | 10,928 | 3,358 | -69% | 1 | 1 | 0% | 1,520 | 1,901 | +25% | 0 | 0 | — |
case-20 | pass→pass | 5,519 | 2,357 | -57% | 1 | 1 | 0% | 735 | 1,747 | +138% | 0 | 0 | — |
case-21 | pass→pass | 13,736 | 3,952 | -71% | 1 | 1 | 0% | 1,967 | 2,000 | +2% | 0 | 0 | — |
case-22 | fail→pass | 5,822 | 2,666 | -54% | 1 | 1 | 0% | 831 | 1,756 | +111% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 16 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.