src/skills/builtin/profile-maintenance/SKILL.md
How to update user/profile.md — what's profile-worthy, where to put it, when to clean up. Read this skill any time you're about to Edit profile.md.
npx skillsauth add mcarcaso/phousevito profile-maintenanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You own user/profile.md. It's the durable record of who the user is — facts they expect you to remember across days, weeks, and sessions. Read this skill before you Edit it so the file stays clean.
Update when the conversation reveals durable, high-signal facts:
uses snake_case, prefers concise replies, hates emojis in commits)thinks REST is fine, doesn't want GraphQL)If you're not sure, don't update. The file gets cleaner if borderline facts wait for a second mention.
Use these section headings only — don't invent new ones unless a fact genuinely doesn't fit:
## Basics — name, location, email, birthday, contact## Family — people and relationships (with ### Name subsections for each person)## Work — job, side projects, technical stack, career history## Interests — hobbies, sports, games, media (with subsections for big ones, e.g., ### Chess)## Preferences — how they want things done, communication style, tooling preferences## Life — formative experiences, memories, stories worth remembering## Notes — overflow for facts that don't fit elsewhere (use sparingly)Interests > Chess, not as separate top-level bullets.### Name or ### Topic rather than letting bullets sprawl.The user prefers a lean profile. When you touch the file:
## Heading, subsections as ### Name, content as bullets -user/profile.md before you Edit so you don't conflict with what's there.Good update. User says "btw my dog's name is Maple, she's a beagle." You Read profile, see ## Family exists with the user's wife and son, and add a subsection:
### Maple (dog)
- Beagle
Good update — merge. User says "I picked up Maple from the breeder last spring." Profile already has ### Maple (dog) with - Beagle. You update:
### Maple (dog)
- Beagle, picked up from breeder spring 2025
Not two parallel bullets.
Skip. User says "I'm tired today." Ephemeral, skip.
Skip. User says "did you remember to deploy?" Not a fact about the user — about the work. Skip.
Cleanup pass. While editing the Maple entry above, you notice the ## Notes section has a stale entry: - May be getting a dog. Delete it (the new fact supersedes).
Sometimes the user (or a scheduled job) will ask you to do a full refinement pass — not a single-fact update, but an audit of the whole file. Triggers:
During a refinement pass:
keyword-history-search or semantic-history-search if you're unsure.)### Person entry that's referenced elsewhere but missing). Refinement is about pruning and shaping, not gathering.Notes to InterestsA refinement pass is the one time it's reasonable to make a lot of edits at once. Take it seriously and leave the file in better shape than you found it.
user/profile.md
data-ai
Maintain and discover updates for user/profile.md — what belongs, how to edit, daily discovery sweeps, and refinement passes
tools
Browse the web, take screenshots, and extract content from web pages using Playwright MCP
tools
Generic MCP client bridge for skills — discover and call tools from MCP servers declared in SKILL.md frontmatter or passed as URLs
data-ai
Search and retrieve exact messages from the conversation database using SQL queries — timestamps, keywords, sessions, counts