{"id":"7468292f-1bf9-46d7-a8ca-1e244cce340d","slug":"abdelhakrazi-flutter-bloc-clean-architecture-skill","name":"flutter-bloc-development","description":"Build Flutter features using BLoC state management, clean architecture layers, and the project's design system. Apply when creating screens, widgets, or data integrations.","canonicalUrl":"https://www.xpersona.co/skill/abdelhakrazi-flutter-bloc-clean-architecture-skill","sourceUrl":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"abdelhakrazi","label":"Abdelhakrazi","url":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-04-15T03:13:23.027Z","freshnessLabel":"Apr 15, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Apr 15, 2026"},{"label":"Vendor","value":"Abdelhakrazi"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","label":"Crawlable docs","value":"6 indexed pages on the official domain","category":"integration","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true,"metadata":{}},{"factKey":"vendor","label":"Vendor","value":"Abdelhakrazi","category":"vendor","href":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","sourceUrl":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:13:23.027Z","isPublic":true,"metadata":{}},{"factKey":"protocols","label":"Protocol compatibility","value":"OpenClaw","category":"compatibility","href":"https://www.xpersona.co/api/v1/agents/abdelhakrazi-flutter-bloc-clean-architecture-skill/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/abdelhakrazi-flutter-bloc-clean-architecture-skill/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T03:13:23.027Z","isPublic":true,"metadata":{}},{"factKey":"traction","label":"Adoption signal","value":"14 GitHub stars","category":"adoption","href":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","sourceUrl":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:13:23.027Z","isPublic":true,"metadata":{}},{"factKey":"handshake_status","label":"Handshake status","value":"UNKNOWN","category":"security","href":"https://www.xpersona.co/api/v1/agents/abdelhakrazi-flutter-bloc-clean-architecture-skill/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/abdelhakrazi-flutter-bloc-clean-architecture-skill/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true,"metadata":{}}],"highlights":["14 GitHub stars","Trust evidence available"],"agentCard":{"name":"flutter-bloc-development","description":"Build Flutter features using BLoC state management, clean architecture layers, and the project's design system. Apply when creating screens, widgets, or data integrations.","source":"GITHUB_OPENCLEW","sourceId":"github:1142354250","repository":"https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill","documentation":"https://www.xpersona.co/skill/abdelhakrazi-flutter-bloc-clean-architecture-skill/agent/abdelhakrazi-flutter-bloc-clean-architecture-skill","protocols":["OPENCLEW"],"languages":["typescript"],"install":{"command":"git clone https://github.com/AbdelhakRazi/flutter-bloc-clean-architecture-skill.git","ecosystem":"git"},"examples":[{"kind":"example","language":"text","snippet":"User task → What are they building?\n    │\n    ├─ New screen/feature → Full feature implementation:\n    │   1. Create feature folder (lib/[feature]/)\n    │   2. Define BLoC (bloc/[feature]_event.dart, _state.dart, _bloc.dart)\n    │   3. Create data layer (data/datasources/, data/repositories/, data/models/)\n    │   4. Build UI (view/[feature]_page.dart, view/widgets/)\n    │   5. Create barrel files ([feature].dart, data/data.dart, view/view.dart)\n    │\n    ├─ New widget only → Presentation layer:\n    │   1. Feature-specific: feature/view/widgets/\n    │   2. Shared/reusable: shared/widgets/\n    │   3. Use design system constants (NO hardcoded values)\n    │   4. Connect to existing BLoC if needed\n    │\n    ├─ Data integration → Data layer only:\n    │   1. Create datasource (feature/data/datasources/)\n    │   2. Create repository (feature/data/repositories/)\n    │   3. Wire up in existing or new BLoC\n    │\n    └─ Refactoring → Identify violations:\n        1. Check for hardcoded colors/spacing/typography\n        2. Check for business logic in UI\n        3. Check for direct SDK calls outside datasources\n        4. Check for missing Loading state before async operations\n        5. Check for missing Equatable on Events/States\n        6. Check for improper error handling (use SnackBar + AppColors.error)"},{"kind":"example","language":"text","snippet":"lib/\n├── [feature]/                    # Feature folder (e.g., earnings/, auth/, trips/)\n│   ├── bloc/\n│   │   ├── [feature]_bloc.dart\n│   │   ├── [feature]_event.dart\n│   │   └── [feature]_state.dart\n│   ├── data/\n│   │   ├── datasources/          # Feature-specific API calls\n│   │   ├── repositories/         # Data orchestration\n│   │   ├── models/               # Feature-specific DTOs\n│   │   └── data.dart             # Data layer barrel file\n│   ├── view/\n│   │   ├── [feature]_page.dart   # Main screen\n│   │   ├── widgets/              # Feature-specific widgets\n│   │   └── view.dart             # View barrel file\n│   └── [feature].dart            # Feature barrel file\n├── shared/                       # Cross-feature code\n│   ├── data/\n│   │   ├── datasources/          # Shared API clients (ApiClient, UserDataSource)\n│   │   ├── models/               # Shared models (User, ApiResponse)\n│   │   └── data.dart             # Shared data barrel file\n│   ├── widgets/                  # Reusable UI components\n│   └── utils/                    # Design system (colors, spacing, typography)\n└── app.dart                      # App entry point"}]}}