Skip to content

Skills and Prompts

Salman Ashraf edited this page May 29, 2026 · 1 revision

Skills and Prompts

Two lighter-weight resource types for focused, quick, or composable AI assistance.


Skills

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.

What's in a skill file

  • 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

Using a skill standalone

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

Composing multiple skills

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 vs. Agents

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

All 14 Skills

Android

Skill File What It Adds
Code Review skills/android/code-review.md Coroutines, Clean Architecture, Compose, DI rules

iOS (most complete — 6 skills)

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

Flutter

Skill File What It Adds
Widget Generation skills/flutter/widget-gen.md Null-safety, const, theming, responsive, accessibility rules

React Native

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

Unity

Skill File What It Adds
Shader Review skills/unity/shader-review.md Mobile shader budget, half precision, pipeline correctness

Shared (cross-platform)

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

Prompts

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.

What's in a prompt file

  • 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

Using a prompt

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.


All 22 Prompts

Android (5)

  • 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 — audit build.gradle.kts for outdated or conflicting deps

iOS (4)

  • 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

Flutter (4)

  • 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

React Native (4)

  • 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

Game Dev (5)

  • 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

Home · Using Agents · Reference · Contributing

Mobile Dev Skill Agents

Home


Getting Started

Reference

Community


Repository github.com/salmanashraf/mobile-dev-skills

Version: v1.0.0 · MIT License

Clone this wiki locally