Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts

Apache-2.0Auto-check passedAgent Workflows

Install Save

skills CLI
$ npx skills add AgentToolkit/altk-evolve --skill save -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgentToolkit/altk-evolve save --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgentToolkit/altk-evolve.git skills-src && mkdir -p .claude/skills && cp -r skills-src/platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/save .claude/skills/save && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
save
GitHub stars
122
Token cost
~3.4k tokens
SKILL.md length
1,174 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
Apache-2.0

At a glance

Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts

  • Works in 9 steps: Review Current Session → Identify the Workflow Pattern → Identify Parameterizable Values → …
  • Agent Workflows work in your project
  • SKILL.md covers Overview, When to Use, Workflow and Error Handling, plus 6 more sections
  • Calls python3

What it does

Save is an agent skill from AgentToolkit/altk-evolve. Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: Self improving agents through iterations. The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “Use the save skill to capture the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts”
  • “/save”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Review Current Session
  2. Identify the Workflow Pattern
  3. Identify Parameterizable Values
  4. Identify Script Opportunities
  5. Generate Skill Document
  6. Prompt for Skill Name
  7. Check for Existing Skill
  8. Save the Skill
  9. Provide Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 8deea81. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Save loads about 3.4k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,174 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgentToolkit/altk-evolve at commit 8deea81, republished under its Apache-2.0 licence (© AgentToolkit). 1,174 words, ~3,387 tokens.

