init

init is a skill for Claude Code, Codex from bentleypark/claude-code-mobile-spine. It costs 99 tokens per session (6,893 once invoked), scanned B, original, MIT.

A setup guide that creates a new mobile development workspace for Android, iOS, and backend projects kept in separate code repositories. It asks for your project details, then fills in the workspace files.

In plain words
What is it for?
Use it to start a mobile project workspace with the right organisation, app, branch, design-tool, and licence details. It prepares the files needed to coordinate work across Android, iOS, and backend repositories.
Why use it?
It removes the manual work of copying templates and replacing project-specific placeholders. It also records your answers so the shared development agents can use the same settings.

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the mobile-spine plugin — 1 skill, 2 commands, 4 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/bentleypark/claude-code-mobile-spine/init
Any agent
npx skills add bentleypark/claude-code-mobile-spine --skill init
Clone the repo
git clone --depth 1 https://github.com/bentleypark/claude-code-mobile-spine

Made for: Claude Code, Codex.

Or install mobile-spine, the plugin that ships this one along with the rest of its 1 skill, 2 commands, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for init

README.md
[![agentmods](https://agentmods.dev/badge/skills/bentleypark/claude-code-mobile-spine/init.svg)](https://agentmods.dev/skills/bentleypark/claude-code-mobile-spine/init)
Your own site
<a href="https://agentmods.dev/skills/bentleypark/claude-code-mobile-spine/init"><img src="https://agentmods.dev/badge/skills/bentleypark/claude-code-mobile-spine/init.svg" alt="Measured on agentmods" height="20"></a>
Per session 99 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,893 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00099 $0.06893
Opus 5 $0.00049 $0.03446
Sonnet 5 $0.00020 $0.01379
Haiku 4.5 $0.00010 $0.00689

Measured 5d ago against content hash b617d14004bb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

init scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (smoke-test.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

cat > "<TARGET>/.claude/mobile-spine.config.yaml" <<'EOF'
plugins/mobile-spine/skills/init/SKILL.md · 461 lines

How it starts

The opening of the file, as written. The whole thing — 461 lines — stays where its author put it; the contents beside it link to each section on GitHub.

mobile-spine:init

Bootstrap a new mobile-spine workspace by interviewing the user, then writing the user-customizable files into the chosen install location and a .claude/mobile-spine.config.yaml capturing the interview answers.

The static templates this skill consumes live next to this SKILL.md under ./templates/. They are workspace-data only — CLAUDE.md, SETUP.md, README.md, LICENSE, .gitignore, .claude/settings.json, a thin .claude/commands/feat.md stub, _context/operations.md, plus .gitkeep files for empty directories.

Not scaffolded — the four subagents (api-agent / pm-agent / android-agent / ios-agent) and the full /feat command logic are plugin primitives (live in plugins/mobile-spine/agents/ and plugins/mobile-spine/commands/, served globally by the plugin). The workspace's .claude/commands/feat.md is a thin delegation stub. The agents read .claude/mobile-spine.config.yaml at invocation to pick up the workspace's org / app / baseBranch / figma / copyright values. This means /plugin marketplace update claude-code-mobile-spine propagates agent + /feat improvements to every workspace automatically — without modifying any workspace-owned file.

Step 1 — Locate the templates directory

Resolve in three tiers. The harness should set $CLAUDE_PLUGIN_ROOT for plugin-installed runs, but in practice this is not guaranteed (e.g. for directory-typed marketplaces or older Claude Code versions). The cache and working-tree fallbacks make the skill robust to either case.

TEMPLATES_DIR=""

# Tier 1 — plugin-installed via $CLAUDE_PLUGIN_ROOT (canonical when set).
# Skip when unset to avoid expanding to "/skills/init/templates" (absolute,
# never matches).
if [ -n "${CLAUDE_PLUGIN_ROOT:-}" ]; then
  cand="$CLAUDE_PLUGIN_ROOT/skills/init/templates"
  if [ -f "$cand/CLAUDE.md" ] && [ -f "$cand/SETUP.md" ]; then
    TEMPLATES_DIR="$cand"
  fi
fi

# Tier 2 — known plugin cache (versioned glob). Picks the first matching
# version under $HOME/.claude/plugins/cache/.../mobile-spine/<ver>/.
if [ -z "$TEMPLATES_DIR" ]; then
  for cand in "$HOME/.claude/plugins/cache/claude-code-mobile-spine/mobile-spine"/*/skills/init/templates; do
    if [ -f "$cand/CLAUDE.md" ] && [ -f "$cand/SETUP.md" ]; then
      TEMPLATES_DIR="$cand"
      break
    fi
  done
fi

# Tier 3 — source-tree fallbacks (plugin development from a working checkout).
if [ -z "$TEMPLATES_DIR" ]; then
  for cand in \
    "$(pwd)/plugins/mobile-spine/skills/init/templates" \
    "$(pwd)/skills/init/templates" \
    "$(pwd)/templates"; do
    if [ -f "$cand/CLAUDE.md" ] && [ -f "$cand/SETUP.md" ]; then
      TEMPLATES_DIR="$cand"
      break
    fi
  done
fi

echo "TEMPLATES_DIR=$TEMPLATES_DIR"

Read the full file on GitHub · 461 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 461 lines · 99 tokens per session scan B b617d14004bb

Subscribe to this mod's changes

init is a skill published in the GitHub repository bentleypark/claude-code-mobile-spine (1 stars, last pushed 1mo ago), licensed MIT. It adds 99 tokens to every session and 6,893 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

cloudx-integrate

Integrate the CloudX SDK into a publisher app on any supported platform (Android, iOS, React Native, Flutter, Unity). Use when asked to integrate, add, install, or set up CloudX, CloudX ads, or CloudX mediation in an app, including alongside or replacing an existing mediation stack such as AppLovin MAX, LevelPlay, or…

cloudx-io/cloudx-sdk-agents · 82 tokens

review-mobile-pr

Expert Android & iOS PR review. Defaults to saving findings as a PENDING (draft) GitHub review — invisible until manually submitted — but will post them live instead if the user asks or says so when prompted. Use whenever the user asks to review, audit, or give feedback on a pull request touching Android (Kotlin…

Abdallah-Abdelazim/mobile-pr-review-plugin · 162 tokens

aco

Drive a live Appium session from the shell with the aco CLI. Use when the user wants to interact with a running mobile app on an iOS simulator, Android emulator, or connected real device — tap, swipe, type, screenshot, read the screen/page source, find UI elements, switch to a WebView context, or call iOS/Android…

tai2/aco · 111 tokens

maestro-testing

Generate and manage Maestro test flows for mobile (Android, iOS) and web apps. Use this skill whenever the user mentions mobile testing, UI testing, end-to-end testing, Maestro flows, app automation, test generation from PRDs/specs/user stories, or wants to create/edit/debug YAML test flows. Trigger for any app…

eagleisbatman/maestro-skill · 176 tokens

flutter-cherry-pick

How to land a formal cherry-pick of a merged PR for the flutter/flutter repo stable or beta channel. Only use for flutter/flutter landed pull requests. Only use when the cherry pick request is into "stable", "beta" or a branch that has the format with flutter- . -candidate.0.

flutter/flutter · 72 tokens

updating-android-sdk

Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using createcipdpackages.sh across macOS, Linux, and Windows. Use whenever a user wants to pick up a new version of Android or upload…

flutter/flutter · 80 tokens