Communitygithub.com

netresearch/jujutsu-workflow-skill

에이전트에 안전한 버전 관리를 위한 Jujutsu(jj) 스킬 — 로컬 변경 관리는 jj로, 원격/PR/CI/감사 인터페이스는 Git을 사용합니다. Netresearch 에이전트 스킬.

jujutsu-workflow-skill란 무엇인가요?

이 스킬은 AI 에이전트가 코드 변경을 안전하고 효율적으로 관리할 수 있도록 Jujutsu(jj) 워크플로를 제공합니다. jj는 Git보다 에이전트에 친화적인 로컬 변경 계층으로, 충돌 해결, 실행 취소, 작업 공간 분할 등을 비파괴적으로 수행할 수 있습니다. Git은 여전히 원격 저장소, PR, CI, 감사 인터페이스로 사용되며, jj는 로컬 단계에서만 변경을 가합니다. 이 스킬은 Claude Code, Cursor, Codex 등 모든 터미널 기반 AI 코딩 도구에서 사용할 수 있으며, 에이전트 안전 규칙(비대화형 모드, 스냅샷 시점 등)을 강제하여 예측 가능한 동작을 보장합니다. 또한 병렬 에이전트 작업을 위한 별도 작업 공간 관리, 변경 사항 분할, Git을 통한 핸드오프 절차를 포함합니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add netresearch/jujutsu-workflow-skill

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Jujutsu 워크플로우

에이전트 코딩 시 .jj/ 저장소가 존재한다면 원시 git보다 jj(Jujutsu)를 우선 사용하십시오 — jj는 더 뛰어난 로컬 변경 계층입니다. Git은 표준 원격/PR/CI/감사 인터페이스로 유지됩니다: 변경은 jj로, 확인은 읽기 전용 Git으로 수행합니다.

1. 먼저 감지 및 차단

${CLAUDE_SKILL_DIR}/scripts/detect_jj_state.sh를 실행하거나 수동으로 확인하십시오:

  • .jj/ 존재 → jj 저장소: jj 사용, 변경하는 원시 git은 절대 사용 금지.
  • .jj/ 및 .git/ → 동일 위치: jj로 변경, Git으로 읽기, Git 인덱스/스테이징 절대 건드리지 않음.
  • .git/만 존재 → 일반 Git 저장소: 요청 없이 jj를 도입하지 않음.

참조/git-interop.md를 참조하십시오.

2. 에이전트 안전 규칙(절대 준수)

  • 출력 명령에는 항상 --no-pager 사용; jj config set --user ui.paginate never 설정.
  • 항상 -m 사용. 절대 편집기/TUI 폼을 실행하지 않음 — jj describe|commit|squash (인자 없음), jj split (대화형), jj squash -i, jj resolve, jj diffedit 등은 에이전트를 멈추게 합니다.
  • jj는 jj 명령 실행 시에만 작업 복사본을 스냅샷하며, 모든 파일 쓰기 시점이 아닙니다.

참조/agent-safety.md를 참조하십시오.

3. 편집 루프

jj --no-pager status
# 파일 편집 (다음 jj 명령에서 스냅샷됨)
jj --no-pager diff
jj describe -m "<프로젝트 관례적 메시지>"
jj new -m "<다음 단위>"     # 논리 단위당 하나의 변경 — 커밋 비대화 방지

혼합 변경을 비대화형으로 분할하려면: jj split <경로> -m "<메시지>". 참조/command-map.md를 참조하십시오.

4. 복구(되돌리기 가능)

jj --no-pager op log → jj undo (마지막 작업) 또는 jj op restore <ID>. 충돌은 일급 시민: jj status가 플래그 표시; 마커를 편집하여 해결한 후 확인. 참조/recovery-playbook.md를 참조하십시오.

5. Git을 통한 핸드오프

jj git fetch
jj rebase -d <기본-브랜치>
jj bookmark create <브랜치> -r @-
jj git push --bookmark <브랜치>      # 새 북마크는 직접 푸시

보호된/기본 브랜치에 푸시하지 않음; 허용되지 않으면 공개 기록을 다시 쓰지 않음. gh/glab으로 PR 열기. 참조/pr-handoff.md를 참조하십시오.

6. 병렬 에이전트

동시 에이전트당 하나의 jj workspace — 작업 복사본을 절대 공유하지 않음. 참조/parallel-agents.md를 참조하십시오.

7. "완료" 전 확인

${CLAUDE_SKILL_DIR}/scripts/verify_handoff.sh를 실행하거나, jj --no-pager status, jj --no-pager log --limit 10, jj --no-pager diff --stat, git status --short --branch를 보고하십시오. 정확한 명령어와 출력을 보고; 없으면 "완료/테스트 완료/준비 완료"라고 절대 말하지 않음; 강제 푸시, 복구, 충돌을 공개하십시오.

에이전트에게 jj가 git보다 나은 이유 (그리고 사용하지 말아야 할 경우): 참조/why-jj-for-agents.md를 참조하십시오.

관련 스킬