Download SKILL.mdSave it as .claude/skills/save/SKILL.md (or your agent's skills folder).
name
save
description
Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts

Save Session as Skill

Overview

This skill analyzes your current successful session and generates a new reusable skill with:

  • SKILL.md: Comprehensive documentation with workflow steps, parameters, and examples
  • Helper scripts: Python scripts for any programmatic operations identified in the workflow

It extracts the workflow pattern from your conversation history (user requests, reasoning steps, tool calls, and responses) and creates parameterized files that can be invoked in future sessions.

Use this skill when you've completed a task successfully and want to save the workflow for future reuse.

When to Use

  • After completing a multi-step task successfully
  • When you've discovered a useful workflow pattern
  • When you want to standardize a process for future use
  • After solving a problem that might recur
  • When the workflow involves programmatic operations that could benefit from helper scripts

Workflow

Step 1: Review Current Session

Analyze the conversation history available in the current context, which includes:

  • User messages: All requests and questions from the user
  • Assistant reasoning: Thinking tags and decision-making process
  • Tool calls: All tools invoked with their arguments
  • Tool responses: Results and outcomes from each tool
  • Final outcome: The successful result achieved

Action: Review the entire conversation from start to current point

Step 2: Identify the Workflow Pattern

Extract the high-level workflow by:

  1. Identifying the goal: What was the user trying to accomplish?
  2. Grouping related actions: Which tool calls belong together as logical steps?
  3. Recognizing decision points: Where did the workflow branch based on conditions?
  4. Noting error handling: How were errors or edge cases handled?
  5. Extracting the sequence: What is the step-by-step process?

Example Pattern Recognition:

User Goal: "Read a file and display its contents"

Workflow Pattern:
1. Attempt to read file at expected location
2. If access denied → check allowed directories
3. Search for file in allowed directories
4. Read file from correct location
5. Format and present results
Step 3: Identify Parameterizable Values

Apply conservative parameterization - only parameterize obvious session-specific values:

Parameterize:

  • Absolute file paths → {file_path} or {directory}
  • Specific file names → {filename}
  • User-specific data → {data_value}
  • Project-specific names → {project_name}
  • Workspace directories → {workspace_dir}

Keep Unchanged:

  • Tool names (e.g., read_file, execute_command)
  • General patterns and logic
  • Error handling approaches
  • Workflow structure

Example:

Original: "Read /home/user/projects/myapp/config.json"
Parameterized: "Read {project_dir}/{config_file}"
Step 4: Identify Script Opportunities

Analyze the workflow to determine if helper scripts would be beneficial:

Generate scripts when the workflow includes:

  • Data transformation or parsing (JSON, CSV, XML processing)
  • File operations (reading, writing, searching, filtering)
  • API calls or HTTP requests
  • Complex calculations or data analysis
  • Repetitive operations that could be automated
  • Integration with external tools or services

Script Types to Consider:

  • Data processors: Parse, transform, or validate data
  • File handlers: Read, write, or manipulate files
  • API clients: Interact with external services
  • Validators: Check inputs or outputs
  • Formatters: Convert data between formats

Example:

Workflow includes: Reading JSON file, extracting specific fields, formatting output
→ Generate: parse_and_format.py script
Step 5: Generate Skill Document

Create a new SKILL.md file with the following structure:

markdown
---
name: {skill-name}
description: {one-line description of what this skill does}
---

# {Skill Title}

## Overview

{Brief description of the skill's purpose and when to use it}

## Parameters

{List parameters the user needs to provide}

- **{param_name}**: {description and example}

## Workflow

### Step 1: {Step Name}

{What this step does}

**Action**: {Tool or approach to use}

**Example**:

{Example tool call or command}


{If helper script exists, reference it}
**Helper Script**: Use `scripts/{script_name}.py` for this operation

{Repeat for each step}

## Helper Scripts

{If scripts were generated, document them}

### {script_name}.py

**Purpose**: {What the script does}

**Usage**:
```bash
python3 plugins/evolve-lite/skills/{skill-name}/scripts/{script_name}.py [arguments]

Parameters:

  • {param}: {description}

Example:

bash
python3 plugins/evolve-lite/skills/{skill-name}/scripts/parse_data.py input.json

Error Handling

{Common errors and how to handle them}

Examples

Example 1: {Use Case}

Input:

  • {param}: {value}

Expected Output: {What the user should see}

Notes

{Additional guidelines or context}


### Step 6: Generate Helper Scripts

For each identified script opportunity, create a Python script with:

**Script Template**:
```python
#!/usr/bin/env python3
"""
{Script description}

Usage:
    python3 {script_name}.py [arguments]

Arguments:
    {arg1}: {description}
    {arg2}: {description}
"""

import sys
import json
import argparse
from pathlib import Path


def main():
    """Main function implementing the script logic."""
    parser = argparse.ArgumentParser(description="{Script description}")
    parser.add_argument("{arg1}", help="{description}")
    parser.add_argument("{arg2}", help="{description}", nargs="?")

    args = parser.parse_args()

    # Implementation based on workflow pattern
    try:
        # Core logic here
        result = process_data(args.{arg1})
        print(json.dumps(result, indent=2))
    except Exception as e:
        print(f"Error: {e}", file=sys.stderr)
        sys.exit(1)


def process_data(input_data):
    """Process the input data according to the workflow pattern."""
    # Implementation extracted from session workflow
    pass


if __name__ == "__main__":
    main()

Script Guidelines:

  • Include proper error handling
  • Accept parameters via command-line arguments
  • Output results in a structured format (JSON when appropriate)
  • Include usage documentation in docstring
  • Make scripts executable (chmod +x)
Step 7: Prompt for Skill Name

Ask the user: "What would you like to name this skill?"

Naming Guidelines:

  • Use lowercase letters
  • Separate words with hyphens (kebab-case)
  • Be descriptive but concise
  • Examples: read-file-with-permissions, deploy-to-staging, analyze-logs

Suggest a name based on the workflow if the user is unsure:

  • Extract key actions and objects from the workflow
  • Combine into a descriptive name
  • Example: "Read file → Check permissions → Search" → read-file-with-permission-check
Step 8: Check for Existing Skill

Before saving, check if a skill with this name already exists:

Action: Check if plugins/evolve-lite/skills/{skill-name}/SKILL.md exists

If exists:

  • Inform the user
  • Ask: "A skill with this name already exists. Would you like to:"
    • Overwrite the existing skill
    • Choose a different name
    • Cancel
Step 9: Save the Skill

Action: Create the skill directory structure and save all files

  1. Create directory: plugins/evolve-lite/skills/{skill-name}/
  2. Write SKILL.md to: plugins/evolve-lite/skills/{skill-name}/SKILL.md
  3. If scripts were generated:
    • Create directory: plugins/evolve-lite/skills/{skill-name}/scripts/
    • Write each script to: plugins/evolve-lite/skills/{skill-name}/scripts/{script_name}.py
    • Make scripts executable: chmod +x plugins/evolve-lite/skills/{skill-name}/scripts/*.py
  4. Ensure proper permissions (readable by user)

Directory Structure:

plugins/evolve-lite/skills/{skill-name}/
├── SKILL.md
└── scripts/           (if applicable)
    ├── script1.py
    └── script2.py

Note: The skill is saved to the user's home directory (plugins/evolve-lite/skills/) making it available across all projects.

Step 10: Provide Summary

Present a clear summary to the user:

✅ Skill saved successfully!

**Skill Name**: {skill-name}
**Location**: plugins/evolve-lite/skills/{skill-name}/

**Files Created**:
- SKILL.md (workflow documentation)
{if scripts}
- scripts/{script1}.py (helper script for {purpose})
- scripts/{script2}.py (helper script for {purpose})
{endif}

**Summary**: {Brief description of what the skill does}

**Workflow Captured**:
1. {Step 1 summary}
2. {Step 2 summary}
3. {Step 3 summary}
...

**Parameters**:
- **{param1}**: {description}
- **{param2}**: {description}

**Helper Scripts**:
{if scripts}
- **{script1}.py**: {what it does}
- **{script2}.py**: {what it does}
{endif}

**To use this skill**: Simply reference it by name in future sessions: "{skill-name}"
Show full SKILL.md (489 more words)Show less

Error Handling

Session Too Short:

  • If the session has fewer than 3 meaningful exchanges, inform the user
  • Suggest completing more of the task before saving as a skill

No Clear Workflow:

  • If the conversation doesn't show a clear workflow pattern, ask the user to clarify
  • Request: "Could you describe the key steps you want to capture?"

Skill Name Conflicts:

  • If the name already exists, provide options (overwrite, rename, cancel)
  • Never silently overwrite without user confirmation

Invalid Skill Name:

  • If the name contains invalid characters (spaces, special chars), suggest corrections
  • Example: "My Skill!" → "my-skill"

Script Generation Errors:

  • If script generation fails, save the SKILL.md anyway
  • Inform user they can add scripts manually later
  • Provide guidance on what the script should do

Examples

Example 1: Saving a File Reading Workflow (with script)

Session Context:

User: "Read the states.txt file and parse it into a JSON array"
Assistant: [Reads file, parses lines, converts to JSON, outputs result]
User: "Great! Save this as a skill"

Generated Skill Name: read-and-parse-file

Parameters Identified:

  • filename: The file to read
  • output_format: Format for output (json, csv, etc.)

Workflow Captured:

  1. Read file from workspace
  2. Parse file contents line by line
  3. Convert to specified format
  4. Output formatted result

Scripts Generated:

  • parse_file.py: Reads a file and converts it to JSON format

Files Created:

plugins/evolve-lite/skills/read-and-parse-file/
├── SKILL.md
└── scripts/
    └── parse_file.py
Example 2: Saving a Deployment Workflow (with multiple scripts)

Session Context:

User: "Deploy the app to staging"
Assistant: [Runs tests, builds app, uploads to server, restarts service]
User: "Perfect! Save this workflow"

Generated Skill Name: deploy-to-staging

Parameters Identified:

  • app_name: Name of the application
  • server_address: Staging server address

Workflow Captured:

  1. Run test suite
  2. Build application
  3. Upload to staging server
  4. Restart service
  5. Verify deployment

Scripts Generated:

  • run_tests.py: Execute test suite and report results
  • deploy.py: Handle upload and service restart

Files Created:

plugins/evolve-lite/skills/deploy-to-staging/
├── SKILL.md
└── scripts/
    ├── run_tests.py
    └── deploy.py
Example 3: Simple Workflow (no scripts needed)

Session Context:

User: "List all Python files in the project"
Assistant: [Uses glob tool to find *.py files, displays results]
User: "Save this"

Generated Skill Name: list-python-files

Workflow Captured:

  1. Use glob tool with pattern "**/*.py"
  2. Format and display results

Scripts Generated: None (simple tool call, no script needed)

Files Created:

plugins/evolve-lite/skills/list-python-files/
└── SKILL.md

Notes

  • Conservative Parameterization: Only obvious session-specific values are parameterized. You can manually edit the generated skill later for more customization.
  • Cross-Project Availability: Skills are saved to plugins/evolve-lite/skills/ making them available in all your projects.
  • Manual Editing: After generation, you can manually edit the SKILL.md file and scripts to refine the workflow, add more examples, or adjust parameters.
  • Script Reusability: Generated scripts can be used standalone or called from other scripts.
  • Skill Composition: Generated skills can reference other skills, creating powerful workflow chains.
  • Version Control: Consider adding your plugins/evolve-lite/skills/ directory to version control to track skill evolution.

Guidelines for Better Skills

  1. Complete the task first: Make sure your workflow is successful before saving it as a skill
  2. Clear session: The clearer your session workflow, the better the generated skill and scripts
  3. Descriptive names: Choose skill names that clearly indicate what they do
  4. Test scripts: After generation, test the helper scripts to ensure they work correctly
  5. Add context: After generation, consider adding more examples or notes to the skill
  6. Refine scripts: Review generated scripts and add error handling or features as needed
  7. Document parameters: Ensure all script parameters are well-documented in both SKILL.md and script docstrings

© AgentToolkit, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/save of AgentToolkit/altk-evolve.

Open the folder on GitHubat commit 8deea81

Compare with similar skills

Save next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Save compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Save this skillAgentToolkit/altk-evolve122—~3.4kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from AgentToolkit/altk-evolve

All 21 skills in this repo
  • Agent Wiki Compare Outcomes

    AgentToolkit/altk-evolve

    Contrasts successful and failed agent runs of the same task and derives guidelines backed by evidence from transcripts, tool calls and outcome judgments.

    122 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Trajectory Skill Synthesizer

    AgentToolkit/altk-evolve

    Turns a saved agent trajectory into a reusable skill with a SKILL.md and supporting scripts, so later sessions can call the workflow instead of rediscovering it.

    122 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Evolve Memory Mirror

    AgentToolkit/altk-evolve

    Copies a memory the agent just saved into the shared evolve store with a retrieval trigger, so it can be shared across a team and audited like other entities.

    122 GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Agent Wiki Consult

    AgentToolkit/altk-evolve

    Has the agent read a project wiki's AGENTS.md and pull the guidelines that fit the task it is about to start, instead of loading the wiki at session start.

    122 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Wiki Guideline Extractor

    AgentToolkit/altk-evolve

    Reads a normalized Claude Code trajectory JSON and turns its errors and solutions into reusable guideline pages in wiki-twobatch/guidelines.

    122 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Agent Wiki Ingest

    AgentToolkit/altk-evolve

    Ingest one or more agent trajectories (raw bob/claude traces or normalized JSON) into an agent-wiki end-to-end — convert, summarize, extract guidelines, synthesize skills, optionally compare…

    122 GitHub stars~4k tokensUpdated today
    Auto-check passed

Categories

Questions about Save

What does Save do?

Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts. Save is an agent skill from AgentToolkit/altk-evolve.

When should I use Save?

Save fits situations like: agent Workflows work in your project.

How do I install Save in Claude Code?

Run `npx skills add AgentToolkit/altk-evolve --skill save -a claude-code`. Or copy the skill folder (platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/save in AgentToolkit/altk-evolve) into .claude/skills/save in your project. Claude Code loads it when a task matches its description.

How do I install Save in Codex?

Run `npx skills add AgentToolkit/altk-evolve --skill save -a codex`. Or copy the skill folder (platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/save in AgentToolkit/altk-evolve) into .agents/skills/save in your project. Codex loads it when a task matches its description.

Can I use Save in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgentToolkit/altk-evolve --skill save -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/save, .gemini/skills/save, .github/skills/save and .opencode/skills/save in your project.

What does Save need to run?

Going by SKILL.md and its folder, Save needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Save access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Save safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Save use?

Save is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Save use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Save?

Skills that share tags, products or a category with Save: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Save?

AgentToolkit (a GitHub organization) maintains it in AgentToolkit/altk-evolve, which has 122 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: AgentToolkit/altk-evolve on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.