[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KCEV9KW37M8RP6095GDM85":3,"skill-same:01M6KCEV9KW37M8RP6095GDM85":75},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6KCEV9KW37M8RP6095GDM85","mobiai-brain",null,"Use when the user asks about past decisions, workarounds, bugfixes, testing patterns or integrations specific to *this* project, OR before proposing non-trivial architecture\u002Fintegration changes. MobiAI Brain is per-project living memory at \u003Crepo>\u002F.mobiai\u002Fbrain\u002F. Loads context the user already captured so suggestions respect real project conventions instead of generic best practices.","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\u002Fmobiai-brain\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"mobiai brain","brain","testing patterns","loads","project","use","decisions","repo","flutter","integrations","testing","best practices","code","project conventions","copilot","architecture","react","memory","android","gemini","2026-11-10 10:12:30",false,"---\nname: mobiai-brain\ndescription: \"Use when the user asks about past decisions, workarounds, bugfixes, testing patterns or integrations specific to *this* project, OR before proposing non-trivial architecture\u002Fintegration changes. MobiAI Brain is per-project living memory at \u003Crepo>\u002F.mobiai\u002Fbrain\u002F. Loads context the user already captured so suggestions respect real project conventions instead of generic best practices.\"\nlicense: MIT\ncompatibility: [claude-code, cursor, copilot, codex, gemini]\nplatforms: [android, ios, kmp, flutter, react-native]\n---\n\n# MobiAI Brain\n\nPer-project living memory for mobile projects. Lives at `\u003Crepo>\u002F.mobiai\u002Fbrain\u002F` — separate from MobiAI's global state in `~\u002F.mobiai\u002F`. Each project has its own brain; nothing is shared between projects.\n\n## When to invoke this skill\n\n- User asks \"what did we decide about X?\" \u002F \"why is Y like that in this project?\" \u002F \"is this workaround still needed?\"\n- You are about to propose changes to architecture, dependency injection, networking, persistence, testing strategy, or third-party integrations.\n- User mentions an integration that often has project-specific quirks (Firebase, push, payments, auth).\n- User starts a fresh session in a mobile project and you need quick orientation.\n\nIf the project has no `.mobiai\u002Fbrain\u002F` yet and the user wants project memory, suggest running `mobiai brain init`. Don't run it yourself unless asked.\n\n## Commands available today\n\n```\nmobiai brain init                  # Create .mobiai\u002Fbrain\u002F in the project (idempotent)\nmobiai brain scan                  # Detect stack: Android \u002F iOS \u002F KMP \u002F Flutter \u002F RN + libs\nmobiai brain context               # Print Markdown context: config + scan + memories (filterable)\n\nmobiai brain save decision         # Append an architecture decision\nmobiai brain save bugfix           # Append a bugfix or workaround\nmobiai brain save testing          # Append a reusable testing pattern\n\nmobiai brain search \u003Cquery>        # Free-text search over memories\n\nmobiai brain mcp                   # Start an MCP server exposing the brain as tools\n```\n\n### Prefer MCP tools when available\n\nIf your client (Claude Code, Cursor, Copilot CLI, Codex, Gemini CLI) has `mobiai-brain` registered as an MCP server, you'll see tools named `mobile_context`, `mobile_search`, `mobile_scan`, `mobile_save_decision`, `mobile_save_bugfix`, `mobile_save_testing` in your toolbox. **Use those instead of shelling out to the CLI** — they return structured output (JSON for search\u002Fscan, Markdown for context) that's easier to reason about and cite.\n\nSetup instructions per client: `brain\u002FMCP-SETUP.md`.\n\nWhen MCP isn't configured, fall back to the CLI invocations shown above — both produce the same on-disk state.\n\n### Retrieving the right subset\n\nAs a project's brain grows, dumping everything via `brain context` wastes tokens. Both `context` and `search` accept the same filters with AND semantics:\n\n| Flag | Notes |\n|---|---|\n| `--section` | Only on `context`. Comma-separated or repeated: `stack`, `rules`, `decisions`, `bugfixes`, `testing`, `integrations`, `releases`, `warnings`. |\n| `--platform` | `android` \\| `ios` \\| `shared` \\| `kmp` \\| `flutter` \\| `react-native`. Exact match. |\n| `--status` | `active` \\| `temporary` \\| `deprecated`. Exact match. |\n| `--area` | Substring match against the `area:` metadata. |\n\nExamples for skills\u002Fagents:\n\n```bash\n# Before making an iOS Firebase change — pull only iOS Firebase memory.\nmobiai brain context --platform ios --area firebase\n\n# Before writing tests — pull only testing patterns.\nmobiai brain context --section testing\n\n# Quick lookup before proposing a workaround — has it been done before?\nmobiai brain search \"module renaming\" --platform ios\n```\n\n### `save` flags\n\nAll three save subcommands share the same flags:\n\n| Flag | Required? | Notes |\n|---|---|---|\n| `--title \u003Cstr>` | yes | Short descriptive title (becomes the H2 heading) |\n| `--platform \u003Cplat>` | no | `android` \\| `ios` \\| `shared` \\| `kmp` \\| `flutter` \\| `react-native` |\n| `--area \u003Cstr>` | no | Free-form (e.g. `firebase_auth`, `dependency_injection`, `datastore`) |\n| `--status \u003Cs>` | no | `active` (default) \\| `temporary` \\| `deprecated` |\n| `--review-after YYYY-MM-DD` | no | Mostly meaningful for `temporary` status |\n| `--files a,b,c` | no | Comma-separated repo-relative paths the entry refers to |\n| `--body \u003Cmd>` | no | Markdown body. If omitted, the command reads stdin (handy for piping multi-line content) |\n\n**Type label mapping** (visible in the rendered entry):\n- `decision` → `architecture_decision`\n- `bugfix` + `temporary` → `platform_workaround`\n- `bugfix` + `active`\u002F`deprecated` → `bug_fix`\n- `testing` → `testing_pattern`\n\n**Guard**: every `save` errors out if `.mobiai\u002Fbrain\u002Fconfig.json` is missing. The CLI does NOT auto-init the brain — it suggests `mobiai brain init` and exits non-zero. When invoking from another skill, check the file first and skip silently if absent.\n\n## Recommended flow\n\n1. **Read context first.** Before proposing arch\u002Fintegration\u002Ftesting changes, run `mobiai brain context` (or read `.mobiai\u002Fbrain\u002Fmemories\u002F*.md` directly) and respect what's there.\n2. **Honor `status: active` decisions.** Treat them as project rules.\n3. **Treat `status: temporary` workarounds as provisional.** They are not permanent decisions; do not promote them to `CLAUDE.md`.\n4. **Don't conflate Brain with CLAUDE.md.**\n   - `CLAUDE.md` holds *stable* rules: architecture, commands, conventions.\n   - Brain holds *historical and changing knowledge*: decisions with dates, bugfixes, workarounds with review dates, testing patterns discovered along the way.\n5. **Don't conflate Brain with skills.**\n   - Skills teach the agent *how* to work (methodology).\n   - Brain stores *what* the project actually did and decided.\n6. **Never store secrets.** The scanner already flags sensitive files (`.env`, `GoogleService-Info.plist`, `google-services.json`) and refuses to read their contents. If you're about to write a memory, do the same: paths and behavior, not credentials.\n\n## What the Brain looks like on disk\n\n```\n\u003Crepo>\u002F.mobiai\u002Fbrain\u002F\n├── config.json           # version, project_name, project_type, platforms, rules\n├── scan.json             # last scan: stack, integrations, CI\u002FCD, warnings\n└── memories\u002F\n    ├── decisions.md\n    ├── bugfixes.md\n    ├── testing.md\n    ├── integrations.md\n    └── releases.md\n```\n\nMemory entries are Markdown sections. Recommended shape (also what Phase 2 `save` will produce):\n\n```\n## \u003CTitle>\n\n- id: \u003Cslug>\n- type: architecture_decision | platform_workaround | testing_pattern | integration_note\n- status: active | temporary | deprecated\n- platform: android | ios | shared | flutter | react-native\n- area: \u003Cfree-form>\n- date: \u003CISO date>\n- review_after: \u003CISO date>   (optional, for temporary entries)\n\n### Decision \u002F Problem \u002F Pattern\n...\n\n### Reason \u002F Root Cause \u002F Solution\n...\n\n### Files\n- path\u002Fto\u002Ffile\n```\n\n## Behavior contract\n\n- Brain is **per-project**. Don't mix decisions from different repos.\n- Brain is **complementary** to `CLAUDE.md`\u002F`AGENTS.md`\u002F`GEMINI.md`, not a replacement.\n- The agent **must not** silently overwrite a memory entry. Append; if changing status, leave a note explaining why.\n- If the scan in `scan.json` is older than the user's last large refactor, suggest re-running `mobiai brain scan` before relying on it.\n","# MobiAI Brain\n\nPer-project living memory for mobile projects. Lives at `\u003Crepo>\u002F.mobiai\u002Fbrain\u002F` — separate from MobiAI's global state in `~\u002F.mobiai\u002F`. Each project has its own brain; nothing is shared between projects.\n\n## When to invoke this skill\n\n- User asks \"what did we decide about X?\" \u002F \"why is Y like that in this project?\" \u002F \"is this workaround still needed?\"\n- You are about to propose changes to architecture, dependency injection, networking, persistence, testing strategy, or third-party integrations.\n- User mentions an integration that often has project-specific quirks (Firebase, push, payments, auth).\n- User starts a fresh session in a mobile project and you need quick orientation.\n\nIf the project has no `.mobiai\u002Fbrain\u002F` yet and the user wants project memory, suggest running `mobiai brain init`. Don't run it yourself unless asked.\n\n## Commands available today\n\n```\nmobiai brain init                  # Create .mobiai\u002Fbrain\u002F in the project (idempotent)\nmobiai brain scan                  # Detect stack: Android \u002F iOS \u002F KMP \u002F Flutter \u002F RN + libs\nmobiai brain context               # Print Markdown context: config + scan + memories (filterable)\n\nmobiai brain save decision         # Append an architecture decision\nmobiai brain save bugfix           # Append a bugfix or workaround\nmobiai brain save testing          # Append a reusable testing pattern\n\nmobiai brain search \u003Cquery>        # Free-text search over memories\n\nmobiai brain mcp                   # Start an MCP server exposing the brain as tools\n```\n\n### Prefer MCP tools when available\n\nIf your client (Claude Code, Cursor, Copilot CLI, Codex, Gemini CLI) has `mobiai-brain` registered as an MCP server, you'll see tools named `mobile_context`, `mobile_search`, `mobile_scan`, `mobile_save_decision`, `mobile_save_bugfix`, `mobile_save_testing` in your toolbox. **Use those instead of shelling out to the CLI** — they return structured output (JSON for search\u002Fscan, Markdown for context) that's easier to reason about and cite.\n\nSetup instructions per client: `brain\u002FMCP-SETUP.md`.\n\nWhen MCP isn't configured, fall back to the CLI invocations shown above — both produce the same on-disk state.\n\n### Retrieving the right subset\n\nAs a project's brain grows, dumping everything via `brain context` wastes tokens. Both `context` and `search` accept the same filters with AND semantics:\n\n| Flag | Notes |\n|---|---|\n| `--section` | Only on `context`. Comma-separated or repeated: `stack`, `rules`, `decisions`, `bugfixes`, `testing`, `integrations`, `releases`, `warnings`. |\n| `--platform` | `android` \\| `ios` \\| `shared` \\| `kmp` \\| `flutter` \\| `react-native`. Exact match. |\n| `--status` | `active` \\| `temporary` \\| `deprecated`. Exact match. |\n| `--area` | Substring match against the `area:` metadata. |\n\nExamples for skills\u002Fagents:\n\n```bash\n# Before making an iOS Firebase change — pull only iOS Firebase memory.\nmobiai brain context --platform ios --area firebase\n\n# Before writing tests — pull only testing patterns.\nmobiai brain context --section testing\n\n# Quick lookup before proposing a workaround — has it been done before?\nmobiai brain search \"module renaming\" --platform ios\n```\n\n### `save` flags\n\nAll three save subcommands share the same flags:\n\n| Flag | Required? | Notes |\n|---|---|---|\n| `--title \u003Cstr>` | yes | Short descriptive title (becomes the H2 heading) |\n| `--platform \u003Cplat>` | no | `android` \\| `ios` \\| `shared` \\| `kmp` \\| `flutter` \\| `react-native` |\n| `--area \u003Cstr>` | no | Free-form (e.g. `firebase_auth`, `dependency_injection`, `datastore`) |\n| `--status \u003Cs>` | no | `active` (default) \\| `temporary` \\| `deprecated` |\n| `--review-after YYYY-MM-DD` | no | Mostly meaningful for `temporary` status |\n| `--files a,b,c` | no | Comma-separated repo-relative paths the entry refers to |\n| `--body \u003Cmd>` | no | Markdown body. If omitted, the command reads stdin (handy for piping multi-line content) |\n\n**Type label mapping** (visible in the rendered entry):\n- `decision` → `architecture_decision`\n- `bugfix` + `temporary` → `platform_workaround`\n- `bugfix` + `active`\u002F`deprecated` → `bug_fix`\n- `testing` → `testing_pattern`\n\n**Guard**: every `save` errors out if `.mobiai\u002Fbrain\u002Fconfig.json` is missing. The CLI does NOT auto-init the brain — it suggests `mobiai brain init` and exits non-zero. When invoking from another skill, check the file first and skip silently if absent.\n\n## Recommended flow\n\n1. **Read context first.** Before proposing arch\u002Fintegration\u002Ftesting changes, run `mobiai brain context` (or read `.mobiai\u002Fbrain\u002Fmemories\u002F*.md` directly) and respect what's there.\n2. **Honor `status: active` decisions.** Treat them as project rules.\n3. **Treat `status: temporary` workarounds as provisional.** They are not permanent decisions; do not promote them to `CLAUDE.md`.\n4. **Don't conflate Brain with CLAUDE.md.**\n   - `CLAUDE.md` holds *stable* rules: architecture, commands, conventions.\n   - Brain holds *historical and changing knowledge*: decisions with dates, bugfixes, workarounds with review dates, testing patterns discovered along the way.\n5. **Don't conflate Brain with skills.**\n   - Skills teach the agent *how* to work (methodology).\n   - Brain stores *what* the project actually did and decided.\n6. **Never store secrets.** The scanner already flags sensitive files (`.env`, `GoogleService-Info.plist`, `google-services.json`) and refuses to read their contents. If you're about to write a memory, do the same: paths and behavior, not credentials.\n\n## What the Brain looks like on disk\n\n```\n\u003Crepo>\u002F.mobiai\u002Fbrain\u002F\n├── config.json           # version, project_name, project_type, platforms, rules\n├── scan.json             # last scan: stack, integrations, CI\u002FCD, warnings\n└── memories\u002F\n    ├── decisions.md\n    ├── bugfixes.md\n    ├── testing.md\n    ├── integrations.md\n    └── releases.md\n```\n\nMemory entries are Markdown sections. Recommended shape (also what Phase 2 `save` will produce):\n\n```\n## \u003CTitle>\n\n- id: \u003Cslug>\n- type: architecture_decision | platform_workaround | testing_pattern | integration_note\n- status: active | temporary | deprecated\n- platform: android | ios | shared | flutter | react-native\n- area: \u003Cfree-form>\n- date: \u003CISO date>\n- review_after: \u003CISO date>   (optional, for temporary entries)\n\n### Decision \u002F Problem \u002F Pattern\n...\n\n### Reason \u002F Root Cause \u002F Solution\n...\n\n### Files\n- path\u002Fto\u002Ffile\n```\n\n## Behavior contract\n\n- Brain is **per-project**. Don't mix decisions from different repos.\n- Brain is **complementary** to `CLAUDE.md`\u002F`AGENTS.md`\u002F`GEMINI.md`, not a replacement.\n- The agent **must not** silently overwrite a memory entry. Append; if changing status, leave a note explaining why.\n- If the scan in `scan.json` is older than the user's last large refactor, suggest re-running `mobiai brain scan` before relying on it.\n",{"name":5,"license":15,"platforms":44,"description":7,"compatibility":48},[37,45,46,27,47],"ios","kmp","react-native",[49,50,33,51,38],"claude-code","cursor","codex","main","2edc6ac1cde2cc280ae0388aa8072902d2e230d5","skills\u002Fcore\u002Fskills\u002Fmobiai-brain",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":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-brain",{"tool":67,"command":68},"bunx","bunx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-brain",{"tool":70,"command":71},"pnpm","pnpm dlx skills add ArisGuimera\u002FMobiAI-Core --skill mobiai-brain","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArisGuimera\u002FMobiAI-Core\u002Fblob\u002Fmain\u002Fskills\u002Fcore\u002Fskills\u002Fmobiai-brain\u002FSKILL.md",true,[],[76,99,112,130,148,162],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":90,"publishedAt":39},"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",[82,87],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":88,"categoryName":89,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000009","前端开发",[35,91,92,93,29,51,33,94,95,31,96,97,50,24,98,47,49,23],"react native","native","mobiai react native","debugging","state management","state","management","navigation",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":106,"publishedAt":39},"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",[105],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[107,29,51,33,31,108,109,50,24,49,110,23,111],"mobiai kmp","kotlin","kotlin multiplatform","shared","platform",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":39},"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",[118],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[29,45,120,121,122,51,123,33,31,124,125,126,50,127,24,49,23,128,129],"ios testing","mobiai ios testing","writing","unit tests","framework","running tests","ui","snapshot","tests","unit",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":39},"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",[],[45,137,138,139,51,33,140,31,141,142,143,50,24,144,145,49,146,147],"device","mobiai ios device","screenshots","run","logs","capture","read","manage","ios simulator","commands","with",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":39},"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",[],[45,155,156,157,51,33,31,158,50,24,159,49,23,147,160,161],"build","ios build","mobiai ios build","troubleshooting","dependencies","spm","cocoapods",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":39},"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",[],[34,45,169,170,51,171,33,31,172,173,50,24,174,175,23,176,177,178,179,180],"ios architecture","mobiai ios architecture","project structure","refactoring","find","patterns","structure","understand","changes","codebase","Existing","features"]