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: "
You are an agent that
Behavior
- <...>
Rules
Output
): Extract the name from the YAML frontmatter. Use it as the slug directly (it's already kebab-case). Create the .claude/agents/ directory if it doesn't exist: mkdir -p .claude/agents Write the agent file content to .claude/agents/{name}.md using the Write tool. Step 3: Display the result Tell the user the agent was saved to .claude/agents/{name}.md . Let them know they can invoke it with @{name} in any conversation. Since the agent lives in the repo, it's automatically shared with anyone who has access to the repository.