一键导入
flutter-work-flow
flutter的开发操作流程,在dart-flutter任何问题都需要优先加载这个SKILL
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
flutter的开发操作流程,在dart-flutter任何问题都需要优先加载这个SKILL
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Relay-v3 Lua 状态机接入指南。新增一个互联网房间业务(聊天、卡牌、白板、投票、协作…)时使用。描述后端元函数契约、前端闭环套路、Lua 脚本模板、state 转换规范、错误案例。识别"我要实现一个新业务""写一个 Lua 房间脚本""加一个 action 类型"时触发。
当用户提及 Relay/LAN/快照/action 流/net_p2p/net_engine 协议、讨论消息传输层(事件 vs 快照)、新建/重构 P2P 协议、排查"晚加入者错过事件""两端不同步""房间状态丢失""广播丢失"等问题时触发。包含 v1 action/事件驱动(已落地,遗留用法)与 v2 快照驱动(推荐新功能)。
Flutter 项目中"样式"相关工程的渐进式披露指南。当用户要做 UI 样式选型、视觉对齐复刻、画布/HTML mockup 与 Flutter 实现的双向对照、或在 Material 3 体系下选某一类样式(顶部 App Bar / Card / Button / NavigationBar / Modal 等)落地时触发。本 skill 是样式大类的总入口,所有方案的最终形态都登记在分类索引表里,按需加载对应方案文件。同时承载小豆子 FR 项目的 UI 设计原则与实战 bug 沉淀(border-emphasis 边框强调式、嵌套 sheet race condition、多风格 lottery 投票挑选、纯色按钮减负、左重右轻、装饰性 vs 功能性颜色决策)。
Flutter 通过 home_widget 把 1Hz 实时值(如倒计时)推到 Android 桌面 AppWidget 的端到端架构。当用户提到 home_widget 不同步、桌面小组件不刷新、appwidget 实时值、widget 显示卡死、widget 进程被杀场景、AppWidgetProvider 找不到时触发。
Comprehensive Rive animation platform skill covering scripting (Luau), runtime integration (React/Next.js), state machines, data binding, and the complete API. Use this skill when users need to create interactive animations with Rive, integrate Rive into React/Next.js applications, write Rive scripts (Node, Layout, Converter, PathEffect protocols), control animations via state machines, implement scroll-based animations, or work with Rive's drawing API (Path, Paint, Renderer). Triggers on: "rive", "rive animation", "rive script", "luau", "@rive-app/react-canvas", "state machine animation", "interactive animation", "scroll animation with rive". 本项目(xiaodouzi/fr,Flutter + rive ^0.14.5)特化:DataBind / ViewModel 双向数据绑定、lab demo 添加流程见 references/flutter-databind-0.14.md 与 references/flutter-project-workflow.md。
Android 14+ MediaProjection 截屏与 Foreground Service 调试修复指南。当遇到悬浮窗截屏闪退、权限重复申请、SecurityException、IllegalArgumentException、Unable to start service、截图后无结果显示、设备运行旧 APK 等问题时使用此 skill。涵盖 MediaProjectionManager、startForeground、FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION、ImageReader/VirtualDisplay 等完整调试链路;按异常类型分类的排查 SOP 见 references/fgs-debug-cases.md。当用户提到 MediaProjection、截屏权限、前台服务类型、悬浮窗截图、FOREGROUND_SERVICE_MEDIA_PROJECTION、Foreground Service type 不匹配、Android 14+ 屏幕录制、SecurityException around startForeground、PigmentFloatingManager、悬浮窗 FGS 异常,或任何 Android 14+/15 foreground service 与 MediaProjection 相关问题(含设备运行 APK 与源码不一致)时触发。
| name | flutter-work-flow |
| description | flutter的开发操作流程,在dart-flutter任何问题都需要优先加载这个SKILL |
<doc-reference>
references/
├── Flutter-Hive-TypeAdapter-part文件CI构建失败问题.md # Flutter Hive part文件CI构建连续失败3次,通过合并Adapter到主文件解决
├── Flutter-CollapsingHeader圆角渐变头部与白色内容区布局.md # CustomScrollView + SliverPersistentHeader 实现圆角渐变头部,关键:pinned:false,只用gradient不用color
├── Android-FloatingWindow-常驻截屏模式适配Android14+.md # Android 14+ MediaProjection token 一次性问题,常驻 VirtualDisplay 方案
├── Flutter-自定义Scheme路由中心化-fr-Router.md # fr:// 路由设计:authority/path 拆分 + prefix 匹配 + handler 模式(理解系统/重构时读)
├── Flutter-fr路由-注册规范与防腐蚀.md # fr:// 日常使用:新页面注册SOP + 防腐蚀grep检测 + 反模式(加新页面/写跳转时读)
└── Flutter-DemoPage-slug抽象化与别名机制.md # kDemoSlugs 全局表迁移到 abstract slug 字段、Demo 别名机制、多 demo 合并为 Tab 容器
</doc-reference>
| ref | 何时读取 |
|---|---|
| Flutter-Hive-TypeAdapter-part文件CI构建失败问题 | Hive TypeAdapter / part 文件 CI 编译失败时 |
| Flutter-CollapsingHeader圆角渐变头部与白色内容区布局 | 做 collapsing header / 圆角渐变头部布局时 |
| Android-FloatingWindow-常驻截屏模式适配Android14+ | Android 14+ MediaProjection / 悬浮窗截屏 / token 失效时 |
| Flutter-自定义Scheme路由中心化-fr-Router | 改 fr:// 路由 / 重构路由系统 / 理解路由设计原理时 |
| Flutter-fr路由-注册规范与防腐蚀 | 加新页面 / 写 fr:// 跳转 / 加 MethodChannel / 提交前自查腐蚀时 |
| Flutter-DemoPage-slug抽象化与别名机制 | 删 kDemoSlugs 迁 abstract slug / 给 demo 加别名 slug / 合并多个 demo 为统一 Tab 容器时 |
import: 任何不能立即完成的任务,请使用todolist相关的工具 先规划任务 然后再每个条目进行完成 禁止没有任何流程的进行代码控制
@override
WidgetbuildPage(BuildContextcontext) {
return constXXXXXXPage();
}进行导入 (注释: 可以参考经典案例:a方案: api_test_demo.dart b方案: word_drag_demo ,以及无任何文件解耦,单文件的方案 crash_log_demo) , 一般不进行文件解耦,如果超过400行 就必须使用方案a ,方案b需要用户主动进行指定,按照代码量选择方案a或者无解耦
规范:
场景规范
LAB_DEMO:
bool get preferFullScreen => true。创建新 lab 前先阅读 lab_container.dart(新 lab 一般还没有容器)native目录:
提示:
检查:
| 错误操作 | 实际后果 | 正确做法 |
|---|---|---|
| 删除 ref 文件后没同步清理 SKILL.md 目录列表 + 索引表 | 悬挂引用(索引引用了已删除的修复warning.md),按需加载时找不到文件 | 删 ref 文件时必须同步删掉目录列表行 + "何时读哪个 ref"索引行 |
目录名 typo(reffenrece)长期未纠正 | 与标准references/约定不一致,ref 内引用路径也跟着错 | ref 目录统一用references/命名;改名用git mv并同步全部引用点 |