GitButlerのCLIで変更をファイルや差分のまとまりごとに選んでコミットし、ブランチの管理、履歴の分割・統合、競合解消、PR作成まで進めるスキル。
- ファイルや差分を選んでコミット
- コミットの分割・統合・並べ替え
- ブランチを依存関係に沿って配置
GPUIクライアントを画面に表示せずスクリプトで操作し、画面の撮影やUI変更の確認、バグの再現に使うスキルです。
Use whenever you need to see, click through or screenshot the GPUI client (crates/but-gpui), to check a UI change works, reproduce a UI bug, or show what a change looks like. Drives the app from a script in a window that never shows on the user's screen, against throwaway app data. Never start the app with `cargo run` or the plain binary to look at it.
実行スコア 未検証
インストール方法を見るGPUIクライアントをスクリプトから起動し、画面を表示しないウィンドウ上でクリック、キー入力、待機、撮影などを行います。操作結果やアプリの警告・エラーを確認しながら、UI変更の動作確認、バグの再現、画面の記録ができます。実行には専用のアプリデータが使われ、利用者のプロジェクトや設定には触れません。画面の一部を拡大して撮影したり、操作を一段ずつ進めたりする方法も含まれています。
画面変更が意図どおりか確認したいときや、同じ操作でUIの不具合を再現したいときに役立ちます。画面上の表示を画像として残し、変更前後を見比べたい場合にも使えます。アプリには使い捨てのGitリポジトリを追加して、必要な状態を用意できます。
cargo がPATHに必要です。ない場合はリポジトリの開発シェルで実行します。実際のリポジトリを試す場合はAPFSクローンを使います。フォーカスやブラーの動作、クリップボードへのコピー、設定画面のAI機能などは別途注意が必要です。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。
点数には入れていません。 2026年10月29日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
crates/but-gpui/scripts/drive.sh builds the client with --features dev-script and runs it
from a script. The window never shows, the app stays out of the Dock and never takes the
user's keys, and it runs against app data of its own, so none of the user's projects or
settings are touched. Starting the app any other way opens a window on the user's screen.
The app writes to what it opens: GitButler's workspace, refs, the oplog. Never add the
checkout you're working in, or any repository of the user's. Make a throwaway one:
repo=$(mktemp -d)/repo
git init -q -b main "$repo"
git -C "$repo" -c user.name=Tester -c user.email=t@example.com commit -q --allow-empty -m "Initial commit"
echo hello > "$repo/notes.txt"
Build whatever state the change needs (branches, commits, uncommitted edits) with git here,
or later with sh steps, which run while the app watches. To try a real repository, use an
APFS clone as crates/but-gpui/AGENTS.md (Sandboxes and fixtures) says.
Write a script, one command per line (src/dev.rs lists them all), and run it:
add /path/to/repo # the folder Add a repository would be given
wait 1000 # let the first loads land
shot /tmp/before.png
click 400 184 # window coordinates, see below
key cmd-k
type history
shot /tmp/after.png
crates/but-gpui/scripts/drive.sh run script.txt
It prints what the app reported (failed steps as script line N: …, prompts as PROMPT …,
warnings and errors) and where the app data and logs went. The run quits when the script
ends and is killed after --timeout seconds (300). Read the shots to check them.
To explore, or to find where to click from what's on screen:
crates/but-gpui/scripts/drive.sh start
crates/but-gpui/scripts/drive.sh step "add /path/to/repo" "wait 1000"
crates/but-gpui/scripts/drive.sh step "click 400 184" "key down"
crates/but-gpui/scripts/drive.sh stop
Each step runs its arguments as script lines, saves a shot, and prints its path (under
target/gpui-drive/shots) after anything the app reported and a KEYS line. A session quits
on its own after --timeout seconds (1800); always stop it when done. One session per
checkout.
KEYS Workspace > Navigator > TextInput says what typing reaches: here a text field in the
navigator. Check it before type or a single-letter key. In a list or the diff, letters run
shortcuts, so a query typed there makes branches (b), pushes (⇧P), opens menus (m), or opens
the user's editor on their screen (e) instead. After add the navigator has the keys, so click
the field you mean first. In a run script, a keys line prints the same.
The window is 1360×860 in logical pixels, which is what click, move, drag and scroll
take, and a shot is saved at that size: where something shows in it is where to click it.
shot path x y w h saves just that region, given in the same coordinates, at the display's
full resolution (2× on a Retina Mac) for a closer look, so a point read off it is the region's
origin plus half its pixel offset. size W H resizes the window.
cargo must be on the PATH. If it isn't, run inside the repository's dev shell:
nix develop --command crates/but-gpui/scripts/drive.sh … (needed for run and start;
step and stop don't build).GITBUTLER_GPUI_APPEARANCE=dark (or light) before the command picks the theme.run --release builds with optimizations, for perf and hold timings; see Measuring
performance in crates/but-gpui/AGENTS.md.on_focus and on_blur listeners never fire and carets don't
blink. Check those by hand.add: Add project's folder picker would open on the user's screen.crates/but-gpui/AGENTS.md has the rest: hover needs a second small
move, links in text need press then release, prompts need their buttons clicked, and
drags have their own commands.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
GitButlerのCLIで変更をファイルや差分のまとまりごとに選んでコミットし、ブランチの管理、履歴の分割・統合、競合解消、PR作成まで進めるスキル。
GitButlerのブランチやPRに関連する過去のエージェント作業を、保存された会話履歴から把握するスキル。議論や試行、変更の経緯を要約し、必要な箇所を詳しく確認します。
but CLIの処理時間を測るシェル形式の性能テストを作成・修正・実行するスキル。テスト用データの準備と計測対象を分け、既存の仕組みに沿って結果を確認します。
GitButlerのbutコマンドを追加・修正する際に、引数の定義から入力検証、処理の実行、表示形式ごとの出力まで、既存設計に沿って実装するスキル。
GitButlerのLiteやbut.devで、既存のUI部品とデザイン指針を使い、フォームや通知、画面上の文言など、利用者に見える部分を整えるスキル。
GitButlerのRatatui製ターミナル画面で、キー操作や表示を確かめるテストを追加・修正し、SVGの期待画像との比較や実行手順をそろえるスキル。