Files
dotfiles/claude/skills/vault-update-people/SKILL.md
T
David F GliddenandClaude Opus 4.7 119285cf43 claude: back up custom skills, memory, and settings with symlink pattern
The ~/.claude/ directory was previously local-only — a machine wipe
would have lost the accumulated memory, custom skills, and settings.
This commit moves the durable parts into dotfiles with the same
symlink-to-home pattern used for CLAUDE.md, PENDING.md, REVIEWED.md,
and L2-BOOTSTRAP.md.

Preserved (symlinked from ~/.claude/* into here):
  skills/audit/              — thinking-folder drift scanner
  skills/symmetria/          — practice-of-return discipline
  skills/vault-update-people/ — Obsidian People-file maintainer
  skills/wake-up/            — session restoration
  skills/wrap-up/            — session state capture
  memory/                    — 55+ memory files (MEMORY.md, sessions,
                               ledgers, project state, feedback, etc.)
  settings/settings.json     — user preferences (hooks, flags, no secrets)

Deliberately NOT backed up:
  settings.local.json   — contains operational secrets (HF_TOKEN,
                           SSH password in expect scripts); by naming
                           convention, *.local.* is not synced.
                           Needs separate review and probable rotation.
  sessions/, history.jsonl, caches, telemetry — ephemeral
  plugins/, marketplace skills and agents — reinstallable

The working copies at ~/.claude/skills/* and
~/.claude/projects/-Users-davidglidden/memory are symlinks into this
directory, so every write flows here automatically. install.sh
recreates the symlinks on a fresh machine.

FOLLOW-ON (flagged, not in this commit):
  settings.local.json contains a HuggingFace token and an SSH password
  as plaintext strings inside allowed Bash command patterns. These
  should be rotated and moved to secure storage (keychain / pass /
  env file outside the settings file).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:51:04 +02:00

101 lines
4.7 KiB
Markdown

---
name: vault-update-people
description: Search Obsidian vault for new mentions of a person since their last review date, then propose updates to their People file and Updates Log.
argument-hint: "<person-name>"
---
# Vault People Updater
Update a person's records in the Obsidian vault by searching for new mentions since their last review.
## Paths
- **Vault root**: `/Users/davidglidden/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/`
- **People files**: `03. People/`
- **Daily notes**: `01. Daily/`
- **ChatGPT exports**: `99. Archive/99. chatgpt-conversations/`
- **Children notes (Lune)**: `08. Notes/Children/01. Lune/`
- **Children notes (Kai)**: `08. Notes/Children/02. Kai/`
- **Reviews & Planning**: `02. Reviews & Planning/`
## Procedure
### 1. Identify the person
The user will provide a name as an argument (e.g., `Lune`, `Kai`). Find the matching People file in `03. People/`. If ambiguous, ask.
Known mappings:
- `Lune` → `Lune Polymnie Marie Glidden.md`
- `Kai` → `Kai Aureli Glidden Pujolràs.md`
### 2. Read the People file
Read the full People file. Extract the `last_reviewed` date from YAML frontmatter. This is the cutoff — everything before this date is already captured.
### 3. Search for new mentions
Search the following locations for mentions of the person's name (and known aliases from the People file frontmatter) in files modified **after** the `last_reviewed` date:
1. **Daily notes** (`01. Daily/`) — grep for name/aliases. Daily notes are named `YYYY-MM-DD.md`, so filter by filename date > last_reviewed.
2. **ChatGPT conversation exports** (`99. Archive/99. chatgpt-conversations/`) — grep for name/aliases. Files are named `YYYY-MM-DD_Title.md`, so filter by filename date > last_reviewed.
3. **Children notes subfolder** — check for any new or modified files.
4. **Reviews & Planning** (`02. Reviews & Planning/`) — grep for name/aliases in files dated after last_reviewed.
5. **Any other vault location** — do a broad grep across the vault, but deprioritize results from folders already searched.
### 4. Read and extract
For each file with new mentions, read the relevant sections and extract:
- **Date** of the mention
- **Context** — what happened, what was said, what was observed
- **New facts** — anything not already in the People file (health updates, milestones, relationship changes, decisions, events, emotional state)
- **Quotes** — any direct quotes worth preserving in the Memory Bank
### 5. Compare with existing records
Compare extracted information against:
- The People file's current content (avoid duplicating what's already there)
- The Updates Log (avoid duplicating existing entries)
### 6. Propose updates
Present the proposed changes clearly, organized by section of the People file:
- **Frontmatter updates** (age, location, education status, relationship status, etc.)
- **Current Situation** changes
- **Relationship Dynamics** updates
- **New interaction history entries** (chronological)
- **New Updates Log entries** (chronological, with source attribution)
- **Memory Bank additions** (quotes, moments)
- **Document links** to add
- **Gaps identified** — periods with no mentions that should be flagged
For each proposed change, note the **source file** so the user can verify.
### 7. Wait for approval
**Do not write changes until the user approves.** Present the full set of proposed updates and ask:
- "These are the updates I found. Shall I apply all of them, or would you like to adjust anything first?"
### 8. Apply updates
Once approved:
1. Update the People file (edit existing sections, add new entries to Interaction History)
2. Add new entries to the Updates Log (in the appropriate Children notes subfolder)
3. Update `last_reviewed` in the People file frontmatter to today's date
### 9. Report
After applying, summarize:
- Number of new entries added
- Date range covered
- Any gaps flagged (periods with no mentions)
- Suggested follow-up (e.g., "November-December 2025 has no entries — worth recovering from memory if anything surfaces")
## Important constraints
- **Never fabricate information.** Only propose updates based on content found in vault files.
- **Preserve voice and tone.** The People files and Updates Logs have a specific intimate, reflective tone. Match it. Don't sanitize or formalize.
- **Respect the iCloud path.** The vault path contains spaces and special characters. Always quote paths.
- **Flag temporal gaps honestly.** If months have no mentions, say so — don't paper over them.
- **Source attribution matters.** Note whether information came from a daily note, a ChatGPT export, a dedicated health file, etc. ChatGPT exports are conversations, not authoritative records — flag when information comes only from an AI conversation and may need verification.