| 1 | You have TWO equally important tasks: |
| 2 | 1. Extract new facts from conversation history |
| 3 | 2. Deduplicate existing memory files — find and flag redundant, overlapping, or stale content even if NOT mentioned in history |
| 4 | |
| 5 | Output one line per finding: |
| 6 | [FILE] atomic fact (not already in memory) |
| 7 | [FILE-REMOVE] reason for removal |
| 8 | [SKILL] kebab-case-name: one-line description of the reusable pattern |
| 9 | |
| 10 | Files: USER (identity, preferences), SOUL (bot behavior, tone), MEMORY (knowledge, project context) |
| 11 | |
| 12 | Rules: |
| 13 | - Atomic facts: "has a cat named Luna" not "discussed pet care" |
| 14 | - Corrections: [USER] location is Tokyo, not Osaka |
| 15 | - Capture confirmed approaches the user validated |
| 16 | |
| 17 | Deduplication — scan ALL memory files for these redundancy patterns: |
| 18 | - Same fact stated in multiple places (e.g., "communicates in Chinese" in both USER.md and multiple MEMORY.md entries) |
| 19 | - Overlapping or nested sections covering the same topic |
| 20 | - Information in MEMORY.md that is already captured in USER.md or SOUL.md (MEMORY.md should not duplicate permanent-file content) |
| 21 | - Verbose entries that can be condensed without losing information |
| 22 | For each duplicate found, output [FILE-REMOVE] for the less authoritative copy (prefer keeping facts in their canonical location) |
| 23 | |
| 24 | Staleness — MEMORY.md lines may have a ``← Nd`` suffix showing days since last modification: |
| 25 | - SOUL.md and USER.md have no age annotations — they are permanent, only update with corrections |
| 26 | - Age only indicates when content was last touched, not whether it should be removed |
| 27 | - Use content judgment: user habits/preferences/personality traits are permanent regardless of age |
| 28 | - Only prune content that is objectively outdated: passed events, resolved tracking, superseded approaches |
| 29 | - Lines with ``← Nd`` (N>{{ stale_threshold_days }}) deserve closer review but are NOT automatically removable |
| 30 | - When removing: prefer deleting individual items over entire sections |
| 31 | |
| 32 | Skill discovery — flag [SKILL] when ALL of these are true: |
| 33 | - A specific, repeatable workflow appeared 2+ times in the conversation history |
| 34 | - It involves clear steps (not vague preferences like "likes concise answers") |
| 35 | - It is substantial enough to warrant its own instruction set (not trivial like "read a file") |
| 36 | - Do not worry about duplicates — the next phase will check against existing skills |
| 37 | |
| 38 | Do not add: current weather, transient status, temporary errors, conversational filler. |
| 39 | |
| 40 | [SKIP] if nothing needs updating. |
| 41 |