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.
npx skills add nexus-labs-automation/mobile-observability --skill crash-instrumentationgit clone --depth 1 https://github.com/nexus-labs-automation/mobile-observabilityWrote 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/skills/nexus-labs-automation/mobile-observability/crash-instrumentation)<a href="https://agentmods.dev/skills/nexus-labs-automation/mobile-observability/crash-instrumentation"><img src="https://agentmods.dev/badge/skills/nexus-labs-automation/mobile-observability/crash-instrumentation/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/skills/nexus-labs-automation/mobile-observability/crash-instrumentation"><img src="https://agentmods.dev/badge/skills/nexus-labs-automation/mobile-observability/crash-instrumentation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Data Exfiltration · line 50 Code or instructions that leak agent conversation context to external services, potentially exposing sensitive user interactions.Fix: Remove any code that sends prompts, responses, or session data externally. Preserve user privacy; never exfiltrate conversation content.
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.00027 | $0.00720 |
| Opus 5 | $0.00014 | $0.00360 |
| Sonnet 5 | $0.00005 | $0.00144 |
| Haiku 4.5 | $0.00003 | $0.00072 |
Grade A, and why
crash-instrumentation 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 12d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Crash Instrumentation
Capture crashes with the context needed to debug them.
Core Principle
A crash report without context is useless. Every crash should include:
| Context | Why | Example |
|---|---|---|
screen |
Where it happened | "CheckoutScreen" |
job_name |
What user was doing | "checkout" |
job_step |
Where in the flow | "payment" |
breadcrumbs |
What led here | Last 20 user actions |
app_version |
Release correlation | "1.2.3" |
user_segment |
Who's affected | "premium", "trial" |
Breadcrumb Strategy
Breadcrumbs are the trail leading to a crash. Capture:
| Category | What to Log | Example |
|---|---|---|
navigation |
Screen transitions | "HomeScreen → CartScreen" |
user |
Taps, inputs, gestures | "Tapped checkout button" |
network |
API calls (not payloads) | "POST /api/orders started" |
state |
Key state changes | "Cart updated: 3 items" |
error |
Non-fatal errors | "Retry #2 for payment" |
Limit: Keep last 20-50 breadcrumbs. More is noise.
Error Boundaries
Catch errors before they crash the app:
// iOS - capture context before crash
func captureError(_ error: Error, screen: String, job: String?) {
Observability.captureError(error, context: [
"screen": screen,
"job_name": job ?? "unknown",
"session_duration": sessionDuration(),
"memory_pressure": memoryPressure()
])
}
// Android - uncaught exception handler
Thread.setDefaultUncaughtExceptionHandler { thread, throwable ->
Observability.captureError(throwable, mapOf(
"thread" to thread.name,
"screen" to currentScreen,
"job_name" to currentJob
))
previousHandler?.uncaughtException(thread, throwable)
}
What NOT to Attach
| Don't | Why |
|---|---|
| Full stack traces in breadcrumbs | Redundant, SDK captures this |
| User input text | PII risk |
| Full request/response bodies | Size limits, PII |
| Entire app state | Unbounded, noise |
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.
- 12d ago First seen · 100 lines · 27 tokens per session scan A 4a7fa4223012
crash-instrumentation is a skill published in the GitHub repository nexus-labs-automation/mobile-observability (116 stars, last pushed 19d ago), licensed MIT. It adds 27 tokens to every session and 720 once invoked, about $0.0001 per session on Opus 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-30.
Other skills, from other repositories
argent-metro-debugger
Debug a JS runtime via CDP using argent debugger tools. Primary path is React Native via Metro (iOS / Android / Vega); a subset of the tools (debugger-connect, debugger-status, debugger-evaluate, debugger-log-registry) also drive a Chromium (CDP) app's renderer (an Electron app, or any Chromium browser exposing CDP)…
argent-settings-permissions
Grant, deny, or reset an app's runtime permissions (camera, microphone, photos, contacts, notifications, calendar, location, location-always, media-library, motion, reminders) on an iOS simulator or Android device using the argent settings-permissions tool - without navigating the system Settings UI. Use when the…
argent-react-native-optimization
Optimizes a React Native app by profiling first to find real bottlenecks, then sweeping for mechanical issues. Entry-point for all performance work. Use when the app feels slow, user asks to optimize, fix re-renders, reduce jank, or improve startup. Delegates to argent-react-native-profiler for measurement.
truesheet-usage
Consumer-side guide for integrating @lodev09/react-native-true-sheet into a React Native app. Use this skill whenever the user wants to add, configure, control, or debug a bottom sheet using TrueSheet — including ref-based sheets, named global sheets, web support with TrueSheetProvider/useTrueSheet, React Navigation…
mobile-automation
Control Android and iOS devices, emulators and simulators — launch apps, tap, swipe, type, take screenshots, read the accessibility tree. Use when a task involves a mobile device or app, mobile UI testing, or reproducing a bug on a phone.
argent-react-native-profiler
Profile a React Native Hermes app to measure re-render and CPU performance using argent profiler tools. Use when optimizing for performance, measuring before/after a fix, spotting slow components, diagnosing re-renders, checking CPU hotspots, or producing a ranked issue report.