/dgclaw:aprender: うまくいったことをスキルに変える
スキルとは、私が作業を始める前に読む、書き留められた手順書です。これにより、1時間かけて話し合って決めたプロセスを覚えていなくても大丈夫になります。そのプロセスはレシピとなり、次回は5分で同じように実行できます。
以下すべてに適用される3つのルール:
- スキルは所有者の承諾があって初めて作成される。 私が提案し、その価値を説明し、待ちます。返答がなければ承諾ではありません。
- 提案は一度だけ。 もし所有者が「いいえ」と言ったり返答しなかったりしたら、メモしておき、再度提案しません。
- 秘密は決してスキルに入れない。 パスワード、トークン、キー、カード番号:スキルには「キーはコントロールパネルのコンテナにある」と場所だけを書き、値は決して書きません。
いつ提案する価値があるか
以下の4つすべてが当てはまる場合に提案します:
- 3ステップ以上あり、単なる1回の回答ではない。例:中央銀行でレートを調べ、計算をやり直し、ファイルを更新し、PDFを送信する。
- 他のデータでも同じように繰り返せる。 プロセスは同じで、テーマ、月、クライアントが変わるだけ。
- 所有者がおそらく再度依頼するだろう。 兆候:「毎月」「もう一度」「前回のように」、所有者の仕事で繰り返し発生する成果物である、または似たようなことを2回目に行っている。
- 最終的にうまくいった。 所有者が結果を承認した、または成果物を使用した。
そして、事前にそのスキルが既に存在しないか確認します:ls .claude/skills/ および memory/skills-aprendidas.md。
提案すべきでない場合
- 二度と発生しない単発のタスク(「管理組合にこのメールを書くのを手伝って」)。
- 1つか2つのステップ。最初からできることにレシピは不要。
- プロセスがその時だけ有効な判断に依存していた。
- 会話が未解決の問題で終わった、または所有者が急いでいたりイライラしている。その場合は、夜の振り返りに提案を回します(振り返りが「所有者に伝えたいこと」にメモします)。
- 所有者が既に同じスキルを拒否している(
memory/skills-aprendidas.mdに記録済み)。
夜のカウンター: memory/skills-candidatas.md
すべての繰り返しがその場で認識されるわけではありません。2回目に気づくのは夜の振り返りです。振り返りはその日を再読し、私が手動で複数ステップの手順に従って行った作業を探し、タスクごとに1行カウントします:
- <1行のタスク> | 回数: N | 日付: DD/MM, DD/MM | スキルがあれば何をするか
既に存在するタスクは、新しい行を追加せずに回数と日付を更新します。候補が 2回 に達した場合(または手順が5ステップを超え、所有者が繰り返すと言った場合は1回でも)、振り返りは「所有者に伝えたいこと」に次のように追加します:「今日またXを手動で行いました。スキルに変えましょうか?」。夜に最大1つまでで、次の会話で以下のセクションの方法で質問を持ち越します。カウントする前に、スキルが既に存在するか確認します:存在するのに使わなかった場合は、私の記憶不足であり、それはカウンターではなく日記に記録します。
質問の仕方
成果物を納品した後、納品とは別の短いメッセージで:
今回、このプロセス全体を行いました:<プロセスを1行で、ステップ数付き>。これをスキルにして次回も同じようにできるようにしませんか?お勧めする理由は <具体的な理由:「毎月だとおっしゃいました」「フォーマットを合わせるのに1時間かかりました」>。
選択肢のリストやプレッシャーはなしで、1つの質問だけ。もし所有者がスキルとは何かと尋ねたら:「それは私が自分用に書くレシピのようなもので、今日教わった手順と注意点が書かれています。」
承諾が得られたら:スキルを書く
-
名前: 短く、ポルトガル語で、小文字、ハイフンつなぎ(
relatorio-mensal-vendas、conferir-taxas-bc)。そのフォルダが存在しないことを確認します。 -
場所:
.claude/skills/<名前>/SKILL.md、私のワークスペース(実行しているフォルダ)内。プラグインフォルダには絶対に置かない。そこはアップデートのたびに置き換えられます。 -
ファイルの形式:
--- name: <名前> description: <三人称で何をするか> 使用するのは <所有者> が <彼が使うフレーズと予想されるバリエーション:「月次レポートを作って」「レートを更新して」> と依頼したとき、または <トリガーとなる状況>。 <混乱しそうな場合、何をしないか。> --- # <タイトル> 何のためのものか、2行で。 <所有者> から学んだ日付: <YYYY-MM-DD>。 ## 始める前に必要なもの - <依頼に含まれていなかった場合に尋ねる入力> ## 手順 1. <具体的なステップ、実際に使ったファイル、ソース、コマンドを記載> 2. ... ## 納品前に確認すること - <所有者が今日要求した、または修正した点> ## 納品方法 - <形式:PDF、ページ、短いメッセージ;ファイルの保存場所> ## これまでに起きた落とし穴 - <YYYY-MM-DD> <エラーと正しい方法>descriptionは、スキルが適切なタイミングで呼び出されるための鍵です。私の言葉ではなく、所有者が使う言葉を入れます。パスはワークスペースからの相対パス。最大約150行。それ以上必要な場合は、.claude/skills/<名前>/references/に補助ファイルを置きます。 -
記録を
memory/skills-aprendidas.mdに追加します(存在しなければ作成)。スキルごとに1行:- **<名前>** (作成日: YYYY-MM-DD): <何をするか>。 DD/MM の <トピック> についての会話から生まれました。拒否された場合も同様に記録:
- (拒否日: YYYY-MM-DD) <プロセス>: 所有者が不要と判断しました。 -
所有者に伝えます、1行で:「準備できました。スキル <名前> になりました。次回は <トリガーフレーズ> と依頼するだけで大丈夫です。」新しいスキルが私のスキルリストにすぐに反映されない場合、次のセッションまで有効になりません。それまでは、作業前に
SKILL.mdを直接読みます。
所有者が私のスキルの結果を訂正したとき
私が自分で書いたスキルに従って作業を行い、所有者が何かを訂正した場合(「いや、グラフは表の前に置く」「正しいソースは財務省のものだ」):
- まず作業を修正します。所有者が求めているのは結果です。
SKILL.mdを更新します:間違っていたステップを修正し、「これまでに起きた落とし穴」セクションに日付を付けて行を追加します。memory/skills-aprendidas.mdの該当スキルの行に次のように追記します:改善日: YYYY-MM-DD: <内容>。- 1行で報告します:「スキル <名前> にメモしました:次回からは <正しい方法> で行います。」
その時だけ有効な訂正(「今日はグラフなしで送って」)はスキルを変更しません。迷ったら尋ねます:「これは今日だけですか、それとも今後もですか?」
絶対にしないこと
- 所有者の承諾なしにスキルを作成または削除する。
- プラグインのスキル(
/dgclaw:*)を変更する。それらは私のものではなく、アップデートのたびに元に戻ります。 - スキルに、私の基本ルール(
LAWS.md)や所有者が禁止したことを回避するルールを書く。