
But
Use only in the Anarlog repository when the active checkout branch is exactly...
Install
npx skills add fastrepl/anarlog --skill but -g -a claude-code -y- Repository
- fastrepl/anarlog9.7k
- Category
- Git and review
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Use only in the Anarlog repository when the active checkout branch is exactly gitbutler/workspace. Commit, push, branch, and manage version control with GitButler. Use for commits, selective dirty-file or hunk commits, branches, diffs, PRs, history edits, squashes, amends, undo, merge, apply, and unapply. For selected dirty files or hunks, inspect with `but diff`; use compact `but status` for commit order, branch/stack placement, or conflict overview; use `but status -fv` when file/hunk IDs or per-commit file details matter. Replaces git write commands.
GitButler CLI Skill
Applicability
Use only in the Anarlog repository or its checkouts/worktrees when the active
checkout branch is exactly gitbutler/workspace. Before running this workflow,
check with git symbolic-ref --quiet --short HEAD (a read-only branch check).
On any other branch or detached HEAD, skip this skill and use the normal Git
workflow. Do not initialize GitButler or switch branches to activate the skill.
Use this checkout's skills, not a global copy or another checkout's skills.
Use GitButler CLI (but) as the default version-control interface.
External waits
When version-control work reaches a wait for CI, review, an asynchronous merge, or another external process, finish independent actionable work, schedule a Codex follow-up, and end the turn. Do not sleep, run watch commands, or repeatedly poll. Use a thread heartbeat for the current task (10-minute default), reusing its matching automation; use standalone cron only for explicitly separate runs. Carry pending operations and blockers into the prompt, recheck live state on resumption, stay quiet when unchanged, and pause when complete or waiting only on user input. A scheduled run never substitutes for a missing user decision. See the sweep-workspace skill for the full continuation procedure.
Start Here
Choose the narrowest first command by task; avoid ritual status checks:
# Selected dirty files/hunks:
but diff
# Commit order, branch/stack placement, conflict overview:
but status
# File/hunk IDs, per-commit files, amend/split details:
but status -fv
# Details for one known branch or commit:
but show <id>
Do not run plain but status and then but status -fv unless the compact output lacks file/hunk details needed for the task.
For "commit just/only/specific changes on a new branch", use the fast path:
but diff
but commit -b <branch> -m "<msg>" <id> <id>

