본문으로 건너뛰기
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)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
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 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

but

무료요약 있음

GitButler의 `but` CLI로 버전 관리를 수행합니다. 파일이나 변경 구간을 골라 커밋하고, 브랜치와 커밋 이력을 정리하며, 충돌을 해결하고 원격 변경을 반영해 풀 리퀘스트를 만드는 흐름을 안내합니다.

  • 파일이나 변경 구간을 골라 커밋
  • 커밋 분할·통합·순서 변경
  • 의존 관계에 따라 브랜치 배치
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

but-agentlog

무료요약 있음

GitButler 브랜치, 풀 리퀘스트 또는 변경과 관련된 저장된 에이전트 기록을 살펴봅니다. 이전 논의와 작업을 시간순으로 파악하고, 결정의 이유나 근거가 더 필요한 대화 차례를 자세히 확인합니다.

  • 현재 브랜치 작업 이어받기
  • 풀 리퀘스트 관련 논의 되짚기
  • 이전 변경의 이유 파악하기
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

but-performance-tests

무료요약 있음

`but` CLI의 셸 기반 성능 시나리오를 만들고 수정하고 실행하며 문제를 조사합니다. 준비 작업과 측정할 작업을 분리하고 Hyperfine으로 시간을 측정하며 기존 방식에 맞춰 스크립트와 실행 결과를 확인합니다.

  • `but` CLI 작업의 성능 시나리오 추가
  • 기존 시나리오의 준비 데이터 검토
  • 시나리오 하나의 짧은 벤치마크 실행
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

cli-commands

무료요약 있음

GitButler의 기존 구조에 따라 `but` 명령을 구현하거나 수정합니다. 인자 정의, 입력 검증, 실행을 분리하고 사용자용·셸·JSON 출력까지 다루며 TUI에서도 호출할 수 있는 형태를 안내합니다.

  • 새 `but` 명령 추가
  • 브랜치나 커밋 인자 정의
  • 입력 검증과 실행 분리
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

gitbutler-ui

무료요약 있음

`@gitbutler/ui-react`를 사용해 Lite와 but.dev의 사용자 화면을 다듬습니다. 폼, 모달, 알림, 화면 문구를 기존 구성 요소와 디자인 지침에 맞추고 밝은 테마와 어두운 테마에서 확인하도록 안내합니다.

  • 폼이나 확인 모달 추가
  • 빈 화면이나 알림 개선
  • 레이블과 안내 문구 검토
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

tui-tests

무료요약 있음

GitButler의 Ratatui 터미널 화면 테스트를 추가하거나 수정합니다. 키 입력과 선택 위치를 확인하고, 예상 화면을 담은 SVG 스냅샷과 비교하며, 테스트 실행 및 스냅샷 갱신 절차를 안내합니다.

  • 커서 이동이나 선택 동작 검증
  • 키 입력 후 화면 표시 확인
  • 예상 SVG 스냅샷 갱신
gitbutlerapp/gitbutler2.2만2026년 10월 30일 업데이트

gitbutlerapp의 스킬 모두 보기

이 스킬의 문제 신고