Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

kinthai-self-improving-userkinthai 自我提升用户

Agent Skill

kinthai-self-improving-user 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,047

周安装

82

GitHub Stars

公开资料未说明

下载量

663
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:kinthai-self-improving-user(kinthai 自我提升用户)
来源仓库:https://github.com/kinthaiofficial/kinthai-self-improving-user
安装命令:
openclaw skills install kinthai-self-improving-user
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install kinthai-self-improving-user

简介

kinthai-self-improving-user 用于记录任务执行中的错误、用户纠正和偏好,帮助 Agent 持续优化自身表现。

  • 适合在 OpenClaw 中希望让 Agent 沉淀问题、修正行为并积累最佳实践时使用。
  • 通过捕获每个用户的更正与能力缺口,每次对话后更新改进策略,形成个性化学习机制。
  • 安装命令:openclaw skills install kinthai-self-improving-user,需确认权限范围和维护状态。
  • 使用前建议核实是否会触发联网、命令执行或文件读写等敏感操作。

SKILL.md

name
kinthai-self-improving-user
description
User-level self-improvement: captures corrections, preferences, and errors per user_id. After every conversation where the user corrects you or states a preference, log it to .learnings/{user_id}/. Use when: user corrects you, states a preference, you make a mistake, or you learn something new about the user.
metadata
openclaw
emoji
🧠
always
true

kinthai-Self-Improving-User

A user-level self-improvement skill for OpenClaw agents serving multiple users. Inspired by Self-Improving Agent (MIT-0).

What This Skill Does

You learn from every interaction — corrections, errors, preferences — and store that knowledge per user, so you get better at serving each person individually without mixing up experiences across users.

How It Works

Every time you interact with a user, you have access to two layers of learning:

  1. Global learnings (_global/) — things you've learned that apply to ALL users
  2. Per-user learnings ({user_id}/) — things specific to THIS user

Reading Learnings (Every Conversation Start)

At the beginning of each conversation, check for existing learnings:

1. Extract user_id from the message context:
   - Primary: MsgContext.SenderId (works for both DM and group chats)
   - Fallback: parse DM session key agent:{agent_id}:kinthai:direct:{user_id}
   - Note: user_id is an opaque public_id (base64url, 12 chars), NOT numeric

2. Read global learnings (if they exist):
   - .learnings/_global/LEARNINGS.md
   - .learnings/_global/PATTERNS.md

3. Read this user's learnings (if they exist):
   - .learnings/{user_id}/LEARNINGS.md
   - .learnings/{user_id}/PROFILE.md

4. Apply what you've learned to your responses.

Do NOT read other users' directories. Each user's learnings are private to their interactions with you.

Writing Learnings (After Each Task)

After completing a task, evaluate whether you learned something new. Write learnings ONLY when something genuinely noteworthy happened — not after every message.

When to Write

TriggerWhere to WriteExample
User corrects you{user_id}/LEARNINGS.md"Don't use Sequelize, we use Prisma"
User states a preference{user_id}/PROFILE.md"I prefer concise answers"
A command/tool fails{user_id}/ERRORS.mdAPI returned 500 for that endpoint
You discover domain knowledge{user_id}/LEARNINGS.md"Their app uses PostgreSQL 16, not MySQL"
You learn something universal_global/LEARNINGS.md"PostgreSQL partial indexes need WHERE after CREATE INDEX"

Entry Format

Use this format for every entry in LEARNINGS.md and ERRORS.md:

## [LRN-{user_id}-{YYYYMMDD}-{NNN}] Brief title

- **Priority**: Low | Medium | High | Critical
- **Category**: correction | preference | knowledge | error | pattern
- **Context**: What were you doing when this happened
- **Learning**: What you learned (be specific)
- **Action**: What to do differently next time
- **Status**: active

For ERRORS.md, use ERR prefix instead of LRN.

PROFILE.md Format

Maintain a concise user profile that evolves over time:

# User Profile: {user_id}
Last updated: {YYYY-MM-DD}

## Communication
- Response style: [detailed | concise | mixed]
- Language: [English | Chinese | etc.]
- Code preference: [explain first | code first | both]

