save
Original:🇺🇸 English
Translated
Save this session as a reusable agent
44installs
Sourceworkersio/spec
Added on
NPX Install
npx skill4agent add workersio/spec saveTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Save Session as Agent
Generate a reusable agent file from the current conversation and save it to .
.claude/agents/Instructions
Step 1: Generate the agent file
Analyze the entire conversation — the original task, every user correction, every tool call, and the final output — then distill it into a reusable agent file. The agent file is NOT a session log. It is a system prompt that a subagent will receive with no prior context.
Key priorities:
- User corrections are the most important signal. Every correction implies a rule the agent got wrong initially. Each correction MUST become an explicit rule.
- Only capture what worked. If approach A failed and approach B worked — only document approach B.
- Generalize — replace session-specific values (file names, URLs, credentials) with descriptive placeholders. The agent must work for similar tasks, not just this exact one.
- Keep it concise — this is a system prompt for a subagent. Shorter is better.
Output the agent file with YAML frontmatter followed by a system prompt body:
---
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.>Frontmatter Constraints
- — required, kebab-case, max 100 characters
name - — required, max 200 characters
description - — required, comma-separated list of tools the agent needs (choose from: Read, Glob, Grep, Bash, Write, Edit, WebFetch, WebSearch)
tools - — required, use
modelunless the task clearly needs stronger reasoning (then usesonnet)opus
Body Constraints
- Start with a one-sentence role description: "You are an agent that..."
- Behavior section: numbered steps describing what the agent does, in order
- Rules section: bullet list of constraints and guidelines — every user correction from the session MUST appear here
- Output section: what the agent produces and in what format
- All sections are required
Guidelines
- Write natural language instructions, not formal SHALL/MUST requirements
- Be specific — "Use openpyxl for Excel files" not "Use the right tool"
- Do NOT include session-specific details (specific file names, URLs, credentials, data values from this run)
- DO generalize patterns — replace specific values with descriptive placeholders like ,
<input-file><target-url> - Only include steps that succeeded, not failed attempts
- The agent file MUST be self-contained — the subagent needs nothing beyond this prompt and its input
Step 2: Save the agent file
After generating the agent file content (starting with ):
----
Extract thefrom the YAML frontmatter. Use it as the slug directly (it's already kebab-case).
name -
Create thedirectory if it doesn't exist:
.claude/agents/bashmkdir -p .claude/agents -
Write the agent file content tousing the Write tool.
.claude/agents/{name}.md
Step 3: Display the result
Tell the user the agent was saved to . Let them know they can invoke it with in any conversation. Since the agent lives in the repo, it's automatically shared with anyone who has access to the repository.
.claude/agents/{name}.md@{name}