From ievo
Capture a lesson learned and integrate it into the right place — a local agent file, a local skill file, or the project's CLAUDE.md/AGENTS.md (for project-wide rules). Use when the user identifies a behavior to improve, a mistake to prevent, a project convention, a team role, a tech-stack constraint, or any pattern worth persisting beyond the current session. Patches the target and appends a section to the appropriate `.ievo/evolution/` log.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ievo:evolutionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Apply natural-language lessons to the right place: agent files, skill files, or the project's instruction file (`CLAUDE.md` / `AGENTS.md`). Always record the lesson in a markdown log under `.ievo/evolution/` so it survives upstream plugin updates via replay.
Apply natural-language lessons to the right place: agent files, skill files, or the project's instruction file (CLAUDE.md / AGENTS.md). Always record the lesson in a markdown log under .ievo/evolution/ so it survives upstream plugin updates via replay.
If the lesson is too vague to apply (e.g., "be better"), ask the user for clarification before doing anything. A useful lesson states a rule, a context where it applies, and ideally why.
If the evolution sub-agent is available (Claude Code with ievo-ai/skills plugin installed), delegate to it via the Task tool with subagent_type: "evolution". The sub-agent runs in isolated context, doesn't pollute the main conversation. Pass the lesson verbatim and let it report back.
If the Task tool is not available, OR the evolution sub-agent is not present, execute the steps below directly.
Three possible targets:
subagent_type:)Decide the target name if agent- or skill-specific:
.claude/agents/*.md.claude/skills/*/SKILL.md<plugin>/agents/*.md<plugin>/skills/*/SKILL.mdFor project-wide lessons no "target name" is needed — they go to CLAUDE.md/AGENTS.md and .ievo/evolution/project.md.
Skip this step for project-wide lessons.
If the target file lives in a plugin (not already in .claude/<type>/):
<plugin-source> → <project>/.claude/agents/<name>.md<plugin-source-dir> → <project>/.claude/skills/<name>/ (the whole directory)This local copy now overrides the plugin's version when Claude resolves the agent/skill by name.
Read the current local file. Integrate the lesson:
<!-- evolution:NNN -->. Traceability lives in the evolution log.Write the updated file back.
The lesson is stored in .ievo/evolution/project.md and referenced from CLAUDE.md / AGENTS.md.
Ensure the reference exists in the project's instruction file.
Pick the right file by priority:
CLAUDE.md exists in project root → use itAGENTS.md exists → use itCLAUDE.md (empty if needed)Check if it already contains the iEvo marker block:
<!-- ievo:start -->
@.ievo/evolution/project.md
<!-- ievo:end -->
Append the rule to .ievo/evolution/project.md.
If the file does not exist, create it with the header:
# Project — Evolution Log
Append a new section at the bottom:
## YYYY-MM-DD — <short title derived from lesson>
<full lesson text>
Use today's date in YYYY-MM-DD format. The title should be 5-10 words summarizing the rule.
Skip for project-wide (that was handled in step 3).
The log path is:
.ievo/evolution/agents/<name>.md.ievo/evolution/skills/<name>.mdIf the log file doesn't exist, create it with the header:
# <Name> — Evolution Log
Append:
## YYYY-MM-DD — <short title derived from lesson>
<full lesson text>
Output a short summary to the user:
project.md.git diff and commit if satisfied.".claude/<type>/<name>.md files (and the marker block in CLAUDE.md/AGENTS.md) are derived artifacts. The evolution log is what survives. The marker block can be re-injected at any time by recording another project-wide evolution.project.md. The marker stays where it is.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ievo-ai/skills --plugin ievo