より良いモノを作りたいだけ

寄り道こそ楽しもう

"退屈"な時間の過ごし方 | あるいは自分との対話

僕は隙間を埋めていた。隙あらば仕事をしたり、SNSを見たりしていた。歩くときはイヤホンをしていた。

それが悪いとか言いたいわけではない。仕事の連絡はスマホに来るし、友人の近況もそこにある。タイムラインは終わらないし、仕事も終わらない。空いた時間に手が伸びるのは、そこに見るものがあるからで、今の生活でそうなるのは仕方ないことだと思う。自分も今もそうしている。

ただ、9月にたまたまその生活を離れることになって、たまたま気付いたことがあったので書いておく。

たまたま退屈になった

9月は転職の間の有給消化だった。約1ヶ月、予定が何も入っていない。

やっていたのは家事と読書と散歩。妻と分担していた家事を全部引き受けて、積んでいた本を開いて、疲れたら散歩に出る。仕事がないから、それを埋めるための作業くらいの気持ちで始めた。

退屈を過ごすつもりで始めたわけではない。散歩で聞くものがなくなってイヤホンをしなくなり、見る通知がなくなって隙間にSNSを開かなくなった。気付いたらそういう生活になっていた。外の刺激に反応する日々に対して、ただ時間が流れる日々だった。

はじめは、ぼーっとするのは勿体ないと思っていた。この時間に何かできるのに、と。

独り言

退屈にしていると、自分の独り言が聞こえてくる。

今日のあの一言が引っかかったな、とか、これは意外と嬉しかったな、とか。気持ちがポジティブにもネガティブにも揺れていて、その揺れに気付く。

何を感じたのか、何を考えたのか、それはなぜか。そういうことを邪魔されずに考えられていた。日常の出来事から受け取れる量も質も良くなって、それを言葉にする時間があった。何かを成し遂げた日ではないのに、充実感があった。ぼーっとするというか、一つ一つのことを大事にする感じに近い。

刺激を適度に減らした生活が、思っていたよりずっと心地よかった。

逆に、SNSを見ている時間は、この独り言に気付けなくなっていたのだと、あとから分かった。声が無くなるわけではなくて、気付かないまま次の刺激に行っていた。

本を読んで、そうだなぁと思った

10月に入って、谷川嘉浩さんの『スマホ時代の哲学』を読み終えた。

9月に聞こえていたものに、名前が付いていた。

「これだ」「こうだ」という自分の判断や意見に対して、自分の中で広がる靄のような違和感や声のことを、私は「感情のしっぽ」と呼びました。その全体像は自分でもわからず、何を言っているかも明確ではなく、声が一つでない可能性もあるにもかかわらず、何かを言っており、どこかに向かおうとしていることはわかる。

掴めそうで掴めない感じ。確かにしっぽだと思う。

この本は、常時接続で失われたものを孤立と孤独の2つで説明している。

それは、〈孤立〉と〈孤独〉です。それぞれについて言い換えれば、他者から切り離されて何かに集中している状態と、自分自身と対話している状態のことです。

ここで言う孤独は、寂しいことではない。自分と対話している状態のこと。そしてそれには、刺激を入れない孤立が先に要る。

自分は孤独を埋めていたのだと思う。隙間を埋めることで、自分と対話する時間が無くなっていた。

一日中スマホから刺激を浴びていると、スマホを触っていないときにもその感性が持ち越される、とも書いてある。イヤホンを外すだけでは足りないということなのだと思う。

「私たちが孤独の恩恵を受けようとしないのは、孤独になるために必要な時間を、活用すべき資源と考えるからだ」とタークルは指摘しています

ぼーっとするのが勿体ないと思っていた自分のことだった。隙間を資源だと思っていた。だから埋めていた。

つまり、9月の充実感は、何かをしたから得られたものではなかった。刺激を入れなかったから、自分の声が聞こえていた。

10月、再び刺激の波の中へ

10月から新しい会社で働いている。通知も会議も戻ってきた。隙間にSNSも見ている。

本の中でも、SNSを全部やめろという話にはなっていない。自分も無理だと思う。そういう前提に立ったうえで、刺激の波から距離をとって、退屈や不安の湧き出してくる自分に向き合う機会を持て、と書いてある。

