Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions platform-integrations/claude/plugins/evolve-lite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ A plugin that helps Claude Code learn from conversations by automatically extrac
## Features

- **Automatic Retrieval**: At the start of each prompt, relevant entities are automatically injected
- **Manual Learning**: Use the `/evolve:learn` skill to extract and save entities from conversations
- **Manual Learning**: Use the `/evolve-lite:learn` skill to extract and save entities from conversations
- **Automatic Learning**: After each task, entities are automatically extracted and saved via a Stop hook
- **Zero-config Retrieval**: Hooks are automatically installed when the plugin is enabled

## Installation
Expand Down Expand Up @@ -34,33 +35,42 @@ When you submit a prompt, the plugin automatically:
2. Formats and injects them into the conversation context
3. Claude applies relevant entities to the current task

### Entity Generation (Manual by Default)
### Entity Generation (Automatic)

By default, you must manually invoke the `/evolve:learn` skill to extract entities:
1. Complete a conversation or task
2. Invoke `/evolve:learn`
After Claude completes each task, the plugin automatically invokes the `/evolve-lite:learn` skill via a `Stop` hook:
1. Claude finishes responding to your prompt
2. The Stop hook triggers and instructs Claude to run `/evolve-lite:learn`
3. The plugin analyzes the conversation trajectory
4. Extracts actionable entities from what worked/failed
5. Saves new entities as markdown files in `.evolve/entities/{type}/`

You can also manually invoke `/evolve-lite:learn` at any time.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

> **UX note:** The Stop hook has an empty matcher (`""`), meaning it fires after *every* task and can add up to ~2 minutes of delay per interaction (the hook's `timeout` is 120s). It also invokes the Claude API on each stop, which incurs additional cost. Learned entities are stored as markdown files in `.evolve/entities/{type}/` — inspect or remove them there at any time.
>
> **To disable or limit automatic learning**, edit `hooks/hooks.json` inside the plugin directory:
> - Remove the entire `"Stop"` block to turn off auto-learning entirely.
> - Set a specific `"matcher"` string to restrict triggering to prompts that contain that text.
> - Reduce `"timeout"` to cap how long the learn step can run.

## Example Walkthrough

See the [Evolve Lite guide](../../../../docs/integrations/evolve-lite.md#example-walkthrough) for a step-by-step example showing the full learn-then-recall loop across two sessions.

## Skills Included

### `/evolve:learn`
### `/evolve-lite:learn`
Comment thread
visahak marked this conversation as resolved.

Manually invoke to extract entities from the current conversation:
- Analyzes task, steps taken, successes and failures
- Generates proactive entities (what to do, not what to avoid)
- Outputs JSON that the save script persists as entity files

### `/evolve:recall`
### `/evolve-lite:recall`

Manually invoke to retrieve and display stored entities.

### `/evolve:save`
### `/evolve-lite:save`

Manually invoke to capture successful workflows from your current session and save them as reusable skills:
- Analyzes conversation history (user requests, reasoning, tool calls, responses)
Expand All @@ -76,7 +86,7 @@ Assistant: "What would you like to name this skill?"
User: "my-workflow-name"
```

### `/evolve:save-trajectory`
### `/evolve-lite:save-trajectory`

Manually invoke to export the current conversation as a trajectory JSON file:
- Converts all messages to OpenAI chat completion format (user, assistant, tool calls, tool results)
Expand Down
12 changes: 12 additions & 0 deletions platform-integrations/claude/plugins/evolve-lite/hooks/hooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,18 @@
}
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "agent",
"prompt": "Run the evolve-lite:learn skill, unless stop_hook_active is set in $ARGUMENTS.",
"timeout": 120
}
]
}
]
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: recall
description: Retrieves relevant entities from a knowledge base. Designed to be invoked automatically via hooks to inject context-appropriate entities before task execution.
context: fork
---

# Entity Retrieval
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: save
description: Captures the current session's successful workflow and saves it as a reusable skill with SKILL.md and helper scripts
context: fork
---

# Save Session as Skill
Expand Down
Loading