agentleFS
kexikexi/vibe-skills/skills/vibe/SKILL.md

vibe

Skill0 starsChanged 3 months agoMITView on GitHub

Manage Git worktrees with the vibe CLI. Use when creating, reusing, entering, listing, renaming, or removing worktrees; navigating back to the main worktree; reviewing or trusting .vibe.toml configuration; diagnosing shell integration; or configuring Claude Code worktree hooks.

19 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

28 rules. 0 are common, 4 are distinctive, and 24 are very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 24

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use vibe instead of assembling git worktree commands manually.

    line 9
  2. Very specific:

    Run vibe --version. If unavailable, stop and tell the user to install it from <https://github.com/kexi/vibe>.

    line 13
  3. Very specific:

    Run vibe <command> --help before using unfamiliar or version-dependent flags.

    line 15
  4. Very specific:

    Treat start, scratch, jump, rename, clean, and home as navigation commands.

    line 19
  5. Very specific:

    Prefer JSON over the human table.

    line 39
  6. Very specific:

    Use --base only when creating a new branch from a specific branch, tag, or commit.

    line 50
  7. Distinctive:

    Use these controls when appropriate:

    line 52
  8. Very specific:

    Do not use --force unless the user explicitly approves skipping confirmation or overwriting a conflicting worktree.

    line 61
  9. Very specific:

    Run vibe scratch to create a scratch/<timestamp> branch.

    line 65
  10. Very specific:

    Use vibe rename --dry-run <new-name> when the resulting branch or path is uncertain.

    line 71
  11. Very specific:

    Run vibe jump <branch>. Vibe supports exact, partial, and fuzzy branch matching.

    line 75
  12. Very specific:

    Run vibe home to return to the main worktree while preserving the current secondary worktree.

    line 79
  13. Very specific:

    Run vibe clean only from the secondary worktree the user wants removed.

    line 83
  14. Very specific:

    Use --keep-branch when the branch must remain.

    line 85
  15. Very specific:

    Use --delete-branch only with explicit user approval.

    line 86
  16. Very specific:

    Never combine --keep-branch and --delete-branch.

    line 87
  17. Very specific:

    Do not use --force or --allow-default-branch without explicit user approval.

    line 88
  18. Very specific:

    Do not assume the default branch behavior.

    line 90
  19. Very specific:

    Run vibe config to show effective settings and vibe verify to inspect trust status and hash history.

    line 94
  20. Very specific:

    Read .vibe.toml and .vibe.local.toml if present.

    line 98
  21. Very specific:

    Run vibe untrust to remove trust.

    line 103
  22. Very specific:

    Run vibe doctor for known environment and stale-wrapper problems.

    line 107
  23. Very specific:

    Run vibe upgrade --check to check for an available update without applying one.

    line 108
  24. Very specific:

    Run vibe shell-setup --shell <shell> only when the user asks to configure shell integration.

    line 109
  25. Very specific:

    Prefer the documented Claude Code integration from the installed vibe version.

    line 113
  26. Distinctive:

    Keep destructive actions within the user's stated scope.

    line 117
  27. Distinctive:

    Never infer approval for branch deletion, forced overwrite, default-branch operations, hook trust, or shell-profile edits.

    line 119
  28. Distinctive:

    Use dry runs and read-only inspection when the intended target is ambiguous.

    line 120

“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Vibe

Use vibe instead of assembling git worktree commands manually. Preserve the user's branch strategy and repository instructions.

Check availability

Run vibe --version. If unavailable, stop and tell the user to install it from https://github.com/kexi/vibe. Do not silently substitute a different worktree manager.

Run vibe <command> --help before using unfamiliar or version-dependent flags.

Account for shell behavior

Treat start, scratch, jump, rename, clean, and home as navigation commands. With the shell wrapper installed, they can change the interactive shell's current directory.

Assume agent command tools start a fresh shell for each invocation. A directory change usually does not persist into the next tool call. After creating or selecting a worktree:

  1. Run vibe list --json.
  2. Select the entry by its branch field.
  3. Pass its path explicitly as the working directory for later commands.

Capture stderr when streams are separated. Vibe reserves stdout for its shell-navigation protocol and emits human output, including list --json, on stderr. Never evaluate captured navigation output yourself.

Choose a workflow

Inspect worktrees

Run:

vibe list --json

Prefer JSON over the human table. Entries contain branch, path, current, and scratch.

Create a named worktree

Run:

vibe start <branch>
vibe start <branch> --base <ref>

Use --base only when creating a new branch from a specific branch, tag, or commit. Add --track only when upstream tracking is intended.

Use these controls when appropriate:

  • --dry-run: preview the operation.
  • --reuse: reuse an existing branch.
  • --no-hooks: skip pre-start and post-start hooks.
  • --no-copy: skip configured copying.
  • --copy-untracked: copy untracked, non-ignored files too.
  • --copy-modified: copy locally modified tracked files too.

Do not use --force unless the user explicitly approves skipping confirmation or overwriting a conflicting worktree.

Create a temporary worktree

Run vibe scratch to create a scratch/<timestamp> branch. Promote it later with:

vibe rename <new-name>

Use vibe rename --dry-run <new-name> when the resulting branch or path is uncertain.

Enter an existing worktree

Run vibe jump <branch>. Vibe supports exact, partial, and fuzzy branch matching. Supply the full branch name when automation must be deterministic.

Return without removing

Run vibe home to return to the main worktree while preserving the current secondary worktree.

Remove a worktree

Run vibe clean only from the secondary worktree the user wants removed. Check git status first and report material uncommitted changes.

  • Use --keep-branch when the branch must remain.
  • Use --delete-branch only with explicit user approval.
  • Never combine --keep-branch and --delete-branch.
  • Do not use --force or --allow-default-branch without explicit user approval.

Do not assume the default branch behavior; inspect vibe clean --help and the effective configuration.

Handle repository configuration safely

Run vibe config to show effective settings and vibe verify to inspect trust status and hash history.

Before vibe trust:

  1. Read .vibe.toml and .vibe.local.toml if present.
  2. Review hooks and scripts as arbitrary code execution.
  3. Explain material effects to the user.
  4. Obtain approval before trusting when approval has not already been given.

Run vibe untrust to remove trust.

Diagnose and maintain the installation

  • Run vibe doctor for known environment and stale-wrapper problems.
  • Run vibe upgrade --check to check for an available update without applying one.
  • Run vibe shell-setup --shell <shell> only when the user asks to configure shell integration. Treat its stdout as setup code and show it before changing a shell profile.

Integrate Claude Code worktree hooks

Prefer the documented Claude Code integration from the installed vibe version. Inspect vibe start --help, vibe clean --help, and the upstream documentation before editing hook configuration. The worktree-hook flags are an internal protocol; do not invoke them as ordinary interactive flags.

Preserve safety boundaries

  • Keep destructive actions within the user's stated scope.
  • Resolve exact worktree paths with vibe list --json before cleanup.
  • Never infer approval for branch deletion, forced overwrite, default-branch operations, hook trust, or shell-profile edits.
  • Use dry runs and read-only inspection when the intended target is ambiguous.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.