ハコヅミを作る #67:プロフィールに SNS のリンクを置く(DM を作らない代わり、実装を任せて報告を読む)

ほかの人の共有を見て、「このテント、どうですか」と聞いてみたくなることがあります。ハコヅミには、聞く手段がありません。

作らない、と決めてあるからです。その代わりに、自分の SNS のリンクを、共有のページに置けるようにしました。

  • DM は、作らない
  • 好きな URL は、置けない
  • 持つのは、名前だけ
  • ロゴは、使わない
  • 実装を、バックグラウンドに任せる
  • 報告にあった、頼んでいないこと
  • 保存を2回押すと、表示名が消える
  • 下線の文字を、札に変える

DM は、作らない

公開のあとの道のりを決めたときに、ハコヅミの中には、DM(個人どうしのやり取り)も、コメントも、作らないと決めました。

理由は、1人で運営しているからです。

  • ほかの人から見えない場所は、いちばん荒れやすい
  • やり取りの中身を、運営者が見られるのか。見られるなら、プライバシーの約束が変わる。見られないなら、問題が起きても、確かめられない
  • 利用者どうしの非公開のやり取りを仲立ちすると、法律の届け出が要るかもしれない

どれも、片手間で持てる仕事では、ありません。

それでも、「この人に聞いてみたい」は、起きます。そこで、やり取りは、ハコヅミの外でしてもらうことにしました。自分の SNS のリンクを、共有のページに置けます。聞きたい人は、その SNS で連絡します。

中身を預からないので、見張る仕事も、持ちません。連絡が来るのが嫌な人は、リンクを置かなければ、何も起きません。


好きな URL は、置けない

「リンクを置ける」と聞いて、いちばん素直な作りは、URL を入れる欄を1つ用意することです。ブログでも、自分のサイトでも、好きなところへ飛ばせます。

そうは、しませんでした。置けるのは、X・Instagram・YouTube のアカウントだけです。

好きな URL を置けるようにすると、共有のページが、宣伝の場所になります。危ないサイトへ誘導する入口にも、なります。「見るだけの、静かな場所」のつもりで作った共有のページに、その心配を持ち込みたくありません。

決まった SNS のアカウントなら、行き先は、その SNS の中です。おかしなアカウントなら、その SNS の側に、通報の仕組みがあります。

わたし自身、このブログ(じるラボ)へのリンクを置きたい気持ちは、あります。でも、自分だけ置けるようにするわけにも、いきません。線は、線です。


持つのは、名前だけ

データベースに持つのは、URL ではありません。アカウントの名前だけです。

X          yamamori_camp
Instagram  yamamori.camp
YouTube    yamamori-camp

URL は、画面に出すときに、アプリが組み立てます。

https://x.com/ + 名前
https://www.instagram.com/ + 名前
https://www.youtube.com/@ + 名前

名前に使える文字は、SNS ごとに、決めてあります。英数字と、その SNS が許している記号だけです。/ も : も、入りません。

こうしておくと、何を入力されても、リンクの行き先は、3つのサイトの外には、出ません。「URL を受け取って、変なものでないかを調べる」より、「URL を受け取らない」ほうが、ずっと確かです。

テストでは、意地の悪い入力を 22 通り、直接送っています。javascript: で始まるもの、// で始まるもの、ほかのサイトの URL の途中に x.com を挟んだもの。どれも、保存されないか、保存されても、行き先が3つのサイトで始まることを、確かめています。

URL を貼っても、名前が入る

とはいえ、自分のアカウントの名前を、そらで打てる人ばかりでは、ありません。プロフィールのページを開いて、URL を写すほうが、楽です。

その SNS のアカウントの URL を貼ると、名前だけを取り出して、入れます。先頭の @ も、取ります。

アカウントの画面の「プロフィール」のカード。アイコン、表示名の欄の下に、「SNS のリンク」の見出しと説明、X・Instagram・YouTube の3つの入力欄、「保存」のボタン

アカウントの画面の「プロフィール」(架空のデータ)

ほかのサイトの URL や、使えない文字は、欄ごとに、エラーを出します。

3つの欄に、それぞれ赤い字のエラーが出ている。X は「英数字と「_」で、15 文字までで入力してください」、Instagram は「ほかのサイトの URL は、置けません」、YouTube は使える文字と長さの説明

合わない入力には、欄ごとに理由を出す

