Files
submanager/.claude/skills/hive-model/SKILL.md
JiWoong Sul 83c43fb61f feat: SMS 스캔 전면광고 및 Isolate 버그 수정
## 전면 광고 (AdService)
- AdService 클래스 신규 생성 (lunchpick 패턴 참조)
- Completer 패턴으로 광고 완료 대기 구현
- 로딩 오버레이로 앱 foreground 상태 유지
- 몰입형 모드 (immersiveSticky) 적용
- iOS 테스트 광고 ID 설정

## SMS 스캔 버그 수정
- Isolate 내 Flutter 바인딩 접근 오류 해결
- _isoExtractServiceNameFromSender()에서 하드코딩 사용
- 로딩 위젯 화면 정중앙 배치 수정

## 문서 및 설정
- CLAUDE.md 최적화 (글로벌 규칙 중복 제거)
- Claude Code Skills 5개 추가
  - flutter-build: 빌드/분석
  - hive-model: Hive 모델 관리
  - release-deploy: 릴리즈 배포
  - sms-scanner: SMS 스캔 디버깅
  - admob: 광고 구현

## 버전
- 1.0.1+2 → 1.0.1+3
2025-12-08 18:14:52 +09:00

1.3 KiB

name, description, allowed-tools
name description allowed-tools
hive-model Hive 데이터 모델 생성 및 수정. 새 모델 추가, 필드 변경, typeId 관리 시 사용. Bash, Read, Write, Edit, Glob

Hive Model Management

현재 모델 (typeId)

Model typeId 파일
SubscriptionModel 0 lib/models/subscription_model.dart
CategoryModel 1 lib/models/category_model.dart
PaymentCardModel 2 lib/models/payment_card_model.dart

새 모델 생성 시

import 'package:hive/hive.dart';

part 'new_model.g.dart';

@HiveType(typeId: 3)  // 다음 사용 가능한 typeId
class NewModel extends HiveObject {
  @HiveField(0)
  final String id;

  @HiveField(1)
  final String name;

  NewModel({required this.id, required this.name});
}

코드 생성

모델 변경 후 반드시 실행:

dart run build_runner build --delete-conflicting-outputs

주의사항

  1. typeId 충돌 금지: 기존 typeId 재사용 불가
  2. HiveField 순서: 기존 필드 인덱스 변경 금지 (데이터 손실)
  3. 마이그레이션: 필드 추가는 안전, 삭제/변경은 마이그레이션 필요

main.dart 등록

Hive.registerAdapter(NewModelAdapter());
await Hive.openBox<NewModel>('newModelBox');