oma-mobile
Implement Flutter, React Native, or native Swift apps. Use for
Install / Use
npx skills add first-fluke/oh-my-agent --skill oma-mobileInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
CommunicationSupported Platforms
Our assessment of oma-mobile
oma-mobile scores 82/100 on our quality scale, 373rd of 430 Communication skills we index.
Its SKILL.md is 9.3 KB long, well organised into 25 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,324 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 11 days ago, so oma-mobile is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
oma-mobile compared with similar skills
All 4 of these similar skills score higher than oma-mobile; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| oma-mobile (this skill)by first-fluke | 82 | 1.3k | 11d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 12d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 12d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 14d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 14d ago | SKILL.md |
Frequently asked questions
- How do I install oma-mobile?
- Run
npx skills add first-fluke/oh-my-agent --skill oma-mobile. The install tabs above show the steps for each supported agent. - Which AI agents does oma-mobile work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is oma-mobile safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is oma-mobile still maintained?
- The repository was last updated 11 days ago, so oma-mobile is actively maintained.
Skill content
View source on GitHubname: oma-mobile description: Implement Flutter, React Native, or native Swift apps. Use for mobile screens, widgets, platform integrations, and application data flows.
Mobile Agent - Cross-Platform Mobile Specialist
Scheduling
Goal
Build, modify, and verify cross-platform mobile application features with clean architecture, platform-appropriate UI, state management, performance, and E2E coverage.
Intent signature
- User asks for mobile app, Flutter, Dart, React Native, iOS, Android, Riverpod, widgets, camera, GPS, push notifications, or offline-first work.
- User needs native or cross-platform mobile behavior rather than web frontend work.
When to use
- Building native mobile applications (iOS + Android)
- Mobile-specific UI patterns
- Platform features (camera, GPS, push notifications)
- Offline-first architecture
When NOT to use
- Web frontend -> use Frontend Agent
- Backend APIs -> use Backend Agent
Expected inputs
- Target screen, widget, feature, platform capability, or mobile flow
- Existing app architecture, state management pattern, API contract, and platform constraints
- Test expectations for unit, widget, integration, or Maestro E2E coverage
Expected outputs
- Mobile code changes in domain, data, presentation, platform, or test files
- UI aligned with Material Design 3 and iOS HIG as applicable
- Verification results from mobile checks and critical-flow tests
Dependencies
- Flutter/Dart or React Native toolchain as detected from the project
- Riverpod/Bloc, Dio, platform SDKs, and Maestro where applicable
resources/execution-protocol.md, examples, snippets, checklist, and screen template
Control-flow features
- Branches by platform, state management pattern, offline requirement, native permission, and test level
- Reads and writes mobile codebase files
- May call build, test, simulator, emulator, or E2E commands
Structural Flow
Entry
- Identify target platform(s), screen/feature, architecture layer, and state boundary.
- Inspect existing mobile patterns and dependencies.
- Determine test level and verification environment.
Scenes
- PREPARE: Load app architecture, platform constraints, and acceptance criteria.
- ACQUIRE: Read existing widgets/screens, providers/blocs, API clients, and tests.
- ACT: Implement mobile UI, state, platform integration, offline handling, and tests.
- VERIFY: Run relevant unit/widget/integration/E2E checks.
- FINALIZE: Report behavior, platforms covered, and verification results.
Transitions
- If business logic is complex, keep it in domain/data layers before presentation.
- If network calls are needed, use Dio with interceptors and offline handling.
- If a critical user flow changes, add or update Maestro E2E coverage.
- If backend contracts are missing, coordinate with backend/API work.
Failure and recovery
- If platform SDK or emulator is unavailable, report verification limits.
- If a permission or native capability is missing, add explicit platform configuration or document blocker.
- If tests fail, fix before handoff or report the failing check.
Exit
- Success: mobile feature works for target platforms and passes relevant checks.
- Partial success: platform, simulator, dependency, or verification gaps are explicit.
Logical Operations
Actions
| Action | SSL primitive | Evidence |
|--------|---------------|----------|
| Inspect mobile architecture | READ | Domain/data/presentation files |
| Select state and platform strategy | SELECT | Riverpod/Bloc and platform constraints |
| Implement mobile code | WRITE | Widgets, screens, providers, clients |
| Validate lifecycle and permissions | VALIDATE | Dispose, permissions, offline behavior |
| Call verification tools | CALL_TOOL | Tests, builds, Maestro |
| Report result | NOTIFY | Final summary |
Tools and instruments
- Flutter/Dart or React Native stack
- Riverpod/Bloc, Dio, platform SDKs, Maestro
- Unit, widget, integration, and E2E test commands
Canonical workflow path
Use the configured code-intelligence provider to locate files and inspect symbols
or content. For Serena, use find_file, search_for_pattern,
get_symbols_overview, and find_symbol. Native search is limited to the
provider exclusions and non-code paths permitted by the project's search policy.
Then run the project's mobile verification commands, typically unit/widget tests and Maestro E2E for critical flows.
Resource scope
| Scope | Resource target |
|-------|-----------------|
| CODEBASE | Mobile source, tests, platform config |
| LOCAL_FS | Templates, snippets, resources |
| PROCESS | Build, test, emulator, simulator, E2E commands |
| NETWORK | Backend APIs when the feature integrates remotely |
Preconditions
- Target mobile feature and platform scope are identifiable.
- Required SDKs, permissions, and API contracts are available or assumptions are stated.
Effects and side effects
- Mutates mobile source, tests, and platform configuration.
- May affect permissions, app lifecycle, offline data, or performance.
Guardrails
Apply framework, library, architecture, and data-model defaults only when the target project has no established choice. Scoped edits do not authorize a stack migration or unrelated infrastructure.
- Clean Architecture: domain -> data -> presentation
- Riverpod/Bloc for state management (no raw setState for complex logic)
- Material Design 3 (Android) + iOS HIG (iOS)
- All controllers disposed in
dispose()method - Use the platform transport with auth/retry/logging interception and offline handling: Flutter uses Dio, React Native uses axios behind TanStack Query, and Swift uses generated
Clientmiddleware. - 60fps target; verify supported target platforms (Swift iOS needs iOS only)
- Use Maestro for E2E testing of critical user flows
- Swift native: SwiftUI +
@MainActor @Observableview models (Observation framework, iOS 17+) — non-isolated VMs mutating observed state from aTaskare a Swift 6 strict-concurrency error - Swift native: use the existing API layer. When the project adopts OpenAPI generation, use its generated Client for covered endpoints; a UI-only edit does not introduce a generator.
- Swift native: when response caching is required, use the existing Repository cache; for a new hyperoslo/Cache implementation, use a ResponseCache actor — cache DECODED models (never
HTTPBody), serve stale-while-revalidate on reads, invalidate keys on writes; view models depend on a protocol seam, not the concrete service (seevariants/swift-ios/snippets.md§10) - Swift native: follow
App/Core/Features/Sharedproject layout - Swift native: iOS Human Interface Guidelines for all UI decisions
- Swift native: XCTest or Swift Testing for units, XCUITest for critical flows; cancel work via structured
.task {}(auto-cancels on disappear) — never indeinit, which is nonisolated and cannot touch@MainActorstate under Swift 6 (isolated deinit requires Swift 6.2+) - Swift native: restore edge swipe-back at the route layer — nav-bar-hidden screens (
.toolbar(.hidden, for: .navigationBar)) lose it, so register push routes via aswipeBackDestinationwrapper, not per-screen (seevariants/swift-ios/snippets.md§9) - Flutter: when offline response caching is required, use the existing repository cache; if adding Drift, read cached entities then revalidate (stale-while-revalidate), and invalidate/refresh affected rows on every write; cache decoded entities at the data layer, never at the Dio transport (see
variants/flutter/snippets.md§3, §10) - React Native: preserve the existing server-state layer; for TanStack Query with explicit
staleTime/gcTime— invalidate affected query keys on every mutation, persist account-scoped cache to MMKV only when offline persistence is required; screens consume query/mutation hooks, never call axios directly (seevariants/react-native/snippets.md)
References
- Execution steps (follow for the selected task):
resources/execution-protocol.md - Code snippets (Swift):
variants/swift-ios/snippets.md - Code snippets (Flutter):
variants/flutter/snippets.md - Code snippets (React Native):
variants/react-native/snippets.md - Checklist (run before handoff):
resources/checklist.md - Error recovery:
resources/error-playbook.md - Tech stack index (all platforms):
resources/tech-stack.md - Tech stack (Swift):
variants/swift-ios/tech-stack.md - Tech stack (Flutter):
variants/flutter/tech-stack.md - Tech stack (React Native):
variants/react-native/tech-stack.md - Screen template (Flutter):
resources/screen-template.dart - Screen template (Swift):
resources/screen-template.swift - Screen template (React Native):
resources/screen-template.tsx - API service template (Swift):
variants/swift-ios/api-template.swift - API service template (Flutter):
variants/flutter/api-template.dart - API service template (React Native):
variants/react-native/api-template.ts - Variant registry:
variants/README.md - Context loading:
../_shared/core/context-loading.md - Clarification:
../_shared/core/clarification-protocol.md - Context budget:
../_shared/core/context-budget.md - Lessons learned:
../_shared/core/lessons-learned.md(matching prior failure or requested retrospective) - Observability handoff:
../oma-observability/SKILL.md§Integrations — offline queuing, crash analytics, battery-aware sampling
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
