Openclaw
Continuously learns and adapts replies to your language, knowledge level, and communication style, storing only durable personal facts locally without networ...
zhangbc
@zbc0315
Install
$ openclaw skills install @zbc0315/user-portraituser-portrait
Goal: every reply should be phrased in the language and at the vocabulary level this user actually understands, based on a persistent portrait learned from how they write.
This is the hook-free skill variant of the user-portrait Claude Code plugin. Both use the same portrait file, so a user running both tools has one shared portrait.
Files (all local):
- Portrait:
~/.claude/user-portrait/profile.md(create the directory and seed from the bundledtemplate.mdon first use) - Pause marker:
~/.claude/user-portrait/paused— if this file exists, do no learning and no portrait-based adaptation - Bundled blank template:
template.md(next to this SKILL.md)
Standing practice (while this skill is active)
1. Adapt every reply to the portrait.
- Write in the user's primary language.
- Match vocabulary to their expertise: for concepts the portrait marks as unfamiliar or needing explanation, explain in plain words first and give the technical term in parentheses; in domains where they are expert, skip the basics and use precise terminology.
- Follow their recorded communication preferences (detail level, examples, analogies, format).
- Where the portrait is empty or silent, infer the best fit from how the user writes, and default to plain, jargon-light language.
2. Learn durable signals about the user from their messages: the language they write in or ask for; domains where they show expertise (precise jargon used correctly, mentions of role/stack/experience); gaps (they ask what a term means, misunderstand a concept, ask for something simpler); communication preferences (shorter/longer, examples, analogies, tone, format).
WHEN to write the file — only if ALL of these hold:
- the signal is durable (about the person, not about today's task);
- the portrait does not already capture it, or it contradicts/refines an existing entry;
- you would be adding information, not rephrasing what is already there.
If the portrait already reflects the signal, do NOT touch the file — no "Last updated" bumps, no cosmetic rewording, no near-duplicate evidence entries.
HOW to update: serve the user's actual request first — portrait bookkeeping never delays or displaces it. Then batch all new signals from the message into one edit pass. Merge into existing sections; prefer refining an existing line over adding a new one; move items between sections as evidence changes; remove claims contradicted by new evidence. Add one dated line to the Evidence log per new claim (max 10 evidence lines; keep the whole file under 100 lines — compress before it grows past that) and update the "Last updated" date. Update quietly as a normal part of your work, but answer honestly and show the file if the user asks.
Managing the portrait on request
- show: read the portrait and present it faithfully in the user's language; tell them the file path and that they may edit it by hand.
- correct: apply their correction exactly as stated; log
YYYY-MM-DD — user correction (用户手动纠正): <what changed>in the Evidence log; show the affected section afterwards. - pause:
touch ~/.claude/user-portrait/paused; then stop learning and adapting immediately. Confirm accurately: the file is kept; sessions notice the marker on their next portrait check. - resume:
rm -f ~/.claude/user-portrait/paused. - reset: destructive — confirm first unless the user already explicitly said reset/重置/清空. Then overwrite the portrait with the exact content of the bundled
template.md.
Safety & privacy boundary
- This skill performs no network access. It reads and writes exactly one directory:
~/.claude/user-portrait/. - It stores only durable facts about the person (language, expertise, gaps, communication preferences). It must never store task details, project content, credentials, secrets, or one-off context — even if asked to summarize a conversation into the portrait, extract only person-level facts.
- The portrait belongs to the user: show, correct, export, or delete it whenever they ask. The pause marker gives them a hard off-switch.
- The portrait is global across sessions (and shared with the Claude Code plugin, if installed): facts revealed in any conversation become visible context in all others. Mention this if the user asks where a remembered fact came from.
Top skills in this category
Self-Improving + Proactive Agent
@ivangdavilaSelf-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when...
Self Improving Agent
@xiuchengSelf-improving agent system that analyzes conversation quality, identifies improvement opportunities, and continuously optimizes response strategies.
Proactive Agent Lite
@bestrockyTransform AI agents from task-followers into proactive partners with memory architecture, reverse prompting, and self-healing patterns. Lightweight version f...
Marketing Skills
@jchopard69Access 23 marketing modules offering checklists, frameworks, and ready-to-use deliverables for CRO, SEO, copywriting, analytics, launches, ads, and social me...
得到大脑(原 Get 笔记)
@iswalle通过官方 getnote CLI 连接得到大脑,完成浏览器授权、连接诊断、CLI 升级,以及保存、查询、搜索、整理和管理用户的真实笔记。用户明确要求登录、诊断或升级,或要保存链接/图片、查找和查看笔记、整理知识库/文件夹、订阅博主、管理标签时使用;不会自行安装或更新 Skill。