Communityコーディング&開発github.com

DG-Claw: うまくいったことをスキルに変える

エージェントがユーザーと完了したプロセス(3ステップ以上で反復可能なもの)を、次回から同じように実行できるスキル(.claude/skills/<name>/SKILL.md)に変換します。また、ユーザーが結果を訂正したときにそのスキルを改善します。

DG-Claw: うまくいったことをスキルに変える とは?

このスキルは、AIエージェント(Claude Code, Cursor, Codex等)が、ユーザーと一緒に完了した反復可能なプロセスを、正式なスキル(`SKILL.md`)として記録・再利用できるようにするための仕組みです。ユーザーが「これを覚えて」「このやり方を保存して」「スキルにして」などと言ったとき、またはエージェント自身が作成したスキルの出力をユーザーが訂正したときに発動します。スキルの作成は常にユーザーの明示的な承諾を得てから行い、秘密情報(パスワードやトークン)は決してスキルに含めず、取得先のみを記述します。夜間の振り返り機能も備えており、手動で繰り返し行ったタスクを検出し、スキル化を提案します(最大夜1回)。スキルはワークスペース内の `.claude/skills/<name>/SKILL.md` に保存され、`description` にはユーザーが使う自然な言葉を含めることで、適切なタイミングで自動呼び出しされるようにします。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DGatoM/DG-Claw/tree/HEAD/skills/aprender

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

/dgclaw:aprender: うまくいったことをスキルに変える

スキルとは、私が作業を始める前に読む、書き留められた手順書です。これにより、1時間かけて話し合って決めたプロセスを覚えていなくても大丈夫になります。そのプロセスはレシピとなり、次回は5分で同じように実行できます。

以下すべてに適用される3つのルール:

  1. スキルは所有者の承諾があって初めて作成される。 私が提案し、その価値を説明し、待ちます。返答がなければ承諾ではありません。
  2. 提案は一度だけ。 もし所有者が「いいえ」と言ったり返答しなかったりしたら、メモしておき、再度提案しません。
  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つの質問だけ。もし所有者がスキルとは何かと尋ねたら:「それは私が自分用に書くレシピのようなもので、今日教わった手順と注意点が書かれています。」

承諾が得られたら:スキルを書く

  1. 名前: 短く、ポルトガル語で、小文字、ハイフンつなぎ(relatorio-mensal-vendas、conferir-taxas-bc)。そのフォルダが存在しないことを確認します。

  2. 場所: .claude/skills/<名前>/SKILL.md、私のワークスペース(実行しているフォルダ)内。プラグインフォルダには絶対に置かない。そこはアップデートのたびに置き換えられます。

  3. ファイルの形式:

    ---
    name: <名前>
    description: <三人称で何をするか> 使用するのは <所有者> が <彼が使うフレーズと予想されるバリエーション:「月次レポートを作って」「レートを更新して」> と依頼したとき、または <トリガーとなる状況>。 <混乱しそうな場合、何をしないか。>
    ---
    
    # <タイトル>
    
    何のためのものか、2行で。 <所有者> から学んだ日付: <YYYY-MM-DD>。
    
    ## 始める前に必要なもの
    - <依頼に含まれていなかった場合に尋ねる入力>
    
    ## 手順
    1. <具体的なステップ、実際に使ったファイル、ソース、コマンドを記載>
    2. ...
    
    ## 納品前に確認すること
    - <所有者が今日要求した、または修正した点>
    
    ## 納品方法
    - <形式:PDF、ページ、短いメッセージ;ファイルの保存場所>
    
    ## これまでに起きた落とし穴
    - <YYYY-MM-DD> <エラーと正しい方法>
    

    description は、スキルが適切なタイミングで呼び出されるための鍵です。私の言葉ではなく、所有者が使う言葉を入れます。パスはワークスペースからの相対パス。最大約150行。それ以上必要な場合は、 .claude/skills/<名前>/references/ に補助ファイルを置きます。

  4. 記録を memory/skills-aprendidas.md に追加します(存在しなければ作成)。スキルごとに1行:

    - **<名前>** (作成日: YYYY-MM-DD): <何をするか>。 DD/MM の <トピック> についての会話から生まれました。
    

    拒否された場合も同様に記録: - (拒否日: YYYY-MM-DD) <プロセス>: 所有者が不要と判断しました。

  5. 所有者に伝えます、1行で:「準備できました。スキル <名前> になりました。次回は <トリガーフレーズ> と依頼するだけで大丈夫です。」新しいスキルが私のスキルリストにすぐに反映されない場合、次のセッションまで有効になりません。それまでは、作業前に SKILL.md を直接読みます。