アカウントが本当にあるか、本人のものかは、確かめていません。確かめるには、それぞれの SNS に問い合わせる仕組みが要ります。そこまでは、しません。規約に、「ほかの人のアカウントを置かない」と書いて、問題があれば、通報で受けます。


ロゴは、使わない

SNS のリンクといえば、ふつうは、それぞれのロゴが並びます。鳥だったもの、カメラ、再生ボタン。

実装を任せているあいだ(あとで書きます)に、各社のロゴの決まりを、Claude Code に調べてもらいました。

色 そのほか
X 白か黒だけ まわりに、同じ幅の余白
Instagram 公式のサイトから取ったものだけを使う 小さすぎる表示は、だめ
YouTube 色は、変えられない リンク先は、YouTube の中のページ

どこも、「形を変えない」「いちばん目立つものにしない」「提携しているように見せない」は、同じです。自分のアカウントへのリンクとして使うだけなら、事前の許可は、要りません。

困るのは、3つを、同じ見た目で並べられないことです。X は白か黒。YouTube は、決まった色のまま。ハコヅミの緑に合わせて、3つをそろえて塗る、ということが、できません。大きさにも、下限があります。見出しの下に、小さく控えめに並べたい場所には、合いませんでした。

それに、決まりは、変わります。X は、名前ごと変わりました。そのたびに、絵を差し替えて、決まりを読み直すことになります。

文字にしました。「X」「Instagram」「YouTube」と、書くだけです。地味ですが、だれの決まりにも触れず、何年たっても、直す必要がありません。

正直に書いておくと、この表は、全部を公式のページで確かめられたものでは、ありません。公式のページが読めなかった会社もあり、古い版の資料や、解説の記事から拾ったところが、混ざっています。ロゴを使うと決めたなら、もう一度、公式のページで確かめ直すところでした。使わないと決めたので、そこまでは、していません。


実装を、バックグラウンドに任せる

今回、実装そのものは、わたしと話している Claude Code ではなく、別の Claude に、バックグラウンドでやってもらいました。前にも試したやり方です。

頼むときに、Claude Code が、別の Claude への指示を書きます。その指示が、長い。読んでみると、今までの進め方が、ほぼ全部、入っていました。

  • 手元でコミットするところまで。push と PR は、しない(見た目を、人が確かめてからにするため)
  • 開発環境や本番に触るコマンドは、流さない
  • アイコンを作ったときと、同じ形にそろえる。まず、そのコードを読む
  • 新しいテストは、空のデータベースでも、1回流す。終わったら、必ず元に戻す
  • 画面の絵を、架空のデータで撮る。撮るための一時的なファイルは、消す
  • うまくいかなかったことがあれば、隠さずに書く

別の Claude は、今日の会話を、何も知りません。「いつものとおりに」は、通じません。いつものやり方を、全部、言葉にして渡す必要があります。その「いつも」が、プロジェクトのメモと、これまでの失敗から、できあがっていたことに、あらためて気づきました。

待っているあいだに、ロゴの決まりを調べてもらい、文字のままでいくと決めました。15 分ほどで、報告が返ってきました。

報告を、そのまま信じない

Claude Code は、返ってきた報告を、そのままわたしに渡しませんでした。

  • 型のチェックと、テストを、自分でも流し直す
  • マイグレーションの中身が、列を足すだけであることを、見る
  • push されていないことを、確かめる
  • 撮ってきた絵を、自分でも見る

そのうえで、「報告では、15 のファイルのテストが通ったとあるが、こちらで流し直したのは、そのうち4つ」と、どこまで確かめたかも、添えてくれました。

任せることと、確かめないことは、別です。人に仕事を頼んだときと、同じです。


報告にあった、頼んでいないこと

報告の最後に、「仕様から変えたところ・足したところ」という節がありました。頼んでいないことが、2つ、書いてありました。

1つ目:規約の文が、一歩踏み込んでいた

Issue には、規約に足すことを、こう書いていました。

外のサービスでのやり取りは、当事者どうしのもので、運営者は関わらないこと

返ってきた規約の文には、こう続いていました。

そこで起きたことについて、運営者は責任を負いません。

気持ちは、分かります。「関わらない」と書くなら、「責任も負わない」と、念を押したくなります。

でも、これは、わたしが決めていないことです。「関わらない」と「責任を負わない」は、同じでは、ありません。規約には、責任の範囲を書いた条が、別にあります。そこと、どう重なるのか。どちらが優先するのか。そういうことを考えずに、1文を足すわけには、いきません。

外しました。

