本文へ移動
cccskills
無料GitHub で公開日本語紹介

gpui-screenshots

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.

gitbutlerapp/gitbutlerスター 21,887(GitHub 21,887 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • UI変更の動作を確かめたいとき
  • 画面の不具合を操作で再現したいとき
  • 変更前後の画面を撮影したいとき
  • 画面を表示せずに操作を調べたいとき

日本語での紹介

できること

GPUIクライアントをスクリプトから起動し、画面を表示しないウィンドウ上でクリック、キー入力、待機、撮影などを行います。操作結果やアプリの警告・エラーを確認しながら、UI変更の動作確認、バグの再現、画面の記録ができます。実行には専用のアプリデータが使われ、利用者のプロジェクトや設定には触れません。画面の一部を拡大して撮影したり、操作を一段ずつ進めたりする方法も含まれています。

こんなときに便利

画面変更が意図どおりか確認したいときや、同じ操作でUIの不具合を再現したいときに役立ちます。画面上の表示を画像として残し、変更前後を見比べたい場合にも使えます。アプリには使い捨てのGitリポジトリを追加して、必要な状態を用意できます。

使い方の例

  • 「この画面変更をスクリプトで操作して、表示を撮影してください」
  • 「この手順でUIの不具合を再現し、操作後の画面を確認してください」
  • 「リポジトリを追加した状態で画面を撮影してください」

注意点

cargo がPATHに必要です。ない場合はリポジトリの開発シェルで実行します。実際のリポジトリを試す場合はAPFSクローンを使います。フォーカスやブラーの動作、クリップボードへのコピー、設定画面のAI機能などは別途注意が必要です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
B一部不足一時データと使い捨てリポジトリを指定し、実リポジトリやクリップボード等の注意も記載されています。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足`cargo`が必要で、ない場合の開発シェル実行とAPFSクローン要件が記載されています。

点数には入れていません。 2026年10月29日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(1)

  • SKILL.md4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

A repository to show

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.

One run

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.

A step at a time

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.

Where the keys go

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.

Coordinates

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.

Notes

  • 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.
  • The window is never key, so on_focus and on_blur listeners never fire and carets don't blink. Check those by hand.
  • Copy writes the real clipboard, and Settings › AI reads the keychain. Add projects with add: Add project's folder picker would open on the user's screen.
  • Scripted runs in 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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

but

無料概要あり

GitButlerのCLIで変更をファイルや差分のまとまりごとに選んでコミットし、ブランチの管理、履歴の分割・統合、競合解消、PR作成まで進めるスキル。

  • ファイルや差分を選んでコミット
  • コミットの分割・統合・並べ替え
  • ブランチを依存関係に沿って配置
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

but-agentlog

無料概要あり

GitButlerのブランチやPRに関連する過去のエージェント作業を、保存された会話履歴から把握するスキル。議論や試行、変更の経緯を要約し、必要な箇所を詳しく確認します。

  • 現在のブランチの作業を引き継ぎたいとき
  • PRに関連する議論を振り返りたいとき
  • 過去の変更理由を把握したいとき
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

but-performance-tests

無料概要あり

but CLIの処理時間を測るシェル形式の性能テストを作成・修正・実行するスキル。テスト用データの準備と計測対象を分け、既存の仕組みに沿って結果を確認します。

  • but CLIの性能テストを追加したいとき
  • 既存テストの準備データの見直し
  • 単一シナリオの短時間ベンチマーク
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

cli-commands

無料概要あり

GitButlerのbutコマンドを追加・修正する際に、引数の定義から入力検証、処理の実行、表示形式ごとの出力まで、既存設計に沿って実装するスキル。

  • butの新しいコマンドを追加したいとき
  • ブランチやコミットの引数を定義
  • 入力検証と実処理を分離したいとき
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

gitbutler-ui

無料概要あり

GitButlerのLiteやbut.devで、既存のUI部品とデザイン指針を使い、フォームや通知、画面上の文言など、利用者に見える部分を整えるスキル。

  • フォームや確認モーダルの追加
  • 空の状態や通知を改善したいとき
  • ラベルや補足文を見直したいとき
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

tui-tests

無料概要あり

GitButlerのRatatui製ターミナル画面で、キー操作や表示を確かめるテストを追加・修正し、SVGの期待画像との比較や実行手順をそろえるスキル。

  • カーソル移動や選択を検証したいとき
  • キー操作後の画面表示を確認したいとき
  • SVGの期待画像を更新したいとき
gitbutlerapp/gitbutler2.2万2026年10月30日 更新

gitbutlerapp のスキルをすべて見る

このスキルの問題を報告する