Back to Discover

skills

skill

chrisbanes

Skills for Kotlin, Jetpack Compose, and Android development

View on GitHub
916 starsApache-2.0Synced Aug 12, 2026

Install to Claude Code

/plugin marketplace add chrisbanes/skills

README

Skills

A set of skills for Kotlin, Jetpack Compose, and Android development.

Install

With the skills CLI:

npx skills add chrisbanes/skills

Or install as a Claude Code plugin:

/plugin marketplace add chrisbanes/skills
/plugin install chrisbanes-skills@chrisbanes-skills

Or install as a Codex plugin:

codex plugin marketplace add chrisbanes/skills --ref main
codex plugin add chrisbanes-skills@chrisbanes-skills

Or install as an OpenCode plugin:

{
  "plugin": ["chrisbanes-skills@git+https://github.com/chrisbanes/skills.git"]
}

See .opencode/INSTALL.md for details.

Skills

Start here

Routing

  • using-chrisbanes-skills — route Kotlin and Jetpack Compose work to the focused skills; current Claude Code versions also activate it when working with .kt or .kts files.

Jetpack Compose

State and side effects

  • compose-state-and-effects — decide state ownership and effect lifecycle for local UI state, screen state holders, Flow collection, callbacks, cleanup, navigation, snackbar, analytics, and focus requests.

Performance

  • compose-performance — diagnose stability, deferred reads, composition contracts, and cross-phase back-writing from concrete runtime evidence.

UI API design and layout

  • compose-component-design — design caller-placeable Compose APIs whose variable visual regions are caller-provided slots.
  • compose-animations — choose Compose animation APIs for visibility, value targets, coordinated transitions, and content swaps; align with official quick guide and decision tree.
  • compose-focus-navigation — design and test keyboard, TV, D-pad, and focus-first Compose navigation behavior.

Testing

  • compose-ui-testing-patterns — choose between plain UI tests, semantics assertions, key/focus tests, interaction state tests with MutableInteractionSource, screenshot tests, and integration tests.

Kotlin

  • kotlin-concurrency-and-flow — review coroutine ownership, cancellation, Flow state/event modeling, sharing, replay, and one-shot delivery.
  • kotlin-control-flow — write and review Kotlin branching with subject when, guard conditions, sealed exhaustiveness, smart casts, nullable branching, and early returns.
  • kotlin-api-design — choose function owners, semantic domain types, and Kotlin Multiplatform platform boundaries.

Workflows

  • to-plan — create a repository-aware implementation plan from one ready GitHub issue or a confirmed conversation specification, with a provider-neutral implementation handoff.
  • run-github-project — set up or repair the repository's GitHub Project binding without running work, reconcile epics, surface resumable human checkpoints, triage unblocked Backlog work, and plan and execute authorized issues through one planning lane and a two-slot-by-default parallel pipeline. Requires tdd for implementation and preserves human Planning and triage approval gates.
  • shepherd — autonomously poll open PRs and MRs, triage review comments, detect and fix CI failures, and keep PRs moving forward.

Migration from pre-cluster skills

This is a breaking taxonomy change. Replace the removed entrypoints as follows:

Removed skillsReplacement
compose-state-authoring, compose-state-hoisting, compose-side-effectscompose-state-and-effects
compose-recomposition-performance, compose-stability-diagnostics, compose-state-deferred-readscompose-performance
compose-modifier-and-layout-style, compose-slot-api-patterncompose-component-design
kotlin-coroutines-structured-concurrency, kotlin-flow-state-event-modelingkotlin-concurrency-and-flow
kotlin-functions, kotlin-types-value-class, kotlin-multiplatform-expect-actualkotlin-api-design

Contributing

Skills live at skills/<skill-name>/SKILL.md, flat (no language nesting). The name: in the SKILL.md frontmatter must match the directory name.

Frontmatter is validated against skills.schema.jsonname and description are required, name must be kebab-case. The router also uses Claude Code's optional paths extension. Clients that do not support this extension must ignore the paths field rather than rejecting the skill.

Releases

Release versions use SemVer-compatible CalVer: YYYY.M.D without zero-padded month or day values, for example 2026.6.17.

Keep .claude-plugin/plugin.json, .codex-plugin/plugin.json, and new Git release tags on the same version. Existing zero-padded tags from before this policy map to the non-padded manifest version, so 2026.06.16 maps to 2026.6.16. Only bump versions when publishing an installable release.

To publish a release, run the Release workflow from GitHub Actions. Leave the version input empty to use today's UTC YYYY.M.D version, or provide a specific non-zero-padded CalVer value. Use the dry-run option to validate without creating a commit, tag, or GitHub release.

Before pushing, lint skills (frontmatter schema + markdown):

npm install
npm run lint

This also runs on CI for all PRs.

For a taxonomy change, also run the durable cluster behavior evaluation. It checks routing, required references, safeguards, exceptions, and finish gates at the public agent-facing seam.

License

Apache 2.0

Rendered live from chrisbanes/skills's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
chrisbanes-skills./

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.