twig-guide
This skill should be used when the user: - Wants to work on multiple branches simultaneously or in parallel - Needs to start a new feature/task while preserving current work - Asks about git worktree operations (create, remove, list, clean) - Mentions "twig" commands (add, remove, clean, list, init) - Wants to carry or move uncommitted changes to a new branch - Wants to copy/sync changes between branches - Needs to isolate work in a separate directory - Asks about switching context without stashing - Wants to clean up old/merged branches and their worktrees - Says phrases like "new worktree", "create worktree", "branch off", "work on something else", "start new work", "parallel work", "separate workspace", "another branch" Use this skill for ANY worktree-related operation, not just when explicitly asking about twig.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
twig CLI Guide
twig is a CLI tool that simplifies git worktree workflows by automating branch creation, symlinks, and change management in a single command.
Commands Overview
| Command | Purpose |
|---|---|
twig init |
Initialize twig configuration |
twig add <name> |
Create a new worktree with symlinks |
twig remove <branch>... |
Remove worktrees and their branches |
twig list |
List all worktrees |
twig clean |
Remove unneeded worktrees |
twig sync |
Sync symlinks and submodules to worktrees |
Typical Workflows
Start new feature work
Create a new worktree for a feature branch:
twig add feat/new-feature
This creates a worktree at the configured destination directory, creates a new branch if it doesn't exist, and sets up symlinks.
Move current changes to a new branch
When you realize current work should be on a different branch:
twig add feat/correct-branch --carry
The --carry flag moves uncommitted changes to the new worktree.
The source worktree becomes clean.
Copy changes to a new branch
When you want changes in both the current and new worktree:
twig add feat/experiment --sync
The --sync flag copies uncommitted changes to both worktrees.
Carry only specific files
When you want to carry only certain files:
twig add feat/new --carry --file "*.go" --file "cmd/**"
Clean up after merging
Remove worktrees for branches that have been merged:
twig clean
This shows candidates and prompts for confirmation. Use --yes to skip
the prompt.
Force remove a worktree
Remove a worktree even with uncommitted changes:
twig remove feat/abandoned -f
Use -ff to also remove locked worktrees.
Configuration
see ./references/configuration.md
Command Details
For detailed information on each command, refer to:
- ./references/commands/add.md - Create worktrees with sync/carry options
- ./references/commands/remove.md - Remove worktrees and branches
- ./references/commands/list.md - List worktrees
- ./references/commands/clean.md - Clean merged worktrees
- ./references/commands/sync.md - Sync symlinks and submodules
- ./references/commands/init.md - Initialize configuration
- ./references/configuration.md - Configuration file details
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-02
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!