-
Notifications
You must be signed in to change notification settings - Fork 1
Skills and Prompts
Two lighter-weight resource types for focused, quick, or composable AI assistance.
A skill is a focused prompt module — shorter than a full agent, covering one concern, composable with others. Each lives in skills/<platform>/<name>.md.
- Purpose — one sentence: what capability this adds
- When to use — specific scenarios where you'd reach for this skill
- Skill Prompt — the block you paste into any LLM session
- Example — a real input and output
- Composition notes — how to combine with other skills or agents
1. Open the skill file — e.g. skills/ios/swift-review.md
2. Copy the ## Skill Prompt section
3. Paste into any LLM session as the first message
4. Paste your code and ask for a review
Paste multiple skill prompts together — the LLM applies all of them simultaneously:
[paste skills/ios/swift-review.md skill prompt]
[paste skills/ios/swiftui-state.md skill prompt]
Review this SwiftUI ViewModel: [paste code]
| Skills | Agents | |
|---|---|---|
| Output format | Flexible | Structured — typed sections, verdict |
| Setup | Paste one block | Paste system prompt + follow input format |
| Best for | Quick inline review, composing | Structured analysis, repeatable output |
| Works without structured input | Yes | No |
| Skill | File | What It Adds |
|---|---|---|
| Code Review | skills/android/code-review.md |
Coroutines, Clean Architecture, Compose, DI rules |
| Skill | File | What It Adds |
|---|---|---|
| Swift Review | skills/ios/swift-review.md |
ARC, [weak self], [unowned self], @MainActor, force-unwrap |
| SwiftUI State | skills/ios/swiftui-state.md |
@State/@StateObject/@ObservedObject selection, expensive body
|
| Networking | skills/ios/networking.md |
URLSession, async/await, HTTP status checks, certificate pinning |
| Unit Testing | skills/ios/unit-testing.md |
Swift Testing vs XCTest, async tests, protocol-based mocking |
| Performance | skills/ios/performance.md |
Main thread blocking, Core Data N+1, image decoding overhead |
| Data Persistence | skills/ios/data-persistence.md |
UserDefaults vs Keychain vs Core Data vs SwiftData, file encryption |
| Skill | File | What It Adds |
|---|---|---|
| Widget Generation | skills/flutter/widget-gen.md |
Null-safety, const, theming, responsive, accessibility rules |
| Skill | File | What It Adds |
|---|---|---|
| Performance | skills/react-native/performance.md |
useCallback, useMemo, FlatList config, animation thread |
| Bridge Audit | skills/react-native/bridge-audit.md |
Bridge call overhead, synchronous native calls, JSI migration |
| Skill | File | What It Adds |
|---|---|---|
| Shader Review | skills/unity/shader-review.md |
Mobile shader budget, half precision, pipeline correctness |
| Skill | File | What It Adds |
|---|---|---|
| Crash Analysis | skills/shared/crash-analysis.md |
Crash triage: type identification, first app frame, root cause |
| Accessibility | skills/shared/accessibility-audit.md |
WCAG 2.2 mobile: labels, touch targets, roles, announcements |
| Security | skills/shared/security-scan.md |
OWASP Mobile Top 10 checklist |
A prompt is the simplest resource — a complete, ready-to-paste prompt with a placeholder for your code. Each lives in prompts/<platform>/<name>.md.
- Purpose — one sentence
-
Prompt — the full text with
[PASTE YOUR CODE HERE]slot - Example — a worked input and expected output
- Variations — modifications for related use cases
1. Open the prompt file — e.g. prompts/android/generate-unit-test.md
2. Copy the entire ## Prompt section
3. Replace [PASTE YOUR CLASS HERE] with your Kotlin/Swift/Dart code
4. Paste the whole thing into any LLM — no system prompt needed
Prompts are one-shot. They don't require a system prompt, don't need a structured input format, and don't produce a structured output format. Use them when you want a quick result without setup.
-
explain-flow.md— explain a Kotlin Flow operator chain in plain English -
generate-unit-test.md— JUnit 5 + MockK unit test from a class -
compose-layout.md— Jetpack Compose layout from a wireframe description -
migration-guide.md— step-by-step migration guide (LiveData→StateFlow, View→Compose, etc.) -
gradle-dependency-audit.md— auditbuild.gradle.ktsfor outdated or conflicting deps
-
swift-concurrency-explainer.md— explain async/await and actors in a code block -
generate-unit-test.md— XCTest + Swift Testing unit test from a class -
swiftui-accessibility.md— accessibility audit of a SwiftUI view -
combine-to-async.md— migrate a Combine publisher chain to async/await
-
widget-from-design.md— widget from a Figma / wireframe description -
riverpod-migration.md— migrate Provider to Riverpod 2.x -
test-golden.md— golden (screenshot) test for a Flutter widget -
performance-audit.md— widget tree performance audit
-
component-audit.md— quick performance audit of a single RN component -
new-arch-migration.md— Old Architecture → New Architecture migration guide -
navigation-setup.md— React Navigation v7 type-safe stack config -
e2e-test.md— Detox E2E test for a user flow
-
shader-from-reference.md— Unity shader from a visual reference description -
blueprint-to-cpp.md— Unreal Blueprint description → C++.h+.cpp -
game-object-architecture.md— component architecture design for a game entity -
game-balance.md— data-driven balance table for enemy/weapon/level stats -
level-design-review.md— level design review for pacing and player experience
Getting Started
Reference
Community
Repository github.com/salmanashraf/mobile-dev-skills
Version: v1.0.0 · MIT License