mcpField
U
using-chrisbanes-skills

using-chrisbanes-skills

github.com/chrisbanesAgent 工作流1.1k1.1k 次安装1 天前更新
代码仓库

关于 using-chrisbanes-skills

using-chrisbanes-skills 是帮助在 Kotlin、Compose、Gradle 和 Android 基准测试等工作中选择相关技能的路由技能。它依据代码或任务中的具体信号选择专门技能,并限制无依据地加载相邻技能。

主要功能

  1. 01按代码信号匹配专门技能
  2. 02区分 Kotlin 与 Compose 路由
  3. 03提供常见任务路由表
  4. 04说明技能组合边界

适用场景

  1. 01确定 Kotlin 并发问题对应的技能
  2. 02根据 Compose 代码信号选择 UI 技能
  3. 03为 Gradle 或 Android 基准测试任务选技能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/chrisbanes/skills --skill using-chrisbanes-skills

安装后在 Claude Code 中输入/using-chrisbanes-skills确认已加载。

详细介绍

使用 chrisbanes 技能

核心原则

根据代码需要作出的决策来选择技能,而不是根据提到了多少个 API。 如果某个技能集群的通用流程涵盖了相关问题,就加载该集群;只有当某个专项技能会改变同一项工作中的独立行为时,才额外加载它。

路由流程

  1. 阅读任务。对于 Kotlin 或 Compose 工作,检查能具体体现相关问题的源代码。对于 Android 基准测试对比,则检查提供的报告、配置和跟踪记录。
  2. 如果某项专注技能明确匹配,直接加载并停止路由。
  3. 加载 Compose 技能前,先指出检查过的源代码中具体的 Compose API 或可组合项,或者明确提出的创建或设计 Compose 代码的请求。假设存在 UI 使用方不能作为依据。如果两种依据都不存在,即使任务提到了 UI、路由或导航,也应留在 Kotlin 集群中。
  4. 将观察到的每个代码信号与下表匹配。
  5. 只有当第二项技能负责同一项更改中的独立决策时,才加载它;不要凭空猜测并加载相邻技能。例如,Flow 交付缺陷加上对 sealed route 的单独兜底处理,需要同时加载 kotlin-concurrency-and-flow 和 kotlin-control-flow。之所以加载后者,是因为分支映射需要明确决策,包括数据承载子类型的负载是通过智能转换来使用,还是有意丢弃,而不只是因为文件中出现了 when。
  6. 当每个实质性问题都有一个专注的负责技能,且这些技能已在给出建议或修改代码之前加载后,结束路由。

常见路由

任务信号从以下技能开始
有依据的 Compose 状态、效果、屏幕所有权或 UI 事件收集compose-state-and-effects
重组、稳定性、帧率读取、回写或 @ReadOnlyComposablecompose-performance
组件修饰符、调用方放置位置、插槽或公开内容形态compose-component-design
可见性、值、过渡、内容切换或其他动效 API 的选择compose-animations
键盘、TV、方向键、焦点目标、自定义遍历或按键事件compose-focus-navigation
Compose UI、屏幕截图、语义、焦点/按键或交互状态测试compose-ui-testing-patterns
协程所有权、原始 Thread 或 Executor 工作、取消、Flow 状态/事件、共享或重放kotlin-concurrency-and-flow
Kotlin 分类、when、守卫条件、穷尽性、智能转换或 null 分支kotlin-control-flow
Kotlin 函数所有权、领域类型、expect/actual 或平台边界kotlin-api-design
计划执行 Gradle,或以 Gradle 为核心的警告/失败处理流程gradle-run
对比实体 Android 基准测试配置、反转排名或 Android 默认值android-benchmark-comparison
Kotlin 库的发布准备、发布或就绪状态release-kotlin-library
有一个明确的 GitHub issue,或聊天中的任务需要结合仓库制定计划to-plan
轮询 PR/MR、审查评论、CI 失败或常规跟进shepherd

组合边界

  • 只有当交付、重放、共享或取消是一个独立关注点时,才在 Compose 状态相关工作中添加 kotlin-concurrency-and-flow。只有当动画工作也改变了状态归属或性能这一关注点时,才添加状态归属或性能相关内容。
  • 如果任务还需要确定测试形式,则将焦点导航与 UI 测试搭配。对于焦点感知的 AnimatedContent 切换,还要加载 Compose 动画:根据内容 lambda 的目标渲染每个切出和切入分支,是一个独立于焦点时机和交互测试的身份决策。
  • 当 Kotlin 相关问题还涉及独立的分支决策时,例如对密封结果使用涵盖所有情况的 catch-all 分支,从而隐藏具体情况或分支载荷,则添加 kotlin-control-flow。如果只是简单的路由交付,没有独立的分支问题,则不需要添加。没有第 3 步要求的证据时,不要添加 Compose。
  • 将 Compose 快照属性封装在只读公共访问器后,仍然只是一个状态归属决策。不要仅仅因为访问器是公共的就添加 kotlin-api-design;只有当同一项更改还需要独立的函数归属、领域类型、兼容性或平台边界决策时,才添加。
  • 仅在计划执行 Gradle 或现有 Gradle 工作流时加载 gradle-run,不要因为附带的 Kotlin 或 Compose 建议而加载。

评论

支持 Markdown