mcpField
S
save

save

github.com/workersioエージェントワークフロー211134 回インストール23 週間前に更新
リポジトリ

save について

saveは、現在の会話を再利用可能なエージェント指示ファイルにまとめ、`.claude/agents/` に保存するスキルです。内容の整理、ファイル形式、保存先の案内を定めています。

主な機能

  1. 01会話をエージェントプロンプトに整理
  2. 02ユーザーの修正をルールに反映
  3. 03YAMLフロントマターと必須セクション
  4. 04`.claude/agents/` への保存
  5. 05保存先と呼び出し方法の案内

活用シーン

  1. 01完了したタスクから再利用可能なエージェントを作成
  2. 02ユーザーの修正を今後のエージェントルールに反映
  3. 03リポジトリ単位のエージェントプロンプトを共有

インストール

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

$npx skills add https://github.com/workersio/skills --skill save

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

詳細

セッションをエージェントとして保存する

現在の会話から再利用可能なエージェントファイルを生成し、.claude/agents/ に保存します。

手順

ステップ 1:エージェントファイルを生成する

元のタスク、ユーザーによるすべての修正、すべてのツール呼び出し、最終出力を含む会話全体を分析し、再利用可能なエージェントファイルにまとめます。エージェントファイルはセッションログではありません。事前のコンテキストがない状態でサブエージェントが受け取るシステムプロンプトです。

重要な優先事項:

  1. ユーザーによる修正が最も重要な手がかりです。 修正のたびに、エージェントが最初に誤っていたルールが示されます。各修正を必ず明示的なルールにしてください。
  2. うまくいったことだけを記録します。 アプローチ A が失敗し、アプローチ B が成功した場合は、アプローチ B だけを記載します。
  3. 一般化します。 ファイル名、URL、認証情報など、セッション固有の値は説明的なプレースホルダーに置き換えます。エージェントは今回と同じタスクだけでなく、類似のタスクにも対応できる必要があります。
  4. 簡潔にします。 サブエージェント向けのシステムプロンプトなので、短いほど適切です。

YAML フロントマターの後にシステムプロンプト本文を続けて、エージェントファイルを出力します。

---
name: "<kebab-case-name>"
description: "<one-liner, max 200 chars>"
tools: Read, Glob, Grep, Bash, Write, Edit
model: sonnet
---

You are an agent that <role description — what this agent does>.

## Behavior

1. <First step the agent should take>
2. <Next step>
3. <...>

## Rules

- <Rule derived from user correction or session learning>
- <Another rule>

## Output

<What the agent should produce — format, structure, location.>
フロントマターの制約
  • name — 必須。kebab-case で、100 文字以内
  • description — 必須。200 文字以内
  • tools — 必須。エージェントに必要なツールをカンマ区切りで列挙します(次から選択:Read、Glob、Grep、Bash、Write、Edit、WebFetch、WebSearch)
  • model — 必須。より高度な推論が明らかに必要な場合を除き、sonnet を使用します(その場合は opus)
本文の制約
  • 役割を説明する 1 文から始めます:「あなたは、…を行うエージェントです。」
  • Behavior セクション:エージェントが行う処理を順番に番号付きで記述します。
  • Rules セクション:制約とガイドラインを箇条書きにします。セッションでのユーザーによる修正をすべてここに記載します。
  • Output セクション:エージェントが生成するものと、その形式を記述します。
  • すべてのセクションが必須です。
ガイドライン
  • 形式的な「しなければならない」という要件ではなく、自然な言葉で指示を書きます。
  • 具体的に記述します。「適切なツールを使う」ではなく、「Excel ファイルには openpyxl を使う」のようにします。
  • セッション固有の詳細(この実行で使用した具体的なファイル名、URL、認証情報、データ値など)は含めないでください。
  • パターンは一般化します。具体的な値は <input-file>、<target-url> のような説明的なプレースホルダーに置き換えます。
  • 成功した手順だけを含め、失敗した試行は含めないでください。
  • エージェントファイルは自己完結している必要があります。サブエージェントが必要とするのは、このプロンプトと入力のみです。
ステップ 2:エージェントファイルを保存する

エージェントファイルの内容を生成したら(--- から開始):

  1. YAML フロントマターから name を抽出します。すでに kebab-case なので、そのままスラッグとして使用します。

  2. .claude/agents/ ディレクトリが存在しない場合は作成します:

    mkdir -p .claude/agents
    
  3. Write ツールを使用して、エージェントファイルの内容を .claude/agents/{name}.md に書き込みます。

ステップ 3:結果を表示する

エージェントを .claude/agents/{name}.md に保存したことをユーザーに伝えます。どの会話でも @{name} を使って呼び出せることを知らせます。エージェントはリポジトリに保存されるため、リポジトリにアクセスできる全員が自動的に共有できます。

コメント