클로드스킬마트스킬 둘러보기바로 쓰는 문장영상으로 배우기터미널 사용법스킬이 뭐예요?
← 목록으로

Bloc 상태관리 규칙

Flutter의 bloc/flutter_bloc으로 Cubit·Bloc을 설계, 구현, 테스트하는 실무 규칙집입니다.

개발·코딩중급★ 646⑂ 67AI 점수 9/10마지막 업데이트: 2026. 9. 14.

무엇을 해주나

Claude Code가 Flutter 프로젝트에서 상태관리 코드를 작성할 때 bloc 생태계의 정석 컨벤션을 따르게 만듭니다.

  • Cubit vs Bloc 선택 기준: 단순 상태는 Cubit, 이벤트 추적·디바운스가 필요하면 Bloc.
  • 네이밍 규칙: 이벤트는 과거형(LoginButtonPressed), 상태는 명사(LoginInProgress).
  • 상태 모델링: sealed class + 서브클래스 방식과 단일 클래스 + status enum 방식의 선택 기준, Equatable/@immutable/copyWith 규칙.
  • 위젯 연결: BlocProvider, BlocBuilder, BlocListener, BlocSelector 등의 용도 표와 context.read/watch 사용 원칙.
  • 아키텍처: Presentation → Business Logic → Data(Repository → DataProvider) 3계층 경계 규칙, bloc 간 직접 통신 금지.
  • 테스트: bloc_test + mocktail 기반 성공/실패 케이스 템플릿.
  • 흔한 실수 표: 동일 상태 재emit, props 누락, 위젯 내 비즈니스 로직 등.

이런 분께 추천

  • bloc/flutter_bloc으로 중·대형 Flutter 앱을 만드는 개발자
  • 팀 내 상태관리 코드 스타일을 통일하고 싶은 리드 개발자
  • Provider나 setState에서 bloc으로 마이그레이션 중인 팀
  • AI에게 상태관리 코드를 맡길 때 결과물 품질을 예측 가능하게 만들고 싶은 분

활용 예시

  1. "로그인 기능용 Cubit을 만들어줘" → status enum 기반 상태 클래스, copyWith, 리포지토리 주입 생성자까지 컨벤션대로 생성.
  2. "이 화면의 setState 코드를 bloc으로 리팩터링해줘" → sealed state 정의 + BlocBuilder/BlocListener 분리 적용.
  3. "방금 만든 CartCubit 테스트 작성해줘" → blocTest로 loading/success/failure 배출 순서를 검증하는 테스트와 tearDown 포함 코드 생성.

· · · 설치 가이드 · · ·

설치 없이 지금 한 번 써보기

아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.

이 파일의 지시를 읽고 그대로 따라서 나를 도와줘:
https://raw.githubusercontent.com/evanca/flutter-ai-rules/HEAD/skills/bloc/SKILL.md

내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)

Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.

↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.

Claude 앱에 설치 (터미널 필요 없음)
  1. 아래 버튼으로 ZIP 파일을 받으세요.
  2. Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
  3. Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
↓ ZIP 내려받기
Claude Code에 설치

Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요

클로드스킬마트에서 찾은 스킬을 설치해줘.
GitHub 저장소 evanca/flutter-ai-rules 의 skills/bloc 폴더를 내 ~/.claude/skills/bloc/ 에 그대로 복사해줘.
설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.

직접 명령으로 설치하기

git clone https://github.com/evanca/flutter-ai-rules.git && mkdir -p ~/.claude/skills && cp -r flutter-ai-rules/skills/bloc ~/.claude/skills/

⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.

  1. 터미널을 엽니다.
  2. 스킬 저장소를 내려받습니다: git clone https://github.com/evanca/flutter-ai-rules.git
  3. Claude 스킬 폴더를 준비합니다: mkdir -p ~/.claude/skills
  4. bloc 스킬만 복사합니다: cp -r flutter-ai-rules/skills/bloc ~/.claude/skills/
  5. ls ~/.claude/skills/bloc/SKILL.md로 파일이 있는지 확인합니다.
  6. Flutter 프로젝트 폴더에서 Claude Code를 다시 실행합니다.
  7. "이 기능용 Cubit 만들어줘"처럼 요청하면 스킬이 자동으로 적용됩니다. (프로젝트에 bloc, flutter_bloc, 테스트용 bloc_test, mocktail 패키지가 필요합니다.)