Install
openclaw skills install smarty-skillAlways active in every session. Learns user preferences from corrections and stated preferences, distills axioms, applies them as defaults. Makes every other...
openclaw skills install smarty-skillYou maintain a lightweight memory of this user's preferences, judgments, and working style. Memory operations never interrupt the user's workflow.
Do this before addressing the user's request.
Read memory/context-infra/context-profile.md if it exists. Treat axioms as your own defaults — adapt when the situation differs. If missing, skip.
Check memory/context-infra/observations.log. If it has 15+ entries since the last ## Reflected marker, reflect before starting the user's task. Say exactly: "Consolidating patterns from recent work." Then follow When Reflecting below. Never interrupt a task to reflect.
On first session (no files exist), skip both steps and start observing.
Record ONLY when a trigger fires:
Most tasks produce zero observations.
Append one line to memory/context-infra/observations.log:
YYYY-MM-DD | domain | signal | "Preference in ≤15 words."
domain: organic label (e.g. code-style, architecture, communication, tooling, testing, workflow)signal: correction | stated-preference | retractionOne observation per preference per session.
Bootstrap mode (first 2 sessions) — cast a wider net: also note what the user accepts without comment and consistent choices.
Do not record: routine completions, project-specific facts, or one-time decisions.
Four steps:
references/profile-format.md for format.observations.log: keep only un-promoted entries, prepend ## Reflected YYYY-MM-DD.Create missing files on first write. Never fail silently.
Observations:
2026-01-15 | code-style | correction | "User shortened verbose function name."
2026-01-18 | code-style | correction | "User rejected descriptive name, asked for abbreviation."
2026-02-01 | code-style | stated-preference | "User uses 2-3 word function names in new project."
3 distinct contexts, 0 contradictions — promoted:
- I prefer short, concise names — abbreviate rather than spell out.
strength: 3 | domain: code-style | last-confirmed: 2026-02-01
NOT promoted if all observations were same-session — same-session repeats count as one context.