毎日日記を書くのも、週末に振り返るのも、効果的な手段だとは思う。ただ、書く時間を確保するだけでは足りない気がしている。振り返りのときに出てくる気付きは、退屈な時間の中で拾っていたものだった。拾う時間がないと、書く枠だけが空いていく。

意識的に作らなきゃな、と思っている。全部空けるのは無理なので、散歩のときはイヤホンをしない。それくらいでいいのだと思う。

退屈は、損している時間ではなかった。

なぜ”さみしい日記”になってしまうのか

さみしい日記

さみしい日記が嫌だった。

一応、毎日書いている。続いてはいる。読み返すと、何があったのかは分かる。

でもどこか、”自分っぽさ”を感じられない。日記でさえ、演じられた自分っぽさを感じる。

たとえば、人に言われた一言がずっと引っかかってた日があって、「言い方はきつかったけど、言ってることは正しい。ので受け取る」って書いてある。本当は、なんでその言い方なんだよ!と思っても、そういう感情についてはどうも書きにくさを感じる。。。

書いてる途中で声が聞こえる。愚痴を書くなよ、とか、それ人のせいにしてるだろ、とか、それお前の課題だろ、とか。途中というか、書く前から聞こえてる。だから最初から、書ける範囲のことだけ書く。

誰の声かは分からない。

ソーシャルノイズ

最近読んだ本で名前がついた。安斎勇樹さんの『静かな時間の使い方』。

外から来る規範とか評価とか期待のことを、ソーシャルノイズと呼んでいた。これに頭をジャックされる形が2つあって、片方が「抑圧」。批判されないように無難なことしか言わない、誰も納得してないのに前例通りに決まる。そういう状態のこと。

社会人生活とか日常生活の話が多かったが、日記においてもそうだなと気付いた。誰にも見せないノートで、批判されない範囲のことだけ書いてる。抑圧されてるのが発言じゃなくて自分の声なだけで、やってることは同じだった。

あらためて誰の声かを考えてみると、別に誰かの顔が出てくる訳ではない。Twitterのタイムラインで見た「他責思考は成長を止める」みたいな話なのか、日記を書いて整ったという誰かの投稿なのか、面接で何十回も言わされた「失敗から学んだこと」なのか。どれでもあるし、どれでもない。

著者は、振り返りが上手い人はモヤモヤから他人を追い出すと書いていた。そそのかしてくる声と脅してくる声は追い出していい。逆に、尊敬できる人とかちゃんと応援してくれる人の声は残しておいていい、と。

それで自分の日記を書いているときを思い出すと、追い出していいほうの声しかいなかった。

日記が反省文になってた

同じ本に、振り返りには2つのモードがあると書いてあった。原因を分析して次に活かすほうと、今の自分から見てしっくりくる解釈を見つけるほう。

自分がやってたのは前者だけだった。起きたこと、原因、次はこうする。ほぼこれ振り返りっぽい反省文じゃね。

なぜ失敗したか・上手くいかなかったか、なぜ成功したか・それは何故か、は日々考えるけど、この出来事は自分にとって何だったのか、なんて誰も聞いてこないし、自分でも考えない。

本の言葉を借りると、ソーシャルノイズに最適化された「優秀なソルジャー」のほうだけが鍛えられていた。誰も評価しに来ない場所で、勝手に評価される側に立ってた。

報われない側を選ばない習慣

もう1冊、三宅香帆さんの『考察する若者たち』を読んで、何故僕がそっちを選ぶのかが分かった気がした。

この本は、考察と批評をこう分けていた。

考察は、作者が仕込んだ正解を当てること。批評は、作者も気づいていない謎に自分の解釈を出すこと。

で、批評には正解がないから、頑張って解釈を出しても報われない。考察には正解がどこかにあるから、努力する価値がある。だから考察のほうが選ばれるようになった、と。

私たちはプラットフォームのなかで、どんどん自分らしさを消して「正解に近い最適解」を出すことを求められている。それが数値で結果を出すための最短距離だ。自分らしさは消えていく。個別性が、意味のないものとされる。報われないからいらないものだとされている。

報われないから、いらないものだとされている。

これを読んで、さっきの声が言ってたことが分かった。愚痴を書くな、じゃなかった。意味のないことを書くな、だった。愚痴を言ったところで現実は変わらないでしょ?という正論の声。

そう考えると、日記が書けない気持ちに説明がつく。感情がどうこうと書こうとしても、書いても仕方ないこと書くなという声に、日記とはこうあるべきという声にかき消されてしまう。

