device-check
実機をシリアル越しに操作して挙動を確認する。tools/deck.py で JSON Lines を投げ、人間にしかできない確認は手順書にして渡す。ビルドが通ったあと、動いたと言い切る前に使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
実機をシリアル越しに操作して挙動を確認する。tools/deck.py で JSON Lines を投げ、人間にしかできない確認は手順書にして渡す。ビルドが通ったあと、動いたと言い切る前に使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
compound engineering のステップ。ひとつの作業のあとに短く振り返り、学んだことを CLAUDE.md・スキル・hoard に畳み込む。意味のある作業の終わりごとに使う。
arduino-cli でファームをビルド/書き込みする。ボード設定、ライブラリのバージョン固定、書き込み時の注意をまとめてある。ファームを触ったあと、実機で確かめる前に使う。
git の混乱を収拾し、履歴を手術する。コミットの取り消し・書き換え、conflict の解消、reflog からの復旧、git bisect による退行の特定。
新しく分かった小技を、動く最小例として hoard/ に保存する。非自明なことを初めて解決したあとに使う。
アルゴリズムや仕組みを、単一 HTML のインタラクティブ/アニメーション付きページで説明する。文章だけでは腑に落ちないときの認知的負債の返済に使う。
自動テストの外側で実物を動かして確かめ、結果を notes/ に記録する。ホスト側は使い捨てプログラム、実機はシリアル、web はブラウザ自動化。テストが通ったあと、完了と言う前に使う。
| name | device-check |
| description | 実機をシリアル越しに操作して挙動を確認する。tools/deck.py で JSON Lines を投げ、人間にしかできない確認は手順書にして渡す。ビルドが通ったあと、動いたと言い切る前に使う。 |
ビルドが通っただけでは何も確認していない。実機に触る。 エージェントが自分でできることと、人間に頼むことを最初に切り分ける。
tools/deck.py でシリアルプロトコルを直接叩ける。これで仕様 §6 のコマンドは
全部確認できる。
uv run python tools/deck.py list # ポート確認
uv run python tools/deck.py hello # 疎通と状態(sd / ble)
uv run python tools/deck.py get # 現在の設定
uv run python tools/deck.py set config.example.json # RAM に反映(保存はしない)
uv run python tools/deck.py preview 0 3 # ボタンのアクションを実際に送出
uv run python tools/deck.py icons
uv run python tools/deck.py raw '{"cmd":"bogus"}' # 異常系
必ず異常系も試す。仕様の受け入れ基準はほとんどが異常系:
get して確認する。ここまでやって初めて確認したと言える)save → NVS にフォールバックsave は連打しない。 フラッシュの消去回数には上限がある(仕様 §7)。
deck.py save は --yes を付けないと実行されないようにしてある。
物理操作と目視は代われない。頼むときは具体的な手順と、何を見てほしいかの 期待値を書く。曖昧な「動作確認お願いします」は返ってくる情報が少ない。
書式の例:
以下を確認してください。
- 画面のボタン「Copy」をタップ → メモ帳にフォーカスした状態で Ctrl+C が 効くこと(何かを選択してからタップ)
- 3 分放置 → 画面が消えること。そこから 1 回タップ → キーは送出されず 画面だけ復帰すること
- 画面下の左右のドットをタップ → レイヤーが前後に切り替わり、 ステータスバーの名前が変わること
BLE のペアリング、キー入力が実際に届くか、電池表示、タッチの取りこぼしは すべてこちら側。
触覚フィードバック(振動)は実装していない。実機で駆動できなかったため 仕様から意図的に外してある(README「仕様との差分」)。確認項目に入れないこと。
file:// では Web Serial が動かない。ローカルサーバー経由で開く:
uv run python -m http.server 8000 --directory web
ブラウザ自動化で http://localhost:8000 を開き、スクリーンショットを撮って
実際に目で見る(レイアウト崩れは HTML を読んでも分からない)。
ただし navigator.serial.requestPort() のポート選択ダイアログはブラウザの
ネイティブ UI なので自動化では越えられない。そこから先は人間に頼む。
確認したら notes/ に残す。コマンドとその実際の出力を貼る(手打ちしない)。
スクリーンショットがあれば一緒に。これが PR に添える証拠になる。
/red-green-tdd で直す。実機でしか気づけなかったバグこそ、ホスト側のテストに
落とし込む価値がある。落とし込めない形なら、それは層の切り分けが甘いサイン。