Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
← Back to list

Compose Data Layer Guard

A strict rulebook for designing and reviewing the data layer — repositories, Ktor, Room, DataStore, Paging — in Compose and Compose Multiplatform apps.

Dev & CodingAdvanced★ 300⑂ 25AI score 9/10Last updated: Oct 2, 2026

What it does

A dedicated data-layer contract for Compose / Compose Multiplatform projects.

  • Enforces DTO → domain → UiModel boundaries (DTOs and entities stay internal, mappers are mandatory)
  • Ktor client rules (expectSuccess = true), bearer token refresh, WebSocket vs SSE selection
  • Room, Preferences DataStore, Paging 3, offline-first with RemoteMediator
  • Failure propagation: no swallowing catch in repositories; errors reach launchGuarded
  • Data-layer testing with MockEngine and fakes over mocks
  • A closing verification gate of grep checks plus compile/test runs

Who it's for

  • Android / Kotlin Multiplatform engineers building with Jetpack Compose
  • Tech leads who want review standards enforced by the assistant, not a wiki page
  • Teams untangling a legacy data layer that mixes network, DB and cache concerns

Examples

  1. "Write a repository for the orders list" → names the async contract (getOrdersStream), places DTO/mapper, enumerates failure and lifecycle paths.
  2. "Review the data layer in this PR" → flags public *Dto types, ISO strings in domain models, and swallowed NetworkException.
  3. "Add offline caching to the infinite-scroll feed" → proposes RemoteMediator + Room and keeps PagingData out of UiState.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/Meet-Miyani/compose-skill/HEAD/skills/compose-data/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
↓ Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/compose-data folder from the GitHub repo Meet-Miyani/compose-skill into my ~/.claude/skills/compose-data/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/Meet-Miyani/compose-skill.git /tmp/compose-skill && mkdir -p ~/.claude/skills && cp -r /tmp/compose-skill/skills/compose-data ~/.claude/skills/

⚠ This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/Meet-Miyani/compose-skill.git
  3. Create the skills directory: mkdir -p ~/.claude/skills
  4. Copy the skills over (copy all of them — this skill references sibling skills): cp -r compose-skill/skills/* ~/.claude/skills/
  5. Restart Claude Code, then ask something like "design a repository for…" inside a Kotlin/Compose project to trigger it.
  6. Make sure your project has gradle/libs.versions.toml so the version gates and doc checks work as intended.