but
Installation
SKILL.md
GitButler CLI Skill
Use GitButler CLI (but) as the default version-control interface.
Non-Negotiable Rules
- Use
butfor all write operations. Never rungit add,git commit,git push,git checkout,git merge,git rebase,git stash, orgit cherry-pick. If the user says agitwrite command, translate it tobutand run that. - After mutations, read the returned output for the updated workspace state — it replaces a follow-up
but status -fv. - Never chain
butmutations with&∨. Each mutation can reassign CLI IDs, so the second command may silently target the wrong file or commit. Run one mutation, read the returned workspace state, and take fresh IDs from it. - Use CLI IDs from
but diff/but status -fv/but show; never hardcode IDs. - Do not run
but statusorbut status -fvas routine preflight for selected dirty-file or hunk commits. Start withbut diff; usebut status -fvwhen existing branch, stack, commit, conflict, or history state matters. - For "commit these selected changes on a new branch", prefer one command:
but commit <branch> -c -m "<msg>" --changes <ids>.
Choose Inspection By Task
Start with the narrowest inspection that answers the task. Avoid ritual status checks.