嵌入式设备端远程调试、分层连通性与日志取证,覆盖 SSH、ADB/logcat、串口、GDB remote、调试探针、设备 IP/失联恢复、远程部署前置证据、boot/dmesg/应用/OTA/prog 日志、core 线索和 HIL 分阶段门禁
Resources
4Install
npx skillscat add jiying2007/agent-dev-kit/adk-embedded-remote-debug-log-triage Install via the SkillsCat registry.
SKILL.md
adk-embedded-remote-debug-log-triage
Goal
- 收敛远程设备发现、只读取证、失联恢复和日志/core 线索。
- 先判定最小失败层,再把 artifact、mutation、diag、stress、core 或修复交给对应 primary skill。
Prerequisites
- 已记录目标设备、硬件/固件/镜像或制品身份,以及可复现的问题现象;未知字段显式标为
unknown。 - 已明确 SSH、ADB、串口、GDB remote、调试探针或人工转储中的可用通道,并确认端点和凭证不进入长期资产。
- 已确认本轮授权等级。默认只读;任何 state-changing 或 destructive 动作均需独立授权、回滚锚点和 postcondition。
- 已定义 timeout、最多 3 次的重试预算、失联恢复手段和停止条件;缺少恢复手段时不得进入 mutation/HIL。
Primary Boundary
本 skill 只对 DISCOVER、READONLY_PREFLIGHT、UNREACHABLE 和远程证据解释负责。阶段切换时更换 primary:
- identity:
adk-artifact-gating - smoke/diag:
adk-embedded-diagnostic-harness - stress/soak:
adk-test-strategy - unknown failure:
adk-systematic-debugging - release/deploy:
adk-embedded-release-orchestration - completion/core:
adk-verification-before-completion/adk-offline-core-dump-triage
每阶段只能有一个 primary;supporting skill 不越权写设备。
State Machine
DISCOVER -> READONLY_PREFLIGHT -> ARTIFACT_GATE -> AUTHORIZED_MUTATION
-> SINGLE_SMOKE -> SHORT_CYCLE -> LONG_STRESS
-> RESTORE_HEALTHY_STATE -> EVIDENCE_ARCHIVE
connectivity loss -> UNREACHABLE -> stop writes/retries
-> serial/power/onsite handoff -> recovery -> READONLY_PREFLIGHT不得从失联、identity mismatch 或 shell/app 未就绪直接跳到 mutation/HIL。
Workflow
- 记录设备/board、固件/image/commit、通道、复现、端点来源、时间窗、只读/写授权和恢复手段;端点不写入通用资产。
- 命令分
read-only、state-changing、destructive。后两类需要明确授权;erase/flash/OTA 等破坏动作不由本 skill 执行。 - 独立探测 host route/network hint、transport、remote shell、app/diag;每层记录 timeout、elapsed、结果和证据。
- ping 只作提示,不能短路 transport。ADB 同时解析
adb connect输出和adb devices -l;offline、unauthorized、missing、No route to host、refused、timeout 均非就绪。 - 默认一次探测,扩大重试必须有不超过 3 的 budget。失败后打开 circuit breaker,停止 push/kill/restart/remount/覆盖/回滚/flash/OTA/HIL。
- 失联时保存最后成功层、boot/artifact identity、日志窗口和失败输出;转串口、受控电源或现场恢复。恢复后重新只读 preflight。
- 可达后先读 boot_id、uptime、PID、core/fatal dmesg、installed identity、backup anchor、watchdog/standby/supervisor 和分层时延。
- 构建时间线和假设矩阵,分开事实、推断、历史召回和缺失证据;并发 mutator 未隔离时标为
confounded。 - HIL 只能按 single smoke -> 5~10 short cycle -> long stress -> soak -> restore 扩大;失联、core、fatal log、泄漏、身份漂移、输出停滞或恢复失败立即停止。
- 输出脱敏 manifest/evidence index:层级结果、boot/artifact identity、raw evidence path+SHA256、授权、gate、breaker、restore/postcondition 和 residual risk。
Command Risk
| Class | Examples | Rule |
|---|---|---|
| read-only | route、adb devices -l、dmesg、/proc、hash、GDB bt |
默认允许 |
| state-changing | connect、push、kill、restart、remount、覆盖/回滚 | 授权+identity+backup+postcondition |
| destructive | erase、factory reset、flash/OTA apply | 单独审批;本 skill 不执行 |
Quality Gate
- 各健康层来源、timeout、结果和证据完整;不得把一层失败扩散为全部失败。
- transport 必须解析输出语义并二次确认状态。
- 失联必须停止写操作和无界重试,并给外部恢复 handoff。
- 写操作必须有授权、artifact identity、backup/rollback anchor 和 postcondition。
- HIL 必须逐级扩大,有 mutator 隔离、停止条件和最终健康恢复。
- 缺 core/symbol/BuildID 匹配时,不给源码级崩溃根因。
- 发布/现场结论说明 residual risk 和仍缺的真实设备证据。
Evidence Template
- target:脱敏设备/board 引用、硬件/固件/镜像/commit 身份。
- authorization:
read-only | state-changing-approved | destructive-out-of-scope。 - health_layers:route/network hint、transport、remote shell、app/diag 的 timeout、elapsed、结果与证据引用。
- timeline:boot_id、uptime、PID、artifact identity、关键日志窗口,以及事实/推断/confounded 标记。
- control:retry budget、circuit breaker、mutation/HIL gate、stop condition、rollback anchor。
- outcome:gate result、restore/postcondition、raw evidence path+SHA256、residual risk 和下一 primary skill。
Detailed Contract
需要探测矩阵、HIL gate、Evidence Template 和 timeout 说明时,读取 references/remote-adb-hil-contract.md。