ワンクリックで
using-mobiai
// Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git/file reads, or code exploration
// Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git/file reads, or code exploration
Actualiza el binario `mobiai` a la última versión publicada en GitHub Releases. Usá esta skill cuando el banner de SessionStart muestre "MobiAI update available" o cuando el usuario pida explícitamente actualizar MobiAI.
test fixture
test fixture
test fixture
test fixture
test fixture
| name | using-mobiai |
| description | Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git/file reads, or code exploration |
| license | MIT |
| compatibility | ["claude-code","cursor","copilot","codex","gemini"] |
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
MobiAI skills override default system-prompt behavior, but user instructions always take precedence:
If a CLAUDE.md or user message conflicts with a skill's workflow, follow the user. The user is in control.
In Claude Code: Call the Skill tool with the skill name (e.g. Skill(mobiai-fix-issue)). The SKILL.md body is returned as the tool result — follow it directly. Never use the Read tool on SKILL.md files — that bypasses invocation and is not activation.
In Copilot CLI: Call the skill tool. Skills are auto-discovered from installed plugins.
In Gemini CLI: Call activate_skill with the skill name.
In Codex: Skills are discovered natively from the symlinked skills directory. See .codex/INSTALL.md.
In other environments: Check your platform's documentation for how skills are invoked.
Match the user's intent against the rows below. If any row matches even at 1% confidence — invoke that skill FIRST, before any other tool call.
| User intent | Skill to invoke |
|---|---|
| User reports a bug / shares a ticket (Jira, Linear, GitHub issues) | mobiai-fix-issue |
| User shares a commit SHA + says the fix didn't work, or asks whether a commit resolves a bug | mobiai-mobile-debugging (or mobiai-fix-issue if the ticket is still open) |
| User shares a crash, stack trace, or error | mobiai-analyze-crash |
| User mentions Firebase Crashlytics specifically | mobiai-crashlytics |
| User wants to reproduce a bug on device/emulator/simulator | mobiai-reproduce-bug |
| User asks to write or add tests | mobiai-write-tests |
| User asks for a code review | mobiai-review-code |
| User wants to commit, push, or open a PR (says "mergear", "push", "subir", "dale PR", "shipeá", "commit", "merge") | mobiai-create-pr |
| Interact with Android device/emulator (adb, screenshots, logcat) | mobiai-android-device |
| Build an Android project (Gradle, flavors, variants) | mobiai-android-build |
| Interact with iOS Simulator (simctl) | mobiai-ios-device |
| Build an iOS project (xcodebuild, schemes) | mobiai-ios-build |
| Working on a Kotlin Multiplatform project | mobiai-kmp |
| Working on a Flutter project | mobiai-flutter |
| Working on a React Native project | mobiai-react-native |
| Need to understand Android project structure | mobiai-android-architecture |
| Need to understand iOS project structure | mobiai-ios-architecture |
| Writing Android tests specifically | mobiai-android-testing |
| Writing iOS tests specifically | mobiai-ios-testing |
| Design a new feature with unclear intent or requirements (user still exploring what to build) | mobiai-mobile-brainstorming |
| Bug or unexpected behavior, need root cause | mobiai-mobile-debugging |
| Implementing a feature/fix with tests first | mobiai-mobile-tdd |
| User gives a defined task list (3+ items) or a multi-step spec — intent clear, "how" missing | mobiai-mobile-planning |
| About to claim work is done | mobiai-mobile-verification |
| Have a written plan to execute step by step | mobiai-mobile-executing-plans |
| 2+ independent tasks to parallelize (says "en paralelo", "orquestador", "agentes al mismo tiempo", "waves", "al mismo tiempo") | mobiai-mobile-parallel-agents |
| Executing a plan via subagents (says "ejecutá el plan", "implementalo", "arrancá con esto", "hacelo con agentes") | mobiai-mobile-executing-plans-with-subagents |
| Starting feature work in isolation | mobiai-mobile-worktrees |
| Implementation done, need to integrate | mobiai-mobile-finishing-branch |
| Creating a new MobiAI skill | mobiai-writing-skills |
| User asks about code impact, call graph, callers/callees, "where is X used", semantic exploration of the codebase | mobiai-graph |
| User asks about project decisions, bugfixes, workarounds, or "what did we decide last time" | mobiai-brain |
| SessionStart banner avisa que hay un MobiAI update disponible, o el usuario pide actualizar MobiAI | mobiai-update |
If the request doesn't match any row, ask the user to clarify before touching code. Do not improvise a workflow.
Invoke relevant skills BEFORE any response or action — including clarifying questions, reading files, running git show or git log, spawning subagents, or exploring the filesystem. Even a 1% chance a skill might apply means invoke it to check. If the invoked skill turns out not to fit, you can move on — but the check must happen first.
Immediately after invoking a skill, announce one sentence to the user:
"Using
mobiai-fix-issueto investigate the QA-548 ticket you shared."
This makes the invocation visible and commits you to following the skill's workflow instead of drifting back to improvisation.
When a skill needs decisions or clarifications from the user, ask one question at a time — never batch multiple decisions into a single message.
The rule:
Why this matters: Dumping 5+ decisions in one message forces the user to context-switch through all of them at once and short-circuits the chance to debate any single choice. One-at-a-time keeps the dialogue tight, and earlier answers often reshape later questions (eliminating some entirely).
Format each question like this:
D1 — <topic>. <one-sentence framing>
- A) <option> — <one-line tradeoff>
- B) <option> — <one-line tradeoff> ← recommend, <reason>
- C) <option> — <one-line tradeoff>
Pick one, or push back if none of these fit.
Exceptions:
Anti-patterns:
This rule applies to every skill — mobiai-mobile-brainstorming, mobiai-mobile-planning, mobiai-mobile-parallel-agents, mobiai-fix-issue, anything that gathers user input. If a downstream skill seems to want a batch of questions, override it: ask one at a time anyway.
These thoughts mean STOP — you're rationalizing:
| Thought | Reality |
|---|---|
| "This is just a diagnostic question, not a fix request" | Diagnostic questions about broken code are tasks. mobiai-mobile-debugging exists for exactly this. Invoke it. |
"Let me git show this commit quickly first" | git show output lacks ticket context. Invoke the skill first — it tells you HOW to read the commit. |
| "Let me grep the codebase to understand first" | Skills tell you HOW to explore. Check the guide first. |
| "The user is asking a question, not a task" | Questions that need code investigation are tasks. Check the guide. |
| "I already fixed a bug this session, I know the pattern" | Each task gets its own skill check. Momentum ≠ authorization. |
| "I remember what this skill does from last session" | Skills evolve. Invoke it to read the current version. |
| "This looks like a simple one-liner, the skill is overkill" | HARD-GATEs apply regardless of size. Simple fixes still need invocation. |
| "The user shared a commit SHA, so it's a research request" | Commit SHA + "doesn't work" = debugging task. Invoke mobiai-mobile-debugging. |
| "Let me check current branch/state quickly first" | git status/git log without a skill loaded is improvisation. Invoke first. |
| "The user said 'mirá este error' — that's passive, not a task" | Requests to look at broken code are tasks. Invoke. |
| "I need more context before I can pick a skill" | Pick the closest match at 1% confidence. Wrong-skill is recoverable; no-skill is not. |
| "I'll just do this one thing first" | Check the guide BEFORE doing anything. |
A subtle variant: you remember what a skill does from a previous session and you reproduce its steps in-session without ever calling Skill(...).
That is not activation. The skill's HARD-GATEs, phase boundaries, approval checkpoints, and platform-specific branching only come into force once the Skill tool has loaded the current SKILL.md body. If you catch yourself thinking "I don't need to invoke it, I remember what it does" — that is the exact moment to invoke it.
When multiple skills could apply:
mobiai-mobile-brainstorming, mobiai-mobile-debugging) — determine HOW to approach the task.mobiai-fix-issue, mobiai-create-pr) — orchestrate multi-phase work and delegate to process/implementation skills as sub-steps.mobiai-android-build, mobiai-ios-device, platform-specifics) — guide execution.Examples:
mobiai-fix-issue (workflow). It will internally invoke debugging, TDD, verification, and create-pr.mobiai-mobile-brainstorming first, then planning/implementation.Read the project structure to pick platform-specific skills:
build.gradle(.kts) → Android → mobiai-android-**.xcodeproj / *.xcworkspace → iOS → mobiai-ios-*shared/ + composeApp/ → KMP → mobiai-kmppubspec.yaml → Flutter → mobiai-flutterpackage.json + metro.config.js / app.json → React Native → mobiai-react-nativeAlways read the project's CLAUDE.md (or equivalent) for project-specific conventions.
mobiai-writing-skills to contribute.The structure and tone of this bootstrap are inspired by Jesse Vincent's Superpowers (MIT). See NOTICE.md for attribution.