← ClaudeAtlas

start-projectlisted

Batch-provision git worktrees for a set of planned tasks across one or more repos under ~/Developer/. Use whenever the user names a set of tasks or branches to work on, wants to "start a project", "kick off" or "begin" planned work, "set up worktrees for X/Y/Z", or otherwise wants isolated working copies to land commits against before a single-repo edit makes sense. Trigger even if the user doesn't use the exact word "worktree" - if they're framing upcoming work as a list of {repo, branch} pairs, this skill handles it. Do NOT trigger for inventory questions ("what worktrees do I have?" - that's `/worktree-status`), single-branch lookups ("where's the worktree for X?" - `/worktree-for`), or teardown ("clean up my worktrees" - `/worktree-cleanup`).
pszypowicz/claude-skills · ★ 0 · Code & Development · score 72
Install: claude install-skill pszypowicz/claude-skills
# start-project Turn a list of planned tasks into ready-to-edit git worktrees. Each task becomes a worktree: a fresh branch checked out from its repo's default branch, materialized at a predictable path so the user (and you) can start editing immediately. > **Assumed layout:** this skill (and the sibling `/worktree-status`, `/worktree-for`, `/worktree-cleanup` commands) assume clones live under `~/Developer/<provider>/<org>/<repo>` and worktrees under `~/Developer/.worktrees/<session-id>/`. If your repos live elsewhere, adapt the paths throughout before running. ## Why this exists Working against a repo's base clone is fine for a single quick change, but falls apart when the user has several concurrent streams of work - commits from one task leak into another, mid-review branches get dirty, and rebasing gets painful. Worktrees give each task its own checkout rooted at the same bare repo, so the streams stay isolated with no extra clones. This skill automates the mechanical parts: resolving the repo, figuring out the default branch, creating the worktree at a consistent path under `~/Developer/.worktrees/<session-id>/`. You drive it via the Bash tool - there are no bundled shell scripts to call. ## Inputs The user provides a list of tasks. Each task is `{repo_name, branch_name, description}`: - `repo_name`: the repo's directory name, e.g. `claude-skills`. No fuzzy matching - it must match a directory under `~/Developer/<provider>/<org>/`. - `branch_name`: the new branc