Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
android-profiler - Skill - OpenSmartRoute
Skillv1.0.0
android-profiler
Records and analyzes Android performance data and diagnoses performance bottlenecks across user apps, system apps, and system services, even if the user does not explicitly mention profiling or…
Imported from android/skills (profilers/android-profiler/SKILL.md) via skills.sh. Install upstream with npx skills add android/skills --skill android-profiler. Copyright stays with the author (Complete terms in LICENSE.txt).
Your primary role is to figure out what the user wants to do (disambiguation),
find the right instructions for it (workflow discovery), and follow them
step-by-step (following the execution plan). If the request is unclear, work
with the user to finalize the execution plan before proceeding.
Prerequisites and Setup
Before executing any workflows, read references/env_setup.md. It defines
what to set $SKILL_ROOT to - the anchor every other path in this skill is
written against.
Intent Disambiguation
Do not guess the user's intent. If the user request is not clear, ask the
user what they want to do before proceeding.
Recording
Route all recording requests through
recording/recording_orchestrator. This defines guidelines and
pre-flight checks or dependency checks that apply to all recording workflows,
and ensures you have the necessary setup to proceed. Read the orchestrator and
execute the plan it describes based on what the user wants to record (for
example, a system trace or a heap dump).
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slotcurl-s-X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Installed into a catalogue, chosen by a router
Install android-profiler and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.
When a provider is down or over quota the request moves on; the trace says it did.
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
android-skills-android-profiler.ocm.jsonjson
{
"ocm": "1",
"id": "android-skills-android-profiler",
"kind": "skill",
"name": "android-profiler",
"description": "Records and analyzes Android performance data and diagnoses performance bottlenecks across user apps, system apps, and system services, even if the user does not explicitly mention profiling or traces. Use when: recording system traces, CPU call stacks, Vulkan GPU/DRM memory, or Java/native heap profiles; analyzing Perfetto traces for UI jank, frame drops, ANRs, or app startup latency issues; investigating CPU bottlenecks, IPC/Binder storms, or thread scheduling stalls; diagnosing battery drain, modem power rails, and kernel wake locks; debugging memory pressure, Low Memory Kills (LMK), OOMs, leaks, and allocation churn; performing A/B baseline trace comparisons to find regressions; executing ad hoc PerfettoSQL queries on Android traces.",
"publisher": "android",
"version": "1.0.0",
"capabilities": {
"domains": [
"observability",
"coding"
],
"tags": [
"skill-md",
"android-performance",
"debugging",
"profiling",
"recording",
"trace-analysis",
"memory-leaks",
"bottleneck",
"jank",
"sql"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"Records and analyzes Android performance data and diagnoses performance bottlenecks across user apps, system apps, and system services, even if the user does not explicitly mention profiling or traces. Use when: recording system traces, CPU call stacks, Vulkan GPU/DRM memory, or Java/native heap profiles; analyzing Perfetto traces for UI jank, frame drops, ANRs, or app startup latency issues; investigating CPU bottlenecks, IPC/Binder storms, or thread scheduling stalls; diagnosing battery drain, modem power rails, and kernel wake locks; debugging memory pressure, Low Memory Kills (LMK), OOMs, leaks, and allocation churn; performing A/B baseline trace comparisons to find regressions; executing ad hoc PerfettoSQL queries on Android traces."
],
"primary": false,
"metadata": {
"source": {
"provider": "skills.sh",
"repository": "https://github.com/android/skills",
"path": "profilers/android-profiler/SKILL.md",
"ref": "HEAD",
"url": "https://www.skills.sh/android/skills/android-profiler",
"key": "android/skills/profilers/android-profiler/SKILL.md"
},
"license": "Complete terms in LICENSE.txt"
},
"instructions": "Your primary role is to figure out what the user wants to do (disambiguation),\nfind the right instructions for it (workflow discovery), and follow them\nstep-by-step (following the execution plan). If the request is unclear, work\nwith the user to finalize the execution plan before proceeding.\n\n## Prerequisites and Setup\n\nBefore executing any workflows, read [`references/env_setup.md`](references/env_setup.md). It defines\nwhat to set `$SKILL_ROOT` to - the anchor every other path in this skill is\nwritten against.\n\n## Intent Disambiguation\n\nDo not guess the user's intent. If the user request is not clear, **ask the\nuser** what they want to do before proceeding.\n\n## Recording\n\nRoute all recording requests through\n[recording/recording_orchestrator](recording/recording_orchestrator.md). This defines guidelines and\npre-flight checks or dependency checks that apply to all recording workflows,\nand ensures you have the necessary setup to proceed. Read the orchestrator and\nexecute the plan it describes based on what the user wants to record (for\nexample, a system trace or a heap dump).\n\n## Analysis\n\nRoute all analysis requests through\n[analysis/analysis_orchestrator](analysis/analysis_orchestrator.md).",
"cost": {
"context_tokens": 302
}
}
Fetch it by URL: GET /api/v1/registry/android-skills-android-profiler/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.