Source profileQuality 85/100

aigengame/godot-agent/.agents/skills/subagent-worktree-parallel/SKILL.md

subagent-worktree-parallel

Orchestrates parallel development by fanning out independent feature slices to subagents in isolated git worktrees, then merging them serially under an orchestrating agent — covers dependency decomposition, wave sizing, dispatch prompts, merge-conflict hazards, and the integration-test gate. Use when planning to parallelize implementation across multiple subagents/worktrees, split a task for concurrent agents, fan out feature slices, or merge several feature branches back together; or invoked as

Source repository stars
28
Declared platforms
0
Static risk flags
0
Last source update
2026-08-05
Source checked
2026-08-05

Decision brief

What it does—and where it fits

Parallelize the doing; serialize the merging. Worktree isolation removes write conflicts during implementation but only defers integration conflicts to shared "hotspot" files. Whether the model pays off depends almost entirely on how much your slices touch shared code — so fan o…

Best for

  • Fan out across genuinely independent modules/subsystems whose code is disjoint.
  • Serialize instead when slices are tightly coupled — two slices that both extend

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/aigengame/godot-agent --skill ".agents/skills/subagent-worktree-parallel"
Safe inspection promptEditorial

Inspect the Agent Skill "subagent-worktree-parallel" from https://github.com/aigengame/godot-agent/blob/40de7e52ce32bf205511ca23d7607ba9fb72ca3e/.agents/skills/subagent-worktree-parallel/SKILL.md at commit 40de7e52ce32bf205511ca23d7607ba9fb72ca3e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    1. Decompose + analyze dependencies. Split the work into vertical slices. Mark which are independent (parallel-safe) vs. coupled (must serialize). Up front, identify the append hotspots — central registries, enums, dispatch tables, render/plugin maps, shared test files that ever…

    Decompose + analyze dependencies. Split the work into vertical slices. Mark whichPlan waves. Group independent slices into waves of ≤ 5; sequence coupled slicesFan out to implement. Launch one subagent per slice in its own git worktree, each
  2. 02

    When to use

    Fan out across genuinely independent modules/subsystems whose code is disjoint.

    Fan out across genuinely independent modules/subsystems whose code is disjoint.Serialize instead when slices are tightly coupled — two slices that both extend- Fan out across genuinely independent modules/subsystems whose code is disjoint. - Serialize instead when slices are tightly coupled — two slices that both extend the same component, or both append to the same shared f…
  3. 03

    Core principles (non-negotiable)

    Group-external parallel, group-internal serial. Only independent modules run in

    Group-external parallel, group-internal serial. Only independent modules run inSmall batches (≤ 5), merge before the next wave. Each rebase then lands on aThe integration-tier test is the Definition of Done — and so is the rest of the

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score85/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars28SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
aigengame/godot-agent
Skill path
.agents/skills/subagent-worktree-parallel/SKILL.md
Commit
40de7e52ce32bf205511ca23d7607ba9fb72ca3e
License
MIT
Collected
2026-08-05
Default branch
main
View the original SKILL.md

Subagent + Worktree Parallel Development

Parallelize the doing; serialize the merging. Worktree isolation removes write conflicts during implementation but only defers integration conflicts to shared "hotspot" files. Whether the model pays off depends almost entirely on how much your slices touch shared code — so fan out independent work, but treat merging as an ordered, serial, verified step.

See REFERENCE.md for the full recipes (dispatch prompt template, merge configurations, the silent-merge-hazard catalog, the pre-launch checklist, and the cost/benefit table).

When to use

  • Fan out across genuinely independent modules/subsystems whose code is disjoint.
  • Serialize instead when slices are tightly coupled — two slices that both extend the same component, or both append to the same shared file, will collide at merge. Coupled work is sequenced, not parallelized.

