[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75903":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":10,"languages":10,"totalLinesOfCode":10,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":14,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},75903,"skills","chrisbanes\u002Fskills","chrisbanes","Skills for Kotlin, Jetpack Compose, and Android development","",null,749,37,7,1,0,15,125,8,8.74,"Apache License 2.0",false,"main",[24,25,26,27,28,29,5],"android","compose-multiplatform","coroutines","jetpack-compose","kotlin","kotlin-multiplatform","2026-06-12 02:03:37","# Skills\n\nA set of skills for Kotlin, Jetpack Compose, and Android development.\n\n## Install\n\nWith the [skills CLI](https:\u002F\u002Fskills.sh):\n\n```\nnpx skills add chrisbanes\u002Fskills\n```\n\nOr install as a Claude Code plugin:\n\n```\n\u002Fplugin marketplace add chrisbanes\u002Fskills\n\u002Fplugin install chrisbanes-skills@chrisbanes-skills\n```\n\n## Skills\n\n### Start here\n\n- Working on Compose state or effects? Start with [`compose-state-authoring`](skills\u002Fcompose-state-authoring\u002FSKILL.md), [`compose-state-hoisting`](skills\u002Fcompose-state-hoisting\u002FSKILL.md), [`compose-state-holder-ui-split`](skills\u002Fcompose-state-holder-ui-split\u002FSKILL.md), or [`compose-side-effects`](skills\u002Fcompose-side-effects\u002FSKILL.md).\n- Investigating recomposition, stability, or jank? Start with [`compose-recomposition-performance`](skills\u002Fcompose-recomposition-performance\u002FSKILL.md).\n- Reviewing Flow or coroutine architecture? Start with [`kotlin-flow-state-event-modeling`](skills\u002Fkotlin-flow-state-event-modeling\u002FSKILL.md) or [`kotlin-coroutines-structured-concurrency`](skills\u002Fkotlin-coroutines-structured-concurrency\u002FSKILL.md).\n\n### Jetpack Compose\n\n#### State and side effects\n\n- [`compose-state-authoring`](skills\u002Fcompose-state-authoring\u002FSKILL.md) — author Compose local mutable state and read-only composable accessors correctly.\n- [`compose-state-hoisting`](skills\u002Fcompose-state-hoisting\u002FSKILL.md) — decide whether Compose UI element state belongs in local remember state, hoisted parameters, a plain state holder class, or a screen-level state holder.\n- [`compose-state-holder-ui-split`](skills\u002Fcompose-state-holder-ui-split\u002FSKILL.md) — split Compose state-holder wiring from plain-state UI for previewable and testable screens.\n- [`compose-side-effects`](skills\u002Fcompose-side-effects\u002FSKILL.md) — choose and key Compose effect APIs for event Flow collection, callbacks, cleanup, navigation, snackbar, analytics, and other side effects.\n\n#### Performance\n\n- [`compose-recomposition-performance`](skills\u002Fcompose-recomposition-performance\u002FSKILL.md) — choose between the two recomposition investigation paths: stability\u002Fequality or deferred state reads.\n- [`compose-stability-diagnostics`](skills\u002Fcompose-stability-diagnostics\u002FSKILL.md) — diagnose Compose compiler reports, strong skipping behavior, unstable parameters, and stability fixes.\n- [`compose-state-deferred-reads`](skills\u002Fcompose-state-deferred-reads\u002FSKILL.md) — move frame-rate scroll, animation, and gesture reads out of composition into layout or draw.\n\n#### UI API design and layout\n\n- [`compose-modifier-and-layout-style`](skills\u002Fcompose-modifier-and-layout-style\u002FSKILL.md) — keep Compose layout APIs caller-placeable and modifier chains readable.\n- [`compose-slot-api-pattern`](skills\u002Fcompose-slot-api-pattern\u002FSKILL.md) — design reusable Compose components whose variable visual regions are caller-provided slots.\n- [`compose-animations`](skills\u002Fcompose-animations\u002FSKILL.md) — choose Compose animation APIs for visibility, value targets, coordinated transitions, and content swaps; align with official quick guide and decision tree.\n- [`compose-focus-navigation`](skills\u002Fcompose-focus-navigation\u002FSKILL.md) — design and test keyboard, TV, D-pad, and focus-first Compose navigation behavior.\n\n#### Testing\n\n- [`compose-ui-testing-patterns`](skills\u002Fcompose-ui-testing-patterns\u002FSKILL.md) — choose between plain UI tests, semantics assertions, key\u002Ffocus tests, interaction state tests with MutableInteractionSource, screenshot tests, and integration tests.\n\n### Kotlin\n\n- [`kotlin-coroutines-structured-concurrency`](skills\u002Fkotlin-coroutines-structured-concurrency\u002FSKILL.md) — review coroutine scope ownership, init and fire-and-forget boundaries, cancellation handling, and blocking boundaries.\n- [`kotlin-flow-state-event-modeling`](skills\u002Fkotlin-flow-state-event-modeling\u002FSKILL.md) — model `StateFlow`, `SharedFlow`, `Channel`, `stateIn`, sharing policy, and one-shot events without lossy defaults.\n- [`kotlin-multiplatform-expect-actual`](skills\u002Fkotlin-multiplatform-expect-actual\u002FSKILL.md) — design semantic expect\u002Factual and interface boundaries for Kotlin Multiplatform platform interop.\n- [`kotlin-types-value-class`](skills\u002Fkotlin-types-value-class\u002FSKILL.md) — choose `@JvmInline value class` over data class for single-field domain types, including Compose stability implications.\n\n## Contributing\n\nSkills live at `skills\u002F\u003Cskill-name>\u002FSKILL.md`, flat (no language nesting). The `name:` in the SKILL.md frontmatter must match the directory name.\n\n## License\n\n[Apache 2.0](LICENSE)\n\n[plugins]: https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fplugins\n","Skills 是一个专注于 Kotlin、Jetpack Compose 和 Android 开发技能的项目。它提供了多个实践指南，帮助开发者掌握如状态管理、副作用处理、性能优化等核心技术点，特别强调了如何正确使用 Jetpack Compose 的状态和副作用API来构建高效且可维护的应用界面。此外，还涵盖了Flow与协程架构设计的最佳实践。该项目非常适合希望提升自己在现代Android应用开发领域技术水平的工程师们，无论是初学者还是有一定经验的开发者都能从中受益。",2,"2026-06-11 03:53:39","CREATED_QUERY"]