別の Claude が、この文を、こっそり入れていたわけでは、ありません。報告に、「Issue の文より、一歩踏み込んでいるので、文面を確認してほしい」と、自分で書いていました。だから、気づけました。

2つ目:もとからあった不具合を、直していた

もう1つは、逆でした。入れたほうがよいもの、です。


保存を2回押すと、表示名が消える

SNS の欄は、表示名と同じ「保存」のボタンで、一緒に保存します。そのテストを書いているときに、別の Claude が、前からあった不具合を、見つけていました。

  1. アカウントの画面を開く(表示名は、まだ空)
  2. 表示名に「やまもり」と入れて、保存する
  3. そのまま、もう一度、保存を押す
  4. 欄が、空に戻る
  5. 気づかずに、もう一度保存すると、表示名が、消える

原因は、フォームの「初めの値」でした。保存が済むと、フォームは、初めの値に戻ります。ところが、その「初めの値」が、画面を開いたときの値(空)のままだったのです。1回目の保存のあとは、たまたま、新しい値が入り直すので、気づきません。2回目で、戻ります。

表示名の欄は、ずっと前に作ったものです。今まで、だれも踏んでいませんでした。保存を、続けて2回押す人は、あまりいないからです。

SNS の欄が、同じ「保存」を使うようになると、話が変わります。表示名を入れて保存、次に X を入れて保存、Instagram を入れて保存。1つ入れるたびに保存を押す人は、ふつうに、います。

これは、Issue の範囲の外です。でも、この機能を足すことで、踏みやすくなる不具合です。一緒に直すのが、筋が通っています。入れました。

「範囲の外」を、どう扱うか

2つとも、「頼んでいないこと」でした。1つは外して、1つは入れました。分けたのは、これです。

  • 決めることが、増えるか。規約の1文は、責任の範囲という、新しい決めごとを持ち込みます。不具合の直しは、何も新しく決めません。もとから、そう動くはずだったものです
  • 今回の変更と、つながっているか。不具合は、今回の変更で、踏みやすくなります。放っておく理由が、ありません

そして、どちらも、報告に書いてあったから、選べました。黙って入っていたら、規約の1文は、そのまま本番に出ていたかもしれません。

任せた仕事の報告は、「頼んだことが、できたか」だけでなく、「頼んでいないことを、していないか」を読みます。よいものも、外すものも、そこにあります。


下線の文字を、札に変える

最後に、見た目です。

返ってきた共有のページでは、リンクが、下線付きの文字で、横に並んでいました。まちがっては、いません。リンクは、下線付きの文字で出すものです。

でも、見出しのすぐ下に、下線の文字が3つ並ぶと、文の一部のように見えます。押せるものだと、分かりにくい。

札(バッジ)の形にしてもらいました。

「やまもり さんの共有」のページ。見出しの下に、淡い緑の札が3つ並んでいる。「X」「Instagram」「YouTube」。その下に、共有しているギアの一覧

共有のページ。見出しの下の札が、SNS のリンク

ハコヅミでは、メーカーやコンテナの名前を、小さな札で出しています。それと同じ色の、少しだけ大きい札です。押しやすいように、高さを足してあります。

ここでも、最初に撮ってもらった絵には、直すところがありました。絵の中のギアに、実在のメーカーの名前が、入っていたのです。別の Claude が、「それらしい」データを作ろうとして、本物の名前を使っていました。報告にも、「外に出す絵に使うなら、撮り直したほうがよい」と書いてありました。この記事の絵は、架空の名前で、撮り直したものです。


おわりに

  • 持てない仕事は、作らない。代わりに、外でやってもらう道を、1本だけ用意する
  • 「何でも置ける」は、「何にでも使える」。置けるものを決めると、その場所の性格が決まる
  • 受け取って調べるより、受け取らない。名前だけを持って、URL は自分で組み立てる
  • 人の決まりに触れるもの(ロゴ)は、使わずに済むなら、使わない。決まりは、変わる
  • 調べて分からなかったところは、分からなかったと書く
  • 任せるときは、「いつものやり方」を、全部、言葉にして渡す
  • 任せることと、確かめないことは、別
  • 報告は、「頼んでいないことを、していないか」を読む。新しい決めごとを持ち込むものは外し、もとからの不具合は入れる
  • 同じボタンに欄を足すと、そのボタンの、古い不具合を踏みやすくなる

共有で残っているのは、料理のコピーです。レシピの文の権利のことを、先に確かめます。

テスタを募集しています。キャンプに行く方、よければ、触ってみてください。

← トップページに戻る