clean-architecture은(는) 무엇을 하나요?
Robert C. Martin의 클린 아키텍처 원칙과 모범 사례입니다. 이 스킬은 소프트웨어 시스템 설계, 코드 구조 검토, 또는 애플리케이션 리팩토링 시 더 나은 관심사 분리를 달성하기 위해 사용해야 합니다. 레이어, 경계, 의존성 방향, 엔티티, 유스케이스 또는 시스템 아키텍처와 관련된 작업에서 트리거됩니다.
Robert C. Martin의 클린 아키텍처 원칙과 모범 사례를 바탕으로 소프트웨어 시스템 설계, 코드 구조 검토, 또는 관심사 분리 향상을 위한 리팩토링에 사용되는 스킬입니다. 레이어, 경계, 의존성 방향, 엔티티, 유스케이스 또는 시스템 아키텍처와 관련된 작업에서 트리거됩니다.
이 스킬은 Robert C. Martin의 클린 아키텍처(Clean Architecture) 원칙을 실제 소프트웨어 개발 및 설계 과정에 적용할 수 있도록 돕습니다. 시스템 설계, 코드 리뷰, 리팩토링 시 레이어(Layer), 경계(Boundary), 의존성 방향(Dependency Direction), 엔티티(Entity), 유스케이스(Use Case), 시스템 아키텍처 등의 개념을 명확히 이해하고 적용할 수 있도록 안내합니다. 주로 Claude Code, Cursor, Codex와 같은 AI 에이전트 환경에서 사용되며, 개발자가 작성한 프롬프트나 코드 컨텍스트를 분석하여 적절한 아키텍처 원칙을 제시합니다. 이 스킬은 관심사 분리를 강화하고, 핵심 비즈니스 로직을 인프라 세부사항으로부터 분리함으로써 유지보수성과 테스트 용이성을 높이는 데 중점을 둡니다. 특히 의존성 역전 원칙(DIP)을 기반으로 한 경계 설정과 레이어 간 의존성 관리 전략을 상세히 설명하여, 개발자가 견고하고 확장 가능한 소프트웨어 시스템을 구축할 수 있도록 지원합니다.
npx skills add https://github.com/pproenca/dot-skills/tree/main/skills/clean-architectureRobert C. Martin의 클린 아키텍처 원칙과 모범 사례입니다. 이 스킬은 소프트웨어 시스템 설계, 코드 구조 검토, 또는 애플리케이션 리팩토링 시 더 나은 관심사 분리를 달성하기 위해 사용해야 합니다. 레이어, 경계, 의존성 방향, 엔티티, 유스케이스 또는 시스템 아키텍처와 관련된 작업에서 트리거됩니다.
This repo contains 7 individual skills — each has its own dedicated page.
Code simplification skill for improving clarity, consistency, and maintainability while preserving exact behavior. Use when simplifying code, reducing complexity, cleaning up recent changes, applying refactoring patterns, or improving readability. Triggers on tasks involving code cleanup, simplification, refactoring, or readability improvements.
Emil Kowalski's animation best practices for web interfaces. Use when writing, reviewing, or implementing animations in React, CSS, or Framer Motion. Triggers on tasks involving transitions, easing, gestures, toasts, drawers, or motion.
nuqs (type-safe URL query state) best practices for Next.js and other React frameworks. This skill should be used when writing, reviewing, or refactoring code that uses nuqs for URL state management. Triggers on tasks involving useQueryState, useQueryStates, search params, URL state, query parameters, nuqs parsers, limitUrlUpdates, Standard Schema, NuqsAdapter, or Next.js routing with state.
React Hook Form performance optimization for client-side form validation using useForm, useWatch, useController, useFieldArray, and the v7.55+ subscribe() API. This skill should be used when building client-side controlled forms with React Hook Form library. This skill does NOT cover React 19 Server Actions, useActionState, or server-side form handling (use react-19 skill for those).
TypeScript performance, tsconfig, type errors, async patterns — triggered when the user asks to "optimize TypeScript performance", "speed up tsc compilation", "configure tsconfig.json", "fix type errors", "improve async patterns", or encounters TS errors (TS2322, TS2339, "is not assignable to"). Also triggers on .ts, .tsx, .d.ts file work involving type definitions, module organization, or memory management. Does NOT cover TypeScript basics, framework-specific patterns, or testing.
Vitest testing framework patterns for test setup, async testing, mocking with vi.*, snapshots, and test performance (formerly test-vitest). This skill should be used when writing or debugging Vitest tests. This skill does NOT cover TDD methodology (use test-tdd skill), API mocking with MSW (use test-msw skill), or Jest-specific APIs.
Zod schema validation best practices for type safety, parsing, and error handling. This skill should be used when defining z.object schemas, using z.string validations, safeParse, or z.infer. This skill does NOT cover React Hook Form integration patterns (use react-hook-form skill) or OpenAPI client generation (use orval skill).
ElevenLabs text-to-speech with mac-style say UX.
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
Capture and automate macOS UI with the Peekaboo CLI.
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".