embedded-project-loop について
embedded-project-loopは、実機作業や複数セッションにまたがる組み込み開発向けのスキルです。永続的なプロジェクト状態を管理し、各反復を一つの変更に限定して、ビルド、アップロード、ハードウェア、システム、デプロイの証拠を区別します。
主な機能
- 01永続的なプロジェクト状態の管理
- 02次の作業を一つずつ記録
- 03各反復を一つの変更に限定
- 04実機作業の安全ゲート設定
- 05検証段階ごとの証拠分類
活用シーン
- 01複数セッションにわたる開発の再開
- 02実機テストが必要なファームウェア変更
- 03測定やフィールドテストの追跡
- 04ロールバック証拠を伴う復旧作業
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill embedded-project-loopインストール後、Claude Code で/embedded-project-loopを入力して読み込まれたか確認します。
詳細
組み込みプロジェクトのループ
ファイルと物理ハードウェアの境界をまたぐ作業には、小さく永続的なループを使用します。エージェントはホスト側の成果物を準備して検証できますが、はんだ付け、書き込み、測定、現場での証拠を捏造してはなりません。
推奨される開始点
依頼に物理ハードウェア、複数のセッション、保留中の測定、フィールドテスト、または復旧作業が含まれる場合は、arduino-workflow-router より先にこのスキルを読み込みます。このスキルは、永続的な目標、次の todo、証拠の境界、ロールバック経路、物理的なゲートを管理します。その後、ルーターはボード、配線、コード、ツールチェーン、テスト、デプロイの専門家を選択しますが、このループを代わりに終了させてはなりません。
状態
プロジェクト内の .arduino/、またはユーザーが選択した外部の証拠ディレクトリを使用します。
.arduino/goal.md
.arduino/next-todo.md
.arduino/board-profile.md
.arduino/evidence/{build,upload,hardware,system,deployment}/
.arduino/experiment-log.jsonl
.arduino/resume-token.md
これらの成果物には、シークレット、トークン、プライベートネットワークの認証情報、未編集の個人データを含めないでください。goal.md には、正確な目標、成功基準、対象外事項、安全上の制約、中止条件、ロールバック経路を記録します。次の todo ファイルには、1 つのアクション、担当者、前提条件、期待される証拠、ゲート、ステータスを記載します。
範囲を限定した反復
- 目標、次の todo、ボードプロファイル、台帳の最新エントリーを読みます。
- ファームウェア、配線、電源、測定、診断に関する因果関係のある変更を 1 つ選択します。
- 実行可能な中で最も限定的かつ安全なホスト側/ビルドチェックを実行します。
- 次のアクションでユーザーの対応が必要な場合は、物理的なゲートで停止します。
- 提供された観測結果を期待される結果および独立した安全ゲートと比較します。
- アクション、証拠のパス、判断、ロールバック、次の todo を追記します。
- 検証済みの候補だけを残します。それ以外の場合は、ブロッカーを記録するか、現在の実験用の領域を復元します。
1 回の反復で、複数の配線変更、ファームウェアイメージ、電源、測定を組み合わせてはなりません。変更を 1 つに絞ることで、障害の原因を特定しやすくなります。
物理的なゲート
具体的な質問をして、観測結果を待ちます。
Physical gate: On <exact board/revision>, perform <one action> with power
<state>. Capture <measurement/log/photo> at <location>. Expected:
<observable result>. Reply with the observation or `blocked: <reason>`; do not
reply with an unverified yes.
書き込みに失敗した場合は、正確なポート/デバイスの識別情報、イメージ/ハッシュ、伏せ字にした書き込みツールのログを求めます。電源に関する質問では、メーターの測定位置、単位、観測された最小値/最大値を求めます。配線については、負荷を有効にする前に、導通/極性チェックまたはラベル付きの写真を求めます。
証拠の境界
- ビルドの証拠で立証できるのは、ソース/設定と依存関係のコンパイルのみです。
- 書き込みの証拠で立証できるのは、指定されたターゲットパスがイメージを受け付けたことのみです。
- ハードウェアの証拠には、ターゲットの識別情報に加え、測定値、シリアル出力、導通、オシロスコープのデータ、または状況が分かる写真が必要です。
- システムの証拠には、統合されたシナリオと代表的な負荷が必要です。
- デプロイの証拠には、ヘルスチェック、段階的な更新、ロールバック、復旧、メンテナンスの記録が必要です。
証拠がない場合は、unverified または blocked と記載し、次の todo を未完了のままにします。消去、ブートローダーの修復、再書き込みを行う前に、ルーターの復旧リファレンスを読んでください。
自己正当化の防止
| 近道 | 対応 |
|---|---|
| "チェックボックスは完了です。" | 成果物と証明段階を求めます。 |
| "コンパイルは成功しました。" | 書き込み、ハードウェア、システムの証明に格上げしないでください。 |
| "ユーザーはおそらく配線済みです。" | 具体的なゲートの質問をして、回答を待ちます。 |
| "修正を 3 つまとめて試しましょう。" | 変更を 1 つずつの反復に分けます。 |
| "まず消去しましょう。" | ターゲット、最後に正常動作したイメージ、復旧経路、データ損失の影響を確認します。 |
| "新しい出力がないので成功です。" | 変化のない観測結果として記録します。これだけでは目標は完了しません。 |
検証
- 状態ファイルが存在し、次の todo には再現可能なアクションが 1 つ記載されています。
- 完了した物理的な手順にはすべて、証明段階のラベルが付いた証拠へのリンクがあります。
- 台帳には判断、ロールバック、次の候補が追記形式で記録されています。
- 中止条件と修復回数の上限が明記されています。
- このリポジトリでは、
python3 scripts/run_arduino_evals.pyを実行します。loop-engine-evidence-contractケースは、有効および無効な永続ループの成果物を検証し、必須の状態フィールドまたは台帳フィールドが欠落している場合は失敗として処理します。
共通出力契約
共通の Arduino スキル契約を使用してください。 前提条件、必要なツールとバージョン、実装手順、証明段階ごとのテスト/証拠、 既知の制限事項、復旧/セキュリティに関する注意事項を記載してください。