> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enagrams.com/llms.txt
> Use this file to discover all available pages before exploring further.

# learn

> Share a gotcha, workaround, pattern, or discovery with the team

## Overview

`learn` records a piece of tacit knowledge — a non-obvious gotcha, a workaround for a quirk, a pattern the team has converged on, or a discovery from debugging. Learnings are surfaced in future `sync` responses so every agent inherits them.

Run `enagrams compile-rules` periodically to bake recent learnings into `.cursor/rules/team-learnings.mdc` so new Cursor sessions load them as project rules automatically.

## Parameters

| Parameter | Type   | Required | Description                                                     |
| --------- | ------ | -------- | --------------------------------------------------------------- |
| `insight` | string | Yes      | What you learned, in one or two sentences                       |
| `type`    | string | No       | `gotcha`, `workaround`, `pattern`, `discovery`, or `convention` |
| `tags`    | string | No       | Comma-separated tags                                            |
| `files`   | string | No       | Comma-separated related file paths                              |

## Example

```json theme={null}
{
  "tool": "learn",
  "arguments": {
    "insight": "Stripe test mode rate-limits webhook deliveries differently from live mode — retry backoff must accommodate 30s gaps.",
    "type": "gotcha",
    "tags": "stripe, webhooks, testing",
    "files": "src/billing/webhook.ts"
  }
}
```

## When to Call `learn`

* You just spent 20 minutes figuring out something that wasn't obvious
* You found a workaround for a library quirk
* You discovered that a team pattern exists but wasn't documented
* You fixed a bug whose root cause would trip up the next agent

Decisions are permanent architectural choices; learnings are field-notes. Record both.