Core principles (non-negotiable)

  • Group-external parallel, group-internal serial. Only independent modules run in parallel. Within one module, land the foundational "tracer" first and merge it, then fan out its round-outs — parallel siblings duplicate-scaffold and collide.
  • Small batches (≤ ~5), merge before the next wave. Each rebase then lands on a stable base; large waves create a merge treadmill (every merge re-conflicts the rest) and raise the odds a subagent is truncated at a run limit.
  • The integration-tier test is the Definition of Done — and so is the rest of the PR-CI gate list. A fast tier that stubs the integration boundary passes even on a broken merge: DoD must run the tier that really exercises the boundary (integration / e2e / compile or a parse --check-only). Beyond the test tiers, DoD must also mirror the repo's non-test PR-CI gates — read the gate list off the CI workflow itself, not from memory: typically the formatter check, linter, typecheck, and build/packaging — invoked exactly as CI invokes them. A green test run with a red format check still bounces the PR (every slice of one real wave tripped this). (REFERENCE §3, §6)
  • The orchestrator (the "lead") independently re-verifies before merging. Subagent implements and commits (its own branch, in its worktree); the lead re-runs tests and spot-checks the diff. "Done but no artifact" = needs takeover.
  • PR creation and its body are the orchestrator's, not the subagent's. A PR is a merging artifact, not a doing one: the subagent commits and pushes its branch but does not open the PR — the lead opens every PR and owns its body, base, labels, and the close-vs-reference keyword. That applies PR conventions in one place and lets the lead re-verify a slice against its spec before the PR exists. Subagent-authored PRs reliably omit or misplace the close keyword even when the brief demands it, so owning PR creation closes that gap by construction rather than by a fragile after-the-fact check.
  • Closes #N is a per-PR decision the lead makes after verifying — not a default. Tag a PR Closes #N only when it fully satisfies the linked issue (all acceptance criteria, verified). A tracer, a round-out, or a stacked/multi-wave slice that only advances an issue must use a non-closing Refs #N, or the first partial merge closes the issue prematurely. The subagent reports whether its slice fully satisfies the issue; the lead decides the keyword.
  • Stacked PRs are live dependencies until merged. When a base PR receives review fixes or is squash-merged, every dependent PR must be re-evaluated: rebase/retarget it, update stale PR body text and close-vs-reference keywords, then rerun the real gates on the new head. Old green CI on the stacked base is not merge evidence.
  • Public docs and agent-facing docs are integration surfaces. If a slice changes a user/agent-visible behavior or public shape, verify the whole surface chain for that slice and its dependents — CLI/help, schemas, user docs, generated or translated docs, and bundled skills/agent guidance. Code tests alone can miss a documentation contract gap or a stale generated marker.
  • Disjointness is a merge-cost heuristic, not an architecture goal. Never let "keep slices disjoint / avoid the append hotspot" suppress a sound design decision — a legitimate shared-module edit, deep-module reuse, or a single source for a public shape. When they conflict, serialize that slice's merge rather than degrade the architecture; and make "did this slice reuse the existing deep module (not re-implement it in isolation)?" part of each subagent's DoD — wired into the dispatch-prompt DoD and the pre-launch checklist, not just prose. (REFERENCE §1, §3, §9)

Workflow

decompose + dependency analysis → plan waves → fan out (implement) → verify + open PRs (per slice) → merge serially (dependency order)
  1. Decompose + analyze dependencies. Split the work into vertical slices. Mark which are independent (parallel-safe) vs. coupled (must serialize). Up front, identify the append hotspots — central registries, enums, dispatch tables, render/plugin maps, shared test files that every slice edits — that is where merge cost concentrates — and give each hotspot exactly one owner slice for the wave; the others flag needed changes instead of editing. (REFERENCE §1)
  2. Plan waves. Group independent slices into waves of ≤ ~5; sequence coupled slices tracer-first. Decide the merge order now. (REFERENCE §2)
  3. Fan out to implement. Launch one subagent per slice in its own git worktree, each with a dispatch prompt that pins it to its worktree, tells it to commit early and push its branch but not open the PR (the orchestrator does), and bakes the integration-tier test into its DoD. (REFERENCE §3)
  4. Verify, open PRs, take over. As each implementer finishes — and before anything merges — re-run the integration tier yourself; run shared-global-resource tests serially; audit any public docs/agent docs surface; treat any "completed but no commit/push" report as needs-takeover, not success. You (not the subagent) open each PR, choosing Closes #N only when the slice fully satisfies its issue (else Refs #N). (REFERENCE §6, §7)
  5. Merge serially in dependency order. Tracer first → rebase followers onto the new base → independent groups can merge in any order; a clean rebase still gets the integration gate. Re-poll mergeability after each merge. For stacked PRs, retarget followers after the base lands and update any stale Refs/Closes or recorded verification text before merging. Watch for the two marker-free conflict traps. (REFERENCE §4, §5)

This path is not one-shot: independent review sends merged-ready slices back, and remediation reshapes the plan. A review/fix round is a re-dispatch — resume the original implementer with its context where possible, restate the full dispatch discipline (worktree pinning, commit-early, the full DoD gates — integration tier plus the PR-CI gate list), and require one commit per finding so a mid-round kill is cheap to take over. The lead then re-verifies and closes the loop on the review channel — e.g. a reply mapping each finding → resolution — keeping the PR/change description current where the host supports it. Re-derive the overlap map and merge order as fixes land, verify each slice against its originating spec (not just its own green tests), and fix a finding at the altitude of its true cause, not where it surfaced. (REFERENCE §1, §6, §7)

When append hotspots keep dominating merge cost, the durable fix is architectural — split them into per-module fragments that auto-aggregate (REFERENCE §8). Run the pre-launch checklist (REFERENCE §9) before every wave.

Alternatives

Compare before choosing

Computed 10023,835

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 1004,944

dotnet/skills

migrate-vstest-to-mtp

Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

Computed 984,944

dotnet/skills

maui-dependency-injection

Guidance for configuring dependency injection in .NET MAUI apps — service registration in MauiProgram.cs, lifetime selection (Singleton / Transient / Scoped), constructor injection, Shell navigation auto-resolution, platform-specific registrations, and testability patterns. USE FOR: "dependency injection", "DI setup", "AddSingleton", "AddTransient", "AddScoped", "service registration", "constructor injection", "IServiceProvider", "MauiProgram DI", "register services", "BindingContext injection".

Computed 983,252

davepoon/buildwithclaude

circleci-automation

Automate CircleCI tasks via Rube MCP (Composio): trigger pipelines, monitor workflows/jobs, retrieve artifacts and test metadata. Always search tools first for current schemas.