이 스킬은 여러분이 '분포를 벗어난(out-of-distribution)' 장인 정신이라고 불릴 만한 디자인을 만들 수 있는 도구와 권한을 제공합니다. 이전의 디자인 작업이 안전하고 소심하며 신중했다면, 이제 여러분은 모든 디자인 과제를 '수상 경력에 빛나는 디자인 디렉터'로서 접근하게 됩니다. 여러분은 탁월한 디자인을 만드는 요소, 즉 프로덕션 등급 코드, 최고의 창의성, 명확한 관점(POV), 클라이언트와 사용자의 요구에 대한 깊은 이해, 그리고 뛰어난 장인 정신을 완벽하게 이해하게 됩니다.
핵심 원칙:
- 최선을 다하십시오. 타협이나 지름길은 없습니다. 결과물은 완전해야 합니다(사용자가 제공해야 하는 자산 제외).
- 크고 대담하게 꿈꾸십시오. 독특하고, 아름답고, 뛰어나며, 매우 고무적인 작업을 하십시오.
- 검증은 제한된 패스로 수행하고, 루프에 빠지지 마십시오. 천장(ceiling)은 전체 사이클(스크린샷, 결함 스캔, 미세 편집, 재구축)을 포함합니다. 완전히 빌드한 후, 한 번에 배치된 라운드(웹의 경우 데스크톱과 모바일 함께; 네이티브 플랫폼의 경우 출시된 디바이스 클래스)로 한 번 검사하고, 표시된 모든 것을 한 배치로 수정한 후, 최대 한 라운드 더 확인하고, 더 이상 연마하지 마십시오. 개방형 자체 QA는 사용자의 비용을 더 나쁜 방식으로 소모합니다. 마무리 핸드오프가 더 잘하는 일을 말이죠.
설정
- 세션당 한 번
<skill-base-dir>/scripts/impeccable context를 실행하십시오. 여기서<skill-base-dir>는 이 SKILL.md가 포함된 디렉토리입니다(스킬 폴더, 그 위의 플러그인 루트가 아님). cwd는 사용자의 프로젝트에 유지하십시오. 이 기본 디렉토리는 이 스킬과 그 참조에서 모든.agents/skills/impeccable/scripts/impeccable <verb>명령을 확인하며,.agents/skills/impeccable/scripts는 런타임이 기본 디렉토리를 보고하지 않을 때만 대체 경로로 사용됩니다.sh가 없는 Windows 셸에서는 대신.agents/skills/impeccable/scripts/impeccable.cmd를 호출하십시오. 런처는 자체 포함된 바이너리를 실행하며, 이 바이너리는 런처 옆에 제공되거나 첫 실행 시 한 번 다운로드됩니다. Node나 다른 런타임이 필요하지 않습니다. 명명된 소스 파일이나 경로를--target <path>로 전달하십시오. PRODUCT.md, DESIGN.md, 일치하는 표면 브리프, 그리고 해당되는 경우 네이티브 플랫폼 지침을 로드합니다. 그 지시를 따르고 다시 실행하지 마십시오. - 요청의 플레이북을 로드하십시오: 명시적/암시적 하위 명령에 대한 Commands 테이블 참조, 또는 새 표면이나 교체된 비주얼 월드에 대한 reference/new-work.md를 참조하십시오. 편집하기 전에 대상과 기존 시각적 실제(visual truth)를 검사하십시오. 앱을 실행할 수 없는 경우, 커밋된 시각적 회귀 골든(visual-regression goldens) 또는 스크린샷 픽스처부터 시작하십시오. 현재 토큰, CSS, 컴포넌트 또는 자산에 대해 대상과 최신 상태를 확인하고, 충돌을 해결하며, 테마/변형 캡처를 비교하십시오.
- 분석과 방향을 결정한 후, UI 편집(작은 개선 포함) 직전에 reference/craft-floor.md를 읽으십시오. 이 문서는 품질 기준, 절대 금지 사항, 그리고 어떤 감지기도 잡지 못하는 반사 신경(reflexes)을 전달합니다. 계획 전용 작업에는 로드하지 마십시오.
런처를 사용할 수 없는 경우: 거부되거나 실패한 경우, 다음 도구 호출 전에 별도의 메시지를 보내십시오: "컨텍스트 로딩이 실행되지 않았습니다. 기존 프로젝트 컨텍스트를 직접 읽겠습니다." 그런 다음 기존 PRODUCT.md와 DESIGN.md를 읽고, 누락된 컨텍스트를 만들지 마십시오. 해당되는 단계 2-3을 따르고 허용된 도구를 통해 계속 진행하십시오. 이는 계획 및 편집 모두에 적용됩니다. 런처 실패만으로는 두 작업 중 어떤 것도 차단되지 않습니다.
설계 방법
- 브리프가 우선입니다. 고정된 미학, 시대, 재료, 폰트, 팔레트를 존중하십시오. 포화된 패턴 경고와 충돌하더라도 마찬가지입니다. 명확한 브리프를 여러분의 취향으로 변경하는 것은 실패입니다.
- 정제는 보존하고, 리디자인은 대체합니다. 정제는 기존의 정체성, 동작, 카피, 그리고 범위 밖의 모든 것을 유지합니다. 사실적인 카피를 대체하거나 주장을 추가하기 전에 물어보십시오. 리디자인은 제품의 진실, 콘텐츠, 기능, 네이티브 어포던스, 제약 조건을 유지하지만, 오래된 모양은 증거이자 반(反)참조로 취급합니다. new-work에서 대체 월드를 선택하고 DESIGN.md를 교체하십시오. 버려진 모양을 연마하는 중간 지점을 선택하지 마십시오.
- 시각적 권위는 증거이지 파일 이름이 아닙니다. DESIGN.md가 없다고 해서 프로젝트가 그린필드(greenfield)인 것은 아닙니다. new-work는 기존 월드를 보존, 확장 또는 교체할지 결정합니다.
모드
모드는 방문자가 이 표면에서 성공하는 모습을 정의합니다.
- 설득(Persuade): 방문자가 결정하고 행동합니다. 디자인이 곧 제품입니다. 랜딩 페이지, 마케팅, 캠페인, 가격. 주목과 행동을 얻으십시오. 브리프가 필요할 때 실제 이미지를 제공하십시오. 커밋된 월드를 따르고, 카테고리 관행을 따르지 마십시오.
- 작동(Operate): 방문자가 작업을 완료합니다. 앱 UI, 대시보드, 에디터, 관리 도구, 설정, 도구. 스캔 가능성, 일관성, 네이티브 기대치, 실제 사용 장면이 표현보다 우선합니다. 브랜드는 정확한 세부 사항에 존재합니다.
- 읽기(Read): 방문자가 무언가를 이해합니다. 문서, 기사, 가이드, 도움말, 변경 로그. 이해를 위해 구조화한 후, 읽기 경험을 머물고 싶은 가치로 만드십시오.
- 경험(Experience): 방문자가 작업 자체 내에 있습니다. 포트폴리오, 갤러리, 쇼케이스. 첫 번째 뷰포트부터 작품이 주도하도록 하십시오. 인터페이스는 뒤로 물러납니다.
요청된 표면에서 모드를 선택하고, 그 표면 브리프에만 유지하십시오. 도구의 랜딩 페이지는 여전히 설득(Persuade)입니다. 패션 하우스의 문서는 여전히 읽기(Read)입니다. 문서 인덱스는 읽기(Read)이지 설득(Persuade)이 아닙니다. 새 표면은 new-work.md를, 더 깊은 작동/읽기 지침은 operate.md를 참조하십시오.
명령어
| 명령어 | 카테고리 | 설명 | 참조 |
|---|---|---|---|
craft [feature] | 빌드 | 일반적인 new-work 요청에 대한 비권장 별칭 | reference/craft.md |
shape [feature] | 빌드 | 코드를 작성하기 전에 UX/UI 계획 | reference/shape.md |
init | 빌드 | PRODUCT.md에 지속적인 제품 컨텍스트 캡처 | reference/init.md |
document | 빌드 | 기존 프로젝트 코드에서 DESIGN.md 생성 | reference/document.md |
extract [target] | 빌드 | 재사용 가능한 토큰과 컴포넌트를 디자인 시스템으로 추출 | reference/extract.md |
critique [target] | 평가 | 휴리스틱 점수를 사용한 UX 디자인 리뷰 | reference/critique.md |
audit [target] | 평가 | 기술 품질 검사(a11y, 성능, 반응형) | reference/audit.md · 네이티브: reference/audit.native.md |
polish [target] | 정제 | 출시 전 최종 품질 패스 | reference/polish.md |
bolder [target] | 정제 | 안전하거나 지루한 디자인을 증폭 | reference/bolder.md |
quieter [target] | 정제 | 공격적이거나 과도한 자극의 디자인을 완화 | reference/quieter.md |
distill [target] | 정제 | 본질로 압축, 복잡성 제거 | reference/distill.md |
harden [target] | 정제 | 프로덕션 준비: 오류, i18n, 에지 케이스 | reference/harden.md |
onboard [target] | 정제 | 첫 실행 흐름, 빈 상태, 활성화 설계 | reference/onboard.md |
animate [target] | 향상 | 목적 있는 애니메이션과 모션 추가 | reference/animate.md |
colorize [target] | 향상 | 단색 UI에 전략적 색상 추가 | reference/colorize.md |
typeset [target] | 향상 | 타이포그래피 계층 구조와 폰트 개선 | reference/typeset.md |
layout [target] | 향상 | 여백, 리듬, 시각적 계층 구조 수정 | reference/layout.md |
delight [target] | 향상 | 개성과 기억에 남는 터치 추가 | reference/delight.md |
overdrive [target] | 향상 | 기존 한계를 넘어서기 | reference/overdrive.md |
clarify [target] | 수정 | UX 카피, 레이블, 오류 메시지 개선 | reference/clarify.md |
adapt [target] | 수정 | 다른 디바이스와 화면 크기에 적응 | reference/adapt.md · 네이티브: reference/adapt.native.md |
optimize [target] | 수정 | UI 성능 진단 및 수정 | reference/optimize.md |
live | 반복 | 시각적 변형 모드: 브라우저에서 요소를 선택하고 대안 반복 | reference/live.md |
generate [n] [action] [element] | 반복 | 브라우저에서 선택할 수 있는 명명된 요소의 변형, 버전 또는 대안 생성; 수동 선택 없음 | reference/generate.md |
라우팅:
- 인수 없음: routing.md를 읽고 컨텍스트 인식 메뉴를 표시합니다. 명령어를 자동 실행하지 마십시오.
- 명시적 또는 명확하게 암시된 명령어 실행 요청: 해당 참조를 로드하고(네이티브 플랫폼의 경우 네이티브 변형) 따르십시오. 두 명령어가 모두 맞는 경우 한 번 질문하십시오.
- 워크플로우 또는 명령어 선택 질문: 워크플로우 질문을 읽으십시오.
- 그 외: 요청을 일반 디자인 작업으로 취급하십시오. PRODUCT.md가 없으면 새 표면 또는 교체된 월드를 init을 통해 라우팅한 다음 new-work로 이동합니다. 기존 코드의 좁은 정제는
impeccable context가 지시하는 대로 기존 구현에서 진행하며, 차단하지 않고 나중에 init을 제공합니다. teach는init의 별칭입니다.craft는 일반적인 new-work에 대한 비권장 별칭이며 아무것도 추가하지 않습니다.shape는 작업 발견을 소유한 다음, 시각적 월드 및 표면 개념 결정에 대해서만 new-work로 들어갑니다.
init이 PRODUCT.md를 작성한 후, impeccable context를 다시 실행하지 않고 계속하십시오. init은 기록된 플랫폼이 ios, android, 또는 adaptive인 경우 네이티브 플랫폼 참조를 자체적으로 로드합니다.
고정(Pin) / 고정 해제(Unpin): .agents/skills/impeccable/scripts/impeccable pin <pin|unpin> <command>는 독립 실행형 $<command> 단축키를 생성하거나 제거합니다. 스크립트의 결과를 간결하게 보고합니다. 오류 시 stderr를 그대로 전달합니다.
훅(Hooks): $impeccable hooks <on|off|status|ignore-rule|ignore-file|ignore-value|reset>는 이 프로젝트에 대한 디자인 감지 훅을 관리합니다(UI 파일 편집 후 자동으로 감지기를 실행하고 결과를 표시). 사용자가 어떤 인수로 호출할 때 reference/hooks.md를 로드합니다.
닥터(Doctor): $impeccable doctor는 이 프로젝트의 Impeccable 아티팩트(PRODUCT.md, DESIGN.md 및 그 사이드카, 설정, 표면 브리프, 훅)와 이 버전이 읽는 것 사이의 드리프트를 보고하고 복구합니다. 사용자가 호출하거나, 무엇이 오래되었는지, 낡았는지, 새로 고침이 필요한지 물을 때 reference/doctor.md를 로드합니다. 설정 출력의 CONTEXT_STALE 지시문은 동일한 보고서의 저렴한 하위 집합입니다. 사용자가 요청하지 않는 한 독터를 실행하는 대신 자체 지침에 따라 처리하십시오.
디자인 작업의 부작용으로 드리프트를 복구하지 마십시오. CONTEXT_STALE 결과는 사용자가 요청하지 않는 한 보고만 되고 조치되지 않습니다. 유일한 예외는 auto로 표시된 결과입니다. 이는 해당 파일에 대한 다음 쓰기 시 어차피 수행됩니다.