From git-workforest
This skill should be used when the user asks about 'workforest', 'git forest', 'git forest list', 'git forest add', 'git forest remove', 'forest layout', or mentions managing worktrees with workforest. Also use when the user asks how workforest works, how to use git forest commands, or how to navigate a forest.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git-workforest:workforestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
git-workforest manages git worktrees with a simple, predictable folder structure. Like `git worktree`, but handles paths for you. Each branch gets its own directory.
git-workforest manages git worktrees with a simple, predictable folder structure. Like git worktree, but handles paths for you. Each branch gets its own directory.
A directory is a forest if it contains a .workforest.yaml marker file. Trees (worktrees) are subdirectories that are git checkouts.
| Command | Purpose | Git worktree equivalent |
|---|---|---|
git forest list | List all trees in the forest | git worktree list |
git forest add <branch> | Add a tree for a branch | git worktree add <path> <branch> |
git forest remove <branch> | Remove a tree from the forest | git worktree remove <path> |
git forest remove -f <branch> | Force remove (even if dirty) | git worktree remove --force <path> |
git forest clone <org/repo> | Clone into structured forest path | git clone |
git forest migrate | Convert existing repo to forest layout | - |
git forest init | Detect context and set up a forest | - |
The forest root is the top-level directory containing .workforest.yaml. It is NOT a git repo itself — each tree inside it is an independent git checkout. All git forest commands can run from any tree or the forest root; workforest walks up to find .workforest.yaml automatically.
~/repos/github/dwmkerr/effective-shell/ # forest root
.workforest.yaml # marks this as a forest
main/ # default branch (primary clone)
feat/
dark-mode/ # worktree or fat clone
sessions-view/
fix/
login-bug/
git forest list mirrors git branch -l colours:
on branch feat/dark-mode in org/repo
trees:
main ./main
+ docs/readme ./docs/readme
* feat/dark-mode ./feat/dark-mode
+ fix/login-bug ./fix/login-bug
* (green) - active tree (cwd is inside it)+ (cyan) - worktree branch./ prefixcd between trees to switch contextgit forest list from any tree or the forest root to see all branches.workforest.yamlAll commands run from inside a tree (e.g. ~/repos/github/dwmkerr/effective-shell/main/). The forest root is the parent directory containing .workforest.yaml — workforest resolves it automatically. New trees are created as siblings of your current tree:
# pwd: ~/repos/github/dwmkerr/effective-shell/main/
git forest add feat/new-feature
# creates ~/repos/github/dwmkerr/effective-shell/feat/new-feature/
# prints: cd ../feat/new-feature
git forest add fix/bug-123
# creates ~/repos/github/dwmkerr/effective-shell/fix/bug-123/
git forest remove fix/bug-123 # removes the tree (refuses if dirty)
git forest remove -f fix/bug-123 # force remove even with uncommitted changes
Trees are created as git worktrees by default, or as full clones if fatTrees: true is set in ~/.workforest.yaml.
git forest list to understand the layoutgit forest add over git checkoutcd to the new tree directorynpx claudepluginhub dwmkerr/git-workforest --plugin git-workforestAutomates 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.
Creates isolated git worktrees for parallel development without disrupting the main workspace. Includes safety verification to prevent accidental commits of worktree contents.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.