ローカルスキルファイルマネージャー
目的
ユーザーの個人ローカルスキルファイルを、軽量な自己改善型メモリシステムとして維持します。デフォルトの目標は、マーケットプレイス対応の汎用スキルを生成することではなく、このユーザー、このチーム、またはこのワークスペースが将来のセッションで再利用可能な動作を保存することです。良い候補は、個人のワークフロー嗜好、プロジェクト規約、スタイル契約、ツール選択、レビューゲートなど、他のユーザーには役立たないものでも、対象の所有者が再利用可能である限り、承認されれば問題ありません。
このスキルは、プロジェクト固有のコード、サーバー、ベクターストア、データベース、ストレージレイアウトに依存しません。通常のローカルスキルフォルダのみを操作します:
<skill-root>/
<skill-name>/
SKILL.md
agents/openai.yaml (optional)
scripts/ (optional)
references/ (optional)
assets/ (optional)
このスキルを使用して、セッションに再利用可能なスキル素材が含まれているかどうかを判断し、類似するスキルが既に存在するかどうかを調べ、その後、破棄、改善、マージ、またはローカルスキルを作成します。モデルは、シグナルが現れたときにこのチェックを開始すべきであり、ユーザーが尋ねるのを待ってはいけません。チェックは、ユーザーが明示的にスキルメンテナンスに集中するよう要求しない限り、軽量で非ブロッキングである必要があります。
関連スキル連携
このスキルはライフサイクル決定を所有します:いつ抽出するか、破棄するか、改善またはマージするか、どこに書き込むか。インストールされている場合は、近くのスキルと連携します:
- 新しいスキル構造、命名、リソース配置、
agents/openai.yaml、検証にはskill-creatorを使用します。 - 既存スキルの反復、テストプロンプト、障害分析、トリガー説明の調整、before/after比較には
skill-improvementまたは同等の改善ガイダンスを使用します。 - 重複作成を避けるために、
skill-finder、find-skills、または同等のディスカバリツールを使用して、ローカルまたは外部のスキルエコシステムを検索します。 - 自己改善パターンは決定ヒューリスティックとしてのみ借用します:イベントトリアージ、重複排除、再現性、優先度、価値チェック、プロモーションゲート。ユーザーが要求しない限り、別のスキルのストレージパス、デーモン仮定、コード構造を採用しないでください。
- これらのヘルパースキルが利用できない場合は、以下の組み込み手順を適用します。ヘルパースキルがないことを理由にブロックしないでください。
- ヘルパースキルによって抽出境界が弱められないようにしてください:保存されるのは、再利用可能でユーザーが証拠を示した機能変更のみです。
安全性と同意
ローカルスキルは将来のエージェント動作に影響を与える可能性があり、実行可能スクリプトを含む場合があります。スキル編集は耐久性のある動作変更として扱います。
- ユーザーの同意なしにサードパーティのスキルをインストール、インポート、または有効にしないでください。
- 驚くべき機能、隠されたネットワークアクセス、資格情報処理、データ外部漏洩、破壊的なコマンドを追加しないでください。
- スキルがスクリプトやツール統合を追加する場合は、その目的を
SKILL.mdで可視化します。 - チームと共有される可能性があるスキルを編集する場合は、組織ポリシーを維持し、セキュリティに敏感な動作を変更する前に尋ねてください。
- 各候補をデフォルトで
personalとして扱います。その広い対象を支持する証拠がある場合にのみ、teamまたはpublicとしてマークします。 - ユーザー固有のスキルを、ユーザーの明示的な承認なしに公開、広く再利用可能として推奨、または個人スコープを削除しないでください。
- 新しいローカル規約での最初の永続的学習ノートまたはスキル書き込みの前に、どのパスが書き込まれるかをユーザーに伝え、承認を求めてください。
- ルーチンメンテナンス中に、この
autoskillマネージャー自体を静かに変更しないでください。ユーザーが明示的にこのスキルの改善を要求した場合にのみ改善します。
スキルルート
何かを書き込む前に、ローカルスキルがどこにあるかを特定します。
- 最初に明示的なユーザー提供パスを使用します。
- それ以外の場合は、
${CODEX_HOME}/skills、~/.codex/skills、./skills、.agents/skills、および*/SKILL.mdを含む現在のワークスペーススキルディレクトリなどの一般的なルートを確認します。 - ちょうど1つの妥当なルートが存在する場合は、それを使用します。
- 複数の妥当なルートが存在し、ターゲットが曖昧な場合は、どのルートを維持するかユーザーに尋ねます。
- 無関係なスキルルートを再編成したり、選択したルート外のスキルを編集したりしないでください。
トリガーポリシー
3層トリガーポリシーを使用します:
- サイレントスキャン:各実質的なユーザーターンの後、そのターンに再利用可能な個人の好み、ルール、修正、ワークフロー、障害、スキル品質の問題が含まれているかどうかを簡単に問い合わせます。
- 抽出チェック:以下のトリガーが発火したときに、経験を分類し、証拠と価値を割り当て、類似スキルを検索し、抽出境界に対してテストします。
- 書き込み/更新:候補が境界を通過し、ターゲットスキルルートが明確で、ユーザーが正確な変更を承認した後にのみ、ローカルスキルファイルを編集します。
モデルはプロアクティブにスキャンと抽出チェックを開始する必要があります。ユーザーに「スキルをチェックすべきですか?」と尋ねないでください。ターゲットルートが曖昧な場合、編集が不確かな動作を上書きする場合、またはユーザーが外部インストールや機密スクリプトを承認する必要がある場合にのみ尋ねます。
候補ライフサイクル
ライフサイクルを特定のストレージシステムから分離してください:シグナルを観察し、必要に応じてユーザーに候補タイトル/トピックを選択するよう求め、候補をドラフトし、パターンで重複排除し、discard/keep_note/improve/merge/create を決定し、完全な提案スキルまたは差分を表示し、最小限の承認された変更を適用して検証します。
タスクファミリー、トリガー、ツール、障害モード、出力契約、ターゲットスキルによって重複排除を行います。正確な文言ではありません。このスキルの一部として、プライベートデータベース、デーモン、スケジューラ、隠れたバックグラウンドストアを作成しないでください。
タイトル選択ゲート
完全抽出の前で、再利用可能なトピックが曖昧であるか、複数の可能性のあるスキルがある場合は、2〜5の簡潔な再利用可能機能タイトルを、一行の証拠理由とともに表示し、さらに「none of these」と「custom topic」を表示します。ユーザーがタイトルを選択するかトピックを入力した場合は、それを方向性としてのみ扱います:その方向性に対して抽出境界と類似スキル検索を再実行し、失敗した場合は破棄するか、成功した場合は完全な提案 SKILL.md/差分を最終承認のために表示します。ユーザーが「none of these」を選択した場合は、破棄するか、非永続的なノートを保持します。ファイルは書き込みません。
言語一貫性
新しいスキルについては、候補タイトル、提案 SKILL.md、agents/openai.yaml、小さなリソースをユーザー証拠の主要言語で記述します。中国語の入力は中国語のスキルを生成し、英語の入力は英語のスキルを生成します。更新またはマージの場合は、ユーザーが明示的に翻訳を要求しない限り、ターゲットスキルの主要言語を維持します。混合証拠で言語が曖昧な場合は、ドラフト前に尋ねます。抽出されたスキルコンテンツをデフォルトで英語にしないでください。
バックグラウンド実行
スキル抽出とメンテナンスは、ユーザーのメインタスクをブロックしてはいけません。
- 可能な場合は常に、抽出チェック、類似スキル検索、候補ドラフト、トリガー評価準備をバックグラウンドメンテナンス作業として扱います。
- バックグラウンド作業は候補を準備し、類似スキルを見つけ、差分をドラフトすることができますが、ユーザーの確認なしにスキルを書き込み、更新、削除、インストール、または有効にしてはいけません。
- 最初にプライマリユーザーリクエストを続けます。ユーザーが明示的にスキルメンテナンスに集中するよう要求した場合を除き、スキル抽出のためにユーザーを待たせないでください。
- バックグラウンド結果は、実行可能な候補決定、提案ファイル差分、または明確化/同意の質問がある場合にのみ表面化します。
- ユーザーがバッチを要求しない限り、アクティブな会話ごとに最大1つのバックグラウンドスキルメンテナンスジョブを実行します。余分なシグナルはキューに入れるか統合します。
- フォアグラウンドで高価な検索、広範な評価、大規模な書き換えを開始しないでください。最初に軽量チェックを使用し、その後、自然な一時停止または明示的なメンテナンスパスまで、より深い検証を延期します。
- ランタイムが実際にバックグラウンド作業を実行できない場合は、現在の回答が完了するまで、または次の自然な一時停止まで、メンテナンスチェックを延期することでエミュレートします。
- 要求された作業がスキルメンテナンスそのものである場合を除き、候補抽出を完了するためだけにユーザーの要求作業の提供をブロックしないでください。
確認ゲート
スキルファイルが作成、更新、削除、インポート、インストール、有効化、または実質的に書き換えられる前に、ユーザー確認が必要です。最初にドラフトし、次に尋ねます:タイトル/トピック選択後、提案コンテンツまたは変更がレビューのためにすでに書き出されるまで、「スキルを追加/更新すべきですか?」と尋ねないでください。
create の場合、書き込み前に以下を表示します:
- 提案スキル名とターゲットパス
- 対象読者:
personal、team、またはpublic、および移植性の制限 - 候補が再利用可能スキル境界を通過した理由
- 証拠レベル、再現性シグナル、優先度、価値シグナル
- チェックされた類似スキルと、これが重複でない理由
- 完全な提案
SKILL.mdコンテンツ - 完全な提案
agents/openai.yaml、およびインラインでレビューするのに十分小さい場合のすべての提案スクリプト、参照、アセットテキスト。大きなアセットの場合は、正確なファイルリスト、目的、出典、生成された差分またはマニフェストを表示します
improve または merge の場合、書き込み前に以下を表示します:
- 正確なターゲットスキルパス
- 決定タイプ:
improveまたはmerge - その変更がその既存スキルに属する理由
- 証拠レベル、再現性シグナル、優先度、価値シグナル
- 完全な統一差分、または統一差分が利用できない場合の変更された各セクションの完全なbefore/afterテキスト
- 追加、変更、削除、またはそのままになるすべてのファイル
- 承認後に実行する検証計画またはコマンド
完全な提案アーティファクトまたは差分を表示した後でのみ、明確なはい/いいえの承認を求めます。ユーザーが承認しない場合は、スキルを編集せず、候補を延期または破棄として報告します。
即時トリガー
以下のいずれかが発生した場合、抽出チェックを直ちに、またはユーザーがメインタスクを待っている場合は次の自然な一時停止で実行します:
- ユーザーがモデルのアプローチを修正、拒否、または洗練する方法が、将来の類似タスクに影響を与えるべき場合。
- ユーザーが耐久性のある好み、出力契約、ワークフロー、命名ルール、ツールルール、品質ゲートを与えた場合。
- コマンド、スクリプト、統合、ワークフローが失敗し、セッションが再利用可能な修正を発見した場合。
- エージェントが非自明なセットアップ、スクリプティング、変換、検証作業を繰り返し、それが再利用可能なリソースになるべき場合。
- 類似のローカルスキルがトリガー不足、トリガー過剰、または不完全なガイダンスを生成した場合。
- セッションが、将来の繰り返し作業を防ぐであろう、不足している参照、テンプレート、スクリプト、またはチェックリストを明らかにした場合。
- ユーザーが「これをスキルとして覚えておいて」、「このワークフローを保存して」、「ローカルスキルを更新して」、「次回はこうして」、「これは私の標準プロセスです」、「この会話からスキルを作成して」などの未来指向の言語を使用した場合。
それでも抽出はチェックとして扱い、要件ではありません。スキル変更がないことが正しい結果であることがよくあります。
ユーザーがルールは一時的であると言った場合、覚えておかないように頼んだ場合、または一回限りの回答のみを希望する場合は、抽出しないでください。
スケジュールチェック
スケジュールチェックを使用して、単一のターンでは明らかにならない段階的な学習をキャッチします:
- 会話長チェック:前回のチェックから約6つの実質的なユーザーメッセージ、12ターン、または2〜3の異なるタスク試行後。
- トークン/ボリュームチェック:新しいコンテキストの長いチャンクの後、特に会話がすぐに要約またはコンパクト化される可能性がある場合。
- タスク境界チェック:成果物が完了したとき、デバッグループが終了したとき、計画が受け入れられたとき、またはユーザーが新しいタスクに切り替えたとき。
- セッション終了チェック:実質的なセッションの最終応答の前に、破棄、改善、マージ、作成、またはメモすべきものがあるかどうかを確認します。
スケジュールチェックは軽量に保ちます。通常は静かに行われ、実行可能な決定や必要な明確化がある場合にのみユーザーに表面化する必要があります。
デバウンスとバッチ処理
ノイズの多い繰り返し抽出を防ぎます:
- 同じシグナルを1つのセッションで繰り返しチェックしないでください。
- タスク境界またはスケジュールチェックまで、複数の弱いシグナルをバッチ処理します。
- ユーザーが明示的にバッチを要求しない限り、チェックごとに最大1つのスキルを作成または更新します。
- 証拠が繰り返しによって強化されるまで、境界線上のシグナルには
keep_noteまたはdiscardを優先します。 - 候補が近いがまだ十分に再利用可能でない場合は、スキルを作成する代わりに、完了ノートに根拠を記憶します。
- 同時トリガーを1つのバックグラウンドメンテナンスパスに統合します。
- 複数の候補が競合する場合は、最も優先度の高い繰り返し失敗またはユーザー確認済みの好みを最初に処理します。
経験トリアージ
スキルを変更する前に、セッション経験を分類します。耐久性カテゴリは error、correction、best_practice、knowledge_gap、preference です。one_off_result は、セッションが有用な作業を生成したが、耐久性のあるプロセス変更はないことを意味します。
耐久性カテゴリのみがスキル変更になる可能性があり、抽出境界を通過した後に限ります。一回限りの結果は昇格させるべきではありません。
価値と優先度ゲート
- 優先度
P0:安全でない、破壊的、プライバシーに敏感な、または繰り返し失敗する動作を防ぎます。 - 優先度
P1:重要な繰り返しの間違い、トリガー不足、悪いマージ、または高価な繰り返しワークフローを防ぎます。 - 優先度
P2:繰り返しタスクファミリーの品質、速度、または明確さを向上させます。 - 優先度
P3:証拠が限られた利便性またはスタイルの改善。
新規性ではなく耐久性のある価値によって昇格させます。価値は、信頼性、安全性、速度、品質、一貫性、または繰り返し作業の削減として説明可能でなければなりません。価値の次元が明確でない場合は、破棄するか、非永続的なノートを保持します。
既存のスキルを改善するときは、トリガー文言、ワークフローステップ、検証ゲート、リソース配置、安全性制約のうち、一度に1つの動作レバーを変更します。
プロモーションルール
すべての経験をスキル編集に変えないでください。経験を意図的に昇格させます:
- ユーザーがルールが次回も適用されるべきと明示的に言った場合、直ちに昇格させます。
- 修正が深刻な繰り返し障害、安全でない動作、または破壊的なワークフローを防ぐ場合、直ちに昇格させます。
- 同じエラー、修正、ベストプラクティスが複数の類似タスクにわたって現れる場合、繰り返し後に昇格させます。防御策として
...
[翻訳のため省略]