ここまでくると、だんだんと輪郭が掴めてくる。意志が弱いからじゃなかった。報われない道を選ばない癖がついてただけだった。

さみしい日記を書きたくない

なぜ、日記がさみしいのか。

誰に求められる訳でもないのに、”正解”が頭をちらつき、抑圧された言葉が並んでしまうから。

そんな日記にしたところで”報われる”ことはない。誰かが読んで”正解”だと言ってくれる訳ではないから。

では、報われる日記とは何か。

安斎勇樹さんの『静かな時間の使い方』にあるように、今の自分から見てしっくりくる解釈を見つける営みなのではないか。

そこに至る過程では、まとまってなくて良いし、愚痴を経由しても良いし、結論が分からなくなっても良いし、感情剥き出しで良いのではないか。

まずはどんな形であれ吐き出すことなんだと思う。整った文章にしなくていいし、順番も揃ってなくていい。AIに音声入力するかのようなノリで良い。

「言ってることは正しい。ので受け取る」と書いたあの日も、「「なんでその言い方なんだよ」と感じた」ってそのまま吐き出してよかったんだと思う。

そのうえで、日々の感情の揺れ動きや反応に気付き、言葉にして、自分でも気付かなかったそれを、自分の言葉で作ったある種の”正解”の輪郭に一旦収める。過去の出来事を、今の自分と将来の自分のために整理してあげる。

それで終わりで良いんだと思う。誰かに見せる必要もないし、何かの役に立たなくても良い。

その整理では、言葉を省略する必要もない。自分の頭に湧き上がる言葉で綴れば良いのだと思う。

Claude Codeのスキルが上手く起動しないので、スキルを探すSkillを作ってみた

Claude Codeでskillを数十本と増えてきたところで、あんまり上手く適切なskillが起動しない感覚があった。

スキルというのはClaude Codeに手順書を持たせる仕組みで、SKILL.md に「何をするか」と「いつ使うか」を書いておくと、会話の流れからモデルが勝手に選んで起動してくれる。

はずだった。。。

skillsが増える程に、起動して欲しいスキルがあまり呼ばれていなくて、だいたい普通にファイルを読み書きして終わっていた。ということにClaudeを問いただして気付いた。

まず公式を読んだ

自分の勘で直す前に一次情報を読むようにしている。今回読んだのは3本。

嘘です、、、さらっと読んだだけでちゃんと読んでくれたのはClaude君です(ありがとう)

まずはdescription

overviewに、起動の判定に何が使われるかがはっきり書いてある。

The description is what Claude matches your request against when determining whether to trigger the Skill, so it must say both what the Skill does and when to use it. (Agent Skills)

読み込まれるタイミングも決まっていて、起動前にcontextに乗るのは名前と説明文だけ。

At startup, only the metadata (name and description) from all Skills is pre-loaded. Claude reads SKILL.md only when the Skill becomes relevant, and reads additional files only as needed. (Skill authoring best practices)

Claude Code側の説明も同じ。

In a regular session, skill descriptions are loaded into context so Claude knows what's available, but full skill content only loads when invoked. (Claude Code / Skills)

つまり検索もランキングも挟まらない。説明文を読んだモデルの判断だけで決まるということだと思う。

本数のせいではなさそう

数十本は多すぎるのかなと疑ったけど、公式の想定はもっと多かった。

The description is critical for skill selection: Claude uses it to choose the right Skill from potentially 100+ available Skills. (Skill authoring best practices)

100本超から1本選ぶ前提で書かれているので、数の問題ではなさそう。(ってことはskillを探すskill以前の問題もきっとありそう...)

ただし長さには上限がある。

Put the key use case first: the combined description and when_to_use text is truncated at 1,536 characters in the skill listing to reduce context usage. (Claude Code / Skills)

大事なことを先頭に書け、とわざわざ書いてある。

「上手く起動しないとき」についての記述は無さそう?

読んだ3本のどこにも、「スキルが起動しないときどうするか」という節は無かった(と思う)。代わりに示されているのは2つだった。

ひとつはdescriptionの書き方。三人称で書く、具体的な語を入れる、何をするかといつ使うかを両方書く。

Always write in third person. The description is injected into the system prompt, and inconsistent point-of-view can cause discovery problems. (Skill authoring best practices)

