명령어
| 명령어 | 동작 |
|---|---|
add | 필요하면 번들을 가져온 뒤 프로젝트에 파일을 작성 |
list | 캐시된 번들을 나열하며, --source <source>로 필터링 가능 |
status | 적용하려는 설정과 실제 작성 상태를 비교 |
remove [source] [bundle] | 번들이 관리하는 파일을 삭제하며, --all을 사용하면 모두 삭제 |
apply | 이 워크트리에 적용하려는 모든 번들을 작성 |
check [bundle] | 업스트림 업데이트를 읽기 전용으로 확인 |
update [bundle] | 번들을 최신 업스트림 리비전으로 갱신 |
sync | 섀도를 중단한 뒤 git pull --ff-only를 실행하고 다시 적용 |
shadow | --suspend 또는 --refresh로 추적 중인 파일의 섀도를 직접 관리 |
reset | 이곳에서 Skul이 관리하는 항목을 모두 제거 |
공통 플래그
| 플래그 | 적용 명령어 | 효과 |
|---|---|---|
-n, --dry-run | 상태를 변경하는 명령어 | 변경 없이 미리 보기 |
-y, --yes | add remove apply update reset | 덮어쓰기와 제거 확인을 승인 |
-j, --json | list status check remove reset | 프로그램에서 읽을 수 있는 형식으로 출력 |
-g, --global | add remove apply status reset | 프로젝트 대신 ~의 도구 설정에 적용 |
상태를 변경하는 명령어를 --json과 함께 실행하면 { "output": "…", "warnings": [] } 형식으로 결과를 출력합니다. SKUL_NO_TUI=1을 설정하면 확인 질문과 선택 화면을 모두 끕니다. 스크립트나 에이전트에서 실행할 때는 이 설정을 사용하세요.
add
skul add [options] [source] [bundle]
source에는 github.com/owner/repo, owner/repo, git@github.com:owner/repo 같은 SSH URL, npm:@scope/package를 사용할 수 있습니다. 생략하면 캐시에서 이름만으로 식별할 수 있는 번들을 네트워크에 접속하지 않고 다시 적용합니다. bundle은 단일 번들 저장소에서 생략할 수 있으며, 여러 번들이 있는 경우 생략하면 선택 화면이 열립니다.
| 옵션 | 효과 |
|---|---|
-a, --agent <id> | 하나의 도구를 지정합니다. 여러 번 지정할 수 있습니다. 생략하면 Skul이 번들의 도구 중 무엇을 적용할지 물어보며, 선택할 도구가 여러 개일 때 SKUL_NO_TUI=1이면 작업이 실패합니다. |
--ref <selector> | HEAD 대신 브랜치, 태그, 커밋을 추적합니다. npm에서는 버전 또는 dist-tag를 지정합니다. 이 선택은 저장해 두었다가 apply에서도 사용합니다. |
--include <item> | 하나의 항목만 설치합니다. skills/<name>, commands/<name>, agents/<name>, root-instruction, mcp를 여러 번 지정할 수 있습니다. |
--select-items | 항목을 대화형으로 선택합니다. |
--all | 원본에 있는 모든 번들을 적용합니다. |
-s, --ssh | SSH로 복제합니다. git@ URL은 이 옵션을 자동으로 사용합니다. 이 선택은 저장해 두었다가 apply에서도 사용합니다. |
--root-instruction-mode <mode> | append(기본값) 또는 replace를 지정합니다. |
--disable-model-invocation | 모든 스킬을 사용자가 요청할 때만 실행하도록 설정합니다. |
skul add sjquant/ghosts writing --ref main
skul add writing --agent codex --include skills/rewrite
skul add npm:@you/react-skills@1.2.0 # your own package
SSH 인증에 실패하면 Skul이 같은 작업을 수행하는 HTTPS 명령을 출력합니다.
환경 변수
| 변수 | 효과 |
|---|---|
SKUL_NO_TUI | 1로 설정하면 프롬프트가 비활성화되며, 확인이 필요한 작업은 실패합니다. |
SKUL_NPM_REGISTRY | npm: 원본에 사용할 레지스트리입니다. 이 값이 없으면 npm_config_registry를, 그것도 없으면 npmjs.org를 사용합니다. |
SKUL_NPM_TOKEN | 지정한 레지스트리의 오리진에만 전송하는 Bearer 토큰입니다. |
최신 상태 유지
skul check는 업스트림에서 바뀐 내용을 보여주고, skul update는 이를 적용합니다. latest 같은 dist-tag를 지정하면 그 태그가 가리키는 버전을 따라가고, 정확한 버전을 지정하면 해당 버전으로 고정합니다. semver 범위는 지원하지 않습니다.
Git이 추적하는 AGENTS.md나 CLAUDE.md가 있다면 pull할 때 skul sync를 사용하세요. Git에 흔적을 남기지 않는 방식을 참고하세요.