Agent skill · Design & Presentation

card-onboard

Onboard a user setting up AI Desk Card for the first time, or after moving to a new machine, plugging the device into a new network, or after a firmware update. Detects daemon state, USB / BLE / Wi-Fi connection, firmware version, and mDNS visibility — then walks the user through whatever's missing (install firmware, plug USB, pair BLE, provision Wi-Fi). Use whenever the user says "first-time setup" / "刚拿到设备" / "卡片没反应" / "刷固件" / "怎么连卡片" / "ai-desk-card 连不上".

歸藏837★ · +98/wk · 1 repos on radarProfile →
claude-codecodexcan modify filesships scriptsNOASSERTION
Install
npx skills add op7418/ai-desk-card --skill card-onboard --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 5 KB
Bundled scripts: yes
Allowed tools: -Bash-Read
Path: plugin/skills/card-onboard/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 136
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# card-onboard — AI Desk Card 首次接入流程 把用户从"刚拿到设备/啥都没装"带到"四个 widget 在屏上、Wi-Fi 在线、推帧 0.2 秒到位"。 ## 一次性原则 - **永远先跑 probe**,不要凭空问"你 daemon 启动了吗"。`scripts/probe.sh` 一 次拿全所有状态。 - **每一步告诉用户当前进度**:"我看到 daemon 跑着了,但还没设备连接, 现在去查串口..."。不要静默操作。 - **失败别循环重试**。卡住就停,把诊断结果给用户、让他决定。 - **优先推 Wi-Fi**,不要默认走 USB-serial 或 BLE。Wi-Fi 单帧 0.2 秒,USB 1-32 秒,BLE 命令通但 frame 不通(已知问题)。 ## 探针入口 ```bash bash $CLAUDE_PLUGIN_ROOT/skills/card-onboard/scripts/probe.sh ``` 输出结构(JSON): ```jsonc { "daemon": { "running": bool, "pid": int|null }, "transport": { "connected": bool, "type": "SerialTransport|BLETransport|WiFiTransport|null" }, "firmware": { "our": bool, "note": str, "banner": str|null }, "serial_ports": [ "/dev/cu.usbserial-..." ], "mdns_peer": { "ip": "192.168.x.y", "port": 9880, "txt": { "fw": "0.8.0", "proto": "1" } } | null } ``` `firmware.our=true` = 设备上跑的是我们的固件(daemon 发了 `cmd:owner` 2.5 秒内收到 `ack:owner`)。 `mdns_peer != null` = **设备已经在 LAN 上播 Wi-Fi**,这是最理想的状态。 ## 决策树(按顺序处理;命中分支就先修,再回到 probe 验证) ### G — `mdns_peer != null` 且 `transport.type != "WiFiTransport"` 最理想状态被错过了。设备已在 Wi-Fi,但 daemon 没用 Wi-Fi。告诉用户: > 设备在 Wi-Fi `<ip>` 已上线。你 daemon 没用它,估计是之前没重启过 daemon。 跑: ```bash /card-stop && /card-start ``` 回到 probe,应该

What's inside
Steps it walks through
  1. 一次性原则
  2. 探针入口
  3. 决策树(按顺序处理;命中分支就先修,再回到 probe 验证)
  4. G — mdnspeer != null 且 transport.type != "WiFiTransport"
  5. A — daemon.running == false
  6. B — daemon.running == true && serialports == [] && mdnspeer == null
  7. C — transport.connected == false 但 serialports != []
  8. D — transport.connected == true && firmware.our == false
  9. E — transport.connected == true && firmware.our == true 但 mdnspeer == null
  10. F — 全绿,要不要推默认 widget
  11. Z — 用户明确要用 BLE only(不推荐)
  12. 安抚话术
  13. 不要做的事
  14. 排错信息收集
Ships with 1 file
  • scripts/probe.sh
Commands it runs
bash $CLAUDE_PLUGIN_ROOT/skills/card-onboard/scripts/probe.sh
tail -30 "${TMPDIR:-/tmp}/ai_desk_card_daemon.log"
ioreg -p IOUSB | grep -i 'usb\|m5\|silab\|ftdi' | head -10
More from ai-desk-card
All skills →
About this skill
What does the card-onboard skill do?

Onboard a user setting up AI Desk Card for the first time, or after moving to a new machine, plugging the device into a new network, or after a firmware update. Detects daemon state, USB / BLE / Wi-Fi connection, firmware version, and mDNS visibility — then walks the user through whatever's missing (install firmware, plug USB, pair BLE, provision Wi-Fi). Use whenever the user says "first-time setup" / "刚拿到设备" / "卡片没反应" / "刷固件" / "怎么连卡片" / "ai-desk-card 连不上".

How do I install it?

Run `npx skills add op7418/ai-desk-card --skill card-onboard --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From op7418/ai-desk-card, a repository with 136 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going