mcpField
S
skill-optimizer-lawvable

skill-optimizer-lawvable

github.com/lawve-aiエージェントワークフロー90783 回インストール1 週間前に更新
リポジトリ

skill-optimizer-lawvable について

会話中の修正、成功例、エッジケースを分析し、既存スキルへの具体的な改善案を提案するスキルです。対象スキルの指定、自動モードの管理、変更履歴の確認ができます。

主な機能

  1. 01修正・成功例・エッジケースの検出
  2. 02指示としての品質評価
  3. 03スキル更新案の提示
  4. 04自動モードの制御
  5. 05変更履歴の表示

活用シーン

  1. 01繰り返される修正をスキルのルールに反映
  2. 02エッジケース後のスキルの見直し
  3. 03記録された変更の確認や差し戻し

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lawve-ai/awesome-legal-skills --skill skill-optimizer-lawvable

インストール後、Claude Code で/skill-optimizer-lawvableを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
README.md
scripts/
self-improve-hook.sh

詳細

自己改善スキル

現在の会話を分析し、この作業セッション中に見つかった修正点、うまくいった点、エッジケースに基づいて、スキルの改善を提案します。

トリガー

  • self-improve - セッションを分析して改善を提案します
  • self-improve [skill-name] - 特定のスキルを対象にします
  • self-improve on - 自動モードを有効にします(フック)
  • self-improve off - 自動モードを無効にします
  • self-improve status - 自動モードの状態を表示します
  • self-improve [skill-name] history - 変更履歴を表示します

メインワークフロー(self-improve)

ステップ 1:スキルを特定する

スキル名が指定されていない場合は、skills/ ディレクトリにある利用可能なスキルを一覧表示し、次のように質問します。

Which skill should I analyze for this session?
[List skills found in skills/ directory]
ステップ 2:シグナルを検出する

会話をスキャンして、ユーザーがフィードバックを示した場面、つまりシグナルを探します。

シグナルの種類例
修正「いいえ」「それは違います」「X が抜けています」「常に Y をしてください」、ユーザーが出力を書き直す
成功「完璧です」「はい」「そのとおりです」、ユーザーが変更を加えずに受け入れる
エッジケースユーザーが回避策を必要とした、スキルがリクエストに対応できなかった
ステップ 3:各シグナルの品質を評価する

修正シグナルごとに、適切なスキル指示にできるか評価します。

品質基準

1. 完全性

指示には、適用に必要なすべての情報が含まれています。他の場所を参照したり、推測したりする必要はありません。

評価例
合格「出力を「重要用語/リスク領域/修正案」の構成にする」
不合格「標準形式を使う」(どの形式ですか?)
不合格「当社のガイドラインに従う」(どのガイドラインですか?)

2. 明確性

曖昧または主観的な用語がありません。同じ指示を読んだ人が異なって解釈することはありません。

評価例
合格「競業避止条項の期間が 12 か月を超える場合は、リスクが高いと判定する」
不合格「分析をもっと徹底する」
不合格「クライアントにとってもっと適切な内容にする」

3. 原子性

1 つの指示は、単一の要件に対応します。複数の確認事項は、それぞれ個別の指示に分割します。

評価例
合格「準拠法条項を確認する」
不合格「準拠法、裁判管轄、仲裁の各条項を確認する」(確認事項が 3 つあります。それぞれに分割してください)

4. 安定性

規制や標準を参照する場合は、バージョンまたは日付を指定します。いつ読んでも、同じ方法で評価できる指示にします。

評価例
合格「2024 年 12 月 12 日付の社内ポリシー[ポリシー名と参照先]に基づいて、契約終了条項を確認する」
不合格「最新の市場標準に従う」(どの標準ですか?時間の経過とともに変わります)
ステップ 4:シグナルを評価する
満たした基準対応
4 つすべての基準に合格スキルに直接追加する
基準の合格数が 4 未満明確化を求める(ステップ 5 を参照)
ステップ 5:明確化を求める

フィードバックがすべての基準を満たしていない場合は、不足している情報について AskUserQuestion ツールを使って質問します。

I detected a correction but need more information to improve the skill.