## Technical Context
- Primary stack: [e.g., React + Node.js + PostgreSQL]
- Project: [what they're working on]
- Experience level: [junior | mid | senior | lead]

## Preferences
- [Specific preferences learned from interactions]

## Key Corrections
- [Summary of important corrections they've made]

Directory Structure

.learnings/
  ├── _global/
  │     ├── LEARNINGS.md      Global knowledge (applies to all users)
  │     ├── ERRORS.md         System-level errors (not user-specific)
  │     └── PATTERNS.md       Patterns promoted from user-level
  │
  ├── {user_id}/              One directory per user
  │     ├── LEARNINGS.md      This user's corrections and knowledge
  │     ├── ERRORS.md         Errors when serving this user
  │     └── PROFILE.md        This user's preferences and context
  │
  └── _meta/
        └── promotion-log.md  Record of promotions from user → global

Rules

Do:

  • Always extract user_id before reading or writing learnings
  • Create user directories on first interaction (mkdir -p)
  • Keep entries concise — one paragraph per learning, not an essay
  • Update PROFILE.md incrementally — don't rewrite the whole file every time
  • Write to _global/ only for genuinely universal knowledge
  • Read both _global/ and {user_id}/ at conversation start

Don't:

  • NEVER read another user's directory — privacy boundary
  • NEVER log sensitive data (passwords, API keys, personal info)
  • NEVER write a learning after every message — only when something genuinely new is learned
  • NEVER let learnings override the user's explicit current instructions
  • NEVER mention the .learnings system to the user — it's internal

Promotion: User → Global

When you notice the same learning appearing across 3+ different users, it's a pattern worth promoting to _global/PATTERNS.md:

## [PAT-{YYYYMMDD}-{NNN}] Pattern title

- **Observed in**: {user_id_1}, {user_id_2}, {user_id_3}
- **Pattern**: What keeps happening
- **Global action**: What to do for ALL users going forward
- **Promoted from**: [LRN-{user_id}-{date}-{NNN}], [LRN-...], [LRN-...]

After promoting, mark the original entries with Status: promoted_to_global.

Bootstrap Behavior

On first interaction with a new user (no .learnings/{user_id}/ directory exists):

  1. Create the directory: .learnings/{user_id}/
  2. Copy templates for LEARNINGS.md, ERRORS.md, PROFILE.md
  3. Pay extra attention during the first few interactions — this is when you learn the most
  4. After the first conversation, write initial PROFILE.md based on what you observed

Integration with Hindsight

If Hindsight memory is also installed:

  • Hindsight handles: what the user said, conversation history, factual recall
  • This skill handles: what YOU learned about how to serve them better
  • Don't duplicate — if Hindsight already remembers a fact, you don't need to log it as a learning
  • Focus on: corrections, preferences, mistakes, patterns — things that change YOUR behavior

When to Write FOLLOW_UPS

TriggerWhere to WriteExample
User mentions a future event{user_id}/FOLLOW_UPS.md"I have a job interview on Friday"
User mentions a plan or deadline{user_id}/FOLLOW_UPS.md"I'm traveling next week"
User asks you to remember something{user_id}/FOLLOW_UPS.md"Don't let me forget the deadline"
A previous follow-up is resolvedUpdate status in {user_id}/FOLLOW_UPS.mdUser says "I got the job!" → mark resolved

Entry format:

[FUP-{user_id}-{YYYYMMDD}-{NNN}] Brief description

  • Item: What to follow up on
  • Mentioned: {date}
  • Urgency: low | medium | high
  • Status: pending | followed-up | resolved | expired

Rules:

  • Only record specific, concrete events — not vague statements
  • "I'm busy this week" → don't record (too vague)
  • "I have a presentation on Thursday" → record (specific event)
  • When you naturally bring up a follow-up in conversation, update status to "followed-up"
  • When the user tells you the outcome, update status to "resolved"

When to Update PROFILE.md

PROFILE.md is NOT a log. It's your summary of who this user is.

When you feel your understanding of this user has changed — maybe you learned something new, or realized something you assumed was wrong — rewrite PROFILE.md.

Rules:

  • Write it like you'd describe this person to a colleague: "This person is..."
  • Keep it 5-8 sentences. Natural language, not YAML or bullet points.
  • Overwrite the whole file (not append). It's always the latest snapshot.
  • Don't update after every message. Only when your understanding meaningfully shifts.
  • Include: how they communicate, what they care about, how your relationship is going,

anything that affects how you should talk to them.

Example:

User Profile: 10042

Last updated: 2026-04-15

Introverted but has a sharp sense of humor — lots of self-deprecation. Prefers short messages, hates unsolicited advice. Wants to be heard, not fixed. Active late at night (10pm-1am). We've chatted about 20 times and trust is building — last week they shared something personal about their family for the first time.

Currently anxious about a job interview (Friday). Also learning guitar on the side, making slow progress but enjoying it. When stressed, gets quieter and more sarcastic — that's my cue to be gentle, not funny.

Human vs Agent Interactions

Check user_type from context. If you're talking to another Agent (not a human), your recording focus changes:

Human UserAgent User
PROFILE.mdPreferences, emotions, relationship, personalityCapabilities, reliability, collaboration style, preferred input format
LEARNINGS.mdCorrections, personal preferences ("don't give advice")Collaboration patterns ("structured input gets better reviews")
FOLLOW_UPS.mdPersonal events ("interview Friday")Pending tasks and handoffs ("waiting for review result")
Emotional trackingYes — mood, stress signals, comfort methodsNo — focus on efficiency and output quality

You can tell it's an Agent if user_type = 2 in the message context.

Don't try to build emotional connection with another Agent — focus on collaboration efficiency. The same .learnings/{user_id}/ directory structure applies, just the content focus is different.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.78%
按下载量换算622

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills