skill
mobile-craft-skills
Agent skills for native mobile craftsmanship: clean architecture, SOLID, TDD, testing, audits, CI/CD, Figma to Compose/SwiftUI, API mocking and ADRs.
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/Androbito/mobile-craft-skills itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 21, 2026Mobile Craft Skills
Agent skills that bring software craftsmanship to native mobile development. Drop them into Claude (Claude Code, the Claude apps, or the API) and the agent follows the same engineering standards a senior Android/iOS team would: clean architecture, SOLID, TDD, a real test strategy, mobile-specific quality checks, safe releases, Figma-to-native translation and API mocking while the backend is still being built.
Works for Android (Kotlin, Jetpack Compose), iOS (Swift, SwiftUI) and Kotlin Multiplatform.
Skills
| Skill | What it does | Triggers on |
|---|---|---|
mobile-clean-architecture | Designs, scaffolds and refactors apps around Clean Architecture, MVVM/MVI with Unidirectional Data Flow and feature modularization. Includes Android, iOS and KMP reference code | New app or feature, "how should I structure this", layers, ViewModel, modules |
solid-code-review | Reviews code against SOLID, KISS, YAGNI, DRY, Law of Demeter and clean code. Prioritised findings with before/after fixes, and an over-engineering check | Code or PR review, code smells, "how can I improve this" |
tdd-craftsmanship | Red/green/refactor loop, safe refactoring in small steps, characterization tests and seams for legacy code, katas | "Use TDD", test first, refactor safely, legacy code |
mobile-testing-strategy | Test pyramid for mobile: unit, integration, screenshot and E2E tests with ready-to-adapt patterns (Turbine, MockWebServer, Paparazzi, Swift Testing, snapshot testing, Maestro) | Add tests, coverage, flaky tests, "what should I test" |
mobile-quality-audit | Production-readiness audit: offline-first, lifecycle, concurrency, performance, battery, OWASP MASVS security, accessibility, localisation/RTL, privacy, design system | App audit, pre-release check, security or a11y review, jank, ANRs |
mobile-release-pipeline | CI/CD with GitHub Actions and Fastlane, trunk-based development, feature flags, staged rollouts, crash monitoring, forced updates | CI, Fastlane, TestFlight, Play Console, releases, feature flags |
figma-to-native-ui | Turns Figma frames into idiomatic Compose / SwiftUI using the project's own design tokens and components, via the Figma MCP server, REST API or a screenshot | Figma link, "implement this design", design tokens |
api-mock-server | Mocks APIs that aren't deployed yet: generates mocks from OpenAPI, runs a zero-dependency local server with switchable scenarios (empty, 401, 404, 500, slow, offline), proxies and records the real dev API, and wires Android/iOS builds to it | "The API isn't ready", mock or stub an endpoint, test error states |
adr-writer | Writes and maintains Architecture Decision Records in docs/adr/ | Technical choices, "why did we choose X", decision log |
The skills reference each other where useful (the Figma skill produces stateless screens that fit the architecture skill, the testing skill reuses the mock server's JSON fixtures), but each one works on its own.
Why a Figma skill?
The official Figma MCP server describes designs as React + Tailwind by default. That is a description of the design, not mobile code. figma-to-native-ui adds what's missing for mobile: mapping auto layout to Compose/SwiftUI layouts, reusing your theme tokens and components instead of hardcoded values, accessibility, RTL, interaction states and previews.
API mock server at a glance
# generate mocks from your OpenAPI spec (never overwrites hand-edited files)
node skills/api-mock-server/scripts/openapi-to-mocks.mjs openapi.json --out mocks
# run it (Node 18+, no npm install)
node skills/api-mock-server/scripts/mock-server.mjs --dir mocks --port 3001
# switch scenarios per request or globally
curl -H "X-Mock-Scenario: not_found" http://localhost:3001/api/v1/orders/42
curl -X POST localhost:3001/__mock/scenario -d '{"scenario":"slow"}'
# once part of the real API is deployed: real calls pass through, the rest stays mocked
node skills/api-mock-server/scripts/mock-server.mjs --dir mocks --proxy https://dev-api.example.com --record
Android emulator reaches it at http://10.0.2.2:3001, the iOS simulator at http://localhost:3001. See app-integration.md for build flavors, Xcode schemes and in-app interceptors.
Installation
Claude Code (plugin, recommended)
claude plugin marketplace add Androbito/mobile-craft-skills
claude plugin install mobile-craft-skills@mobile-craft-skills
Or inside a session: /plugin marketplace add Androbito/mobile-craft-skills.
Claude Code (individual skills)
Copy the skills you want into your personal or project skills folder:
git clone https://github.com/Androbito/mobile-craft-skills
cp -r mobile-craft-skills/skills/api-mock-server ~/.claude/skills/ # all projects
cp -r mobile-craft-skills/skills/mobile-clean-architecture .claude/skills/ # this project only, commit it for your team
Claude apps (claude.ai, desktop, mobile)
Zip a skill folder (the folder containing SKILL.md) and upload it in Settings > Capabilities > Skills.
Claude API
Upload a skill folder through the Skills API and reference it in your requests. See the Anthropic docs on Agent Skills.
Repository layout
.claude-plugin/
plugin.json # plugin manifest
marketplace.json # lets this repo be added as a marketplace
skills/
<skill-name>/
SKILL.md # instructions + trigger description
references/ # detailed guides loaded only when needed
templates/ # files the skill copies into your project
scripts/ # runnable tools (mock server, OpenAPI generator)
Skills use progressive disclosure: only the short description is always in the agent's context; SKILL.md loads when the skill triggers, and references/ only when a step needs them. Adding all nine skills costs very little context.
Contributing
Issues and pull requests are welcome. Good contributions:
- Real-world corrections (an API changed, a better tool appeared, a pattern that failed in production).
- New platform references (Flutter and React Native variants of the architecture and testing skills are natural next steps).
- Better trigger descriptions when a skill fires too often or not enough.
Keep skills focused, write instructions that explain the why, and keep SKILL.md under ~300 lines by moving detail into references/. Run claude plugin validate . before opening a PR.