원본은 복사 전용
--src 를 수정 / 이동 / 삭제 / 심볼릭 링크 하지 않는다.
packaging
산출물 — <domain>-skills 형태의 마켓플레이스 repo 한 벌.
루트 매니페스트(7개 harness) + 평면 skills/<name>/ 분리형 구조,
README, LICENSE, .gitignore, 그리고 초기 커밋이 올라간 GitHub 원격 저장소까지.
상황에 따라 다섯 개의 스킬 중 하나를 고른다.
| 상황 | 쓸 스킬 |
|---|---|
| repo 가 아직 없다. 흩어진 스킬을 묶어 새로 만든다 | scaffold-repo |
| 외부 repo 가 github.com 에는 있는데 GHES 에는 없다 | mirror-repo |
| repo 는 있는데 이름이 컨벤션에 안 맞는다 | rename-repo |
| repo 는 있는데 구조가 표준에서 벗어났는지 알고 싶다 | structure-check |
| 그 구조를 실제로 고친다 | structure-refactor |
<repo-name> 와 --src 가 필수이고, 나머지는 모두 기본값이 있다.
/packaging:scaffold-repo <repo-name> [skill ...] --src <path> [--dest <path>]
[--host <host>] [--owner <owner>] [--plugin <name>] [--dry-run]
/packaging:scaffold-repo help
| 인자 / 플래그 | 의미 | 기본값 |
|---|---|---|
<repo-name> |
<domain>-skills 형식 repo 이름 (필수). -skills 접미어가 없으면 자동으로 붙이고 알려 준다. claude-plugin- prefix 는 pre-#1410 옛 규칙이라 거부한다 |
— |
[skill ...] |
복사할 스킬 디렉터리 이름들 | 대화에서 추론, 안 되면 질문 |
--src <path> |
스킬 원본 디렉터리 (필수 — 기본값 없음) | — |
--dest <path> |
repo 를 만들 위치 | ~/para/project/skills/ |
--host <host> |
GitHub 호스트 (GHES 지원) | github.com |
--owner <owner> |
GitHub owner | dEitY719 |
--plugin <name> |
내부 plugin key | <repo-name> 에서 -skills 를 뗀 부분 |
--dry-run |
계획만 출력, 아무것도 쓰지 않음 | off |
단계를 눌러 펼치면 상세가 보인다. 하드 중단 지점은 3곳뿐이다 — 1단계 검증 실패,
7단계 gh auth status 실패, push 거부.
-skills 접미어 보정, claude-plugin- prefix 거부, 소문자-하이픈 강제. --src 누락 / dest 중복 시 중단.
[PLAN] 블록 출력
항상
[PLAN] 블록은 항상 출력된다. --dry-run 이면 여기서 정지.
루트 매니페스트 + 평면 skills/ 구조를 만든다. plugins/ 디렉터리는 만들지 않는다.
cp -r, 원본은 읽기 전용.
.gitignore 작성
매니페스트, README, LICENSE, .gitignore 를 작성한다.
git init + git checkout -B main
gh auth status 후 사용자 확인을 받고 gh repo create.
gh auth status 실패는 하드 중단 지점이다.
초기 커밋 후 사용자 확인을 받고 git push -u origin main.
push 거부는 하드 중단 지점이다.
[OK] 리포트
packaging:structure-check 로 M1-M11 PASS 확인 후 [OK] 리포트.
다섯 가지 제약을 그대로 지킨다.
--src 를 수정 / 이동 / 삭제 / 심볼릭 링크 하지 않는다.
<dest>/<repo-name> 이 이미 있으면 무조건 중단한다.
스킬 복사는 부모 skills/ 디렉터리를 대상으로 한다. skills/<skill> 을 대상으로 잡으면 skills/<skill>/<skill>/ 로 중첩된다.
7단계(repo 생성)와 8단계(push)는 외부에 영향을 주므로 각각 확인을 받는다. git push --force 는 절대 쓰지 않는다.
1단계 검증 실패, 7단계 gh auth status 실패, push 거부. 나머지는 부분 정리 없이 크게 실패한다.