Communitygithub.com

LucioLiu/user-md

Know your user: a USER.md that grows. Your AI's understanding of you in a file you own — hand-written lane + agent-curated lane, no silent rewrites, moves when your folder moves.

user-md란 무엇인가요?

user-md is a Claude Code agent skill that know your user: a USER.md that grows. Your AI's understanding of you in a file you own — hand-written lane + agent-curated lane, no silent rewrites, moves when your folder moves.

지원 대상Claude Code~Codex CLI~Cursor
npx skills add LucioLiu/user-md

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

user-md:用户画像文件纪律

你的 AI 对你的理解,应当存在一个你自己拥有的文件里——不是锁在某家厂商的云端账号里。本文是画像文件的纪律(教 agent 怎么建、怎么养、怎么用这个文件),不是记忆系统(不含运行时与自动管道)。细则按需读取 references/:养成细则 curation.md、分层判据与宿主关系 layering.md全套文件的体量与频次阈值只在 references/curation.md 的阈值表定义一次,本文与其他文件一律引用、不复抄数字。

核心立场(四句)

  1. 文件你拥有:明文 Markdown,任何编辑器可读、可改、可删,随文件夹迁移(moves when you move)。
  2. 双轨分明:手写区归用户,agent 只可建议不可改写;沉淀区归 agent,只可追加、条条留痕。
  3. 不静默改写:任何改写留痕(变更记录一行);全部内容对用户可见、可编辑、可删除。
  4. 不编事实:沉淀区只记真实观察,单次观察必须带待验证标;没观察到的不写。

一、建:文件族与五节

文件族三件

文件装什么特性
USER.md跨机器、跨项目仍成立的用户画像可迁移;每会话全量注入,须保持小体量(阈值见 references/curation.md
USER.local.md换台机器就失效的内容:环境/路径/工具链/凭据指针机器本地;必须 gitignore
user/*.md 溢出辅文件沉淀区超下沉线时移出的细节主文件留一行索引,按需加载

USER.md 五节(定案结构,模板见 templates/USER.md

  1. ## Who I am — 身份事实:角色/背景/怎么称呼。事实与偏好分开存(两类信息分开是多家产品级记忆系统的共同做法)。
  2. ## How I work — 偏好与风格:沟通方式/交付物标准/验收习惯/默认授权边界。
  3. ## Our relationship — 关系与协作:什么该问、什么直接做、反馈怎么给。
  4. ## What I'm up to — 动态认知层:当前目标与在做的事——显式可修订假设,随证据更新,过期即清。
  5. ## Learned by your agent — agent 沉淀区(规则见下节双轨制)。

命名纪律:节名沿 facts / preferences 谱系;persona 一词全文禁用——UX 语境指虚构原型用户、agent 语境指 agent 自身人格,双重占用,用了必歧义。

起步:从 templates/ 拷贝两份模板到工作区根目录,把 USER.local.md 加进 .gitignore,花五分钟填前四节。留空也能跑,但 agent 每次会话对你零认知。

二、养:双轨制与沉淀纪律

双轨制

  • 手写区(前四节):用户亲笔。agent 发现内容过期或矛盾时只可建议(给出建议文本+理由),用户自己动手或明确同意后才改,改完在文件尾变更记录留一行。

  • 沉淀区(第五节):agent 追加。每条格式:

    - 【YYYY-MM-DD · 来源事件】规则正文。【单次观察待验证】

    日期+来源是每条的出生证明;单次观察必须带待验证标。同型观察重现达到升区门槛(阈值见 references/curation.md)才可发起升区提议,用户确认后才迁入手写区。完整格式与流程见 references/curation.md

信号与误报

  • 可沉淀信号三类:纠正(用户纠正了你的做法或理解)、重复偏好(同类要求在不同场合再现)、明确表达(用户直说「记住」「以后都…」)。
  • 当场追加硬规则:命中三类信号且通过误报过滤 → 当场追加沉淀区——不攒批、不留到会话结束凭记忆补写。识别到了却不写,等于没有这条纪律。
  • 误报过滤:一次性语境不沉淀(本任务特有要求 ≠ 长期偏好);极短消息默认忽略(过滤线见 references/curation.md);情绪时刻的表达压低置信;与任务强绑定的指令归任务、不归画像。

整合与体量

  • 定期整合去重(周期见 references/curation.md 阈值表):同义条目合并、过期条目清理;整合与升区迁出是重写沉淀区仅有的两个合法场景,均须在变更记录留痕。
  • 主文件超体量目标、或沉淀区超下沉线(阈值均见 references/curation.md)→ 细节下沉 user/*.md 辅文件,主文件留索引行。

三、用:注入与分流

每会话注入

主文件保持小体量的意义就在这里:小到可以每会话全量注入。接法按宿主选其一(各宿主详情见 README 的 Compatibility 节):

  • 指令文件引用行:如 Claude Code 在 CLAUDE.md 加一行 @USER.md
  • 无引用机制的宿主:系统提示或规则文件加一句「会话开始先读 USER.md」;
  • 可挂 session-start hook(可选接法——本 skill 不自带任何运行时,不挂 hook 纪律照样成立)。Claude Code 示例配置:
{
  "hooks": {
    "SessionStart": [
      { "hooks": [ { "type": "command", "command": "cat USER.md" } ] }
    ]
  }
}

(POSIX 示例;Windows 或其他宿主换等价命令。挂不挂、怎么挂由用户决定。)

分流判据三句(弱模型兜底,详见 references/layering.md

  1. 换台机器就失效 → USER.local.md
  2. 换个项目/岗位就不成立 → 该项目自己的本地文件;
  3. 其余 → USER.md

指针纪律:已有权威源的事实不复抄,只放指针行(「详见某文件」)——防双源漂移。判例见 references/layering.md

隐私红线

  • 本文件族天然全是 PII——按你手里最敏感的内容对待。
  • USER.local.md 必须 gitignore,永不入库。
  • USER.md 推到公开仓库前必须人工过一遍:真名、联系方式、雇主内情、凭据指针逐项审。
  • 明文密码 / API key / token 永不写入本文件族——只写「凭据在哪、怎么调用」的指针。
  • 模板永不预填真实内容——本 skill 自带模板全部为占位符+虚构示例。

简例

  • 用户又一次说「回复先给结论」,沉淀区同型待验证条目已达升区门槛(见 references/curation.md)→ 起草升区提议(合并成一句,拟入 How I work),等用户确认后迁移。
  • 用户说「这台机器上用 pnpm 别用 npm」→ 换机器即失效 → 记 USER.local.md
  • 用户在某个仓库里说「这个项目提交信息用西班牙语」→ 换项目不成立 → 记该项目本地文件,USER.md 不写。
  • 用户深夜发牢骚「烦死了,都别给我看长回复」→ 情绪时刻 → 按单次观察沉淀、压低置信,不直接改手写区,更不当铁律。
  • 用户手写区写了「我在做 X 项目」但三个月没提过 → agent 建议更新 What I'm up to 节,附理由;用户点头前一个字不动。

版本与更新自检

  • 当前版本:1.0.0(与 plugin.json 一致)。
  • 仓库:https://github.com/LucioLiu/user-md
  • 自检:plugin 安装的,宿主更新机制会跟随版本号;手动 clone / 模板拷贝的,diff 本文件与仓库 main 分支即可知是否落后。你自己的 USER.md 文件族不受 skill 更新影响——那是你的数据,不是 skill 的一部分。

관련 스킬