oma-academic-writing
Draft and revise academic prose against a rubric, evidence, and
Implement Flutter, React Native, or native Swift apps. Use for
$ npx -y skills add first-fluke/oh-my-agent --skill oma-mobile --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/oma-mobileContext preview
The summary Claude sees to decide when to auto-load this skill.
Implement Flutter, React Native, or native Swift apps. Use for
name: oma-mobile description: Implement Flutter, React Native, or native Swift 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 |
rg --files rg "Riverpod|Bloc|Dio|Widget|Maestro|dispose\\(|permission" .
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, and Swift uses generated `Client` middleware. 6. 60fps target; test on both platforms 7. Use Maestro for E2E testing of critical user flows 8. Swift native: SwiftUI + `@MainActor @Observable` view models (Observation framework, iOS 17+) — non-isolated VMs mutating observed state from a `Task` are a Swift 6 strict-concurrency error 9. Swift native: use the generated `Client` from `swift-openapi-generator` — never hand-roll `URLRequest`/`JSONDecoder` for API calls 10. Swift native: c
Agents narrate success. oh-my-agent checks the artifacts. Spawning parallel agents is the easy part. The hard part is knowing whether they actually did the work.
Repo: first-fluke/oh-my-agent
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.
Coordinate assigned specialist tasks and handoffs manually. Use