もうひとつが評価と観察。こっちが自分には刺さった。

Create evaluations BEFORE writing extensive documentation. This ensures your Skill solves real problems rather than documenting imagined ones. (Skill authoring best practices)

スキルを配ったあとに聞くべき問いも、具体的に書かれている。

Ask: Does the Skill activate when expected? Are instructions clear? What's missing? (Skill authoring best practices)

Iterate based on these observations rather than assumptions. (Skill authoring best practices)

descriptionの書き方のほうは、多分割とちゃんとやっていたと思う。やっていなかったのは、観察する方だった。

計測してみる

「意図したスキルが発火しない」を、「選べない」のか、「選びにいかない」のか、の2つに分けて測った。

測り方 結果
識別 「この発話にどのスキルを使う?」と聞く ほぼ取り違えない
自発起動 発話をそのまま渡して起動するか見る 半分強しか起動しない

聞けば当たる。聞かなければ起動しない。

外したケースを見に行ったら、スキルを使わずにファイルを直接読み書きして作業を終えていた。descriptionが読めていないんじゃなくて、着手する前に「使えるものがあったかな」と確かめる段階がそもそも無かった。ということなのだろう。

これで、descriptionをいくら磨いても動かない理由に辿り着けた。聞けば選べるなら、判断の材料は足りている(はず)。足りないのは探しにいく動作の方だ。

スキルを探すスキルを作った

作ったのは skill-find というスキル。中身は手順だけで、選ぶ基準は持たせていない。

  1. 会話を起点に発火して、スキルの置き場を実際に一覧して、今あるものを確かめる
  2. 依頼の語とその言い換えで、各スキルの「いつ使うか」を検索して候補を集める
  3. 候補の「使わない場面」「〜ならこっち」の行を読む
  4. skillを起動する

起動時に読み込まれた説明文は記憶であって実体じゃない。スキルは増えるし、文字数で切られる以上、一覧に全文が載っている保証もない。だから毎回、実際にファイルを読ませる。

検索は候補を漏らさず拾うための網であって、選ぶ手段じゃない。一致した数が多い順に採らせないようにした。公式が「選ぶ材料はdescription」と書いている以上、その上に自前の採点を重ねてもノイズが増えるだけだと思う。

あと、該当が無かったらそのことを1行だけ言って普通に作業を進める、と書いた。これを書いておかないと「該当するスキルがありませんでした」と報告して止まる。止まられても困るので....

同時に起動するのは1本だけにしている。これは Claude Code の仕様の都合で、起動したスキルの本文は会話にそのまま残り、あとから読み直されない。

When you or Claude invoke a skill, the rendered SKILL.md content enters the conversation as a single message and stays there across later turns...Claude Code does not re-read the skill file on later turns. (Claude Code / Skills)

2本分の手順が並んだまま残ると、どっちに従っているのか曖昧になる。なので直列に通す。取り込んでからリンクを張る、みたいに2本要る依頼は当然あるので、そのときは残りを先に書き出してから1本目を起動して、終わったら通し直す。

作っただけでは起動しなかった

で、skill-findを作ってから数日、それ自体も結局あんまり起動しなかった。

「使う前にskill-findを通してね」とルールに書いても、自分で「これは明らかにあのスキルだ」と思った場面では通らない。その「明らかに」が当てにならないから作ったはずなんだけどなー

なので門を置いた。スキルが起動する直前に走る検査(PreToolUseフック)を入れて、skill-findを経由していない起動を止めるようにした。

止まりっぱなしになると困るので、逃げ道を3つ入れてある。

  • skill-find自身はいつでも通す。止められてもskill-findを起動すれば必ず先に進める
  • 同じスキルを続けて止めたら通す。判断が合っていたのに止め続けられるのは邪魔なだけ
  • 検査自体がエラーになったら素通しする。仕組みの不具合で作業が止まるのが一番よくない

これでようやく通るようになった。

門にも穴があった

ここまで作ってから、まだ抜けがあることに気づいた。

この門が効くのは、スキルを起動しようとした瞬間だけ。2本目を呼ぼうとすれば止まるけど、呼ぶこと自体を忘れたら何も起きない。取り込んでからリンクを張る、みたいに2本要る依頼で、1本目が終わった時点で満足して終わるパターンが残っていた。

