Use when user wants to create a new Flutter project (Todo/Habit/Note/Expense/Custom domain) with Clean Architecture, Riverpod 3.0, Drift, and modern Flutter stack
68
59%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/flutter-init/SKILL.md도메인 기반 Flutter 프로젝트를 생성하고 현대적인 아키텍처로 자동 설정합니다. Todo, Habit, Note, Expense 또는 Custom 도메인을 선택하여 Clean Architecture 기반의 완전한 CRUD 앱을 즉시 생성할 수 있습니다.
스킬 실행 시 다음 정보를 입력받습니다:
그 후 자동으로 다음 단계가 실행됩니다:
# 1. 프로젝트 생성 (Android/Kotlin, iOS/Swift)
flutter create --platforms android,ios --android-language kotlin --org com.example [폴더명]
# 2. 패키지 설치
flutter pub get
# 3. 도메인별 Clean Architecture 코드 자동 생성
# - domain/entities/[domain].dart (Freezed 엔티티)
# - data/datasources/local/app_database.dart (Drift 테이블)
# - data/repositories/[domain]_repository_impl.dart (Repository 구현)
# - presentation/providers/[domain]_providers.dart (Riverpod 3.0)
# - presentation/screens/* (List/Detail/Form 화면)
# 4. 코드 생성 (Freezed, Drift, JSON Serializable)
dart run build_runner build --delete-conflicting-outputs
# 5. 코드 검증 및 오류 자동 수정 (필수)
flutter analyze
# 6. 앱 실행
flutter runIMPORTANT: 이 스킬은 대화형으로 진행됩니다.
먼저 사용자에게 이렇게 물어보세요:
"Flutter 앱을 생성합니다. 다음 정보를 알려주세요:
1. 도메인(엔티티) 선택
어떤 도메인의 앱을 만드시겠습니까?
A) Todo (할 일 관리)
B) Habit (습관 트래커)
C) Note (메모)
D) Expense (지출 관리)
E) Custom (직접 정의)
2. 프로젝트 정보
3. 스택 프리셋 선택
다음 중 하나를 선택해주세요:
A) Essential (권장)
B) Minimal (가장 단순)
C) Full Stack (모든 기능)
D) Custom (직접 선택)
어떤 도메인과 프리셋을 선택하시겠습니까? (도메인: A/B/C/D/E, 프리셋: A/B/C/D)"
다음 질문들을 순차적으로 하세요:
Flutter 프로젝트 생성:
flutter create --platforms android,ios --android-language kotlin --org [조직명] [폴더명]flutter create --platforms android,ios --android-language kotlin --org com.example my_habit_appname 필드를 수정Kotlin DSL 확인 (최신 Flutter는 자동으로 Kotlin DSL 사용)
선택된 패키지 설치: pubspec.yaml 업데이트 후 flutter pub get
폴더 구조 생성: Clean Architecture (core, data, domain, presentation)
도메인별 보일러플레이트 생성:
A) Todo: title, description, isCompleted, createdAt, completedAt
B) Habit: name, description, frequency, streak, lastCompletedAt, goal, isActive
C) Note: title, content, tags, isPinned, createdAt, updatedAt
D) Expense: amount, category, description, date, paymentMethod
E) Custom: 사용자 정의 필드
설정 파일 생성 (라우팅, 스토리지, 다국어 등)
코드 생성: dart run build_runner build --delete-conflicting-outputs
코드 검증 및 오류 수정:
a. flutter analyze 실행
b. 발견된 오류 수정:
package: 형식으로 변경
import '../../domain/entities/todo.dart'; → import 'package:todo_app/domain/entities/todo.dart';shared_preferences)StateNotifier → Notifier, StateProvider → NotifierProviderc. 재검증: 모든 error 레벨 오류가 없을 때까지 반복
d. 목표: flutter analyze 결과가 "0-1 issues found" (info 레벨만 허용)
✅ CRITICAL: 이 단계는 필수입니다. 모든 error를 제거해야 다음 단계로 진행할 수 있습니다.
✅ CRITICAL: 이 단계는 프로젝트 완료의 필수 조건입니다.
최종 분석 실행:
flutter analyze성공 기준:
✅ 성공 예시:
Analyzing todo_app...
No issues found!또는
Analyzing todo_app...
1 issue found. (ran in 2.3s)
info • Prefer using lowerCamelCase for constant names • lib/core/constants.dart:5:7 • constant_identifier_names❌ 실패 예시 (error가 있으면 반드시 수정):
error • Target of URI doesn't exist: 'package:...' • lib/main.dart:5:8 • uri_does_not_exist
error • The getter 'xyz' isn't defined for the type 'ABC' • lib/presentation/screens/home.dart:42:15검증 결과 요약 (성공 시):
✅ Flutter 프로젝트 생성 완료!
✅ 코드 생성 완료 (Freezed, Drift, JSON Serializable)
✅ Flutter analyze 통과 (0-1 issues found, info 레벨만)
✅ 모든 패키지 설치 완료프로젝트 정보 제공:
실행 방법 안내:
cd [폴더명]
flutter run다음 단계 제안 (선택사항, 도메인별):
references/setup-guide.md - 완전한 가이드
flutter analyze 통과 필수1be5394
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.