From claude-sustain
Decide whether and where to persist a learning. Use at phase boundaries when something seems worth long-term memory — a rule, a non-obvious decision, an external resource, or a project-state change. Picks the right wing (feedback / project / reference / user) and routes through the user's active memory backend.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-sustain:memory-write-routerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when you've just finished a phase and noticed something worth keeping across conversations.
Use this skill when you've just finished a phase and noticed something worth keeping across conversations.
Skip if any of these hold:
~/.claude/CLAUDE.md or another project-level config.git log, git blame, or current code.Save if any of these hold:
| Wing | When to use |
|---|---|
user | Facts about who the user is — role, expertise, what they're optimizing for. |
feedback | "Don't do X" / "Always do Y" — corrections AND validated approaches. Include **Why:** and **How to apply:**. |
project | Time-bound facts about ongoing work — deadlines, decisions, motivations. Convert relative dates to absolute. |
reference | Pointers to external systems and what they're for. |
Read ~/.claude/sustain/state.json (detection.preferred) to see which backend is active:
mempalace — primary backend. Use the mempalace MCP write tool (e.g. mcp__mempalace__store or its equivalent) and pass the body verbatim. Then also mirror to fs (mempalace-shaped wings/rooms/drawers makes a future migration trivial).claude-mem — observations are captured automatically; you typically don't need to write explicitly. If the learning is high-signal, surface it as a clear sentence in your reply so claude-mem will capture it.fs — write directly. Suggested layout:~/.claude/sustain/memory/wings/<wing>/drawers/<YYYY-MM-DD>-<slug>.md
with frontmatter:
---
wing: feedback
slug: dont-mock-database
created: <ISO timestamp>
---
The plugin's lib/memory/adapter.js write({ wing, slug, body }) does this for you and produces a guidance hint when a richer backend is preferred. You can run it via node -e "import('./lib/memory/adapter.js').then(m => m.write({...}))" from the plugin root, or use the analogous pattern in your environment.
**Why:** line — the reason the user gave (often a past incident or strong preference).**How to apply:** line — when this guidance kicks in.If the memory is just a pointer to an external system, skip Why/How and write what it's for.
Before writing, check whether a similar entry already exists (use memory-search-bridge). If yes, update it instead of creating a duplicate.
npx claudepluginhub bryantchi/claude-sustain --plugin claude-sustainProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.