oma-academic-writing
Draft and revise academic prose against a rubric, evidence, and
Implement Flutter, React Native, native Swift, or native Kotlin
Claude Code
$ npx -y skills add first-fluke/oh-my-agent --skill oma-mobile --agent claude-code
Codex
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a codex -y
Cursor
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a cursor -y
Gemini CLI
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a gemini-cli -y
GitHub Copilot
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a github-copilot -y
OpenCode
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a opencode -y
Windsurf
$ npx skills add first-fluke/oh-my-agent --skill oma-mobile -a windsurf -y
name: oma-mobile description: Implement Flutter, React Native, native Swift, or native Kotlin Android apps. Use for mobile screens, widgets, platform integrations, and application data flows.
Build, modify, and verify cross-platform mobile application features with clean architecture, platform-appropriate UI, state management, performance, and E2E coverage.
1. Identify target platform(s), screen/feature, architecture layer, and state boundary. 2. Inspect existing mobile patterns and dependencies. 3. Determine test level and verification environment.
1. **PREPARE**: Load app architecture, platform constraints, and acceptance criteria. 2. **ACQUIRE**: Read existing widgets/screens, providers/blocs, API clients, and tests. 3. **ACT**: Implement mobile UI, state, platform integration, offline handling, and tests. 4. **VERIFY**: Run relevant unit/widget/integration/E2E checks. 5. **FINALIZE**: Report behavior, platforms covered, and verification results.
| 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 |
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.
| 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 |
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. 1. Clean Architecture: domain -> data -> presentation 2. Riverpod/Bloc for state management (no raw setState for complex logic) 3. Material Design 3 (Android) + iOS HIG (iOS) 4. All controllers disposed in `dispose()` method 5. Use the platform transport with auth/retry/logging interception and offline handling: Flutter uses Dio, React Native uses axios behind TanStack Query, Swift uses generated `Client` middleware, and Kotlin
Draft and revise academic prose against a rubric, evidence, and
Evaluate system boundaries and architectural tradeoffs. Use for
Implement server APIs, authentication, and application data access.
Explore goals, constraints, and alternative approaches before
Coordinate assigned specialist tasks and handoffs manually. Use
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.