Agent Skills
› chrisbanes/skills
› using-chrisbanes-skills
using-chrisbanes-skills
GitHub用于 Kotlin 和 Jetpack Compose 代码的调试、性能分析及全面审查。根据代码信号智能路由至对应的专项技能集群,如状态管理、UI 设计、并发处理等,确保精准定位问题并高效执行任务。
Trigger Scenarios
Kotlin 或 Compose 源码调试
性能基准测试与剖析
涉及多设计关注的宽泛代码审查
Install
npx skills add chrisbanes/skills --skill using-chrisbanes-skills -g -y
SKILL.md
Frontmatter
{
"name": "using-chrisbanes-skills",
"paths": [
"**\/*.kt",
"**\/*.kts"
],
"description": "Use when debugging, benchmarking, or profiling leads into Kotlin or Jetpack Compose source before the cause is known, or when a broad Kotlin or Compose review spans multiple design concerns."
}
Using chrisbanes skills
Core principle
Route by the decision the code needs, not by the number of APIs mentioned in the prompt. Load one cluster when its shared procedure owns the concern; add a specialist only when its independent behavior changes the same work.
Routing procedure
- Read the task and the Kotlin source that makes the code-design concern concrete.
- If one focused skill clearly matches, load it directly and stop routing.
- Otherwise, match each observed code signal to the table below and load the smallest skill set that covers the work.
- Combine skills only when separate concerns affect the same change; do not load adjacent skills speculatively.
- Finish routing when every material concern has one focused owner and those skills are loaded before advice or edits.
Common routes
| Task signal | Start with |
|---|---|
| Broad Compose screen review, local or hoisted UI state, screen state holders, effect APIs, navigation, snackbar, analytics, focus requests, or event Flow collection | compose-state-and-effects |
Recomposition, jank, compiler reports, skippability, unstable parameters, frame-rate State reads, back-writing, or @ReadOnlyComposable |
compose-performance |
| Modifier parameters, root layout placement, variable visual content, primitive content parameters, optional content, or Boolean shape flags | compose-component-design |
| Compose visibility, value, color, size, transition, content swap, or choosing an animation API | compose-animations |
Keyboard, TV, desktop, D-pad, FocusRequester, focusProperties, key events, or initial focus behavior |
compose-focus-navigation |
| Compose UI tests, screenshot tests, previews, semantics, fake image loading, keyboard input, focus assertions, or interaction state tests | compose-ui-testing-patterns |
Coroutine scope ownership, init { launch }, non-suspending launch APIs, runBlocking, cancellation, StateFlow, SharedFlow, Channel, stateIn, or one-shot events |
kotlin-concurrency-and-flow |
Kotlin branching, when expressions, guard conditions, sealed type exhaustiveness, smart casts, nullable branching, or complex if/else chains |
kotlin-control-flow |
| Kotlin function placement, member versus top-level or extension functions, factories, single-field domain types, value classes, Kotlin Multiplatform source sets, expect/actual, or platform services | kotlin-api-design |
| One ready GitHub issue or confirmed conversation specification needs repository-aware planning before a separate implementation session | to-plan |
| Polling or shepherding PRs/MRs, triaging review comments, fixing CI failures, or keeping reviews moving | shepherd |
Combining skills
- For Compose event handling from a component, use
compose-state-and-effects, then addkotlin-concurrency-and-flowwhen event delivery semantics matter. - For performance work, start with
compose-performance. - For animations triggered by state, use
compose-animations; addcompose-state-and-effectsfor ownership changes andcompose-performancefor frame-rate values. - For reusable UI components, use
compose-component-design. - For tests around focus behavior, use
compose-focus-navigationfirst, thencompose-ui-testing-patternsfor test shape. - For Kotlin state, concurrency, or platform-boundary work that also changes branching shape, combine the cluster with
kotlin-control-flow.
RED/GREEN agent scenarios
- RED loads every Compose skill for a screen with local state and a snackbar.
GREEN loads
compose-state-and-effectsfirst and adds another skill only for an evidenced concern. - Novel case: a reusable card has a modifier problem and animated height.
GREEN uses
compose-component-designpluscompose-animations, not the state cluster by default. - Counterexample: a request only changes a guard condition in common Kotlin.
GREEN loads
kotlin-control-flowand does not route through API design.
Version History
-
2026.8.5
Current 2026-08-16 02:45
重构技能分类,将15个细粒度入口合并为5个自包含集群;更新路由表以匹配新的技能簇;移除旧的技能名称引用,优化了路由决策逻辑。
- 2026.7.21 2026-07-24 12:25


