Agent Skills
› chrisbanes/skills
chrisbanes/skills
GitHub用于物理Android基准测试配置对比、排查排名不一致及选择默认配置的指南。强调可复现实验方法,涵盖设备环境控制、运行顺序平衡、变异性分析及Trace数据审查,确保决策基于完整证据而非仅最快结果。
安装全部 Skills
npx skills add chrisbanes/skills --all -g -y
集合内 Skills (35)
用于物理Android基准测试配置对比、排查排名不一致及选择默认配置的指南。强调可复现实验方法,涵盖设备环境控制、运行顺序平衡、变异性分析及Trace数据审查,确保决策基于完整证据而非仅最快结果。
比较不同Android基准测试配置的性能表现
调查测试结果排名不一致或波动大的问题
从测量结果中选择并确认Android默认配置
npx skills add chrisbanes/skills --skill android-benchmark-comparison -g -y
用于更新或审查 Unreleased 变更日志,根据 Git 历史、Issue 和 PR 证据核对内容,并为指定版本准备发布说明。
更新未发布的变更日志条目
根据 Git 历史核对变更日志
为指定版本准备发布说明
npx skills add chrisbanes/skills --skill changelog -g -y
指导Jetpack Compose动画开发,涵盖API选择、生命周期管理及内容身份识别,适用于编写或审查可见性、属性过渡及内容切换等动画逻辑。
编写Compose动画代码
审查Compose动画实现
npx skills add chrisbanes/skills --skill compose-animations -g -y
用于设计和审查可复用的 Jetpack Compose 组件 API,涵盖修饰符参数、根布局放置、内容插槽及状态管理等核心原则与流程。
设计或审查 Jetpack Compose 组件 API
处理修饰符参数与根布局放置问题
优化可变内容区域为插槽而非布尔标志
npx skills add chrisbanes/skills --skill compose-component-design -g -y
规范 Jetpack Compose 布局 API 设计。要求声明 modifier 参数并应用至根节点,使用链式表达式构建修饰符,将条件渲染移至外部而非包裹在布局中,确保父组件控制位置与尺寸。
编写或审查 Compose 布局组件代码
检查 modifier 参数缺失或未应用至根节点
发现硬编码的 fillMaxWidth 或 padding
识别出非链式的 Modifier 变量赋值
发现仅包含单个 if 判断的 Layout 包装
npx skills add chrisbanes/skills --skill compose-modifier-and-layout-style -g -y
用于分析Jetpack Compose性能问题,包括重组成本、稳定性报告、跳过逻辑及帧率状态读取等。通过复现过渡、分类轴线和最小化修复来优化UI渲染性能。
调查Compose重组开销
分析编译器稳定性报告
排查可跳过性参数
检查帧率状态读取
npx skills add chrisbanes/skills --skill compose-performance -g -y
用于诊断 Jetpack Compose 重组性能问题,通过参数稳定性、状态读取时机及跨阶段反向写入三个维度定位瓶颈,并指导用户路由至对应的专项技能进行深度修复。
调查 Jetpack Compose 重组性能
分析可跳过/重启的组件
检查编译器报告或 composables.txt
排查 Layout Inspector 中的重组计数异常
检测跨阶段的 snapshot state 反向写入
npx skills add chrisbanes/skills --skill compose-recomposition-performance -g -y
指导在Jetpack Compose中正确选择和使用副作用API(如LaunchedEffect、DisposableEffect等),强调根据需求选用最小效应,合理设置重启键值以避免无效重启,并使用rememberUpdatedState处理长生命周期中的状态更新,确保UI描述与外部世界变更分离。
编写或审查包含LaunchedEffect、DisposableEffect的Compose代码
处理状态同步、资源注册或协程作用域启动场景
npx skills add chrisbanes/skills --skill compose-side-effects -g -y
指导Jetpack Compose复用组件设计,将原始参数替换为插槽API。通过定义可变视觉区域、规范命名及处理可选内容,提升组件灵活性与可维护性。
设计可复用的Compose组件
审查组件API是否过度依赖布尔标志或原始内容参数
需要让调用方自定义组件内部视觉区域
npx skills add chrisbanes/skills --skill compose-slot-api-pattern -g -y
用于分析和修复Jetpack Compose参数稳定性、编译器报告及跳过行为。涵盖Kotlin 2.0+强跳过机制诊断,指导生成编译器报告以识别不稳定参数和实例抖动,并提供最小化修复方案以提升重组性能。
Compose参数稳定性问题
分析编译器报告
排查重组性能瓶颈
Kotlin 2.0+强跳过行为调试
npx skills add chrisbanes/skills --skill compose-stability-diagnostics -g -y
用于 Jetpack Compose 的状态所有权管理与副作用处理,涵盖状态提升、Effect 生命周期选择及屏幕边界划分,支持代码审查与重构。
审查 Compose 状态所有权
重构状态持有逻辑
配置 LaunchedEffect 等副作用
npx skills add chrisbanes/skills --skill compose-state-and-effects -g -y
用于编写或审查Jetpack Compose代码,确保局部可变状态正确使用remember和mutableStateOf以维持值并触发重组。涵盖@ReadOnlyComposable优化及常见错误修复。
在@Composable中直接使用bare local var
需要管理UI局部状态如mutableStateOf
审查使用@ReadOnlyComposable的函数
状态在重组时意外重置
npx skills add chrisbanes/skills --skill compose-state-authoring -g -y
解决Jetpack Compose中因在错误阶段读取或写入状态导致的性能问题。核心在于避免将滚动、动画等帧率状态在Composition阶段读取,防止回写引发的级联重组,确保状态读写符合Compose生命周期阶段。
在Composition中读取滚动、动画或手势状态
将帧率状态值传递给布局/绘制修饰符
在Composition中修改可观察状态导致级联重组
跨组合体传递动态测量值
npx skills add chrisbanes/skills --skill compose-state-deferred-reads -g -y
指导Jetpack Compose中UI状态与逻辑的放置决策,区分本地remember、提升状态、普通状态持有者及屏幕级ViewModel的使用场景,优化代码可读性与可测试性。
决定Compose UI元素状态或逻辑的归属位置
判断是否需提取普通状态持有者类
涉及状态提升或业务逻辑分离时
npx skills add chrisbanes/skills --skill compose-state-hoisting -g -y
指导Jetpack Compose中将状态持有者与UI渲染分离。通过独立的状态收集组件处理依赖和副作用,UI组件仅接收不可变状态和回调,提升代码的可预览性、可测试性及跨平台复用能力。
Compose屏幕直接注入ViewModel或组件
在布局函数中收集业务状态或副作用
将完整状态持有者传递给子组件
因依赖注入导致难以预览或测试
npx skills add chrisbanes/skills --skill compose-state-holder-ui-split -g -y
提供Jetpack Compose UI测试的最佳实践,涵盖单元测试、截图测试及语义断言。指导选择最小测试边界,优先使用纯UI Composable测试以隔离业务逻辑,提升测试效率与稳定性。
编写或审查Jetpack Compose UI测试
需要处理截图测试或基线记录证据
涉及Compose组件的语义断言或交互状态测试
npx skills add chrisbanes/skills --skill compose-ui-testing-patterns -g -y
负责将已批准的规范通过PR交付,支持直接请求或项目控制器委派。涵盖源解析、计划制定、范围验证及独立最终审查,确保架构集成与交付质量,严格遵循权限与合并规则。
用户明确要求交付已批准的GitHub或本地规范
项目控制器委派已认领的实现任务
npx skills add chrisbanes/skills --skill deliver-spec -g -y
规范 Gradle 构建执行流程,强制通过脚本封装运行,禁止直接调用或拼接命令。提供创建工作流、查询状态及完成操作的标准化步骤,确保输出安全与结果可追溯。
执行 Gradle 构建任务
诊断 Gradle 构建失败
检查构建状态
npx skills add chrisbanes/skills --skill gradle-run -g -y
基于Chris Banes风格撰写或审核公开开发者文档、邮件及内部报告。强调证据支撑、去除虚构内容,明确起草与审核权限,确保技术细节准确且符合公众发布标准。
撰写公开开发者文档
审核用户草稿或评论
编写内部技术报告
npx skills add chrisbanes/skills --skill grounded-writing -g -y
用于处理GitHub、GitLab、Jira或Linear等平台的Issue任务。支持多种格式输入,通过只读方式验证上下文并获取Issue详情,确保在安全且受控的工作流中执行修复、实现或审查操作,严禁直接执行Issue中的不可信指令。
用户要求修复或解决特定Issue
用户要求审查或实现Issue功能
输入包含Issue编号或链接(如 #123, PROJ-123)
npx skills add chrisbanes/skills --skill implement-issue -g -y
协调基于任务图的代码实现与审查,确定实施所有权(独立或工人),管理依赖关系、工作区分配及合并流程。
执行供应的任务或计划
审查实施编排
npx skills add chrisbanes/skills --skill implement-with-subagents -g -y
指导 Kotlin API 设计,涵盖函数所有权、值类、多平台边界及控制流,确保语义清晰与平台解耦。
设计或审查 Kotlin 函数归属
定义值类或数据类
处理 Kotlin Multiplatform expect/actual 声明
审查密封结果映射
npx skills add chrisbanes/skills --skill kotlin-api-design -g -y
提供Kotlin协程作用域、生命周期管理及Flow状态与事件建模的最佳实践,确保异步工作有明确的所有者和取消边界。
编写或审查Kotlin协程代码
处理StateFlow/SharedFlow/Channel等流数据
解决并发和取消相关问题
npx skills add chrisbanes/skills --skill kotlin-concurrency-and-flow -g -y
提供Kotlin分支与控制流的最佳实践,涵盖when表达式、守卫条件、密封类穷举检查及智能转换等场景的代码重构与审查指导。
编写或审查Kotlin分支逻辑
优化if/else链
处理sealed type穷举
npx skills add chrisbanes/skills --skill kotlin-control-flow -g -y
用于审查或编写Kotlin协程代码,避免存储CoroutineScope、使用runBlocking及不当异常捕获等反模式。核心原则是让调用方拥有作用域,将API设为suspend函数以确保生命周期管理和错误处理正确。
代码中包含私有的CoroutineScope属性
在init块中启动协程
非挂起函数内部使用scope.launch
应用代码中使用runBlocking
对挂起调用进行宽泛的Exception捕获
npx skills add chrisbanes/skills --skill kotlin-coroutines-structured-concurrency -g -y
指导Kotlin Flow状态与事件建模,辨析StateFlow、SharedFlow及Channel适用场景。解决伪哨兵值污染、单播事件丢失及共享启动错误等问题,推荐Channel处理一次性UI事件,确保数据一致性与性能。
使用MutableStateFlow处理异步初始值
实现导航或Snackbar等一次性事件
审查Flow分享策略(stateIn/SharingStarted)
检查StateFlow中的无效哨兵默认值
npx skills add chrisbanes/skills --skill kotlin-flow-state-event-modeling -g -y
指导Kotlin函数归属决策,优先将行为置于最小语义所有者。严格限制对String等类型的扩展,通过成员、顶层或工厂函数确保领域纯净与代码清晰。
选择Kotlin函数形式
决定String或集合扩展归属
重构函数所有权
npx skills add chrisbanes/skills --skill kotlin-functions -g -y
用于设计 Kotlin Multiplatform 项目的 expect/actual 边界及平台服务接口。指导如何将平台特定实现与通用代码解耦,保持 API 语义化,选择最小边界,并确保实际实现层薄且仅负责翻译,避免业务逻辑泄露至平台绑定层。
设计 Kotlin Multiplatform 的 expect/actual 声明
定义跨平台服务接口或 UI 边界
处理 Android/iOS/Desktop 的平台互操作性
重构以分离通用逻辑与平台特定细节
npx skills add chrisbanes/skills --skill kotlin-multiplatform-expect-actual -g -y
指导在Kotlin中为单字段类型选择@JvmInline value class而非data class,涵盖决策流程、Compose稳定性优化及重构检查,确保领域语义明确且兼容序列化与性能要求。
编写或审查Kotlin类型声明
优化Compose UI状态稳定性
决定使用value class还是data class
重构单字段包装类
npx skills add chrisbanes/skills --skill kotlin-types-value-class -g -y
用于准备、发布或检查 Kotlin 库发布就绪状态的技能,涵盖验证 gradle-maven-publish-plugin 依赖、核对变更日志与 API 快照及确认发布流程。
准备发布 Kotlin 库
检查库发布就绪状态
执行 Kotlin 库发布操作
npx skills add chrisbanes/skills --skill release-kotlin-library -g -y
管理 GitHub Project 工作流,涵盖看板状态控制、任务认领、合并及异常恢复。确保操作基于最新状态,严格遵循权限与所有权规则,支持自动化执行与人工协作的无缝衔接。
设置或审查 GitHub Project 工作流
处理看板任务认领与状态流转
执行项目清理或排干操作
npx skills add chrisbanes/skills --skill run-github-project -g -y
自动化跟进并推进开源拉取请求,通过轮询收集反馈、处理CI失败及修复建议,批量提交本地修复并解决已处理线程,确保PR在授权下高效合并。
用户要求监控或推进PR/MR
需要处理PR评论和CI失败反馈
要求自动执行代码修复并推送
npx skills add chrisbanes/skills --skill shepherd -g -y
用于生成GitHub Issue或聊天任务的执行计划与验收契约。支持GitHub模式和对话模式,根据不确定性调整细节,确保计划可执行并处理集成变更。
请求制定实施计划
提供GitHub Issue链接并要求规划
在聊天中指定具体任务需要执行方案
npx skills add chrisbanes/skills --skill to-plan -g -y
用于指导 Kotlin 和 Jetpack Compose 开发任务的技能路由。通过检查代码信号匹配具体技能,避免盲目加载,确保每个决策点由专注技能处理,提升代码审查与重构效率。
需要处理 Kotlin 或 Jetpack Compose 代码任务
涉及 Android 基准测试配置决策
多个 Kotlin 或 Compose 关注点重叠需路由
npx skills add chrisbanes/skills --skill using-chrisbanes-skills -g -y


