How this skill is triggered — by the user, by Claude, or both
Slash command
/atp:check-logsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Check if the source code has sufficient logcat logs for device testing (Step 2),
Check if the source code has sufficient logcat logs for device testing (Step 2), and offer to add missing logs.
Verify these files exist:
.claude/app-map/navigation_map.mermaid.claude/app-map/api_scenarios.json.claude/app-map/view_state_map.jsonIf any are missing, stop with:
Step 0 artifacts not found. Run
/atp:analyze-appfirst.
Check:
onCreate() or onResume()Expected log format:
Log.d("ATP_SCREEN", "enter: ${this::class.simpleName}")
Report any screens missing this log.
Using .claude/app-map/view_state_map.json, check each screen:
Expected log format:
Log.d("ATP_RENDER", "renderState: screen=${screenName}, ${key}=${value}, ...")
Report any View state changes missing this log.
Using .claude/app-map/api_scenarios.json, check each API call site:
Expected log format:
Log.d("ATP_API", "apiResponse: endpoint=${endpoint}, status=${status}, bodyLength=${responseBody.length}")
Security note: Avoid logging full response bodies (body=${responseBody}) as they may contain PII, authentication tokens, or other sensitive data. Log bodyLength instead, or redact sensitive fields before logging.
Report any API call sites missing this log.
| Tag | Purpose | Format |
|---|---|---|
ATP_SCREEN | Screen entry/transition | enter: {ClassName} |
ATP_RENDER | View state change | renderState: screen={name}, {key}={value}, ... |
ATP_API | API response | apiResponse: endpoint={endpoint}, status={status}, bodyLength={bodyLength} |
npx claudepluginhub panicgit/android-test-pilot --plugin android-test-pilotGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.