Capture behavioral friction as structured observations. Three modes: explicit (user states a lesson), contextual (scan conversation for corrections and patterns), and session mining (bulk extract from transcripts). Stores observations for later synthesis via /rethink. Triggers on: "remember", "lesson learned", "note pattern", "capture friction"
Scanned 9/6/2026
Install to Claude Code
npx -y skills add Miosa-osa/canopy --skill remember --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Remember?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/miosa-osa-remember-canopy)More formats (shields.io, HTML) on the badges page.
---
name: remember
description: >
Capture behavioral friction as structured observations. Three modes: explicit
(user states a lesson), contextual (scan conversation for corrections and patterns),
and session mining (bulk extract from transcripts). Stores observations for later
synthesis via /rethink.
Triggers on: "remember", "lesson learned", "note pattern", "capture friction"
---
# /remember
> Capture behavioral friction and lessons as structured observations.
## Purpose
The input side of the learning loop. When something goes wrong, when a pattern emerges, or when the user corrects behavior — capture it as a structured observation. Observations accumulate over time and feed into `/rethink` for synthesis into system improvements. Three capture modes handle different scenarios: explicit (user tells you), contextual (you detect it), and mining (bulk extraction).
## Usage
```bash
# Explicit — user states a lesson
/remember "Always check for duplicates before inserting into the knowledge base"
# Contextual — scan recent conversation for corrections
/remember --contextual
# Mine session transcripts for patterns
/remember --mine path/to/session-transcript.md
# Mine recent sessions
/remember --mine --recent 7d
# List stored observations
/remember --list
# List observations by category
/remember --list --category process
# Check which categories are ready for synthesis
/remember --escalations
# Tag an observation
/remember "Never send specs to Robert Potter" --category people --severity high
```
## Arguments
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `<observation>` | positional | — | Explicit observation text |
| `--contextual` | flag | false | Scan current conversation for implicit corrections |
| `--mine` | path/flag | — | Extract observations from transcript file(s) |
| `--recent` | duration | `7d` | For `--mine`, look back this far |
| `--list` | flag | false | List stored observations |
| `--escalations` | flag | false | Show categories ready for `/rethink` |
| `--category` | string | auto | Category: `process`, `people`, `technical`, `communication`, `tool-use` |
| `--severity` | enum | `normal` | `critical`, `high`, `normal`, `low` |
| `--confidence` | float | 0.5 | Initial confidence (increases with repeated observations) |
| `--source` | string | auto | Where this observation came from |
## Workflow
### Explicit mode
1. **Parse** — Extract the core lesson from the observation text.
2. **Categorize** — Auto-classify into category (or use `--category`).
3. **Deduplicate** — Check against existing observations. If similar exists, increase its confidence instead of creating duplicate.
4. **Store** — Write to `ops/observations/{category}/{timestamp}-{slug}.json`.
5. **Check threshold** — If category now has enough observations (default: 5), flag for escalation.
### Contextual mode
1. **Scan** — Read recent conversation history.
2. **Detect** — Look for correction patterns: "No, I meant...", "That's wrong...", "Actually...", user re-doing work, explicit feedback.
3. **Extract** — For each detected correction, formulate an observation: what went wrong, what the correct behavior is.
4. **Store** — Same as explicit mode for each extracted observation.
### Mining mode
1. **Load** — Read transcript file(s) or recent session logs.
2. **Pattern match** — Identify: repeated mistakes, workflow friction, time wasters, user frustration signals, successful shortcuts.
3. **Extract** — Formulate observations from each detected pattern.
4. **Batch store** — Store all observations, deduplicating against existing.
5. **Report** — Summarize what was mined and how many observations were captured.
## Output
### Stored observation
```json
{
"id": "obs-2026-03-20-143500-a1b2",
"observation": "Always check for duplicates before inserting into the knowledge base",
"category": "process",
"severity": "normal",
"confidence": 0.5,
"occurrences": 1,
"source": "explicit/user",
"created_at": "2026-03-20T14:35:00Z",
"updated_at": "2026-03-20T14:35:00Z"
}
```
### Escalation check
```markdown
## Observation Escalations
| Category | Count | Avg Confidence | Ready for /rethink? |
|----------|-------|---------------|---------------------|
| process | 7 | 0.68 | YES (threshold: 5) |
| people | 3 | 0.55 | no (threshold: 5) |
| technical | 12 | 0.74 | YES (threshold: 5) |
| communication | 2 | 0.40 | no (threshold: 5) |
| tool-use | 5 | 0.62 | YES (threshold: 5) |
Run `/rethink "process"` to synthesize process observations into system improvements.
```
## Dependencies
- File system for observation store (`ops/observations/`)
- Conversation history access (for `--contextual` mode)
- Session transcript access (for `--mine` mode)
- `/rethink` — Downstream consumer of accumulated observations
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!