Extract key learnings from the current chat thread and save them to docs/learnings.md. Use this skill when the user types "/learn" or asks to save learnings from the conversation.
Scanned 5/27/2026
Install via CLI
openskills install BuilderIO/agent-native---
name: learn
description: >
Extract key learnings from the current chat thread and save them to docs/learnings.md.
Use this skill when the user types "/learn" or asks to save learnings from the conversation.
---
# Learn Skill
## When to Use
- User types `/learn` in chat
- User asks to "save this as a learning", "remember this", or "add this to learnings"
- User corrects you and you want to persist that correction for future sessions
## How It Works
1. Review the full conversation thread
2. Identify corrections, preferences, data mappings, workflow insights, and gotchas
3. Save each learning via `POST /api/learn`
4. Confirm what was saved
## API Endpoint
### `POST /api/learn`
Appends a structured entry to `docs/learnings.md`.
**Structured entry** (preferred for individual learnings):
```json
{
"category": "User Preferences",
"insight": "Always filter out internal team emails when showing customer-specific activity",
"source": "User correction during customer dashboard session"
}
```
**Raw markdown** (for complex multi-line entries):
```json
{
"rawMarkdown": "### Customer Data\n\n**Example Corp** org ID: `example-org-id`. Primary contact: jane@example.com."
}
```
### `GET /api/learn`
Returns the current contents of `docs/learnings.md` as `{ content: string }`.
## Valid Categories
Use one of the existing section headers from `docs/learnings.md`:
- `Agent Behavior Rules`
- `Customer Data`
- `User Preferences`
- `UI Patterns`
- `Dashboard Data Fetching Pattern`
- `Reusable Scripts`
- `Cross-Referencing Customers Across Services`
Use `Other` if none fit — the learning will be appended at the end of the file.
## What to Extract
When reviewing a thread, focus on:
| Signal | Example |
| ------------------------ | ----------------------------------------------------------- |
| **User corrections** | "No, that metric should use `signup` not `sign_up`" |
| **Data source mappings** | "Example Corp org IDs are X, Y, Z" |
| **Query patterns** | "Always join on `dim_hs_contacts` for customer lookups" |
| **Preferences** | "I prefer stacked bar charts for per-user breakdowns" |
| **Gotchas** | "The `data` column is JSON — use `JSON_VALUE()` to extract" |
| **Workflow insights** | "Check Grafana before looking at code for incidents" |
**Skip** obvious or trivial observations. Each learning should be actionable — what to do, what not to do, and why.
## Example Flow
User types `/learn`. Agent responds:
1. Scan the thread for corrections and insights
2. For each learning found, call `POST /api/learn`:
```
POST /api/learn
{ "category": "Customer Data", "insight": "Example Corp org ID is `example-org-id`", "source": "Thread with Steve" }
```
3. Summarize what was saved:
> Saved 3 learnings to `docs/learnings.md`:
>
> - **Customer Data**: Example Corp org ID is `example-org-id`
> - **User Preferences**: Use dark theme for all exported charts
> - **Agent Behavior Rules**: Always check Sentry before investigating code for error spikes
## Gotchas
- Always read `docs/learnings.md` first to avoid duplicating existing entries
- Keep insights concise — one actionable point per entry
- Use the structured format (category + insight + source) for most entries; raw markdown only for complex multi-line content
- The `source` field is optional but helpful for traceability
No comments yet. Be the first to comment!