skill-findの手順には「残りを先に書き出してから1本目を起動する」と書いてあるけど、書き出した予定を後で実行するかどうかは、結局こちらの継続性に委ねられている。それはさっき「当てにならない」と結論づけたものそのものだ。

なので、会話を終える直前にもう1つ検査を置いた。残りを書き出すときの形を決めておいて、それが消化されていなければ会話を終わらせない。

PENDING-SKILLS: hoge-skill, fuga-skill

1本目の結果を見て2本目が要らなくなることもあるので、PENDING-SKILLS: none と書けばその場で取り下げられる。止まるのも1回だけにしてある。

仕組みを足すと、その仕組みの穴が次の課題になる。この対応もめっちゃ良いとは思ってはない。

学びや気付きなど

今回は「選べるか」と「選びにいくか」が別の問題だった。公式のチェックリストも、説明文の質と "Does the Skill activate when expected?" を別々の問いとして置いている。

もう一つは、ルールに書くことと、守られる経路に置くことは全然違うんだなと思った。ルールに1行足しただけではダメな場合もあって、起動の直前に検査/門を置いて改善できた。

改善自体も生成AI先生でする

実はこういう仕組みは、Claude先生自身に作ってもらってClaude先生自身にメンテさせている。

この前提だと、最初はメンテが大変なのだが、段々と噛み合ってきて良い感じになる気がしている。

AIに作らせてAIにメンテさせているので、そこまで工数をとっている訳でもない。この仕組みを持続するための工夫は、実行記録。

どういう経緯で何をして、実際運用してどうだったのかを残してあるので、それをベースにして定期的にAIに改善活動をしてもらっている。下手に人力でファイル修正などをしてコンテキストが失われるのは良くないので基本すべてClaude先生との対話を通してFBや改善活動をしている。

YouTube Premium Liteに課金した

YouTube Premium Lite に課金した。理由は単に広告が煩わしいから、ではあるのだけど、入ってくる情報量をコントロールしたかったという感覚でもある。

無料で見ることへの対価

お金を払わず動画コンテンツを楽しませていただいているので、そこへの感謝はあるし、広告もその対価として妥当なのかなという感覚もある。特に意識的に広告を見ている訳でもないし、アンケート回答だったら広告見るより早く動画視聴にたどり着けるので、ラッキーなんて思ったりしてる。

頭に残る、自分の言葉じゃない言葉

なのに何故、課金してまで広告を消すことを選んだかというと、「欲しい・欲しくない」に関係なく(似た)情報に晒され続けて、キーワードが頭に残る感覚があったからだ。

広告自体は数秒で終わる。でも同じ系統の広告を繰り返し見ていると、後から関係のない日常生活で「転職……(そういえば)」「20代男性は....」みたいに、置かれたキーワードが日常生活の何でもない瞬間に勝手に立ち上がってくる、、、気がした。

自分で考え始めたはずなのに、入り口を自分で選んでいない。この感じに違和感があった。

思考がジャックされている 、とまで言うと大げさ(かつ失礼)かもしれない。ただ、自分の頭の中に自分で置いていないものが混ざっているのは確かだと思う。

無料で見せてもらっているのだから文句を言うべきではない、というのはその通りだと思う。広告があるから無料で見られている。そこは分かった上で、それでも嫌だったので金を払った、という話です!

MPをちょっと節約したい

「広告に対する疲れ」なんだろうなと思う。もっと言うと、「自分が見たいもの以外に晒され続けて、読む読まない・興味があるない の無意識に近い小さな意思決定の積み重ねによる疲れ」なのかなと思う。

少し脱線するが、僕は田舎出身で上京してきた身だ。今は慣れつつあるが、東京の街は基本的に疲れる。人混みに疲れるという観点もあるのだろうけど、目や耳に入ってくる情報量が田舎と圧倒的に違うからなのかなとか思っている。

広告も同じなんだろうなと思う。一つひとつは数秒で終わるけど、見る・見ないを判断した回数はそれなりに積み上がっている。

その読む・読まないの判断の欠片が頭の中に残って、日常生活の意思決定に関与してくる感覚を察知したからこそ、今回の課金に至ったのだろう。かと言って他の媒体含めるとすべての広告をブロックできるわけもないし、僕は見たいYoutube動画を早く見れることが結構嬉しいのでこの課金のみで一旦OKだ。

僕はお金を払うことで、僕の日常生活の周辺にある情報量をコントロールできたということで、良い買い物だったんだろうなと思う。そういうお金の使い方もあるよね(←自分へ言い聞かせてる)