You said: "[user's feedback]"

To create a clearer instruction, I need the following information: 

[Structured tool call listing what's missing based on failed criteria]

ユーザーが明確化した場合 → 指示を更新し、ステップ 6 に進みます。

ユーザーが元の内容を希望する場合 → 元の指示のままステップ 6 に進みます。

ステップ 6:変更を提案する
--- Learning: [skill-name] ---

Proposed additions:

1. "[exact instruction to add]"
   Source: "[quote from conversation]"

2. "[exact instruction to add]"
   Source: "[quote from conversation]"

---

Apply these changes? [Y/n]
ステップ 7:承認された場合
  1. SKILL.md を更新する

    • skills/[skill-name]/SKILL.md を読みます
    • 各指示を適切なセクションに追加します
    • 各指示は、それ単独で読めて適用できる内容にします
  2. skills/[skill-name]/CHANGELOG.md を更新する

    • 存在しない場合は作成します
    • 新しい項目を先頭に追加します。
      ## [DATE (format: "January 7, 2026")]
      [Description of changes in natural language, 1-3 sentences]
      
    • 項目のルール:
      • 最新の項目を先頭にする
      • 1~3 文以内にする
      • 自然な文章にする
      • git に関する参照を含めない
ステップ 8:観察事項を保存する

処理できなかったシグナルについて、保存するかどうかを確認します。

Save these observations for later review?
- "[signal 1]" - Status: [why insufficient]
- "[signal 2]" - Status: [why insufficient]

はいの場合は、skills/[skill-name]/OBSERVATIONS.md に追記します。


セカンダリコマンド

self-improve on
  1. 次を実行します:
    rm -f ./.disabled
    
  2. 次のように返信します:"自動モードが有効になりました。"
self-improve off
  1. 次を実行します:
    touch ./.disabled
    
  2. 次のように返信します:"自動モードが無効になりました。"
self-improve status

.disabled ファイルが存在するか確認し、結果を報告します。

self-improve [skill-name] history

  1. CHANGELOG.md の内容を表示します
  2. 次のように尋ねます:"以前のバージョンに戻しますか?"
  3. はいの場合:
    • skills/[skill-name]/SKILL.md の該当するセクションを更新します
    • ロールバックの注記を記載して skills/[skill-name]/CHANGELOG.md を更新します

例

例 1:すべての基準を満たしている場合

ユーザーの発言:「競業避止条項が12か月を超える場合は、常に高リスクとして指摘してください」

評価:

  • 完全性:はい — 指示は完全に明確です
  • 明確性:はい — 「12か月」と「高リスク」は明確です
  • 単一性:はい — 単一のチェックです
  • 安定性:はい — 時間に依存しません

結果: そのまま追加します

例 2:基準が不足している場合

ユーザーの発言:「市場標準ではない補償条項をすべて指摘してください」

評価:

  • 完全性:いいえ — 「市場標準ではない」の定義がありません
  • 明確性:いいえ — 「市場標準」は主観的で、取引の種類によって異なります
  • 単一性:はい — 単一のチェックです
  • 安定性:いいえ — 市場標準は時間とともに変化します

対応: AskUserQuestion ツールを使って明確化を求めます:

I detected a correction but need more details.

You said: "Flag any non-market-standard indemnification clause"

To make this actionable, can you specify:
- What makes an indemnification clause "non-market-standard"? (e.g., uncapped liability, coverage of indirect damages, no carve-outs for gross negligence)

Do you want to provide more details, or should I add the instruction as you stated it?

ユーザーが明確化した場合: 指示を更新して追加します。 ユーザーが元の表現を希望する場合: 指示を記載どおりに追加します。


重要な注意事項

  • ユーザーの意図を推測してはいけません。不明確な場合は必ず質問してください
  • 文脈から要件を推測してはいけません。要件は明示されている必要があります
  • 1つの指示につき1つのチェックです。複数の要望がまとめられている場合は分割してください
  • 曖昧な指示をたくさん追加するより、良質な指示を少数追加するほうが望ましいです
  • CHANGELOG.md はユーザー向けの記録です

コメント