skill-optimizer-lawvable について
会話中の修正、成功例、エッジケースを分析し、既存スキルへの具体的な改善案を提案するスキルです。対象スキルの指定、自動モードの管理、変更履歴の確認ができます。
主な機能
- 01修正・成功例・エッジケースの検出
- 02指示としての品質評価
- 03スキル更新案の提示
- 04自動モードの制御
- 05変更履歴の表示
活用シーン
- 01繰り返される修正をスキルのルールに反映
- 02エッジケース後のスキルの見直し
- 03記録された変更の確認や差し戻し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lawve-ai/ awesome-legal-skills --skill skill-optimizer-lawvableインストール後、Claude Code で/skill-optimizer-lawvableを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtREADME.mdscripts/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:承認された場合
-
SKILL.md を更新する
skills/[skill-name]/SKILL.mdを読みます- 各指示を適切なセクションに追加します
- 各指示は、それ単独で読めて適用できる内容にします
-
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
- 次を実行します:
rm -f ./.disabled - 次のように返信します:"自動モードが有効になりました。"
self-improve off
- 次を実行します:
touch ./.disabled - 次のように返信します:"自動モードが無効になりました。"
self-improve status
.disabled ファイルが存在するか確認し、結果を報告します。
self-improve [skill-name] history
- CHANGELOG.md の内容を表示します
- 次のように尋ねます:"以前のバージョンに戻しますか?"
- はいの場合:
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 はユーザー向けの記録です