Loading...
Loading...
Manage power and performance metrics and diagnostic logs using the `asc` CLI tool. Use this skill when: (1) Listing performance metrics for an app: "asc perf-metrics list --app-id <id>" (2) Listing performance metrics for a build: "asc perf-metrics list --build-id <id>" (3) Filtering metrics by type: "asc perf-metrics list --app-id <id> --metric-type LAUNCH" (4) Listing diagnostic signatures for a build: "asc diagnostics list --build-id <id>" (5) Filtering diagnostics: "asc diagnostics list --build-id <id> --diagnostic-type HANGS" (6) Viewing diagnostic logs: "asc diagnostic-logs list --signature-id <id>" Also trigger when the user mentions: performance metrics, launch time, hang rate, disk writes, memory usage, battery life, termination, animation hitches, diagnostic signatures, call stacks, power metrics, app performance monitoring, "why is my app slow", "check hangs", "check launch time"
npx skill4agent add tddworks/asc-cli-skills asc-performanceascasc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8"affordances"// 1. asc perf-metrics list --app-id app-1 → shows performance overview
{
"id": "app-1-LAUNCH-launchTime",
"category": "LAUNCH",
"latestValue": 1.5,
"affordances": {
"listAppMetrics": "asc perf-metrics list --app-id app-1"
}
}
// 2. asc diagnostics list --build-id build-1 → shows hotspots
{
"id": "sig-1",
"diagnosticType": "HANGS",
"weight": 45.2,
"affordances": {
"listLogs": "asc diagnostic-logs list --signature-id sig-1",
"listSignatures": "asc diagnostics list --build-id build-1"
}
}
// 3. asc diagnostic-logs list --signature-id sig-1 → shows call stacks
{
"id": "sig-1-0-0",
"bundleId": "com.example.app",
"callStackSummary": "main > UIKit > layoutSubviews",
"affordances": {
"listLogs": "asc diagnostic-logs list --signature-id sig-1"
}
}asc perf-metrics list --app-id 123456789 --pretty# Launch time only
asc perf-metrics list --app-id 123456789 --metric-type LAUNCH --pretty
# Hang rate only
asc perf-metrics list --app-id 123456789 --metric-type HANG --prettyasc builds list --app-id 123456789 --output table
asc perf-metrics list --build-id build-abc --pretty# 1. List diagnostic signatures (hang hotspots)
asc diagnostics list --build-id build-abc --diagnostic-type HANGS --pretty
# 2. Drill into the top signature's call stacks
asc diagnostic-logs list --signature-id sig-1 --pretty# Start from builds
BUILD_ID=$(asc builds list --app-id APP_ID | jq -r '.data[0].id')
# Check performance metrics
asc perf-metrics list --build-id "$BUILD_ID" --pretty
# Find hang hotspots
asc diagnostics list --build-id "$BUILD_ID" --diagnostic-type HANGS --pretty
# Get call stacks for the heaviest signature
SIG_ID=$(asc diagnostics list --build-id "$BUILD_ID" --diagnostic-type HANGS \
| jq -r '.data | sort_by(-.weight) | .[0].id')
asc diagnostic-logs list --signature-id "$SIG_ID" --pretty| Category | | What it measures |
|---|---|---|
| Launch | | App launch time |
| Hang | | Main thread hang rate |
| Memory | | Peak and average memory use |
| Disk | | Disk write volume |
| Battery | | Energy impact |
| Termination | | Background/foreground terminations |
| Animation | | Animation hitch rate |
| Type | | What it captures |
|---|---|---|
| Hangs | | Main thread hang signatures |
| Disk Writes | | Excessive disk write signatures |
| Launches | | Slow launch signatures |
launchTimepeakMemorycategorylatestValueunitgoalValueparentType"app""build"weightinsightDirection"UP"callStackSummary>