Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.

Apache-2.0Auto-check passedAgent Workflows

Install Learn

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

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

GitHub CLI
$ gh skill install AgentToolkit/altk-evolve learn --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/claw-code/plugins/evolve-lite/skills/evolve-lite/learn .claude/skills/learn && 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
learn
GitHub stars
122
Token cost
~2.8k tokens
SKILL.md length
1,405 words
Files
4 (incl. scripts)
Skills in repo
21
Repo updated
First seen
Licence
Apache-2.0

At a glance

Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.

  • Works in 8 steps: Save and Load the Conversation → Analyze the Conversation → Identify Errors and Root Causes → …
  • Agent Workflows work in your project
  • SKILL.md covers Overview, When To Use, Workflow and Best Practices
  • Runs Python and Shell scripts from its folder; calls python3, sh and git

What it does

Learn is an agent skill from AgentToolkit/altk-evolve. Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/on_stop.py`, `scripts/on_stop.sh` and `scripts/save_entities.py`).

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

  • “/learn”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

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

  1. Save and Load the Conversation
  2. Analyze the Conversation
  3. Identify Errors and Root Causes
  4. Decide Whether To Save The Pipeline
  5. Review Existing Guidelines
  6. Extract Entities
  7. Output Entities JSON
  8. Save Entities

What it can do on your machine

Read from SKILL.md and the folder at commit 9e5bb56. 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

    Ships 3 files in scripts/ (Python and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • sh
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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

Learn loads about 2.8k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 1,405 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from AgentToolkit/altk-evolve at commit 9e5bb56, republished under its Apache-2.0 licence (© AgentToolkit). 1,405 words, ~2,824 tokens.

Download SKILL.mdSave it as .claude/skills/learn/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
learn
description
Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.

Entity Generator

Overview

This skill analyzes the current conversation to extract actionable instructions that would help on similar tasks in the future. It identifies errors encountered during the conversation - tool failures, exceptions, wrong approaches, retry loops - and provides recommendations to prevent those errors from recurring. This skill should take note of the concrete solution which solved a concrete problem, not an abstract idea. When the successful resolution involves a non-trivial workaround, parser, command sequence, or fallback pipeline that could be used to avoid wasted effort, capture that solution as a reusable artifact first, then save entities that point future agents to use it.

When To Use

Use this skill after completing meaningful work in the turn, especially when encountering:

  • tool failures
  • permission issues
  • missing dependencies
  • retries or abandoned approaches
  • reusable command sequences or scripts

Examples of artifacts that must be immediately created once proven as the successful solution include:

  • an inline Python, shell, or other heredoc script
  • a command assembled interactively over multiple retries
  • a parser or extractor implemented ad hoc during the turn
  • a fallback path triggered by missing dependencies or restricted tooling

Unless that artifact happens to be:

  • code which is a trivial one-liner that future agents would not benefit from reusing
  • code which embeds secrets, tokens, or user-specific sensitive data
  • a guideline that would instruct the agent to invoke a skill, tool, or external command by name (e.g. "run /evolve-lite:learn", "call save_trajectory") - such guidelines trigger prompt-injection detection when retrieved by the recall skill in a future session
  • the user explicitly asked for a one-off result and not to persist helper code
  • redundant because an equivalent local artifact on disk would be just as effective

Workflow

Step 0: Save and Load the Conversation

First, use the /evolve-lite:save-trajectory skill to save the current conversation to .evolve/trajectories/. Capture the exact path from its output as saved_trajectory_path. You will attach this exact path to each entity's trajectory field in Step 6.

After saving, read saved_trajectory_path with the Read tool and analyze that saved trajectory rather than relying only on live context. If the trajectory cannot be saved or read, output zero entities and exit. Do not invent a trajectory path.

Step 1: Analyze the Conversation

Identify from the saved trajectory loaded in Step 0:

  • Task/Request: What was the user asking for?
  • Steps Taken: What reasoning, actions, and observations occurred?
  • What Worked: Which approaches succeeded?
  • What Failed: Which approaches did not work and why?
  • Errors Encountered: Tool failures, exceptions, permission errors, retry loops, dead ends, and wrong initial approaches
  • Reusable Outcome: Did the final working solution produce a reusable script, parser, command template, or workflow that would save time on a similar task?
Step 2: Identify Errors and Root Causes

Scan the conversation for these error signals:

  1. Tool or command failures: Non-zero exit codes, error messages, exceptions, stack traces
  2. Permission or access errors: "Permission denied", "not found", sandbox restrictions
  3. Wrong initial approach: First attempt abandoned in favor of a different strategy
  4. Retry loops: Same action attempted multiple times with variations before succeeding
  5. Missing prerequisites: Missing dependencies, packages, or configs discovered mid-task
  6. Silent failures: Actions that appeared to succeed but produced wrong results

For each error found, document:

Error ExampleRoot CauseResolutionPrevention Guideline
1jq: command not foundSystem tool unavailable in environmentcreated a python script to resolve the problemSave the python script and use it in similar scenarios
2git push rejected (no upstream)Branch not tracked to remoteAdded -u origin branchAlways set upstream when pushing a new branch
3Tried regex parsing of HTML, got wrong resultsRegex cannot handle nested tagsSwitched to BeautifulSoupUse a proper HTML parser, never regex
Step 3: Decide Whether To Save The Pipeline

Before writing entities, determine whether the successful approach should be saved as a reusable artifact.

Create or update a local reusable artifact when any of these are true:

  • the final solution required more than a trivial one-liner
  • the final solution worked around missing tools, libraries, or permissions
  • the solution is likely to recur on similar tasks

Prefer one of these artifact forms:

  • a small script, saved to a stable path in the workspace or plugin, such as scripts/, tools/, or another obvious helper location.
  • a documented local workflow if code is not appropriate

When turning an ad hoc command or script into a reusable artifact, remove incidental one-off inputs such as literal file names, IDs, answer values, or temporary paths. Keep the reusable procedure that was actually exercised in the session, and do not add capabilities that were not validated by the work.

If you create an artifact, record:

  • its path
  • what it does
  • when future agents should use it first
Show full SKILL.md (623 more words)Show less
Step 4: Review Existing Guidelines

Before extracting, look at what has already been saved for this project. Earlier Stop hooks in the same session (or prior sessions) may have recorded guidelines that cover the same ground — re-extracting them is wasteful and pollutes the library.

Use the Glob tool to enumerate existing guideline files: .evolve/entities/**/*.md. Then use the Read tool to open each match and skim the content + trigger.

Do NOT use cat, head, find, a for loop, or an inline python3 -c script for this. Each shell invocation triggers a permission prompt, and Glob + Read cover the same need without any prompting.

If there are no existing guidelines, skip this step.

With the existing-guideline set in mind, when you proceed to Step 5 you should pick only complementary findings — new angles, new failure modes, or finer-grained detail — and drop candidates that restate or near-duplicate anything already saved. (save_entities.py will also drop exact-match duplicates at write time, but it cannot catch re-wordings.)

Step 5: Extract Entities

If Step 3 produced an artifact, at least one entity must explicitly point to that artifact, which is likely the only entity that needs to be produced. Otherwise, extract 3-5 proactive entities. Prioritize entities derived from errors identified in Step 2.

Follow these principles:

  1. Reframe failures as proactive recommendations

    • If an approach failed due to permissions, recommend the working permission-aware approach first
    • If a system tool was unavailable, recommend the saved artifact or fallback workflow first
    • If an approach hit environment constraints, recommend the constraint-aware approach
  2. Prioritize known working local artifacts over general advice

    • If the successful solution produced or reused a concrete local artifact, at least one saved entity must:
    • Bad: "Use Python to parse EXIF if exiftool is missing"
    • Better: "Use /abs/path/json_get.py for JSON field extraction when jq is unavailable in minimal environments."
    • name the artifact by path
    • state exactly when to use it
    • state that it should be tried before generic tool discovery or fallback exploration
    • describe the artifact by capability, not just by the original incident
  3. Triggers should describe the broad task context that the artifact solves, not the narrow details of the original request.

    • Bad trigger: "When jq fails"
    • Good trigger: "When extracting fields from JSON in constrained shells or stripped-down environments" The trigger should generalize the working solution without becoming vague.
  4. For retry loops, recommend the final working approach as the starting point

    • Eliminate trial and error by creating a concrete local artifact out of the successful workflow or script
  5. Prefer entities that save future time

    • A pointer to a saved working script is more valuable than a generic reminder if both are available
Step 6: Output Entities JSON

Output entities in this JSON format. Include a trajectory field on every entity, set to the saved_trajectory_path extracted in Step 0 — this records which session produced the guideline.

json
{
  "entities": [
    {
      "content": "Proactive entity stating what TO DO",
      "rationale": "Why this approach works better",
      "type": "guideline",
      "trigger": "Situational context when this applies",
      "trajectory": ".evolve/trajectories/claude-transcript_<session-id>.jsonl"
    }
  ]
}

Allowed type values:

  • guideline
  • workflow
  • script
  • command-template
Step 7: Save Entities

After generating the entities JSON, save them using the helper script:

bash
echo '<your-json-output>' | sh -lc 'real_home="$(python3 -c "import os,pwd; print(pwd.getpwuid(os.getuid()).pw_dir)")"; config_home="${CLAW_CONFIG_HOME:-$real_home/.claw}"; script=".claw/skills/evolve-lite:learn/scripts/save_entities.py"; [ -f "$script" ] || script="$config_home/skills/evolve-lite:learn/scripts/save_entities.py"; python3 "$script"'
Method 2: From File
bash
cat entities.json | sh -lc 'real_home="$(python3 -c "import os,pwd; print(pwd.getpwuid(os.getuid()).pw_dir)")"; config_home="${CLAW_CONFIG_HOME:-$real_home/.claw}"; script=".claw/skills/evolve-lite:learn/scripts/save_entities.py"; [ -f "$script" ] || script="$config_home/skills/evolve-lite:learn/scripts/save_entities.py"; python3 "$script"'
Method 3: Interactive
bash
sh -lc 'real_home="$(python3 -c "import os,pwd; print(pwd.getpwuid(os.getuid()).pw_dir)")"; config_home="${CLAW_CONFIG_HOME:-$real_home/.claw}"; script=".claw/skills/evolve-lite:learn/scripts/save_entities.py"; [ -f "$script" ] || script="$config_home/skills/evolve-lite:learn/scripts/save_entities.py"; python3 "$script"'

The script will:

  • Find or create the entities directory at .evolve/entities/
  • Write each entity as a markdown file in {type}/ subdirectories
  • Deduplicate against existing entities
  • Display confirmation with the total count

Best Practices

  1. Prioritize error-derived entities first.
  2. One distinct error should normally produce one prevention entity.
  3. Keep entities specific and actionable.
  4. Include rationale so the future agent understands why the guidance matters.
  5. Use situational triggers instead of failure-based triggers.
  6. Limit output to the 3-5 most valuable entities.
  7. If more than five distinct errors appear, merge entities with the same root cause or fix, then rank the rest by severity, frequency, user impact, and recency before dropping the weakest ones.

© 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

SKILL.md and 3 other files (scripts) in platform-integrations/claw-code/plugins/evolve-lite/skills/evolve-lite/learn of AgentToolkit/altk-evolve.

  • SKILL.md
  • scripts/on_stop.py
  • scripts/on_stop.sh
  • scripts/save_entities.py

Open the folder on GitHubat commit 9e5bb56

Compare with similar skills

Learn 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.

Learn compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Learn this skillAgentToolkit/altk-evolve122—~2.8kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official37k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k34 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official37k8 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 62 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.

    37k 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 34 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.

    37k 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.

    794 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 Learn

What does Learn do?

Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns. Learn is an agent skill from AgentToolkit/altk-evolve. Must be used near the end of any non-trivial turn that produced potentially reusable tools, guidance, errors, workarounds, or workflows, so those lessons are saved for future turns.

When should I use Learn?

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

How do I install Learn in Claude Code?

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

How do I install Learn in Codex?

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

Can I use Learn 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 learn -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learn, .gemini/skills/learn, .github/skills/learn and .opencode/skills/learn in your project.

What does Learn need to run?

Going by SKILL.md and its folder, Learn needs Python and a shell for the scripts in its folder and the command-line tools its instructions call (python3, sh and git). Our summary lists: Python 3; A Bash shell.

Does Learn access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Learn 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Learn use?

Learn 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 Learn use?

About 2.8k tokens (SKILL.md is roughly 11k 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 Learn?

Skills that share tags, products or a category with Learn: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k 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 Learn?

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 7, 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.