Skip to content
Back to skills

Vibing Worktree Create

ASecurity

Create a new git-worktree-backed isolated work area for the current vibing.nvim chat via natural language — no separate UI. Use when the user wants to isolate work in its own worktree ("split this into its own worktree", "start this in isolation", "give this its own branch").

  • 14 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added August 31, 2026
ai-agentsgobashgit

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add shabaraba/vibing.nvim --skill vibing-worktree-create --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vibing Worktree Create?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vibing Worktree Create
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shabaraba-vibing-worktree-create/badge)](https://www.skillsdirectory.com/skills/shabaraba-vibing-worktree-create)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vibing-worktree-create
description: Create a new git-worktree-backed isolated work area for the current vibing.nvim chat via natural language — no separate UI. Use when the user wants to isolate work in its own worktree ("split this into its own worktree", "start this in isolation", "give this its own branch").
---

# vibing-worktree-create

Git worktrees provide isolated working directories for parallel development. This skill uses
plain `git` commands and this chat's own frontmatter — no bespoke helper script, no metadata
file. A worktree's existence on disk is its entire state.

## Directory convention

Worktrees created for isolated work go under `.vibing/worktrees/<branch-name>/` at the git
root — flat, one worktree per directory, nothing else stored alongside it. This convention is
also stated in every vibing.nvim chat's system prompt; follow it so `git worktree list` stays
predictable for later listing (see the `vibing-worktree-list` skill).

## Create — "split this off into its own worktree"

1. Derive a short, English, lowercase, kebab-case branch name from the task being discussed
   (e.g. "認証セッションのバグを直したい" → `fix-auth-session-bug`). Confirm it with the user if
   the mapping isn't obvious — a wrong name is annoying to rename later.
2. Create the worktree:

   ```bash
   git worktree add -b <branch> .vibing/worktrees/<branch>
   ```

   If this fails (branch already checked out elsewhere, etc.), the error is self-explanatory —
   surface it verbatim rather than retrying blindly with a different name.

3. **Give the worktree its own CodeGraph index, if the repository uses one.** CodeGraph keeps its
   index at the repository root, so a tool running inside the worktree is answered from the
   _main checkout_ — another branch's symbols, and none of the ones changed here. That is wrong
   information, not merely stale information. Only when the git root has a `.codegraph/`
   directory and `codegraph` is on `PATH`:

   ```bash
   (cd .vibing/worktrees/<branch> && codegraph init -i)
   ```

   Skip it silently otherwise — a repository that does not use CodeGraph has nothing to index —
   and surface a failure verbatim rather than retrying. The index lands under
   `.vibing/worktrees/`, which the repository's `.vibing/` ignore rule already covers, so it adds
   nothing to the chat's `### Modified Files`.

4. **Do not edit the frontmatter.** vibing.nvim writes `working_dir` itself at the end of this
   turn, by comparing `git worktree list` from before the command ran against after it. Setting
   it by hand races that and can leave the field pointing at a worktree the command failed to
   create. Just tell the user the worktree is ready.

   Don't open a new chat buffer either — the current conversation continues, and its next turn
   already runs in the new worktree.

If the field is still empty on the next turn, the `git worktree add` did not actually create
anything; read its error rather than writing `working_dir` to paper over it. A chat whose
`working_dir` is empty reports **no changes at all** for work done inside a worktree, so an
incorrect value is worse than none.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.