Typewriter(代筆屋アプリ)で投稿の下書きを生成するようになって、しばらく使ってみた。技術的には動いてる。でも、出てくる文章が「なんか違う」。
何が違うか、うまく言語化できない。間違ってはない。文法も自然。ハッシュタグの選び方も悪くない。でも僕が書いたものとして並べたら、明らかに浮く。
語尾が硬い、と最初は思った。「〜です」「〜ます」が多い。僕はもっとくだけた語尾を使う。ハッシュタグも、僕は日本語タグを優先するけど、生成されるやつは英語タグが混じる。改行のリズムも違う。一文が長い。
これ、SP(システムプロンプト)に書けば直るのか?
最初はそう思って、SP に「ヒロの文体は〜」と何行か書き足してみた。語尾の例、避ける表現、ハッシュタグの方針。
ちょっとは効いた。でも、Typewriter で投稿を作る時だけ必要なのに、SP に入れると Typewriter 以外の場面——普通の相談とか、コードレビューとか——でも語尾がフランクになる・・・。それは違う。
そういう状況で、Anthropic が出した Agent Skills という機能を、コーディングしてくれている Claude Code(以降 Code)が見つけてきた。
最初に説明を聞いた時、頭の中で映画 Matrix のあのシーンが再生された。トリニティがヘリコプターに乗り込む直前、オペレーターに「ヘリの操縦スキルが必要」と通信して、数秒後に操縦してみせるシーン。必要な時だけ、必要なスキルを脳にダウンロードする。
Skills も同じ構造。.claude/skills/ というフォルダにスキル定義のファイル(Markdown)を置いて、AI エージェント側が必要に応じて参照する。SP みたいに常時持ち歩くんじゃなくて、その場で「装備」する。
聞きながら、頭の中で分類が一つできた。SP が「契約書」だとすると、スキルは「装備品」。この区別は、僕の中では大きかった。
SP は Claude が常に守るルール、僕の恒久情報、人格の核。書き換える人と読む人が決まっていて、改訂のたびに合意し直すもの。スキルはタスクごとに、必要なものを必要な分だけ持つ。装備しなければ持ってない。装備すれば使える。
文体ルールは、Typewriter で投稿を書く時だけ必要なやつ。普通の会話でフランクになる必要はない。だったら、文体は契約書じゃなくて装備品側。「SP に何を書くか」を考えるんじゃなくて、「これは契約書に書く話か、装備品として持たせる話か」を先に分類する。 分類したら書き方も変わる。SP は矛盾なく簡潔に、スキルは具体的に詳細に。
それで、hiro-writing-style という名前のスキルを作った。Code に頼んで雛形を出してもらって、僕が何回か書き直した、たぶんそういう順序。
とりあえず中身はとてもシンプル。
---
name: hiro-writing-style
description: ヒロのX投稿スタイル。投稿文を生成する際に必ず参照。
---
# ヒロさんのX投稿スタイルガイド
## 基本トーン
- カジュアルで親しみやすい
- アーティストらしい視点・感性を活かす
- 自然体で、でも価値のある内容
## 文章の特徴
- 堅すぎない、フランクな言葉遣い
- 体言止めや「〜だよね」「〜かも」などのくだけた口語的表現OK
- 感情や思考のプロセスを見せる
## 避けること
- 過度な宣伝臭
- 堅苦しいビジネス文体
- 説教臭い言い方
実装は Code が SDK の仕様を調べて書いた。ClaudeAgentOptions に cwd と setting_sources=["project"] を渡す。これを指定しないと、フォルダに置いただけのスキルは読み込まれない。SDK v0.1.0 以降、デフォルトでは設定を読まない仕様に変わってる、と Code が説明してきた。セキュリティ強化らしい。setting_sources の存在は僕は知らなかった。Code が試行錯誤の中で見つけてきて、「これを入れないと読まれない」と返してきた。聞いて納得した、というのが正直なところ。
hiro-writing-style/SKILL.md を Typewriter プロジェクトの .claude/skills/ に置いて、バックエンドを再起動した。
で、下書き生成を試してみた。
結果は「ちょっとだけ僕っぽくなった」。これが、今日の時点での正直な評価。
語尾はマシになった。文尾のくだけた口語的表現が出るようになった。ハッシュタグも日本語が多くなった。改行のリズムも前よりは自然。
でも完全に僕の文章かと言われると、違う。これをそのままポストしたら、僕をよく知ってる人なら「ん?」と思うはず。骨格は近づいたけど、細かい温度感がまだズレてる。いろんな細部はまだ拾えてない。
ただ、「ちょっとだけ」でも前進したのは事実。SP に書いた時は他の場面まで漏れたのに対して、スキルなら Typewriter の出力だけが変わる。副作用なしで、対象だけが僕っぽくなる。効いたのは出力の質より、構造の正しさの方だと思う。
ここで頭が動いた。文体スキルが効くなら、他のものも切り出せる。
X 投稿の文体は hiro-writing-style。でも僕の中にあるのはそれだけじゃない。仕事の判断基準、優先順位の付け方、コミュニケーションの作法、過去のプロジェクトで学んだこと。これらも全部、別々の「装備品」として切り分けられるんじゃないか。タスク管理アプリには「優先順位判断」のスキル、お金管理アプリには「予算配分」のスキル、ブレストには「アイデア発想パターン」のスキル。それぞれのアプリが、必要な時に必要な装備をして、その仕事だけに専念する。そうすると SP は「常に持ち歩く核」だけに絞れる。価値観、人格、絶対のルール。
スキルは AI に能力を追加するためのものというより、人格の一部を一時的に拡張させるためのもの、なんじゃないかな。Matrix の比喩がしっくり来るのは、たぶんそこ。
この日の Code との話には、もう一段大きな話も出た。スキルが動的に切り替えられるなら——アプリごとに cwd を変えて別のスキルセットを読み込ませるとか、スキルを 1 箇所に集めて全アプリで共有するとか——各アプリに AI を持たせる必要すらないんじゃないか、という発想。まだ思いつきの段階で、検証は何もしてない。
今日できたのは、40行くらいの Markdown ファイル一個。Typewriter の文章がちょっとだけ僕っぽくなった。それでも、文体は装備品、SP は核だけ、という分類は僕の中でもう固まった。