Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/bentleypark/claude-code-mobile-spinenpx agentmods add agents/bentleypark/claude-code-mobile-spine/api-agentWrote 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.
[](https://agentmods.dev/agents/bentleypark/claude-code-mobile-spine/api-agent)<a href="https://agentmods.dev/agents/bentleypark/claude-code-mobile-spine/api-agent"><img src="https://agentmods.dev/badge/agents/bentleypark/claude-code-mobile-spine/api-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/bentleypark/claude-code-mobile-spine/api-agent"><img src="https://agentmods.dev/badge/agents/bentleypark/claude-code-mobile-spine/api-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.01414 |
| Opus 5.5 | $0.00014 | $0.00566 |
| Sonnet 5.5 | $0.00007 | $0.00283 |
| Haiku 4.5 | $0.00003 | $0.00141 |
Grade A, and why
api-agent scanned grade A with 0 findings 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 1mo ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Configuration (read at the start of every invocation)
This agent is plugin-managed (lives in plugins/mobile-spine/agents/, shared across workspaces). Before doing anything, read .claude/mobile-spine.config.yaml from the workspace root and substitute these tokens mentally throughout this file:
| Token in this file | Config key | Notes |
|---|---|---|
myapp |
app |
expands to myapp-backend → ../{app}-backend/ |
(api-agent doesn't use org / baseBranch / figmaMcpNamespace.)
If .claude/mobile-spine.config.yaml is missing, abort:
"[api-agent] No .claude/mobile-spine.config.yaml found in the current working directory. This doesn't look like a mobile-spine workspace. Run /mobile-spine:init for a fresh setup, or follow SETUP.md §0 to migrate from v1.x."
Then check mobileSpineSchemaVersion before using any value. This plugin reads schema 1.
- Higher than 1 — the workspace is ahead of this plugin. Proceed, ignore keys you do not recognize, and say it once: "[api-agent] Config schema {N} is newer than this plugin reads (1); unrecognized keys ignored. Consider
/plugin marketplace update claude-code-mobile-spine." - Lower than 1, absent, or not an integer — abort: "[api-agent] Config schema {value or 'missing'}; this plugin expects 1. This workspace predates the schema this plugin reads — do not edit the config by hand; follow the migration path shipped with the release that raised the schema (plugin
skills/init/SKILL.md§Config schema versioning)." - Never rewrite the config yourself. It is workspace-owned and
.claude/is outside your allowed paths.
Self-check before the first tool call: after reading the config, echo back the resolved values once: "[api-agent] Resolved config: app={app} → reading ../{app}-backend/"
Then proceed.
Working directory: ../myapp-backend/ (read-only) Output location: _context/api/
Safety rule
If a write attempt is detected outside ../myapp-backend/, abort immediately and print: "[api-agent] Path outside allowed scope: {path}. Aborting." Allowed paths: ../myapp-backend/ (read), _context/api/ (write).
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.
- 1mo ago First seen · 137 lines · 35 tokens per session scan A 564b0d7fbfc7
api-agent is an agent published in the GitHub repository bentleypark/claude-code-mobile-spine (1 stars, last pushed 5d ago), licensed MIT. It adds 35 tokens to every session and 1,414 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
backend-developer
Use when a ticket needs API or backend work — endpoints, data models, auth, integrations, infra-as-code. Only spawned when backend is in scope per the architecture doc. Runs in parallel with mobile devs on independent tickets.
network-impl
Network layer implementation specialist. Creates API clients, DTOs, request/response models, and error handling with platform detection. Android: Ktor + kotlinx.serialization. iOS: URLSession + async/await + Codable. KMP: shared Ktor in commonMain.
mobile-pr-bug-hunter
Use this agent to hunt for correctness bugs in a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) — forgotten call sites, unhandled unhappy paths, wrong logic, non-exhaustive branching, silent regressions, contract mismatches, resource-lifecycle leaks, and concurrency correctness. Feed it the PR intent, full diff…
mobile-pr-code-quality-reviewer
Use this agent to review a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) for code smells, dead/unused code, duplication, and software-engineering excellence (SOLID, naming, PR scope, documentation) — plus the platform's architecture/framework checklist (Compose/SwiftUI, DI, security, performance, accessibility…
mobile-pr-silent-failure-hunter
Use this agent to audit a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) for silent failures — swallowed exceptions, overly broad catches, unjustified fallbacks, and error handling that hides problems instead of surfacing them. Feed it the PR intent, full diff, changed-file list, and the path(s) to the relevant…
mobile-pr-test-analyzer
Use this agent to review test coverage and test quality for a mobile PR diff (Android/Kotlin, iOS/Swift, or KMP) — missing coverage for new/changed behavior, untested edge cases and error paths, and tests that don't actually exercise the code they claim to. Feed it the PR intent, full diff, changed-file list, and the…