# Mobile Detect Stack

> Detects the mobile stack of the current project (Flutter, Android, iOS, React Native, Kotlin Multiplatform), its languages and target platforms, using the reis-mobile detector. Use when you need to know which mobile stack a project uses before reviewing, debugging or changing it, or when the user asks "what stack is this project?".

- Skill: `wrsilva/mobile-detect-stack` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wrsilva/mobile-detect-stack`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wrsilva/mobile-detect-stack/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: wrsilva (https://skillmd.com/u/wrsilva)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/wrsilva/mobile-detect-stack

---


# Detect Mobile Stack

Use the reis-mobile deterministic detector instead of guessing from the folder structure.

## How to run

```bash
node "${CLAUDE_PLUGIN_ROOT}/bin/reis-mobile.mjs" detect --json --dir "<project directory>"
```

Result fields:

| Field | Meaning |
|---|---|
| `stack` | `flutter`, `react-native`, `kotlin-multiplatform`, `android`, `ios` or `unknown` |
| `variant` | `plugin` (Flutter), `expo` (React Native) or `null` |
| `languages` | Languages found, the main one first (includes native code in cross-platform apps) |
| `platforms` | Target platforms (`android`, `ios`, `web`, `macos`, `desktop`...) |
| `evidence` | Files that justify the detection |
| `candidates` | Every stack that matched, in priority order |

## Interpretation

- Cross-platform stacks take priority: a Flutter app contains `android/` and `ios/`, but the stack is `flutter`.
- `unknown` means there is no mobile project at the given root. In monorepos, run it again with `--dir` pointing at the app.
- More than one item in `candidates` indicates a hybrid project (for example, KMP with an Android module). Consider both stacks when loading skills.

