From kdesigner
저장 직전·큰 작업 마무리 시 자동 검증 — *환경 인식 wrapper*로 `package.json` scripts(`lint`/`typecheck`/`check`/`build`) 우선 호출, 없으면 일반 fallback. dev 서버 살아있으면 빌드 회피, lint·타입만. 다른 Skill(`safe-save` 등) 호출 직전 자동 트리거 + 큰 작업 마무리(컴포넌트 추가·구조 변경) 시 + "한번 돌려봐"·"에러 없어?"·"빌드 해봐" 같은 자연어. 텍스트 사소한 변경(레이블·문구만)엔 발동 X.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kdesigner:auto-validatehaikuThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
정형 검증을 환경 인식 wrapper로 실행한다. 프로젝트가 가진 scripts를 우선 따라가며, 없을 때만 일반 fallback. *우리가 통제하는 영역은 셋업 시 scripts 박기까지* — 이 Skill은 그걸 호출만 한다.
정형 검증을 환경 인식 wrapper로 실행한다. 프로젝트가 가진 scripts를 우선 따라가며, 없을 때만 일반 fallback. 우리가 통제하는 영역은 셋업 시 scripts 박기까지 — 이 Skill은 그걸 호출만 한다.
safe-save 호출 직전 (저장 직전 검증)new-service/import-existing 셋업 직후 (큰 작업 마무리)mock/ 가짜 데이터 변경만asset/ 자산 추가만판단 보조: 변경 라인 수·파일 종류·파일 개수로 큰 작업인지 추정.
빌드는 dev 서버를 깰 수 있다. 살아있으면 lint·타입만 한다.
판정 기준:
lsof -i :3000/:5173/:4321 등 일반 dev 포트ps 출력에 next dev, vite, astro dev, expo start 등서버 살아있음 → lint + typecheck만, build 스킵
서버 죽어있음 → lint + typecheck + (필요 시) build
package.json scripts 우선Read package.json → scripts 객체 확인. 우선순위:
| 순위 | 키 (별칭 포함) | 동작 |
|---|---|---|
| 1 | check | 통합 체크 — 있으면 이 하나로 끝 |
| 2 | lint | 린트 |
| 2 | typecheck / type-check / tsc | 타입 검사 |
| 3 | build | dev 서버 죽어있을 때만 |
호출 명령은 lockfile로 패키지 매니저 추론:
| Lockfile | 명령 |
|---|---|
pnpm-lock.yaml | pnpm run <script> |
yarn.lock | yarn <script> |
bun.lockb | bun run <script> |
그 외 (package-lock.json 또는 없음) | npm run <script> |
1차 검증 환경의 셋업 책임은 new-service Skill이 진다 (scripts 박기). 외부에서 가져온 프로젝트는 비어 있을 수 있어 fallback:
tsconfig.json 존재 → npx tsc --noEmiteslint.config.* 또는 .eslintrc.* 존재 → npx eslint .status: skipped, reason: no-validation-env 보고이 Skill은 사용자에게 직접 응답하지 않는다. 호출 측(safe-save 등)이 디자이너 톤으로 가공한다.
정형 결과 형식 (Task 반환값):
status: pass | fail | skipped
ran: [lint, typecheck]
skipped: [build] # 이유: dev 서버 살아있음
duration_ms: 4321
errors: # fail 시에만
- file: components/Button.tsx:42
raw: <stderr 원문>
status: fail이면 stderr 원문을 호출 측 Skill이 받아 error-translator로 위임한다 (자동 회복 가능한 분류면 거기서 처리).
이 Skill 자체는 번역하지 않고 원문만 정형 결과에 실어 반환 — 책임 분리.
model: haiku)safe-save 등)이 메인 모델에서 Task tool로 본 Skill을 위임 호출호출 직전·실행 중 체크:
package.json scripts 우선, 없을 때만 일반 fallback (직접 명령 박지 X — 환경 인식)build 회피, lint·typecheck만status: pass | fail | skipped)로 호출 측에 반환error-translator 분기 (호출 측 책임이지만 fail 정보는 전달)safe-save/new-service/import-existing (호출 측), error-translator (실패 시 호출 측이 위임)Bash (lsof, ps, npm/pnpm/yarn/bun run, tsc, eslint), Read (package.json, lockfile)new-service가 lint/typecheck scripts를 박아두는 책임 짐Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub seonggwangju/claudecode-kdesigner --plugin kdesigner