一键导入
flutter-expert
Flutter/Dart gotchas and decision criteria. Covers Riverpod vs BLoC, widget optimization, and platform-specific pitfalls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Flutter/Dart gotchas and decision criteria. Covers Riverpod vs BLoC, widget optimization, and platform-specific pitfalls.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
CRITICAL: MUST run for EVERY message. Detects agent, complexity, AND model automatically. Without this, tasks route to wrong agents and use wrong models, degrading quality and wasting tokens.
5 techniques for different problem types. Use when stuck or facing complex challenges.
Structured thinking process for complex analysis. Supports revision, branching, and dynamic adjustment.
Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.
Designs RESTful APIs with endpoint naming, versioning strategies (URL path, header-based), pagination (offset and cursor), error response schemas, and OpenAPI conventions. Use when the user asks about REST API design, creating endpoints, URL structure, API versioning, status codes, Swagger, or OpenAPI specs.
Fast bug fixes with root cause investigation + TDD. Enforces 'no fix without root cause' discipline and verification protocol. Without this skill, fixes are applied at symptoms instead of sources, and bugs return.
| name | flutter-expert |
| description | Flutter/Dart gotchas and decision criteria. Covers Riverpod vs BLoC, widget optimization, and platform-specific pitfalls. |
| autoInvoke | false |
| priority | high |
| triggers | ["flutter","dart","widget","bloc","riverpod"] |
| paths | ["**/*.dart","pubspec.yaml"] |
| allowed-tools | Read, Grep, Glob, Edit, Write |
| user-invocable | false |
AI-consumed reference. Optimized for Claude to read during execution. Human-readable explanation: see docs/architecture/HIERARCHICAL_PLANNING.md or docs/getting-started/ depending on topic.
Use Context7 for full Flutter/Dart docs.
decisions[4]{choice,use_when}:
Riverpod vs BLoC,"Riverpod: simpler apps + compile-safe. BLoC: complex event-driven + team conventions"
StatelessWidget vs StatefulWidget,"Stateless default. Stateful only for local mutable state (animations/controllers)"
go_router vs Navigator,"go_router for declarative deep linking. Navigator for simple stack-based"
Feature-first vs Layer-first,"Feature-first: lib/features/auth/{data|domain|presentation}"
const constructors for immutable widgets — huge rebuild savingsBuildContext used after async gap → widget may be unmounted. Check mounted firstListView.builder not ListView(children:[...]) for long lists — avoids building all itemssealed class for Result pattern (Success/Failure) — exhaustive switchref.watch in build, ref.read in callbacks. Never ref.watch in callbacksclose() — check isClosed in async operationsMissingPluginException for web/desktopTextEditingController and AnimationController MUST be disposed in dispose()MediaQuery.of(context) causes rebuilds — use MediaQuery.sizeOf(context) for just size