scripts/diagnostics/pc_health_check.ps1 を新規作成。7カテゴリを実測し、HTMLレポートとJSONを出力する。(*) 形式で返るため (_Total) へ差し替え(初版は計測不能で null)FreePhysicalMemory だと待機キャッシュを含まず過小 → AvailableMBytes へWin32_PowerPlan が管理者権限必須・powercfg 標準出力が文字化け → レジストリのGUIDから引くPC健康診断を実行.cmd を追加(Otakeさんがコマンドを打たなくて済むように)。cmd経由の実行も検証済み。&& を含むコマンドを渡してエラーにさせた。memory に同じルールが既にあったが守れなかったため、伝達品質チェックに DG009 を新設して物理強制に昇格。fenced code block 内の POSIX 専用構文(&& / || / /dev/null / grep / heredoc / ~/ 等)を block する。テスト12件全通過・doctor で16ルール正常ロードを確認済み。verdicts 配列に優先順位付きの結論が入っている。findings のうち verdict が bad / warn のものを拾う。product-sourcing スキルの選定ロジックを通すこと(在庫・第三者出品・リンク生存確認まで)。blade_scheduled_task_design の枠組みに乗る)。
Otakeさんの環境は Windows PowerShell 5.1。&& は構文エラーになる。
Otakeさんに貼らせるコマンドは 1ブロック1コマンド・PowerShell構文 が絶対条件。
| 種別 | パス / コマンド | 用途 |
|---|---|---|
| スクリプト | C:\dev\Claude_WorkFolder\scripts\diagnostics\pc_health_check.ps1 |
診断本体。659行。docstringに測定項目と経緯を記載 |
| ランチャー | C:\dev\Claude_WorkFolder\scripts\diagnostics\PC健康診断を実行.cmd |
ダブルクリックで実行。自動でUAC昇格を促す。Otakeさんが自分で回す時はこれ |
| コマンド(更新) | git -C "C:\dev\Claude_WorkFolder" pull --rebase origin main |
最新化。cd 不要にするため -C を使う |
| コマンド(実行) | powershell -NoProfile -ExecutionPolicy Bypass -File "C:\dev\Claude_WorkFolder\scripts\diagnostics\pc_health_check.ps1" |
診断実行。非管理者なら自動でUAC昇格を試みる |
| 出力(レポート) | C:\dev\Claude_WorkFolder\output\misc\pc_health\pc_health_<timestamp>.html |
人が読む用。実行後に自動で開く |
| 出力(生データ) | C:\dev\Claude_WorkFolder\output\misc\pc_health\pc_health_<timestamp>.json |
Claudeが読む用。verdicts と findings を見る |
| 参考(DELL試走) | C:\dev\Claude_WorkFolder\output\misc\pc_health\sample_このDELLで試走した結果.html |
DELL側の実行例。健全機ではどう出るかの比較対象。gitignore対象なのでDELLにしか無い |
| オプション | -NoOpen / -NoElevate / -OutDir "<path>" |
それぞれ 自動で開かない / 昇格しない / 出力先変更 |
| 該当コミット | 6b4273b6(スクリプト本体) + 後続コミット(ランチャー・DG009) |
main に push 済み |
MaxClockSpeed はWMIがベースクロックを返すため、値が定格と完全一致する機種では判定が効かない点に注意。scripts/hooks/delivery_gate/config.json で severity を warn に落として調整する。推測で部品を買うのをやめる。どこが遅いかを数字で1点に絞ってから、そこだけ交換する。