[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KCK8AZKQ6TD0ZD3GFYPPP9":3,"skill-same:01M6KCK8AZKQ6TD0ZD3GFYPPP9":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6KCK8AZKQ6TD0ZD3GFYPPP9","using-mobiai",null,"Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git\u002Ffile reads, or code exploration","ArisGuimera\u002FMobiAI-Core","ArisGuimera","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16361358?v=4","01M6KC5MVGRKDA14DWT98445V9","AristiDevs","01M6KC5MZKRFFHFFD340B21YN3",492,"MIT","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fusing-mobiai\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"using mobiai","find","questions","how to","claude-code","exploration","conversation","use","cursor","gemini","tool","how","file","git","code","copilot","codex","2026-11-10 10:12:30",false,"---\nname: using-mobiai\ndescription: Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git\u002Ffile reads, or code exploration\nlicense: MIT\ncompatibility: [claude-code, cursor, copilot, codex, gemini]\n---\n\n\u003CSUBAGENT-STOP>\nIf you were dispatched as a subagent to execute a specific, scoped task, skip this skill. Your parent agent is responsible for skill routing.\n\u003C\u002FSUBAGENT-STOP>\n\n\u003CEXTREMELY-IMPORTANT>\nIf you think there is even a 1% chance a MobiAI skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill via the `Skill` tool.\n\nIF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.\n\nThis is not negotiable. This is not optional. You cannot rationalize your way out of this.\n\u003C\u002FEXTREMELY-IMPORTANT>\n\n## Instruction Priority\n\nMobiAI skills override default system-prompt behavior, but **user instructions always take precedence**:\n\n1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority\n2. **MobiAI skills** — override default behavior where they conflict\n3. **Default system prompt** — lowest priority\n\nIf a CLAUDE.md or user message conflicts with a skill's workflow, follow the user. The user is in control.\n\n## How to Access Skills\n\n**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.\n\n**In Copilot CLI:** Call the `skill` tool. Skills are auto-discovered from installed plugins.\n\n**In Gemini CLI:** Call `activate_skill` with the skill name.\n\n**In Codex:** Skills are discovered natively from the symlinked skills directory. See `.codex\u002FINSTALL.md`.\n\n**In other environments:** Check your platform's documentation for how skills are invoked.\n\n## Quick Decision Guide\n\nMatch 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.\n\n| User intent | Skill to invoke |\n|-------------|-----------------|\n| User reports a bug \u002F shares a ticket (Jira, Linear, GitHub issues) | `mobiai-fix-issue` |\n| 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) |\n| User shares a crash, stack trace, or error | `mobiai-analyze-crash` |\n| User mentions Firebase Crashlytics specifically | `mobiai-crashlytics` |\n| User wants to reproduce a bug on device\u002Femulator\u002Fsimulator | `mobiai-reproduce-bug` |\n| User asks to write or add tests | `mobiai-write-tests` |\n| User asks for a code review | `mobiai-review-code` |\n| User wants to commit, push, or open a PR (says \"mergear\", \"push\", \"subir\", \"dale PR\", \"shipeá\", \"commit\", \"merge\") | `mobiai-create-pr` |\n| Interact with Android device\u002Femulator (adb, screenshots, logcat) | `mobiai-android-device` |\n| Build an Android project (Gradle, flavors, variants) | `mobiai-android-build` |\n| Interact with iOS Simulator (simctl) | `mobiai-ios-device` |\n| Build an iOS project (xcodebuild, schemes) | `mobiai-ios-build` |\n| Working on a Kotlin Multiplatform project | `mobiai-kmp` |\n| Working on a Flutter project | `mobiai-flutter` |\n| Working on a React Native project | `mobiai-react-native` |\n| Need to understand Android project structure | `mobiai-android-architecture` |\n| Need to understand iOS project structure | `mobiai-ios-architecture` |\n| Writing Android tests specifically | `mobiai-android-testing` |\n| Writing iOS tests specifically | `mobiai-ios-testing` |\n| Design a new feature with **unclear intent or requirements** (user still exploring what to build) | `mobiai-mobile-brainstorming` |\n| Bug or unexpected behavior, need root cause | `mobiai-mobile-debugging` |\n| Implementing a feature\u002Ffix with tests first | `mobiai-mobile-tdd` |\n| User gives a **defined task list (3+ items)** or a multi-step spec — intent clear, \"how\" missing | `mobiai-mobile-planning` |\n| About to claim work is done | `mobiai-mobile-verification` |\n| Have a written plan to execute step by step | `mobiai-mobile-executing-plans` |\n| 2+ independent tasks to parallelize (says \"en paralelo\", \"orquestador\", \"agentes al mismo tiempo\", \"waves\", \"al mismo tiempo\") | `mobiai-mobile-parallel-agents` |\n| Executing a plan via subagents (says \"ejecutá el plan\", \"implementalo\", \"arrancá con esto\", \"hacelo con agentes\") | `mobiai-mobile-executing-plans-with-subagents` |\n| Starting feature work in isolation | `mobiai-mobile-worktrees` |\n| Implementation done, need to integrate | `mobiai-mobile-finishing-branch` |\n| Creating a new MobiAI skill | `mobiai-writing-skills` |\n| User asks about code impact, call graph, callers\u002Fcallees, \"where is X used\", semantic exploration of the codebase | `mobiai-graph` |\n| User asks about project decisions, bugfixes, workarounds, or \"what did we decide last time\" | `mobiai-brain` |\n| SessionStart banner avisa que hay un MobiAI update disponible, o el usuario pide actualizar MobiAI | `mobiai-update` |\n\nIf the request doesn't match any row, ask the user to clarify before touching code. Do not improvise a workflow.\n\n## The Rule\n\n**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.\n\n## Announce What You're Using\n\nImmediately after invoking a skill, announce one sentence to the user:\n\n> \"Using `mobiai-fix-issue` to investigate the QA-548 ticket you shared.\"\n\nThis makes the invocation visible and commits you to following the skill's workflow instead of drifting back to improvisation.\n\n## Asking the User\n\nWhen a skill needs decisions or clarifications from the user, ask **one question at a time** — never batch multiple decisions into a single message.\n\n**The rule:**\n1. Identify all open questions internally.\n2. Ask only the **first** one. Present it as multiple choice (A\u002FB\u002FC) with a recommended option and a one-line reason for the recommendation.\n3. **Wait for the answer.** The user may pick an option, push back, or open a side discussion — engage with that before moving on.\n4. Once resolved, ask the next question. Repeat until done.\n\n**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).\n\n**Format each question like this:**\n\n> **D1 — &lt;topic&gt;.** &lt;one-sentence framing&gt;\n> - **A)** &lt;option&gt; — &lt;one-line tradeoff&gt;\n> - **B)** &lt;option&gt; — &lt;one-line tradeoff&gt; ← **recommend**, &lt;reason&gt;\n> - **C)** &lt;option&gt; — &lt;one-line tradeoff&gt;\n>\n> Pick one, or push back if none of these fit.\n\n**Exceptions:**\n- The user explicitly asks for everything at once (\"dame todas las decisiones de un saque\", \"tirame el plan completo\", \"give me all the questions\"). Follow that instruction.\n- Purely informational previews (a triage table, a list of findings) where no decision is required yet — those can be longer. But the **questions** that follow them must still come one at a time.\n\n**Anti-patterns:**\n- Six decisions + a \"confirm everything and let's go\" in a single message.\n- Open-ended questions with no options (\"what do you want to do about photos?\") — always offer concrete A\u002FB\u002FC choices with a recommendation.\n- Asking the next question before the user has confirmed (or pushed back on) the previous one.\n- Hiding the recommendation (\"here are three options, which do you prefer?\"). Always state which one you'd pick and why.\n\nThis 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.\n\n## Red Flags\n\nThese thoughts mean STOP — you're rationalizing:\n\n| Thought | Reality |\n|---------|---------|\n| \"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. |\n| \"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. |\n| \"Let me grep the codebase to understand first\" | Skills tell you HOW to explore. Check the guide first. |\n| \"The user is asking a question, not a task\" | Questions that need code investigation are tasks. Check the guide. |\n| \"I already fixed a bug this session, I know the pattern\" | Each task gets its own skill check. Momentum ≠ authorization. |\n| \"I remember what this skill does from last session\" | Skills evolve. Invoke it to read the current version. |\n| \"This looks like a simple one-liner, the skill is overkill\" | HARD-GATEs apply regardless of size. Simple fixes still need invocation. |\n| \"The user shared a commit SHA, so it's a research request\" | Commit SHA + \"doesn't work\" = debugging task. Invoke `mobiai-mobile-debugging`. |\n| \"Let me check current branch\u002Fstate quickly first\" | `git status`\u002F`git log` without a skill loaded is improvisation. Invoke first. |\n| \"The user said 'mirá este error' — that's passive, not a task\" | Requests to look at broken code are tasks. Invoke. |\n| \"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. |\n| \"I'll just do this one thing first\" | Check the guide BEFORE doing anything. |\n\n## Anti-Pattern: \"From Memory\"\n\nA subtle variant: you remember what a skill does from a previous session and you reproduce its steps in-session without ever calling `Skill(...)`.\n\nThat 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.\n\n## Skill Priority\n\nWhen multiple skills could apply:\n\n1. **Process skills first** (`mobiai-mobile-brainstorming`, `mobiai-mobile-debugging`) — determine HOW to approach the task.\n2. **Workflow skills second** (`mobiai-fix-issue`, `mobiai-create-pr`) — orchestrate multi-phase work and delegate to process\u002Fimplementation skills as sub-steps.\n3. **Implementation skills third** (`mobiai-android-build`, `mobiai-ios-device`, platform-specifics) — guide execution.\n\nExamples:\n- \"Fix QA-548\" → `mobiai-fix-issue` (workflow). It will internally invoke debugging, TDD, verification, and create-pr.\n- \"Design feature X\" → `mobiai-mobile-brainstorming` first, then planning\u002Fimplementation.\n\n## Platform Detection\n\nRead the project structure to pick platform-specific skills:\n\n- `build.gradle(.kts)` → Android → `mobiai-android-*`\n- `*.xcodeproj` \u002F `*.xcworkspace` → iOS → `mobiai-ios-*`\n- `shared\u002F` + `composeApp\u002F` → KMP → `mobiai-kmp`\n- `pubspec.yaml` → Flutter → `mobiai-flutter`\n- `package.json` + `metro.config.js` \u002F `app.json` → React Native → `mobiai-react-native`\n\nAlways read the project's `CLAUDE.md` (or equivalent) for project-specific conventions.\n\n## Principles\n\n- **Minimal fixes**: Change only what's necessary. No drive-by refactors.\n- **Evidence-based**: Verify compile + tests pass before declaring done.\n- **Platform-native**: Follow each platform's conventions and idioms.\n- **Community-driven**: Found a gap? Use `mobiai-writing-skills` to contribute.\n\n---\n\n*The structure and tone of this bootstrap are inspired by Jesse Vincent's [Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers) (MIT). See `NOTICE.md` for attribution.*\n","\u003CSUBAGENT-STOP>\nIf you were dispatched as a subagent to execute a specific, scoped task, skip this skill. Your parent agent is responsible for skill routing.\n\u003C\u002FSUBAGENT-STOP>\n\n\u003CEXTREMELY-IMPORTANT>\nIf you think there is even a 1% chance a MobiAI skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill via the `Skill` tool.\n\nIF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.\n\nThis is not negotiable. This is not optional. You cannot rationalize your way out of this.\n\u003C\u002FEXTREMELY-IMPORTANT>\n\n## Instruction Priority\n\nMobiAI skills override default system-prompt behavior, but **user instructions always take precedence**:\n\n1. **User's explicit instructions** (CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority\n2. **MobiAI skills** — override default behavior where they conflict\n3. **Default system prompt** — lowest priority\n\nIf a CLAUDE.md or user message conflicts with a skill's workflow, follow the user. The user is in control.\n\n## How to Access Skills\n\n**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.\n\n**In Copilot CLI:** Call the `skill` tool. Skills are auto-discovered from installed plugins.\n\n**In Gemini CLI:** Call `activate_skill` with the skill name.\n\n**In Codex:** Skills are discovered natively from the symlinked skills directory. See `.codex\u002FINSTALL.md`.\n\n**In other environments:** Check your platform's documentation for how skills are invoked.\n\n## Quick Decision Guide\n\nMatch 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.\n\n| User intent | Skill to invoke |\n|-------------|-----------------|\n| User reports a bug \u002F shares a ticket (Jira, Linear, GitHub issues) | `mobiai-fix-issue` |\n| 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) |\n| User shares a crash, stack trace, or error | `mobiai-analyze-crash` |\n| User mentions Firebase Crashlytics specifically | `mobiai-crashlytics` |\n| User wants to reproduce a bug on device\u002Femulator\u002Fsimulator | `mobiai-reproduce-bug` |\n| User asks to write or add tests | `mobiai-write-tests` |\n| User asks for a code review | `mobiai-review-code` |\n| User wants to commit, push, or open a PR (says \"mergear\", \"push\", \"subir\", \"dale PR\", \"shipeá\", \"commit\", \"merge\") | `mobiai-create-pr` |\n| Interact with Android device\u002Femulator (adb, screenshots, logcat) | `mobiai-android-device` |\n| Build an Android project (Gradle, flavors, variants) | `mobiai-android-build` |\n| Interact with iOS Simulator (simctl) | `mobiai-ios-device` |\n| Build an iOS project (xcodebuild, schemes) | `mobiai-ios-build` |\n| Working on a Kotlin Multiplatform project | `mobiai-kmp` |\n| Working on a Flutter project | `mobiai-flutter` |\n| Working on a React Native project | `mobiai-react-native` |\n| Need to understand Android project structure | `mobiai-android-architecture` |\n| Need to understand iOS project structure | `mobiai-ios-architecture` |\n| Writing Android tests specifically | `mobiai-android-testing` |\n| Writing iOS tests specifically | `mobiai-ios-testing` |\n| Design a new feature with **unclear intent or requirements** (user still exploring what to build) | `mobiai-mobile-brainstorming` |\n| Bug or unexpected behavior, need root cause | `mobiai-mobile-debugging` |\n| Implementing a feature\u002Ffix with tests first | `mobiai-mobile-tdd` |\n| User gives a **defined task list (3+ items)** or a multi-step spec — intent clear, \"how\" missing | `mobiai-mobile-planning` |\n| About to claim work is done | `mobiai-mobile-verification` |\n| Have a written plan to execute step by step | `mobiai-mobile-executing-plans` |\n| 2+ independent tasks to parallelize (says \"en paralelo\", \"orquestador\", \"agentes al mismo tiempo\", \"waves\", \"al mismo tiempo\") | `mobiai-mobile-parallel-agents` |\n| Executing a plan via subagents (says \"ejecutá el plan\", \"implementalo\", \"arrancá con esto\", \"hacelo con agentes\") | `mobiai-mobile-executing-plans-with-subagents` |\n| Starting feature work in isolation | `mobiai-mobile-worktrees` |\n| Implementation done, need to integrate | `mobiai-mobile-finishing-branch` |\n| Creating a new MobiAI skill | `mobiai-writing-skills` |\n| User asks about code impact, call graph, callers\u002Fcallees, \"where is X used\", semantic exploration of the codebase | `mobiai-graph` |\n| User asks about project decisions, bugfixes, workarounds, or \"what did we decide last time\" | `mobiai-brain` |\n| SessionStart banner avisa que hay un MobiAI update disponible, o el usuario pide actualizar MobiAI | `mobiai-update` |\n\nIf the request doesn't match any row, ask the user to clarify before touching code. Do not improvise a workflow.\n\n## The Rule\n\n**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.\n\n## Announce What You're Using\n\nImmediately after invoking a skill, announce one sentence to the user:\n\n> \"Using `mobiai-fix-issue` to investigate the QA-548 ticket you shared.\"\n\nThis makes the invocation visible and commits you to following the skill's workflow instead of drifting back to improvisation.\n\n## Asking the User\n\nWhen a skill needs decisions or clarifications from the user, ask **one question at a time** — never batch multiple decisions into a single message.\n\n**The rule:**\n1. Identify all open questions internally.\n2. Ask only the **first** one. Present it as multiple choice (A\u002FB\u002FC) with a recommended option and a one-line reason for the recommendation.\n3. **Wait for the answer.** The user may pick an option, push back, or open a side discussion — engage with that before moving on.\n4. Once resolved, ask the next question. Repeat until done.\n\n**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).\n\n**Format each question like this:**\n\n> **D1 — &lt;topic&gt;.** &lt;one-sentence framing&gt;\n> - **A)** &lt;option&gt; — &lt;one-line tradeoff&gt;\n> - **B)** &lt;option&gt; — &lt;one-line tradeoff&gt; ← **recommend**, &lt;reason&gt;\n> - **C)** &lt;option&gt; — &lt;one-line tradeoff&gt;\n>\n> Pick one, or push back if none of these fit.\n\n**Exceptions:**\n- The user explicitly asks for everything at once (\"dame todas las decisiones de un saque\", \"tirame el plan completo\", \"give me all the questions\"). Follow that instruction.\n- Purely informational previews (a triage table, a list of findings) where no decision is required yet — those can be longer. But the **questions** that follow them must still come one at a time.\n\n**Anti-patterns:**\n- Six decisions + a \"confirm everything and let's go\" in a single message.\n- Open-ended questions with no options (\"what do you want to do about photos?\") — always offer concrete A\u002FB\u002FC choices with a recommendation.\n- Asking the next question before the user has confirmed (or pushed back on) the previous one.\n- Hiding the recommendation (\"here are three options, which do you prefer?\"). Always state which one you'd pick and why.\n\nThis 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.\n\n## Red Flags\n\nThese thoughts mean STOP — you're rationalizing:\n\n| Thought | Reality |\n|---------|---------|\n| \"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. |\n| \"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. |\n| \"Let me grep the codebase to understand first\" | Skills tell you HOW to explore. Check the guide first. |\n| \"The user is asking a question, not a task\" | Questions that need code investigation are tasks. Check the guide. |\n| \"I already fixed a bug this session, I know the pattern\" | Each task gets its own skill check. Momentum ≠ authorization. |\n| \"I remember what this skill does from last session\" | Skills evolve. Invoke it to read the current version. |\n| \"This looks like a simple one-liner, the skill is overkill\" | HARD-GATEs apply regardless of size. Simple fixes still need invocation. |\n| \"The user shared a commit SHA, so it's a research request\" | Commit SHA + \"doesn't work\" = debugging task. Invoke `mobiai-mobile-debugging`. |\n| \"Let me check current branch\u002Fstate quickly first\" | `git status`\u002F`git log` without a skill loaded is improvisation. Invoke first. |\n| \"The user said 'mirá este error' — that's passive, not a task\" | Requests to look at broken code are tasks. Invoke. |\n| \"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. |\n| \"I'll just do this one thing first\" | Check the guide BEFORE doing anything. |\n\n## Anti-Pattern: \"From Memory\"\n\nA subtle variant: you remember what a skill does from a previous session and you reproduce its steps in-session without ever calling `Skill(...)`.\n\nThat 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.\n\n## Skill Priority\n\nWhen multiple skills could apply:\n\n1. **Process skills first** (`mobiai-mobile-brainstorming`, `mobiai-mobile-debugging`) — determine HOW to approach the task.\n2. **Workflow skills second** (`mobiai-fix-issue`, `mobiai-create-pr`) — orchestrate multi-phase work and delegate to process\u002Fimplementation skills as sub-steps.\n3. **Implementation skills third** (`mobiai-android-build`, `mobiai-ios-device`, platform-specifics) — guide execution.\n\nExamples:\n- \"Fix QA-548\" → `mobiai-fix-issue` (workflow). It will internally invoke debugging, TDD, verification, and create-pr.\n- \"Design feature X\" → `mobiai-mobile-brainstorming` first, then planning\u002Fimplementation.\n\n## Platform Detection\n\nRead the project structure to pick platform-specific skills:\n\n- `build.gradle(.kts)` → Android → `mobiai-android-*`\n- `*.xcodeproj` \u002F `*.xcworkspace` → iOS → `mobiai-ios-*`\n- `shared\u002F` + `composeApp\u002F` → KMP → `mobiai-kmp`\n- `pubspec.yaml` → Flutter → `mobiai-flutter`\n- `package.json` + `metro.config.js` \u002F `app.json` → React Native → `mobiai-react-native`\n\nAlways read the project's `CLAUDE.md` (or equivalent) for project-specific conventions.\n\n## Principles\n\n- **Minimal fixes**: Change only what's necessary. No drive-by refactors.\n- **Evidence-based**: Verify compile + tests pass before declaring done.\n- **Platform-native**: Follow each platform's conventions and idioms.\n- **Community-driven**: Found a gap? Use `mobiai-writing-skills` to contribute.\n\n---\n\n*The structure and tone of this bootstrap are inspired by Jesse Vincent's [Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers) (MIT). See `NOTICE.md` for attribution.*\n",{"name":5,"license":15,"description":7,"compatibility":41},[23,27,34,35,28],"main","2edc6ac1cde2cc280ae0388aa8072902d2e230d5","skills\u002Fcore\u002Fskills\u002Fusing-mobiai",14,"https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core","https:\u002F\u002Fgithub.com\u002FArisGuimera","https:\u002F\u002Faristi.dev","⭐️ GitHub Star\r\n📲 Mobile developer\r\n🎥 Te enseño a programar apps en Youtube (AristiDevs)\r\n✍🏻 Y por escrito en CursoKotlin.com\r\n❤️ Kotlin Fanboy\r\n👇👇👇👇","2026-11-13 22:28:09",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ArisGuimera\u002FMobiAI-Core --skill using-mobiai",{"tool":57,"command":58},"bunx","bunx skills add ArisGuimera\u002FMobiAI-Core --skill using-mobiai",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ArisGuimera\u002FMobiAI-Core --skill using-mobiai","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fusing-mobiai\u002FSKILL.md",true,[65,71,75],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fcodex-tools.md","REFERENCE","参考文档",3541,"https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fusing-mobiai\u002Freferences\u002Fcodex-tools.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fcopilot-tools.md",2193,"https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fusing-mobiai\u002Freferences\u002Fcopilot-tools.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fgemini-tools.md",1463,"https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fusing-mobiai\u002Freferences\u002Fgemini-tools.md",[80,107,120,139,157,171],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":94,"publishedAt":36},"01M6KCMR2WVBEC7T0YY4J2SCAR","mobiai-react-native","Use when working on a React Native project — building, testing, debugging, understanding navigation and state management.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Freact-native\u002Fskills\u002Fmobiai-react-native\u002FSKILL.md",[86,91],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000009","前端开发",[95,96,97,98,99,35,34,100,101,33,102,103,27,26,104,105,23,106],"react","react native","native","mobiai react native","testing","debugging","state management","state","management","navigation","react-native","project",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":114,"publishedAt":36},"01M6KCMKFC3DKFW5B2208SM59W","mobiai-kmp","Use when working on a Kotlin Multiplatform project — shared code, expect\u002Factual declarations, platform-specific implementations, building and testing.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fkmp\u002Fskills\u002Fmobiai-kmp\u002FSKILL.md",[113],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[115,99,35,34,33,116,117,27,26,23,118,106,119],"mobiai kmp","kotlin","kotlin multiplatform","shared","platform",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":36},"01M6KCMEC4YP1FFAX4ZX80Q10R","mobiai-ios-testing","Use when writing or running tests in an iOS project — unit tests, UI tests, snapshot tests, choosing the right framework.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-testing\u002FSKILL.md",[126],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[99,128,129,130,131,35,132,34,33,133,134,135,27,136,26,23,106,137,138],"ios","ios testing","mobiai ios testing","writing","unit tests","framework","running tests","ui","snapshot","tests","unit",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":36},"01M6KCM78C8P9R6X78EZCQ0YF9","mobiai-ios-device","Use when interacting with an iOS Simulator — run simctl commands, capture screenshots, read device logs, manage simulators.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-device\u002FSKILL.md",[],[128,146,147,148,35,34,149,33,150,151,152,27,26,153,154,23,155,156],"device","mobiai ios device","screenshots","run","logs","capture","read","manage","ios simulator","commands","with",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":36},"01M6KCM2HE6Z1B7WREJ9DTKKWA","mobiai-ios-build","Use when building an iOS project, configuring schemes, troubleshooting build failures, or managing dependencies with CocoaPods or SPM.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-build\u002FSKILL.md",[],[128,164,165,166,35,34,33,167,27,26,168,23,106,156,169,170],"build","ios build","mobiai ios build","troubleshooting","dependencies","spm","cocoapods",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":36},"01M6KCKWZNT8P6K5SYXE1YAT9E","mobiai-ios-architecture","Use when creating features, refactoring, or navigating an iOS codebase — understand project structure, find where to make changes, follow existing patterns.","https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fios\u002Fskills\u002Fmobiai-ios-architecture\u002FSKILL.md",[],[178,128,179,180,35,181,34,33,182,20,27,26,183,184,106,185,186,187,188,189],"architecture","ios architecture","mobiai ios architecture","project structure","refactoring","patterns","structure","understand","changes","codebase","Existing","features"]