Start development on a new task by planning, creating an isolated worktree, writing context, and bootstrapping a Claude session. Use this skill whenever the user is on a main worktree and asks to start work on a feature, issue, story, bug, task, or ticket — even if they don't mention "worktree" explicitly. Also use when they say "start working on", "pick up", "begin implementing", "kick off", or provide an issue tracker ID/URL and expect development to begin. Requires worktrunk CLI.
How this skill is triggered — by the user, by Claude, or both
Slash command
/chrisbloom7-development:worktree-startThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Start development on a single task by creating an isolated worktree, writing structured context for the new session, and bootstrapping a Claude session in that worktree.
Start development on a single task by creating an isolated worktree, writing structured context for the new session, and bootstrapping a Claude session in that worktree.
This skill builds on top of worktrunk (wt CLI) for worktree management. It adds the workflow layer: planning, context writing, and session bootstrapping.
wt) must be installed and configuredWork through these steps in order. Do not skip steps.
Collect enough information to plan the work:
Enter plan mode (EnterPlanMode). Produce a brief implementation plan covering:
Check for project-specific worktree configuration skills. Some projects provide a companion skill that adds project-specific pre-flight checks, branch naming conventions, context enrichments, and skill references. If one is available, invoke it now to incorporate its requirements into your plan.
Present the plan and wait for user approval before continuing.
Use worktrunk to create and switch to a new worktree:
wt switch --create <branch-name> --yes
Branch naming: Follow the project's branch naming conventions. If a project-specific configuration skill provides a convention, use it. Otherwise, derive a reasonable branch name from the task (e.g., feature/add-user-auth, fix/login-timeout).
Verify that any post-create hooks ran successfully. If any fail, stop and report before continuing.
Write a WORKTREE_CONTEXT.md file in the new worktree root. This file is the primary mechanism for transferring context to the new session. Structure it as follows:
# Task: [Title]
## Source
[Issue tracker link or "Verbal request from user"]
## Description
[Task description and acceptance criteria]
## Implementation Plan
[The plan from Step 2]
## Key Constraints
- [Any dependencies, merge ordering, or blockers]
- [Relevant skills to invoke during implementation]
## Notes
[Design decisions, context from related work, anything the new session needs to know]
The new session loads this file automatically via CLAUDE.local.md containing @WORKTREE_CONTEXT.md. If the project doesn't have this auto-load mechanism set up, note that in your report (Step 6).
Detect the terminal environment and open a new Claude session in the worktree:
If $TMUX is set, create a new window in the current tmux session:
# Derive window name from branch or task ID
window_name="<short-identifier>"
worktree_path="<absolute-path-to-worktree>"
# Create window and cd into worktree
/opt/homebrew/bin/tmux new-window -c "$worktree_path" -n "$window_name"
# Send kickoff prompt — MUST escape with printf %q to handle
# apostrophes, ?, $, and other special characters safely
kickoff="Hey Claude, do you know what we're working on?"
escaped=$(printf %q "$kickoff")
/opt/homebrew/bin/tmux send-keys -t "$window_name" "claude $escaped" Enter
Critical tmux caveats:
/opt/homebrew/bin/tmux, /bin/cat, /usr/bin/trprintf %q to escape the kickoff prompt before send-keys. Apostrophes in the prompt (e.g., "we're") break single-quoted strings and expose ? as a zsh glob pattern.prompt=$(/bin/cat /tmp/kickoff.txt | /usr/bin/tr '\n' ' ')If $ZELLIJ is set:
zellij run -- bash -c "cd '$worktree_path' && claude 'Hey Claude, do you know what we are working on?'"
Note: avoid contractions in zellij prompts to sidestep quoting issues.
If neither tmux nor zellij is detected:
$EDITOR <worktree-path>Confirm the setup:
| Detail | Value |
|---|---|
| Worktree | <path> |
| Branch | <branch-name> |
| Task | <title or ID> |
| Session | opened in tmux/zellij / manual instructions provided |
| Context | WORKTREE_CONTEXT.md written |
| Auto-load | confirmed / not configured (manual load needed) |
If there are merge ordering constraints or dependencies on other work, remind the user here.
wt merge or your project's PR skill for thatwt remove) or a finishing skillThis skill supports project-specific companion skills that provide:
WORKTREE_CONTEXT.md contentIf your project has a companion skill, it will be invoked during Step 2 planning. To create one for your project, model it after this pattern: provide a skill that triggers alongside worktree-start and returns project-specific configuration.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub chrisbloom7/ai-tools --plugin chrisbloom7-development