Git Workflow
JetBrains/ideavim
IdeaVim git workflow conventions covering commits, branches, PRs, and CI.
Pre-PR review checklist for the claude-code-gui-jetbrains project.
$ npx skills add Swttch/swttch --skill pr-checklist -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Swttch/swttch pr-checklist --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-checklist .claude/skills/pr-checklist && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .claude/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklistType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Swttch/swttch --skill pr-checklist -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Swttch/swttch pr-checklist --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/pr-checklist .agents/skills/pr-checklist && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .agents/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Swttch/swttch --skill pr-checklist -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Swttch/swttch pr-checklist --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/pr-checklist .cursor/skills/pr-checklist && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .cursor/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Swttch/swttch.git --path .claude/skills/pr-checklist--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Swttch/swttch --skill pr-checklist -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Swttch/swttch pr-checklist --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/pr-checklist .gemini/skills/pr-checklist && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .gemini/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Swttch/swttch pr-checklistInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Swttch/swttch --skill pr-checklist -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/pr-checklist .github/skills/pr-checklist && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .github/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Swttch/swttch --skill pr-checklist -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Swttch/swttch pr-checklist --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Swttch/swttch.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/pr-checklist .opencode/skills/pr-checklist && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pr-checklist" agent skill from https://github.com/Swttch/swttch/tree/main/.claude/skills/pr-checklist into .opencode/skills/pr-checklist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-checklist", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pr-checklistPre-PR review checklist for the claude-code-gui-jetbrains project.
PR Checklist is an agent skill from Swttch/swttch. Pre-PR review checklist for the claude-code-gui-jetbrains project. Verifies a change is ready to open a pull request against main — rebased onto the latest main, feature docs written for feature PRs, no marketplace-forbidden Internal/ Deprecated JetBrains APIs, all three test layers passing, the project's core principles (CLI equivalence, original-data preservation, consistent naming) respected, and the lessons learned during the work recorded to memory. Use before opening or updating a PR. Trigger on: PR 올리기 전…
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests. It works with JetBrains IDEs. The repository describes itself as: Claude Code GUI plugin for JetBrains IDEs. (ex - Claude Code with GUI). The licence is AGPL-3.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 094c81d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Checklist loads about 1.6k tokens when it runs. Until then it costs about 158 tokens; SKILL.md has 938 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Swttch/swttch at commit 094c81d, republished under its AGPL-3.0 licence (© Swttch). 938 words, ~1,619 tokens.
.claude/skills/pr-checklist/SKILL.md (or your agent's skills folder).이 문서는 한글로 작성되어 있으나, 사용자가 사용하는 언어에 맞게 읽고 번역하여 전달할 것. (This document is written in Korean; read it and translate to the user's language when relaying.)
기여 변경을 main에 PR로 올리기 전에 통과해야 할 항목을 순서대로 검증한다.
규칙의 본문(왜/무엇)은 CONTRIBUTING.md가 단일 소스이며,
이 스킬은 그 규칙을 실제로 검증하는 절차다. 상세 근거는 CLAUDE.md 참조.
각 항목을 실제 명령으로 검증하고, 통과/실패를 근거와 함께 보고한다. 실패 항목은 고치도록 안내한다.
PR은 반드시 main의 최신 커밋 위에 리베이스된 상태여야 한다. 오래된 base에서 PR을 열지 않는다.
git fetch origin
git rebase origin/main--force-with-lease)가 필요함을 안내한다.사용자 대면 기능은 docs/features/NNN-feature_name/ 폴더에 언어별 문서(en.md / ko.md …)를
작성하고, docs/features/CLAUDE.md 색인에 한 줄 추가해야 한다. 작성 규칙은
docs/CLAUDE.md를 따른다.
기능 문서는 공식 기능 문서이자 동시에 공식 블로그다. 온보딩·완전한 스펙·고객 서비스 세 가지가 이 문서 하나로 끝나야 하므로, 릴리즈 노트를 옮겨 적는 것으로는 부족하다.
UI가 아주 사소하게라도 관여되면 스크린샷이 필수다. 화면에 아무것도 드러나지 않는 기능만 예외다.
이미지는 기능 폴더 안 assets/에 두고, 언어별 문서가 같은 파일을 공유하며 alt 텍스트만 각 언어로 쓴다.
ls docs/features/ # 다음 번호(NNN) 확인
# 스크린샷이 실제로 들어갔는지 (UI가 관여되는 기능이라면 0이면 안 된다)
find docs/features/<NNN-이름>/assets -type f | wc -l
grep -c '!\[' docs/features/<NNN-이름>/*.md검수하며 띄운 화면을 그 자리에서 찍어둔다. 나중에 쓰려고 미루면 같은 상태를 다시 만들어야 한다.
JetBrains Internal API(@ApiStatus.Internal, impl 패키지 내 클래스)는 사용 금지 —
Marketplace Plugin Verifier가 오류로 잡아 배포가 거부된다. Deprecated API도 지양(경고 발생).
네이티브 기능에 위험한 API가 필요하면 reflection 또는 public 대체 API로 우회한다.
# 정적 점검(로컬 스킬 precheck과 동일한 grep 계열)
grep -rn "@ApiStatus.Internal\|StartupManager\|PluginManagerConfigurable" src/main/kotlin --include="*.kt"이 항목은 PR 직전이 아니라 커밋할 때 지킨다. 여기까지 와서 발견하면 이미 push된 뒤라 메시지를 다시 쓰고 force-push해야 하는데, 그 재작성이 실제로 사고를 냈다(브랜치가 main 위로 리셋되어 백업에서 복구). 커밋 전에 재면 비용이 0이다.
# 커밋 직전 — 제목만 재본다
printf '%s' "<제목>" | wc -c
# 이미 쌓인 커밋 점검
git log origin/main..HEAD --format='%s' | awk '{ print length($0)"자 "$0 }'로컬에는 commit-msg 훅이 걸려 있어 73자 이상이면 커밋 자체가 거부된다
(.git/hooks/commit-msg, 워크트리 전체 공유). 훅은 추적되지 않으므로 새로 클론한 환경에는
없다 — 그런 환경에서는 위 명령으로 직접 확인한다. 훅 설치:
ls .git/hooks/commit-msg 2>/dev/null || echo "훅 없음 — 새 클론이면 직접 만들어 둘 것"제목이 길어지는 원인은 대개 한 줄에 두 가지를 담으려는 것이다(A, and B). 그럴 땐 줄이지
말고 본문으로 내리거나 커밋을 쪼갠다.
"테스트"는 별도 명시가 없으면 WebView / Backend / Kotlin 3개 레이어 전부를 의미한다. 모든 개발은 TDD(테스트 먼저 → 실패 확인 → 구현)를 따른다.
bash ./scripts/build.sh wv-test
bash ./scripts/build.sh wv-lint
bash ./scripts/build.sh be-lint
bash ./scripts/build.sh full-buildOS와 맞닿을 확률이 조금이라도 있는 코드는 Windows·macOS·Linux 모두에서 안전하게 동작해야 한다.
특히 Windows는 단일 환경이 아니다 — cmd / PowerShell / WSL / WSL2를 각각 별도 셸로 취급하고,
새 외부 명령은 이 전 환경 체크리스트로 점검한다. 비관적 관점에서 검토한다.
/ 하드코딩 대신 path.join(). 경로 비교 시 대소문자 정규화(Windows/APFS insensitive vs Linux sensitive).which, chmod, kill, POSIX 파이프) 지양. 셸 토큰화 회피가 이 프로젝트의 확립된 패턴.HOME(Unix) vs USERPROFILE/HOMEDIR(Windows). 단독 사용 금지.\n 하드코딩 금지, Windows \r\n 고려. 임시 디렉토리는 os.tmpdir(), 실행 파일 확장자(.sh vs .cmd/.bat) 주의.SIGTERM/SIGKILL)은 Windows 미지원 — 분기 필요.claude/node 탐색 시 PATH 비대칭 주의. 로그인 셸(bash -lic)로 .bashrc를 상속해 PATH를 확보한다.claude CLI 명령을 기준선으로. 참고 앱은 UX만 모방.type은 MessageType enum(문자열 리터럴 금지).fix:, feat:, refactor:, docs:, chore: …). 첫 줄 72자 제한은 항목 3.5에서 다룬다 — 여기서 처음 발견하면 이미 늦다.Closes #N / Fixes #N.
(#N) 참조만으로는 이슈가 자동으로 닫히지 않는다. push 전에 빠졌으면 git commit --amend로 보강한다.이 항목은 메인테이너의 릴리즈 관리 절차다. 마일스톤 지정에는 저장소 write 권한이 필요하므로 외부 기여자가 수행할 수 없고, 요구하지도 않는다. 조회·변경 명령은 로컬 운영 문서에만 둔다.
이슈를 해결하는 PR이면 그 이슈의 마일스톤과 PR을 대조한다.
state가 아니라 릴리즈 태그로 판정한다.이 항목은 에이전트의 작업 규율이다. 외부 기여자에게 요구하는 절차가 아니므로 CONTRIBUTING.md(공개 기여 가이드)에는 두지 않는다.
PR을 올리기 전, 이번 작업에서 기억해야 할 점이나 배운 점을 정리해 메모리에 기록한다. 이 항목은 매 PR마다 빠짐없이 반복 실행한다.
왜: 같은 조사를 반복하지 않기 위해서다. 특히 "한 번 확인해두면 다음에 바로 쓸 수 있는 사실" (공식 스키마·API 계약·플랫폼 함정·검증 방법)은 기록하지 않으면 다음 세션에서 처음부터 다시 파야 한다.
무엇을 기록하나 — 아래에 해당하면 기록한다:
무엇을 기록하지 않나: 코드·git 히스토리·CLAUDE.md를 보면 바로 아는 것(파일 구조, 이번에 고친 코드 자체), 이번 대화에서만 의미 있는 진행 상황.
기록 방법: 기존 메모리에 같은 주제가 있으면 새 파일을 만들지 말고 그 파일을 갱신한다
(중복 방지). 새로 만들 때만 MEMORY.md 색인에 한 줄 추가한다.
각 항목을 PASS / FAIL 테이블로 보고한다. FAIL이 하나라도 있으면 PR을 열지 말고 먼저 수정하도록 안내한다. 모든 항목 PASS면 "PR 준비 완료"로 마무리한다.
© Swttch, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/pr-checklist of Swttch/swttch.
Open the folder on GitHubat commit 094c81d
PR Checklist next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PR Checklist this skillSwttch/swttch | 194 | — | ~1.6k | Automated safety check: Pass | AGPL-3.0 | |
| Git WorkflowJetBrains/ideavim | 10k | — | ~424 | Automated safety check: Pass | MIT | |
| Address Reviewedgafner/GBrowser | 100 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT |
JetBrains/ideavim
IdeaVim git workflow conventions covering commits, branches, PRs, and CI.
edgafner/GBrowser
A skill your agent uses when told to check PR review, address feedback, resolve threads, or after creating a PR that received review comments.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
Egonex-AI/Understand-Anything
Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.
Swttch/swttch
Add a new UI language/locale to the claude-code-gui webview i18n system, or extend/verify an existing one.
Works with
Categories
Pre-PR review checklist for the claude-code-gui-jetbrains project. PR Checklist is an agent skill from Swttch/swttch. Pre-PR review checklist for the claude-code-gui-jetbrains project.
PR Checklist fits situations like: contribution check; tasks that involve Pull requests.
Run `npx skills add Swttch/swttch --skill pr-checklist -a claude-code`. Or copy the skill folder (.claude/skills/pr-checklist in Swttch/swttch) into .claude/skills/pr-checklist in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Swttch/swttch --skill pr-checklist -a codex`. Or copy the skill folder (.claude/skills/pr-checklist in Swttch/swttch) into .agents/skills/pr-checklist in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Swttch/swttch --skill pr-checklist -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-checklist, .gemini/skills/pr-checklist, .github/skills/pr-checklist and .opencode/skills/pr-checklist in your project.
Going by SKILL.md and its folder, PR Checklist needs the command-line tools its instructions call (bash and git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
PR Checklist is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PR Checklist: Git Workflow (JetBrains/ideavim, 10k stars), Address Review (edgafner/GBrowser, 100 stars), Finishing a Development Branch (obra/superpowers, 296k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Swttch (a GitHub organization) maintains it in Swttch/swttch, which has 194 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: Swttch/swttch on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.