一键导入
fe-qa
frontend/src 변경을 시니어 개발자 시선으로 검증하는 QA 스킬. "QA 해줘", "검증해줘", "코드 리뷰", "리뷰해줘", "merge 전에 봐줘" 요청 시 트리거한다. 구현하지 않고 검증과 보고만 수행한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
frontend/src 변경을 시니어 개발자 시선으로 검증하는 QA 스킬. "QA 해줘", "검증해줘", "코드 리뷰", "리뷰해줘", "merge 전에 봐줘" 요청 시 트리거한다. 구현하지 않고 검증과 보고만 수행한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
현재 PR의 리뷰 코멘트를 분석해 타당한 것만 반영하는 스킬. "리뷰 반영해줘", "PR 리뷰 처리해줘", "코드래빗 리뷰 봐줘", "리뷰 코멘트 반영", "follow review", "apply review" 요청 시 트리거한다. 사람 리뷰는 존중하고 AI 리뷰는 선별해 반영하며, 수정 후 검증한다.
백엔드 API를 frontend/src에 연동하는 스킬. "API 연동해줘", "백엔드 연결해줘", "엔드포인트 붙여줘", "쿼리 훅 만들어줘", "mutation 추가해줘", "이 API 호출하게 해줘" 요청 시 트리거한다. 타입·schema·API 함수·훅·MSW 핸들러를 기존 패턴대로 작성한다.
Figma 디자인을 가져와 frontend/src에 컴포넌트로 구현하는 스킬. "피그마 적용", "figma 디자인 구현해줘", "이 화면 만들어줘", "캡쳐한 디자인대로 만들어줘", figma.com URL 제공 시 트리거한다. 기존 디자인 토큰과 shared/ui 컴포넌트를 재사용해 구현한다.
frontend/.claude/skills/ 아래에 새 프론트엔드 스킬을 만드는 메타 스킬. "스킬 만들어줘", "skill 생성", "새 스킬 추가", "fe 스킬 만들어줘", "스킬 크리에이터" 요청 시 트리거한다. 기존 fe- 스킬과 형식·말투·범위를 일치시켜 SKILL.md를 생성한다.
frontend/src 코드에 테스트를 작성하는 스킬. "테스트 작성해줘", "test 짜줘", "테스트 추가해줘", "이거 테스트 커버해줘", "spec 작성" 요청 시 트리거한다. 대상에 맞는 도구를 골라 계약 중심 테스트를 작성한다.
Notion에서 백엔드 모듈의 API 명세를 MCP로 가져와 docs/backend/api-docs/{module}.md에 저장하는 스킬. "Notion API 가져와줘", "api-docs 동기화", "API 명세 불러와줘", "[모듈] API 문서 받아와", "api-docs 업데이트", "Notion에서 [모듈] 명세 내려받아" 요청 시 트리거한다. be-orchestrate가 Phase 1에서 내부적으로 사용하며 독립적으로도 트리거 가능하다.
| name | fe-qa |
| description | frontend/src 변경을 시니어 개발자 시선으로 검증하는 QA 스킬. "QA 해줘", "검증해줘", "코드 리뷰", "리뷰해줘", "merge 전에 봐줘" 요청 시 트리거한다. 구현하지 않고 검증과 보고만 수행한다. |
변경된 코드가 컨벤션을 준수하는지 검증한다. 구현하지 않는다. 검증과 보고만 한다.
이 스킬은 frontend/ 범위에서만 동작한다. backend/ 파일은 수정하지 않는다.
규칙 기준:
AGENTS.md전체 컨벤션 표
문제는 반드시 파일경로:라인번호 형식으로 위치를 명시한다.
git diff --name-only HEAD
변경 파일 목록을 확인하고 각 파일을 읽는다. frontend/ 밖 변경은 검토 대상에서 제외한다.
AGENTS.md 해당 섹션 기준으로 검증한다. 아래는 quick-reference다.
레이어 / 의존 방향 ("레이어 구조")
app → pages → widgets → features → entities → shared를 지키는가?entities가 feature/widget을, shared가 상위 레이어를 import하지 않는가?routeTree.gen.ts, generated-tokens.css)을 직접 편집하지 않았는가?작성 규칙 ("작성 규칙", "타입과 schema")
const + 명시적 타입, 타입 전용 import는 import type인가?any 대신 unknown + zod parse/타입 좁히기로 받았는가?shared/entities)으로 재사용했는가?API / 상태 ("API 규칙", "상태와 데이터")
@/shared/api helper를 우선 썼고 endpoint에 base URL을 붙이지 않았는가?UI / 스타일 ("UI와 스타일")
shared/ui 기존 컴포넌트를 재사용했는가?접근성 ("접근성")
aria-label, clickable은 의미 있는 요소, 색만으로 상태 전달 금지를 지켰는가?테스트 ("테스트")
AGENTS.md "검증" 표 순서로 실행한다. (frontend에는 verify.sh가 없다.)
pnpm --dir frontend exec tsc -b
pnpm --dir frontend exec prettier --check .
pnpm --dir frontend run lint
pnpm --dir frontend test
실패 시 에러 메시지 전체를 리포트에 포함한다.
## QA 리포트
### 체크리스트 결과
| 항목 | 결과 | 위치 |
| ----------------------------- | :---: | --------- |
| 레이어/의존 방향 | ✅/❌ | 파일:라인 |
| 작성 규칙 (const·import type) | ✅/❌ | 파일:라인 |
| 외부 응답 unknown + zod | ✅/❌ | 파일:라인 |
| API helper·endpoint 형식 | ✅/❌ | 파일:라인 |
| query key 재사용·invalidate | ✅/❌ | 파일:라인 |
| 토큰·shared/ui 재사용 | ✅/❌ | 파일:라인 |
| 접근성 | ✅/❌ | 파일:라인 |
| 테스트 존재·계약 서술 | ✅/❌ | 파일:라인 |
### 검증 명령 결과
tsc / prettier / lint / test: ✅ 통과 / ❌ 실패
실패 내용:
(에러 메시지 그대로)
### 수정 필요 항목
1. [파일경로:라인번호] 문제 내용 — 수정 방향
### 판정
✅ QA 통과 / ❌ QA 실패 (수정 후 재실행 필요)
파일:라인 위치를 명시했는가?