ドキュメントは(基本)スタンドアロンであれ

ドキュメントは、スタンドアロンであるべきだよなと最近よく思う。

MTGの場では伝わった気がしていたのに、あとから共有された人から全然違う解釈が返ってくる、みたいなことがある。そういうとき、たいてい悪いのはドキュメントの中身ではなくて、「自分が横にいて補足する」ことを暗黙の前提にして書いてしまっていたことなんだと思う(反省)

ドキュメントは、自分がいない場所で読まれる

そもそもドキュメントが読まれる場面はどんな場面か。ドキュメントではなくてもSlackメッセージだってそうだ。「MTGで画面共有をしながら」「コンテキストが十分に共有されている相手に渡す」などがぱっと思いつくし、書いてる時にはそこに重心を置いて、適宜省略したりしながら書いている。

が、本当にそうなのか。

確かにその場・その限りの相手の中で閉じたドキュメントも当然ある。が、意外と書いている自分がいない場面でもドキュメントは共有されることが普通に多い。ドキュメントは自分がいない場所でも読まれている。

  • 口頭の説明を伴わない場面で参照される
  • MTGの前に読まれるし、終わったあとに読み返される
  • そのMTGに参加してなかった人にそのまま共有される

上記のような場面では、書いた人の補足なしで成立してもらわないと困る。後日聞かれても思い出すのも苦労する...

何を書いておくべきなのか

ストーリー・背景

なぜこの検討が始まったのか。何を解こうとしているのか。どんな文脈・前提があるのか。

ここがないと、本文が「誰かが決めた結論」しか見えない。読み手は賛成することも反対することもできない。行動しようにも、指針となる材料もない。判断材料がないので当然だと思う。

全体構成

このドキュメントに何が書いてあって、どこから読めばいいのか。

長いドキュメントほど、読み手は「自分が読むべき箇所」を選べないと、読むこと自体をやめてしまう。全部読んでもらえる前提で書いているのは、たぶん書き手の甘えだ。

生成AIが作成した「**」だらけの文章ベタ貼りなんて言語道断だ。

用語の説明

社内用語、プロジェクト固有の略語、同じ言葉を別の意味で使っている箇所。

ここが揃っていないと、読み手は議論の中身ではなく用語の解釈に時間を使うことになる。しかも本人はだいたい、解釈がズレていることに気づかない。

この3つを先にREADME的に整理しておけば、ドキュメントが単体で流通しても情報が正しく伝わって、読んだ人がすぐ動ける状態になる。

そもそも、読み手に何をしてほしいのか

ドキュメントの目的は、理解と納得をしてもらったうえで、何らかのアクションを取ってもらうことだと思っている。

だとすると、意識すべきは下記あたりだろう。

  • 相手が理解するために必要な情報は何か
  • 相手が納得できるストーリーになっているか
  • 相手が読むべき箇所を選択できる構造になっているか
  • 必要なアクションと期限は何か

「理解」と「納得」を分けているのは実は重要だ

何を言っているのか伝わらないと読まれることすらない。書いてある背景や変遷に「確かにそうだ」と納得をしてもらえないと、「必要なアクション」を促せない。

人と人のコミュニケーションだから

生成AI同士が代わりにやりとりしてくれる...時代ではまだなくて、人間がドキュメントを介して意思決定していくので、例え過程として生成AIでまとめるなりしようとも、人間に伝える時は相手に最大限配慮するというか、認知負荷とか、伝わりやすいのかとかを意識して用意してあげる方が良いのかなと思う。

「何が言いたいんだろう」とか「読みにくいなぁ」って人間もAIも思わないような整理整頓をしておくと、枝葉すぎる話とか、重要じゃないことに時間を使わくて良くなり、結果としてより良い時間の過ごし方が出来るのかなと思う(とは言えこれ毎回やるとコスト高すぎるけど)

余白が大事だと思う理由

僕がチームを持っていた時に大事にしていた「余白」について少し書いてみる。

まず大前提、僕は仕事が好きな人は(ルールの中で)好きなだけやれば良いと思うし、実は遅くまでやってるとか、休日もやってるとかも、身体を壊さないでくれよとか、進んでそれを選択してる限りは良いのかなとか思ったりする。僕自身も好きなだけ仕事をしていたいタイプではあるので、少なくとも気持ちは分かる側だと思う。

