Help us improve
Share bugs, ideas, or general feedback.
From git-workflows
Creates isolated Git worktrees for Rails feature development in a sibling directory with automatic symlinking of master.key and environment credentials.
npx claudepluginhub aviflombaum/claude-code-in-avinyc --plugin git-workflowsHow this skill is triggered — by the user, by Claude, or both
Slash command
/git-workflows:rails-worktreeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create isolated git worktrees for feature development with automatic Rails credential symlinking.
Creates isolated git worktrees with smart directory selection, safety checks, and automatic project setup for feature work.
Creates isolated git worktrees for feature development with automatic directory selection and safety verification. Helps maintain clean workspaces when working on multiple branches.
Automates Git worktree creation for isolated feature branches, listing, removal, and status checks. Copies env files like .env/.nvmrc and runs npm/yarn/pnpm/bun install.
Share bugs, ideas, or general feedback.
Create isolated git worktrees for feature development with automatic Rails credential symlinking.
Worktrees are created in a sibling directory to keep the project root clean:
parent/
project/ # main repo
project-worktrees/ # worktree container
25-01-22-feature/ # individual worktree
The container directory is ../<project-name>-worktrees/ relative to the project root.
Format: YY-MM-DD-feature-description
Examples:
25-01-22-add-password-reset25-01-22-fix-api-timeout25-01-22-refactor-auth-moduleIf no feature name provided, ask:
What feature are you working on? (e.g., "add password reset", "fix checkout bug")
# Get project info
PROJECT_ROOT=$(pwd)
PROJECT_NAME=$(basename "$PROJECT_ROOT")
WORKTREES_DIR="../${PROJECT_NAME}-worktrees"
# Format branch name: YY-MM-DD-feature-description
DATE=$(date +%y-%m-%d)
BRANCH_NAME="${DATE}-<feature-slug>"
# Create worktrees directory if needed
mkdir -p "$WORKTREES_DIR"
# Create worktree with new branch
git worktree add "$WORKTREES_DIR/$BRANCH_NAME" -b "$BRANCH_NAME"
Rails credentials must be symlinked so the worktree can decrypt secrets:
WORKTREE_PATH="$WORKTREES_DIR/$BRANCH_NAME"
# master.key
ln -sf "$PROJECT_ROOT/config/master.key" "$WORKTREE_PATH/config/master.key"
# development.key (if exists)
if [ -f "$PROJECT_ROOT/config/credentials/development.key" ]; then
mkdir -p "$WORKTREE_PATH/config/credentials"
ln -sf "$PROJECT_ROOT/config/credentials/development.key" "$WORKTREE_PATH/config/credentials/development.key"
fi
# test.key (if exists)
if [ -f "$PROJECT_ROOT/config/credentials/test.key" ]; then
mkdir -p "$WORKTREE_PATH/config/credentials"
ln -sf "$PROJECT_ROOT/config/credentials/test.key" "$WORKTREE_PATH/config/credentials/test.key"
fi
Use full absolute paths for symlinks.
Worktree created:
Branch: 25-01-22-add-password-reset
Location: ../project-worktrees/25-01-22-add-password-reset
Rails credentials symlinked:
- config/master.key
- config/credentials/development.key
- config/credentials/test.key
To start working:
cd ../project-worktrees/25-01-22-add-password-reset
List worktrees:
git worktree list
Remove worktree:
git worktree remove ../project-worktrees/25-01-22-feature-name
Prune stale worktrees:
git worktree prune
User: create a worktree for adding stripe webhooks
Creating worktree...
Project: vc-matcher-app
Feature: adding stripe webhooks
Branch: 25-01-22-add-stripe-webhooks
$ mkdir -p ../vc-matcher-app-worktrees
$ git worktree add ../vc-matcher-app-worktrees/25-01-22-add-stripe-webhooks -b 25-01-22-add-stripe-webhooks
Symlinking Rails credentials...
$ ln -sf /Users/avi/Development/code/project/config/master.key ../vc-matcher-app-worktrees/25-01-22-add-stripe-webhooks/config/master.key
[additional symlinks...]
Done! Worktree ready at:
../vc-matcher-app-worktrees/25-01-22-add-stripe-webhooks
bundle install in new worktree if Gemfile differs