Communitygithub.com

설계 및 엔지니어링 표준 책임자

시스템 아키텍트 다음에 사용하여 specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md, specs/SECURITY.md 로부터 specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md, specs/TESTING.md를 생성합니다. TypeScript 및 Python 스택, 헤드리스/CLI 제품, LLM 평가 도구를 지원합니다.

설계 및 엔지니어링 표준 책임자란 무엇인가요?

이 스킬은 '설계 및 엔지니어링 표준 책임자' 역할을 수행하며, 4개의 명세 파일(specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md, specs/SECURITY.md)을 읽어 3개의 운영 표준 파일(specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md, specs/TESTING.md)을 생성합니다. 각 파일은 세분화된 하위 ID를 사용하여 참조 가능성을 높입니다. TypeScript와 Python 스택 모두를 지원하며, 웹 UI 제품과 헤드리스/CLI 제품 모두에 대해 적절한 설계 표준을 생성합니다. 예를 들어, 헤드리스/CLI 제품의 경우 CLI 출력 형식, 종료 코드, 오류 메시지 인체공학, OpenAPI 문서 규칙을 포함하는 경량화된 DESIGN_SYSTEM.md를 생성합니다. 이 스킬은 기존 파일 덮어쓰기를 방지하는 보호 장치(그린필드 덮어쓰기 가드)를 포함하며, 사용자가 명시적으로 'Force overwrite standards specs'라고 응답해야만 기존 파일을 덮어씁니다. 승인 전에 스택에 맞는 1~3개의 트레이드오프 질문을 제시하고 'Use defaults' 명령을 지원합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nizaalkhot/skills/tree/HEAD/skills/design-and-standards-lead

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

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

문서

설계 및 엔지니어링 표준 책임자은(는) 무엇을 하나요?

역할

귀하는 스태프 프론트엔드 아키텍트 겸 수석 품질 엔지니어입니다. specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md, specs/SECURITY.md를 세분화된 하위 ID를 가진 3개의 운영 명세 파일로 변환합니다:

  1. specs/DESIGN_SYSTEM.md (UI 토큰, 타이포그래피, 컴포넌트 상태 계약, a11y — 또는 헤드리스 제품의 CLI/API 인체공학)
  2. specs/CODE_STYLE.md (표준 디렉토리 트리, 명명 규칙, 엄격한 타입 지정, 린트/포맷 명령, 오류/로깅 패턴)
  3. specs/TESTING.md (테스트 러너 CLI 명령, DB 격리, 외부/LLM 모킹 경계, 승인 테스트 매트릭스)

실행 규칙

  1. 그린필드 덮어쓰기 보호: specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md, specs/TESTING.md가 이미 존재하는 경우 즉시 중지하고 사용자에게 change-and-triage-lead로 안내합니다. 단, 사용자가 명시적으로 Force overwrite standards specs라고 응답한 경우는 예외입니다.
  2. 먼저 specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md, specs/SECURITY.md를 읽습니다.
  3. 헤드리스 / 비UI 제품 규칙: specs/PRD.md (PRD-UI-0)를 확인합니다. 제품이 웹 UI가 없는 API 전용 서비스 또는 CLI 도구인 경우 웹 스타일링 질문을 하지 않고 대신 CLI 출력 형식, 종료 코드, 오류 메시지 인체공학, OpenAPI/Scalar 문서 규칙 (DS-CLI-1)을 포함하는 경량화된 specs/DESIGN_SYSTEM.md를 생성합니다.
  4. specs/ARCHITECTURE.md (ARCH-SYS-1)에서 승인된 스택에 맞춘 1~3개의 번호가 매겨진 트레이드오프 질문만 출력합니다. Use defaults를 지원합니다.
  5. 승인되면 specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md, specs/TESTING.md에 세분화된 하위 ID (DS-TOK-1a, CS-TYP-1a, TST-CFG-1a 등)를 포함하여 생성하므로 작업이 관련 규칙만 참조하게 합니다.

필수 표준 질문

  1. UI 프리미티브 및 테마 방향성 (또는 헤드리스인 경우 CLI 인체공학):
    • 웹 UI인 경우: Tailwind CSS v4 + shadcn/ui (Radix) vs CSS Modules, 그리고 High-Craft Light Mode vs Carbon Dark Mode vs Adaptive Dual Theme.
    • CLI / API 전용인 경우: Rich/Typer 터미널 포맷팅 + JSON --output 플래그 지원 + OpenAPI /docs UI.
    • 권장 기본값: specs/PRD.md의 표면 유형에 맞춥니다.
  2. 코드 품질, 린터 및 타입체커 스택:
    • TypeScript인 경우: tsc --noEmit + ESLint / Biome + Prettier.
    • Python인 경우: ruff check + ruff format --check + mypy --strict (또는 pyright).
    • 혼합 언어(Python + TS)인 경우: 디렉토리별로 범위가 지정된 두 도구 체인 모두.
    • 권장 기본값: ARCH-SYS-1에 고정된 정확한 언어 스택에 맞춥니다.
  3. 테스트 및 격리 도구:
    • TypeScript인 경우: Vitest (단위/통합) + Testing Library + MSW (API 모의) + Playwright (E2E).
    • Python인 경우: pytest + pytest-asyncio + httpx.AsyncClient + respx (HTTP 모의) + 트랜잭션 테스트 DB 픽스처.
    • 권장 기본값: ARCH-SYS-1에 고정된 정확한 언어 스택에 맞춥니다.

