Core Rules
SkillDev toolsNon-negotiable rules for building on the KMP Starter Template — priority order, Golden Rule, terminology, state vs UI-state boundaries, visibility, demo removal, snackbars, and UI weight. Read before writing any code.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Core Rules skill
What this skill tells your AI
The instructions your AI receives, as published by devatrii/kmp-starter-template in .agents/skills/kmp-starter/core-rules/SKILL.md and read by ahel’s review.
Priority order (Starter always wins)
- Starter Template documentation (live site
https://starter.atherio.dev) - Existing project structure
- Existing feature implementations
- Existing core modules (
features/core/*) - General KMP / Compose best practices
- General Android best practices
When these conflict, the higher item wins. Prefer consistency over creativity.
Golden Rule
Before creating any new utility, helper, manager, abstraction, base class, datastore, file manager, navigation system, platform API, wrapper, or common component — search the Starter Template first. Reuse → extend → configure. Never duplicate.
Terminology (Starter wins over other frameworks)
| Other frameworks call it | Rename to |
|---|---|
| Intent | Action |
| Effect | Event |
| Mutation | Action |
| UseCase | Logic |
Use Action for UI → ViewModel, Event for ViewModel → UI, Logic for use cases. Keep this naming everywhere.
State guidelines
State holds application data, not transient UI state.
Store in State: user, files, notes, selected image bytes, loading, filters, repository data, search query, pagination.
Never store in State: dialog visibility, snackbar visibility, bottom-sheet visibility, dropdown expanded state, animation states, focus states. These live inside Composables.
Visibility
Mark anything not required outside a module internal. Only expose the public API other modules need.
Snackbars
Do not show a snackbar for every successful action. If the UI already communicates the result, skip it. Snackbars are for errors, important feedback, and undo actions.
UI weight
Keep Composables lightweight — render state, send actions, observe events. Heavy work belongs in ViewModels or Logics.
Remove demo content (only)
Remove Starter demo content: Welcome Screen, Starter File Manager demo, sample placeholder screens, unused demo resources. Keep the infrastructure; remove only demo content.
Signals
- GitHub stars
- 162
- Forks
- 28
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
kmp-starter-core-rules- Source
- github.com/devatrii/kmp-starter-template