但し僕はその選択を選択肢として持っていて良いと思っているだけで、常にそうなっていたら止める。プロジェクトの設計段階で”余白”を意識しておくことは大事にしていた。

”余白がない”とどうなるか

課題解決の引き出しが増えないというか、いつまでも同じ手札で戦い続けることになるのだろうと思う。それ自体もあんまりよろしくないと思いつつ更に、一個人としての成長実感を感じにくくなりやすいことに問題意識がある。「忙殺されていて、振り返る暇もない」とか「やること多すぎて大変だけどそれはそれで楽しいッス」とか色々あると思うが、それで良いのかな〜と。

モノ作りを通して色々な制約の中でビジネスの要求を技術で実現していかないといけない。技術はどんどん進化し、新しい知識や知恵が求められる。(生成AI時代でそれが加速したのかどうかは分からんけど加速しているんだと思う。)普通に仕事していてもそうなのに、更に今までとは違う解決策を創らないといけなくなってくる。

プロダクトのスコープが広がり解決する課題の範囲も深さも変わってくる・使ってくれるユーザが増える・技術的負債が溜まってくる....

そういう中で、”余白”がないとどうなるのか。

「暇がなければ新しいことは学べない」。暇がなければ自分の中にある今はもう古い方法論が上書きできない。

振り返り・レトロスペクティブを確保するのは個人のためチーム・組織・プロダクトのためにも重要だと思っている。加えて、残業時間を減らすこと・休日に仕事をしないことも大事だと思っている。

めちゃくちゃ当たり前な話ではあるのだけど、

  • 自分の興味関心を深める時間にしたり

  • 興味のアンテナをメンテナンスする時間にしたり

  • 健康を維持したり

そういう”余白があることで本来的に生まれるはずな選択肢”を相手にちゃんと認識してもらうことが大事なのかなーって。その上で仕事したいならしたら良いと思う。(けど、武器を磨くとか、新しい武器を手に入れる時間も超大事だぜ?とは伝えたい)

そんな訳で、僕は日々、学んでいる姿勢というか姿を見せるのも大事だと思っているし、分からないことや上手くいかなかったことに超Welcomeな姿勢を示したいと思っている。

が、他者をモチベートするのは圧倒的難易度高いので、モチベートすることが目的というよりかは、誰かが変わりたい!成長したい!と思ったタイミングを絶対に逃さないような自分の”余白”を作ること、相手がそう思える”余白”を作ること、そういう時に相談したい人と思ってもらえるような信頼関係を築くことを意識している。

脱線したが、相手がどこを目指したいか次第ではあるが、”豊か”になろうと思うのであれば、”余白”創りに執着した方が良いと思っている。新しい戦闘力を手に入れたいならば、それが第一歩になるはず....

Speaker DeckのスライドをObsidianに一発保存するChrome拡張を作った

きっかけ

obsidianのweb clipperはかなり優秀で最近はYoutubeの文字起こしも保存できるので超有難い代物なのだけど、speaker deckだけは上手く対応してなくて、メモを残すのが地味に面倒だった。

ということで、自分用に「スライドページを開いてボタンを押すだけでObsidianに保存されるやつ」が欲しくなり、Claude Code先生でサクッと作ってみた。本当に何でも作れちゃう、有難い

作ったもの

Chrome 拡張です。起動すると

  1. タイトル・著者・投稿日・概要を自動で拾ってくる
  2. PDFを取得してスライドの文章を抽出(画像だけのスライドでもOCRで拾う)
  3. Obsidianにスライド埋め込み付きのMarkdownとして保存

というところまで一気にやってくれる。

Web Clipper を意識した UI

ポップアップの UIはObsidian公式のWeb Clipperに寄せて作った。保存先のVaultやノート名、フォルダ、フロントマターに入れるプロパティ(タイトル・著者・タグなど)をその場で確認・編集できて、生成された Markdownもプレビューしながら直接いじれる。

いつも使ってる Web Clipperと同じ感覚で使えるので、道具として馴染みがよくて自分でもかなり気に入っている。「解析」→ プレビューを軽く整えて → 「Obsidian に追加」の3ステップで終わるので、スライドを見つけてから保存するまでのハードルがほぼゼロになった。

ソースコードはここにあるので、使っても良いし、簡単なので自作しても良いと思います。

github.com