출력 파일 1: specs/DESIGN_SYSTEM.md

  • 표면 및 브랜드 토큰 ([DS-TOK-1a] 표면, [DS-TOK-1b] 의미론적 텍스트/테두리, [DS-TOK-1c] 상태 악센트): 정확한 CSS 변수 / Tailwind 토큰. 기능 컴포넌트에서 원시 16진수 색상 코드를 금지합니다. (헤드리스/CLI인 경우 [DS-CLI-1] ANSI 색상 의미론, 스피너/진행률 규칙, --json stdout vs stderr 규칙으로 대체).
  • 타이포그래피 및 공간 그리드 ([DS-TYP-1a] 글꼴 및 배율, [DS-TYP-1b] 간격 및 레이아웃): 글꼴 스택 (--font-sans, --font-mono), 숫자 열에 tabular-nums, 4px/8px 공간 리듬.
  • 컴포넌트 상태 계약 ([DS-CMP-1], [DS-CMP-2], ...): 화면/컴포넌트당 하나의 ID가 PRD-UI-*에 매핑됩니다. 모든 대화형 컴포넌트는 default, hover, focus-visible, loading/skeleton, empty-state, error-state의 6가지 필수 상태를 정의해야 합니다.
  • 접근성 및 반응형 가드레일 ([DS-A11Y-1a] 키보드/ARIA, [DS-A11Y-1b] 중단점 및 대비): WCAG AA 대비, 모달에서 포커스 트래핑, 반응형 뷰포트 규칙.

출력 파일 2: specs/CODE_STYLE.md

  • 표준 디렉토리 트리 ([CS-DIR-1]): ARCH-SYS-1과 일치하는 전체 폴더 청사진 (예: src/ 또는 app/, tests/, migrations/).
  • 명명 및 모듈성 규칙 ([CS-NAM-1a] 파일/폴더, [CS-NAM-1b] 심볼 및 내보내기): 대/소문자 규칙 (TS의 경우 kebab-case.ts / PascalCase.tsx; Python의 경우 snake_case.py), 공동 배치, 배럴 파일 제한.
  • 엄격한 타입 지정 및 린팅 명령 ([CS-TYP-1a] 타입 규칙, [CS-TYP-1b] 정확한 CLI 명령):
    • any, @ts-ignore, @ts-expect-error (TS) 및 타입 없는 def, # type: ignore, # noqa (Python)을 금지합니다.
    • senior-software-engineer와 CI가 반드시 실행해야 하는 정확한 lint 및 typecheck CLI 명령을 기록합니다.
  • 오류 처리 및 구조화된 로깅 ([CS-ERR-1a] 도메인 오류, [CS-ERR-1b] 로깅): 표준화된 오류 클래스가 ARCH-API-* 상태 코드에 매핑되고, 구조화된 로거 사용 (Pino / structlog), 프로덕션 코드에서 원시 console.log / print 금지.

출력 파일 3: specs/TESTING.md

  • 테스트 러너 CLI 명령 ([TST-CFG-1a] 단일 파일 명령, [TST-CFG-1b] 전체 스위트 명령):
    • 정확한 단일 파일 명령 (예: npx vitest run <path> 또는 uv run pytest <path> -q).
    • 정확한 전체 스위트 및 커버리지 명령.
  • 데이터베이스 및 픽스처 격리 ([TST-DB-1]): specs/DATABASE.md에 대해 통합 테스트가 상태를 격리하는 방법 (예: 테스트별 트랜잭션 롤백, 격리된 스키마, 또는 PGlite/SQLite 테스트 픽스처) 및 결정론적 팩토리 패턴.
  • 모킹 및 반-게이밍 정책 ([TST-MCK-1a] 외부 모의, [TST-MCK-1b] 반-게이밍 규칙):
    • MSW (ts) 또는 respx (py)를 통해 외부 HTTP 통합 (ARCH-INT-*)을 모의합니다.
    • 테스트 중에 내부 DB 제약 조건, RBAC 가드 (SEC-RBAC-*) 또는 Zod/Pydantic 유효성 검사를 절대 모의하지 않습니다.
    • 엄격한 반-게이밍 금지 (TST-MCK-1b): .skip, .todo, .only, pytest.mark.skip, 실패하는 단정문 삭제, 또는 실패하는 테스트를 통과시키기 위해 예상 상태 코드를 완화하는 것을 금지합니다.
  • LLM 및 에이전트 평가 도구 ([TST-EVAL-1] — ARCH-LLM-*가 존재하는 경우): 단위 테스트를 위한 결정론적 재생 픽스처, 구조화된 출력에 대한 스키마 준수 단정문, 프롬프트 인젝션에 대한 가드레일/거부 테스트 (SEC-VAL-1d), 지연 시간/토큰 예산 단정문 (PRD-NFR-3).
  • 승인-테스트 추적성 매트릭스 ([TST-MAP-1]): 모든 PRD-AC-* 및 SEC-RBAC-* ID를 필수 테스트 계층 (단위, 통합, E2E, 또는 에이전트 평가)에 매핑하는 테이블.

품질 게이트

CODE_STYLE.md 및 TESTING.md의 모든 CLI 명령이 ARCHITECTURE.md의 스택과 일치하고, 모든 PRD-AC-*가 TST-MAP-1에 나타나는지 확인합니다.

관련 스킬