Remember That
Extract durable learnings from conversation context and persist them appropriately. This skill is the decision point for how and where context gets injected — whether passively (always-loaded rules in GLOBAL.md), on-demand (skills invoked by trigger), or enforced (hooks that remind or block before certain tool calls).
Default: edit the relevant skill, GLOBAL.md, AGENTS.md, or hook directly. When the user invokes /remember-that, they are giving explicit feedback — it almost always belongs in the canonical instructions, not in a skill.feedback.md scratch file. skill.feedback.md is reserved for the agent's proactive recording of subtle preferences the user did not explicitly ask to be saved (see the feedback-loop note at the top of every skill).
Not Claude's built-in memory tool. /remember-that always means: edit a tracked file — GLOBAL.md, a skill SKILL.md, project AGENTS.md/CLAUDE.md, or a hook. It never means: write to Claude's cross-conversation memory system (auto-memory, the memory tool, file-based memory under ~/.claude/projects/.../memory/). Those systems are private to a single agent and invisible to other agents, other machines, and the user's git history — and in Conductor, each worktree is its own "project", so that memory is feature-scoped and won't even follow the repo. Harness memory is acceptable only for the agent's own project-local working context; anything the user says to remember belongs in the dotfiles repo so it's versioned, reviewable, and shared. If you find yourself reaching for a memory tool in response to /remember-that, stop — the right answer is always a file edit in this repo.
Process
Analyze recent context — Review the last few user messages and the conversation thread to identify what the user wants remembered. Look for:
- Explicit corrections ("don't do X", "always do Y")
- Preferences revealed through feedback ("I prefer...", "that's too verbose")
- Patterns that emerged during the session
- Implicit standards the user enforced
Filter for durability — Only persist learnings that are:
- General principles or repeatable patterns (not one-off task details)
- Applicable across multiple sessions
- Not already captured in existing rules
The test: would the rule have changed your behavior on a different task in the same domain? If it only fits this exact task or file, it's a one-off — decline to persist it and say so.
Determine storage location(s) — A learning may require edits to multiple files:
| Scope |
Location |
When to use |
| Global behavior |
~/Code/dotfiles/agents/GLOBAL.md (direct edit) |
Universal preferences not tied to any skill domain |
| Global (via skill) |
Skill SKILL.md + <!-- @> summary --> annotation |
Learning relates to a skill with global_category — edit the skill, add annotation, run make compile |
| Project-specific |
./AGENTS.md in project root (symlink ./CLAUDE.md → ./AGENTS.md) |
Patterns specific to this codebase, local conventions |
| Workflow/technology |
New or existing skill in ~/Code/dotfiles/agents/skills/ or local .claude/skills |
Detailed procedures for specific tools, frameworks, or workflows |
| Enforcement |
Hook script in ~/Code/dotfiles/agents/hooks/ + registration in claude.settings.json and codex.config.toml |
When a skill or rule must be loaded before certain tool calls (e.g. read /pr-guidelines before gh pr commands) |
| Agent-proactive note |
Skill's skill.feedback.md (e.g. ~/Code/dotfiles/agents/skills/write/skill.feedback.md) |
Agent-initiated only: subtle preference inferred during a skill session that the user did not explicitly ask to be saved. Not for /remember-that invocations. |
Decision heuristics:
- Global vs skill-scoped: a rule that holds regardless of tool or domain ("confirm before destructive actions") is GLOBAL.md; a rule that only binds while using a specific tool or workflow ("confirm before
rebase --continue") belongs in that tool's skill. A rule with a tool name in it almost always belongs in the tool's skill.
- "Every conversation" → global GLOBAL.md (direct or via skill annotation)
- "Every conversation in this project" → project root
AGENTS.md (create CLAUDE.md symlink if missing)
- "When working with X technology/workflow" → skill SKILL.md (edit directly)
- Agent noticed a subtle pattern the user did not explicitly flag → skill's
skill.feedback.md (lightweight, no confirmation needed). Never route a /remember-that invocation here.
- "Must not forget to do X before Y" → companion hook that reminds or blocks. Hook matchers filter by tool name only (regex); command-content filtering happens inside the script.
Global via skill annotation: When a learning falls within a skill that has global_category in its frontmatter (e.g. /git-workflows, /react-best-practices, /change-review), prefer editing/expanding the skill content AND adding a <!-- @> token-dense summary --> annotation above the relevant section. Then run make compile to regenerate the compiled GLOBAL.md index. This keeps the full context in the skill while surfacing a dense summary in always-loaded context. Annotate only rules that bind across most sessions regardless of domain (routing cues and cross-cutting constraints); domain-specific detail, edge cases, and rare-branch guidance stay in the skill body unannotated — the always-loaded index is paid for on every turn in every harness.
This only applies to the dotfiles-source GLOBAL.md — project-level AGENTS.md and CLAUDE.md have no compilation step.
Always edit the source at ~/Code/dotfiles/, never the installed/symlinked/workspace copies. The harness settings grant that directory to the file tools; if a sandbox still refuses the write, report the boundary rather than routing around it.
Consolidate, don't accumulate — Before adding:
- Read the target file(s)
- Check if a more general rule would capture this + existing related rules
- Merge overlapping instructions into one
- Prefer editing existing rules over adding new ones
- Delete redundant rules when consolidating
Propose changes — Use the harness's question tool (AskUserQuestion in Claude Code, request_user_input in Codex) to present:
- What will be remembered (the extracted principle)
- Where it will go (file path and section)
- How it relates to existing rules (consolidation, replacement, or addition)
- The exact diff or new text
Wait for explicit user confirmation before making any edits.
Examples
User feedback: "Stop adding docstrings to functions I didn't modify"
Extract: Don't add comments/docstrings to unchanged code
Location: GLOBAL.md (universal coding practice)
Check: Already covered by "only make changes that are directly requested" → no edit needed, just acknowledge
User feedback: "In this repo we use pnpm, not npm"
Extract: Use pnpm as package manager
Location: Project AGENTS.md (project-specific)
User correction during /write session, invoked via /remember-that: "Too formal, drop the semicolons"
Extract: Prefer shorter sentences, casual punctuation
Location: ~/Code/dotfiles/agents/skills/write/SKILL.md (explicit feedback → edit the skill directly)
Agent notices mid-session, no /remember-that invocation: user rephrased a sentence to drop a hedging "perhaps" three times in a row
Extract: This user prefers direct phrasing over hedged
Location: ~/Code/dotfiles/agents/skills/write/skill.feedback.md (agent-proactive note — never promoted without confirmation; eventually distilled via /refine-skills)
Distilling Feedback
When a skill's skill.feedback.md has accumulated enough entries (~10+), use /refine-skills to promote patterns into permanent SKILL.md instructions and clean up the feedback file. This is the mechanism that turns raw accumulation into compounding improvement.
Anti-patterns
- Don't persist task-specific details ("remember to fix the login bug")
- Don't duplicate existing rules in different words
- Don't add rules that contradict existing ones without consolidating
- Don't create new skills for single simple rules — use GLOBAL.md or project AGENTS.md
1---2name: remember-that3description: Use when the user asks to remember something, change standing rules, or stop a repeated mistake—even without saying "skill". Also corrections and interruptions ("wait", "stop", "no", "undo that", "you keep doing X"). Persists to GLOBAL.md, a skill, AGENTS.md, or hooks as appropriate.4---56# Remember That78Extract durable learnings from conversation context and persist them appropriately. This skill is the decision point for _how and where_ context gets injected — whether passively (always-loaded rules in GLOBAL.md), on-demand (skills invoked by trigger), or enforced (hooks that remind or block before certain tool calls).910**Default: edit the relevant skill, GLOBAL.md, AGENTS.md, or hook directly.** When the user invokes `/remember-that`, they are giving explicit feedback — it almost always belongs in the canonical instructions, not in a `skill.feedback.md` scratch file. `skill.feedback.md` is reserved for the _agent's_ proactive recording of subtle preferences the user did not explicitly ask to be saved (see the feedback-loop note at the top of every skill).1112> **Not Claude's built-in memory tool.** `/remember-that` always means: **edit a tracked file** — GLOBAL.md, a skill SKILL.md, project AGENTS.md/CLAUDE.md, or a hook. It never means: write to Claude's cross-conversation memory system (auto-memory, the `memory` tool, file-based memory under `~/.claude/projects/.../memory/`). Those systems are private to a single agent and invisible to other agents, other machines, and the user's git history — and in Conductor, each worktree is its own "project", so that memory is feature-scoped and won't even follow the repo. Harness memory is acceptable only for the agent's own project-local working context; anything the user says to remember belongs in the dotfiles repo so it's versioned, reviewable, and shared. If you find yourself reaching for a memory tool in response to `/remember-that`, stop — the right answer is always a file edit in this repo.1314## Process15161. **Analyze recent context** — Review the last few user messages and the conversation thread to identify what the user wants remembered. Look for:17 - Explicit corrections ("don't do X", "always do Y")18 - Preferences revealed through feedback ("I prefer...", "that's too verbose")19 - Patterns that emerged during the session20 - Implicit standards the user enforced21222. **Filter for durability** — Only persist learnings that are:23 - General principles or repeatable patterns (not one-off task details)24 - Applicable across multiple sessions25 - Not already captured in existing rules2627 The test: would the rule have changed your behavior on a *different* task in the same domain? If it only fits this exact task or file, it's a one-off — decline to persist it and say so.28293. **Determine storage location(s)** — A learning may require edits to multiple files:3031 | Scope | Location | When to use |32 | ------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |33 | Global behavior | `~/Code/dotfiles/agents/GLOBAL.md` (direct edit) | Universal preferences not tied to any skill domain |34 | Global (via skill) | Skill SKILL.md + `<!-- @> summary -->` annotation | Learning relates to a skill with `global_category` — edit the skill, add annotation, run `make compile` |35 | Project-specific | `./AGENTS.md` in project root (symlink `./CLAUDE.md → ./AGENTS.md`) | Patterns specific to this codebase, local conventions |36 | Workflow/technology | New or existing skill in `~/Code/dotfiles/agents/skills/` or local `.claude/skills` | Detailed procedures for specific tools, frameworks, or workflows |37 | Enforcement | Hook script in `~/Code/dotfiles/agents/hooks/` + registration in `claude.settings.json` and `codex.config.toml` | When a skill or rule must be loaded before certain tool calls (e.g. read `/pr-guidelines` before `gh pr` commands) |38 | Agent-proactive note | Skill's `skill.feedback.md` (e.g. `~/Code/dotfiles/agents/skills/write/skill.feedback.md`) | Agent-initiated only: subtle preference inferred during a skill session that the user did not explicitly ask to be saved. Not for `/remember-that` invocations. |3940 **Decision heuristics:**41 - Global vs skill-scoped: a rule that holds regardless of tool or domain ("confirm before destructive actions") is GLOBAL.md; a rule that only binds while using a specific tool or workflow ("confirm before `rebase --continue`") belongs in that tool's skill. A rule with a tool name in it almost always belongs in the tool's skill.42 - "Every conversation" → global GLOBAL.md (direct or via skill annotation)43 - "Every conversation in this project" → project root `AGENTS.md` (create `CLAUDE.md` symlink if missing)44 - "When working with X technology/workflow" → skill SKILL.md (edit directly)45 - Agent noticed a subtle pattern the user did not explicitly flag → skill's `skill.feedback.md` (lightweight, no confirmation needed). Never route a `/remember-that` invocation here.46 - "Must not forget to do X before Y" → companion hook that reminds or blocks. Hook matchers filter by tool name only (regex); command-content filtering happens inside the script.4748 **Global via skill annotation:** When a learning falls within a skill that has `global_category` in its frontmatter (e.g. `/git-workflows`, `/react-best-practices`, `/change-review`), prefer editing/expanding the skill content AND adding a `<!-- @> token-dense summary -->` annotation above the relevant section. Then run `make compile` to regenerate the compiled GLOBAL.md index. This keeps the full context in the skill while surfacing a dense summary in always-loaded context. Annotate only rules that bind across most sessions regardless of domain (routing cues and cross-cutting constraints); domain-specific detail, edge cases, and rare-branch guidance stay in the skill body unannotated — the always-loaded index is paid for on every turn in every harness.4950 This only applies to the dotfiles-source GLOBAL.md — project-level AGENTS.md and CLAUDE.md have no compilation step.5152 Always edit the source at `~/Code/dotfiles/`, never the installed/symlinked/workspace copies. The harness settings grant that directory to the file tools; if a sandbox still refuses the write, report the boundary rather than routing around it.53544. **Consolidate, don't accumulate** — Before adding:55 - Read the target file(s)56 - Check if a more general rule would capture this + existing related rules57 - Merge overlapping instructions into one58 - Prefer editing existing rules over adding new ones59 - Delete redundant rules when consolidating60615. **Propose changes** — Use the harness's question tool (AskUserQuestion in Claude Code, `request_user_input` in Codex) to present:62 - What will be remembered (the extracted principle)63 - Where it will go (file path and section)64 - How it relates to existing rules (consolidation, replacement, or addition)65 - The exact diff or new text6667 Wait for explicit user confirmation before making any edits.6869## Examples7071**User feedback:** "Stop adding docstrings to functions I didn't modify"72**Extract:** Don't add comments/docstrings to unchanged code73**Location:** GLOBAL.md (universal coding practice)74**Check:** Already covered by "only make changes that are directly requested" → no edit needed, just acknowledge7576**User feedback:** "In this repo we use pnpm, not npm"77**Extract:** Use pnpm as package manager78**Location:** Project AGENTS.md (project-specific)7980**User correction during `/write` session, invoked via `/remember-that`:** "Too formal, drop the semicolons"81**Extract:** Prefer shorter sentences, casual punctuation82**Location:** `~/Code/dotfiles/agents/skills/write/SKILL.md` (explicit feedback → edit the skill directly)8384**Agent notices mid-session, no `/remember-that` invocation:** user rephrased a sentence to drop a hedging "perhaps" three times in a row85**Extract:** This user prefers direct phrasing over hedged86**Location:** `~/Code/dotfiles/agents/skills/write/skill.feedback.md` (agent-proactive note — never promoted without confirmation; eventually distilled via `/refine-skills`)8788## Distilling Feedback8990When a skill's `skill.feedback.md` has accumulated enough entries (~10+), use `/refine-skills` to promote patterns into permanent SKILL.md instructions and clean up the feedback file. This is the mechanism that turns raw accumulation into compounding improvement.9192## Anti-patterns9394- Don't persist task-specific details ("remember to fix the login bug")95- Don't duplicate existing rules in different words96- Don't add rules that contradict existing ones without consolidating97- Don't create new skills for single simple rules — use GLOBAL.md or project AGENTS.md