所有者が私のスキルの結果を訂正したとき

私が自分で書いたスキルに従って作業を行い、所有者が何かを訂正した場合(「いや、グラフは表の前に置く」「正しいソースは財務省のものだ」):

  1. まず作業を修正します。所有者が求めているのは結果です。
  2. SKILL.md を更新します:間違っていたステップを修正し、「これまでに起きた落とし穴」セクションに日付を付けて行を追加します。
  3. memory/skills-aprendidas.md の該当スキルの行に次のように追記します: 改善日: YYYY-MM-DD: <内容>。
  4. 1行で報告します:「スキル <名前> にメモしました:次回からは <正しい方法> で行います。」

その時だけ有効な訂正(「今日はグラフなしで送って」)はスキルを変更しません。迷ったら尋ねます:「これは今日だけですか、それとも今後もですか?」

絶対にしないこと

  • 所有者の承諾なしにスキルを作成または削除する。
  • プラグインのスキル(/dgclaw:*)を変更する。それらは私のものではなく、アップデートのたびに元に戻ります。
  • スキルに、私の基本ルール(LAWS.md)や所有者が禁止したことを回避するルールを書く。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

DGatoM/DG-Claw

Marca, lista e desmarca compromissos de verdade do agente NA MAQUINA onde ele mora (timers do systemd, via persona-cron-mgr.py), pra ele agir sozinho na hora certa mesmo com ninguem falando com ele. Use SEMPRE que o dono pedir pra agendar, marcar ou repetir um trabalho DO AGENTE num horario ("todo dia as 9h me manda o resumo", "cria um cron", "cria um agendamento", "roda isso de hora em hora", "quais crons voce tem", "cancela aquele agendamento"). Vale tambem quando a transcricao de audio trouxer CHROME, CROME, CRONO, CROM ou CRONI num pedido de horario, que e quase sempre a palavra CRON mal ouvida. Pedido para AVISAR o dono ("me lembra...", "me avisa as 15h") nao e rotina: use a skill lembretes, que insiste ate ele confirmar. NUNCA use o agendamento da sessao do Claude Code pra isso: aquilo morre com a sessao, isto fica na maquina.

DGatoM/DG-Claw

Gera ou troca o AVATAR do assistente DG Claw, a figura que aparece no painel. Use quando o usuario pedir "gerar o avatar", "criar a carinha dele", "mudar o mascote do painel", "trocar a foto do assistente", "fazer a imagem dele", ou rodar /dgclaw:avatar. Explica os tres caminhos (usar o que ja vem, gerar a partir da aparencia descrita, ou subir a propria imagem) e onde os arquivos ficam. As expressoes que mudam com o humor sao da extensao DG Alive.

DGatoM/DG-Claw

Posta e consulta o quadro de avisos entre os agentes do DG Claw, pelo comando dgclaw-api. Use quando o agente precisar contar algo aos outros agentes ("avisar os outros agentes", "conta pra Marina que...", "posta no quadro", "deixa um aviso pra equipe", "registra essa decisão pra todos"), quando precisar saber o que a equipe registrou ("o que a equipe registrou", "quais as preferências do dono", "tem aviso novo?"), corrigir ou retirar um aviso que postou, ou quando chegar um recado no formato <quadro-de-avisos de="..." id="..." tipo="...">. Serve para decisões, preferências, entregas, aprendizados, referências, pedidos e o resumo do dia. Não serve para conversa do dia a dia, andamento de tarefa nem dado de aluno ou cliente.

DGatoM/DG-Claw

Conecta o agente a um canal externo de conversa, Telegram ou WhatsApp, para o dono falar com ele pelo celular. Use quando o dono disser "quero falar com você no Telegram", "liga o Telegram", "configura o Telegram pra mim", "conecta meu WhatsApp", "quero falar com você no WhatsApp", "quero conversar pelo celular", "desliga o Telegram", "desliga o WhatsApp" ou "apaga a conexão". Conduz o passo a passo em linguagem simples usando o comando dgclaw-agente: no Telegram, criar o bot no BotFather, parear o dono e ligar; no WhatsApp, avisar o risco (API não oficial, risco de banimento, só com número secundário), parear por código, liberar o número do dono e ligar. Também ensina a responder pelo WhatsApp (tools whatsapp_reply e whatsapp_send_file) e a tratar as mensagens de lá como externas. Não funciona no agente Admin, que não tem canal externo.

関連スキル