自分の発信を1か所に集めるハブサイト「Hubpin」を、個人で作りました。
制作の経緯は「Hubpin 開発記録」に時系列でまとめています。
Claude Code を取り入れながら、設計から実装まで一人で進めています。
見た目のアクセシビリティを直す工程で、変更前後のスクリーンショットを撮ることになりました。
手順書には10枚ぶんのコマンドが並んでいます。
撮影は1年ほど前に自分で書いたスクリプトを使っていて、URLと出力先を渡すと画像が出てきます。
着手する前にそのスクリプトを全部読んだら、10枚のうち4枚しか撮れないことが分かりました。
撮れたのは公開ページだけでした
撮れるほうは、トップページと公開プロフィールでした。
URLを開けばそのまま出る画面です。
撮れなかったのは2種類でした。
ひとつは、カードを展開した状態です。
展開しているかどうかは画面の中の状態として持っていて、URLには出ません。
開いた状態を撮るにはクリックが要ります。
もうひとつは、ログインしたあとの画面です。
スクリプトは毎回まっさらな一時プロファイルでブラウザを起動するので、ログイン状態を持てません。
引数の一覧を見ても、この2つは出てきません。
URLをひとつ開いて撮る、という道具の形そのものが、撮れる範囲を決めていました。
手順書は、道具の限界を知りませんでした
手順書を書いたのはAIです。
撮る対象のリストは正しく、撮るコマンドの書き方も正しい。
どちらも間違っていなくて、組み合わせだけが成立していませんでした。
手順書のレビューでは見つからない種類だと思います。
書式を見ても、対象のリストを見ても、問題は出てきません。
道具の中を読まないと分からない前提でした。
しかも、スクリプト自身には書いてありました。
自分で書いたヘッダのコメントに、撮れないものが並んでいます。
書いた本人も、手順書を書いたAIも、そこを読んでいませんでした。
工程は止まりませんでした
6枚撮れないと分かったのに、この工程は止まっていません。
前日の工程で同じ壁に当たっていたからです。
ログインが要る画面をライトモードで撮る必要があって、そのときに別のやり方を作っていました。
ログイン済みのブラウザをそのまま使って、ライトとダークはパソコン本体の外観設定を切り替えて撮る、という手です。
作業中の画面全体が数分だけ切り替わるので、そのときに自分で許可を出しています。
撮り終わったら必ず元に戻します。
このやり方を知っていたので、着手前に手順を組み替えるだけで済みました。
切り替えが1往復で済むように、ダークを5枚撮ってから切り替えてライトを5枚、という順番に並べ直しています。
着手前に道具を読むかどうかで、費用が変わりました
同じ穴でも、着手前に見つければ手順の組み替えで済みます。
作業中に見つかれば、途中まで撮ったものを捨てて戻ることになります。
今回かかった費用は、スクリプトを読んだ数分だけでした。
もうひとつ効いていたのが、前日に同じ壁を踏んでいたことです。
一度踏んだ壁は、次に同じ形で出てきたときには壁ではなく手順になっていました。
