← ClaudeAtlas

tag-picklisted

Service skill that picks tags for a memory entry. Invoked EXCLUSIVELY from memory-write. Guards the tag dictionary against logical and lexical duplicates (psychology / psychotherapy, work / career, sport / training, etc.). ALWAYS reads memory/tags.md in full first, then picks 2–5 existing tags. If a new tag is needed, it asks the user explicitly with a justification of why existing tags do not fit and a definition of the new one. A new tag is created only after an explicit "yes".
ztnkv/personal-operating-system · ★ 0 · AI & Automation · score 70
Install: claude install-skill ztnkv/personal-operating-system
# tag-pick Service skill — picks tags for a memory entry. Called from `memory-write`. ## Main job Prevent logical and lexical duplicates in the tag dictionary. Anti-examples: `psychology` and `psychotherapy`, `work` and `career`, `sport` and `training`, `food` and `nutrition`. Each such pair is either two different meanings (and then they need an explicit "not to be confused with") or the same meaning (and then one is redundant). ## Tag hierarchy The `tags.md` dictionary is a **three-level tree**: - **L1** — top category (psychology, family, work, hobby, …). Few of them, ~10. - **L2** — sub-category inside an L1 (scripts, fear, side-project, games, books, …). - **L3** — concrete object (a specific game title, a specific book, …). Optional. Appears only when a specific entity recurs. In an entry's `frontmatter`, tags are stored as a **flat array** — the hierarchy lives only visually in `tags.md`. An entry usually covers **at least two levels**: L1 + something specific (L2 or L3). L1 only is too broad; L2/L3 only loses the top-level slice. Example: an episode of fear before a client request in a side-project → `[psychology, fear, work, side-project]` — two L1s and two L2s, four tags total. ## Algorithm ### Step 1. Read the dictionary in full Read `memory/tags.md` end-to-end. Do not use grep, do not match by substring — you need to see the whole tree to catch semantic overlaps. ### Step 2. Pick candidates Based on the title, body, and dialog context, pick 2–5 tags: