전체 카탈로그
Agent Harness Store의 모든 Rules, Skills, Presets 완전 목록.
45Rules
45Skills
2Presets
24FE Rules
21BE Rules
Rules — 전체 목록
Rules는 Claude에게 자동 주입되는 상시 제약입니다. FE 하네스 24개 + BE 하네스 21개 (일부 공유).
tech-stack
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
fe-stack-and-commands | Next.js/TypeScript, pnpm, TanStack Query, Zustand, 표준 명령어 | FE | must |
be-stack-and-commands | Flask/Python, uv, Connexion 3 ASGI, DynamoDB, 표준 명령어 | BE | must |
architecture
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
feature-boundaries | FSD 경계 — 피처는 공개 진입점만 통해 의존 | FE | must |
flask-app-architecture | 앱 팩토리, 블루프린트, 계층 분리 (routes→service→repo→domain) | BE | must |
workflow
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
plan-first | 코드 전 구현 계획 작성 (컴포넌트 트리, 상태, 데이터 흐름) | 공통 | must |
cleanup-after-green | 테스트 통과 후 포맷, 사용하지 않는 import, console.log 제거 | 공통 | should |
fe-tdd | Red-Green-Refactor — 실패 테스트 먼저 작성 (Vitest/Jest, Playwright) | FE | must |
be-tdd | Red-Green-Refactor — 실패 pytest 먼저 작성 (서비스 유닛, test_client) | BE | must |
security
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
no-hardcoded-secrets | 비밀을 소스에 커밋 금지 (모든 파일 — .env 형식 아닌 것 포함) | 공통 | must |
sanitize-untrusted-input | 외부 입력 신뢰 금지 — XSS, SQL/커맨드 인젝션, path traversal 방지 | 공통 | must |
mask-pii | 로그/에러/분석에 PII, 토큰, 자격증명 원문 출력 금지 | 공통 | must |
backend-api-access-control | BOLA 방지, 모든 요청 인증, IAM 최소권한, CORS 허용 목록, 보안 헤더 | BE | must |
type-modeling
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
no-any | any 타입 금지 — unknown + 타입 가드 사용 | FE | must |
domain-types | 도메인 엔티티를 명시적 interface/type으로 선언 (API 계약에서 파생) | FE | must |
python-type-hints | 모든 공개 함수 타입 힌트, mypy (점진적), dataclass/Pydantic 도메인 모델 | BE | must |
UI / 스타일 / 접근성
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
design-tokens | Tailwind 디자인 토큰만 사용 — 하드코딩 px/hex, 인라인 스타일 금지 | FE | must |
accessibility | 시맨틱 HTML, WAI-ARIA 올바른 사용, 키보드 접근성, WCAG AA 대비 | FE | must |
상태 / 에러 처리
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
state-ownership | 서버 상태는 TanStack Query, 클라이언트/UI 상태는 Zustand/useState | FE | must |
route-boundaries | 모든 주요 라우트에 loading.tsx + error.tsx 필수 | FE | must |
api-error-and-health | 전역 에러 핸들러 (JSON, 스택 트레이스 없음), liveness/readiness, 구조적 로그 | BE | must |
네이밍 / 버전 관리
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
casing | PascalCase 컴포넌트, camelCase 유틸, kebab-case 파일명 | FE | must |
python-casing | PEP 8 — snake_case 함수/변수, PascalCase 클래스, UPPER_SNAKE 상수 | BE | must |
commits | Conventional Commits, 원자적 단위, 명령형 제목 | 공통 | must |
language-policy | 영어 코드/커밋, 한국어 PR 설명/UI 텍스트 | 공통 | must |
Next.js 경계 / 하이드레이션
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
serializable-boundary-props | Server→Client 경계에 직렬화 가능한 일반 객체만 전달 | FE | must |
hydration-mismatches | 하이드레이션 불일치는 근본 원인 수정 — useEffect/mounted 플래그로 묵인 금지 | FE | must |
Flask 아키텍처 / 영속성
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
openapi-first-contract | OpenAPI YAML이 SSOT — 생성 코드와 비즈니스 로직 분리 | BE | must |
dynamodb-data-access | boto3는 repository 뒤에 — AbstractRepository, 로컬 우선, IaC 테이블 프로비저닝 | BE | must |
가드레일 / 기타
| Rule ID | 설명 | 적용 | 심각도 |
|---|---|---|---|
protected-config-files | core 설정(next.config, tsconfig, CI/CD) 수정 시 명시적 승인 필요 | FE | must |
protected-config-be | BE core 설정(pyproject.toml, OpenAPI spec, IaC) 수정 시 승인 필요 | BE | must |
no-reading-generated-trees | .next/, node_modules/, lockfile 내부 읽기 금지 (토큰 효율) | 공통 | must |
reuse-before-install | 기존 의존성 우선 — 새 패키지 설치 전 package.json 확인 + 승인 필요 | FE | must |
autonomous-retry | 빌드/lint/테스트 실패 시 최대 3회 자율 수정 후 에스컬레이션 | 공통 | must |
codegraph-first | 탐색은 CodeGraph 우선 (심볼, 콜 그래프) — 맹목적 파일 스캔 금지 | 공통 | should |
no-comments | WHY가 자명하지 않을 때만 주석 — 코드 설명 주석 금지 | 공통 | should |
Skills — 전체 목록
design-system
| Skill ID | 설명 | 호출 |
|---|---|---|
gsr-design-tokens | GS Retail Figma 디자인 토큰 (색상, 타이포, 스페이싱, 보더 반경) | 자동 로드 |
gsr-design-philosophy | GS Retail 브랜드 느낌 — 비주얼 판단 기준 | 자동 로드 |
gsr-shared-ui | @gsr/shared-ui 컴포넌트 라이브러리 카탈로그 | 자동 로드 |
git
| Skill ID | 설명 | 호출 |
|---|---|---|
conventional-commits | Conventional Commits 전체 스펙 — 타입, 스코프, 제목/본문 형식 | 자동 로드 |
pre-stage-secret-scan | stage/commit 전 비밀 스캔 (API 키, JWT, 자격증명) | PreToolUse hook |
bitbucket-server | GS Retail Bitbucket Data Center REST API 완전 가이드 | 자동 로드 |
monorepo
| Skill ID | 설명 | 호출 |
|---|---|---|
nx-best-practices | Nx 폴더 구조, 태그+경계, TS 프로젝트 참조, executor, 명령어 표면 | 자동 로드 |
UI 도메인 컨텍스트
| Skill ID | 설명 | 호출 |
|---|---|---|
scaffold-domain-ui | 도메인명+필드로 React 컴포넌트 + 타입 인터페이스 스캐폴드 | /scaffold-domain-ui |
scaffold-ui-isolation | 새 컴포넌트 Storybook 스토리 생성 | /scaffold-ui-isolation |
validate-routing-rules | Next.js App Router 컨벤션 정적 검사 | /validate-routing-rules |
audit-design-system | 인라인 스타일/비표준 클래스 스캔 → 디자인 토큰 교체 제안 | /audit-design-system |
update-context | 새 기능 요약을 ARCHITECTURE.md에 추가 | /update-context |
API 통합
| Skill ID | 설명 | 호출 |
|---|---|---|
sync-api-contracts-init | OpenAPI/Swagger 계약 동기화 일회성 스캐폴더 | /sync-api-contracts-init |
scaffold-msw-handlers-init | MSW 핸들러 스캐폴드 일회성 설정 | /scaffold-msw-handlers-init |
openapi-first-flask-init | Connexion Flask 서비스 일회성 설정 (zero-Java) | /openapi-first-flask-init |
scaffold-flask-resource | REST 리소스 레이어 스캐폴드 (handler+service+repo+domain+tests) | /scaffold-flask-resource |
인증
| Skill ID | 설명 | 호출 |
|---|---|---|
azure-ad-sso-nextjs | GSR Azure AD SSO 추가 — Next.js 프론트엔드 (MSAL, AuthProvider) | /azure-ad-sso-nextjs |
azure-ad-sso-flask | GSR Azure AD SSO 추가 — Flask 백엔드 (@require_auth, /acl) | /azure-ad-sso-flask |
영속성 / 배포
| Skill ID | 설명 | 호출 |
|---|---|---|
setup-local-datastore | DynamoDB Local (Docker) + moto pytest 픽스처 설정 | /setup-local-datastore |
provision-dynamodb-aws | 로컬 → AWS DynamoDB 졸업 (CDK/SAM/Terraform, IAM) | /provision-dynamodb-aws |
deploy-flask-aws | Flask/Connexion ASGI → ECS/Fargate 또는 Lambda+Mangum 배포 | /deploy-flask-aws |
QA / DevOps
| Skill ID | 설명 | 호출 |
|---|---|---|
are-we-done | PR 전 독립 서브에이전트 리뷰 — SHIP/FIX-FIRST 판정 | /are-we-done |
pr-review | FE PR Bitbucket 인라인 코멘트 (엄격, 한국어) | /pr-review |
pr-review-be | BE PR Bitbucket 인라인 코멘트 (엄격, 한국어) | /pr-review-be |
security-review | diff/PR OWASP Top 10 기반 보안 검토 | /security-review |
generate-unit-tests | FE Vitest/Jest 단위 테스트 스캐폴드 (엣지 케이스 중심) | /generate-unit-tests |
generate-pytest-tests | BE pytest 커버리지 (서비스 유닛+test_client+moto) | /generate-pytest-tests |
scaffold-e2e-flow | Playwright/Cypress E2E 테스트 스켈레톤 | /scaffold-e2e-flow |
check-deployment-readiness | FE 배포 게이트 (tsc+lint+test+next build) | /check-deployment-readiness |
check-flask-deploy-readiness | BE 배포 게이트 (ruff+mypy+pytest+openapi-validate) | /check-flask-deploy-readiness |
generate-pr-summary | diff → 요구사항 매핑 → 한국어 PR 설명 | /generate-pr-summary |
address-pr-feedback | Bitbucket PR blocker 코멘트 체계적 처리 | /address-pr-feedback |
scrape-runtime-errors | 브라우저 console + React Error Boundary 캡처 | /scrape-runtime-errors |
audit-security-baseline | pre-commit 보안 기준 스캔 | hook + /audit-security-baseline |
consolidate-tech-debt | 기능 완성 후 중복 컴포넌트 병합, 주석 코드/미사용 토큰 제거 | /consolidate-tech-debt |
코드리뷰
| Skill ID | 설명 | 호출 |
|---|---|---|
root-cause | 버그/크래시 근본 원인 분석 → 검증된 수정 | /root-cause |
api-docs | 공개 인터페이스/HTTP 엔드포인트 문서 작성/업데이트 | /api-docs |
kiro-day-style | Kiro Day for GSR 스타일 교육 콘텐츠 작성 | /kiro-day-style |
Presets
| Preset ID | 이름 | 포함 |
|---|---|---|
fe-agent-harness | FE Agent Harness | 24 rules + 26 skills (FE 스택 전체) |
be-agent-harness | BE Agent Harness | 21 rules + 19 skills (BE 스택 전체) |