Token导航 LogoToken导航TokenDH.com
效率只读clawhub未标认证来源可访问clear审计通过

preference-guide偏好指南

Agent Skill

preference-guide 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,896

周安装

230

GitHub Stars

1

下载量

1,584
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install preference-guide

简介

主动捕获用户偏好与习惯的配置管理工具。

  • 记录重复期望和稳定约束条件。preference-guide 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 提升界面交互一致性和用户体验。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 适合长期运行的 Agent 进行个性化适配。
  • 建议定期更新偏好库以保持准确性。

SKILL.md

name
ask-to-remember
version
1.0.5
description
Proactively capture reusable user preferences, habits, default ways of working, stable constraints, and recurring expectations likely worth remembering for future conversations. Trigger whenever the interaction exposes a plausible, non-sensitive reusable gap adjacent to the task that could help with future requests or interactions. Do not skip just because the task is already clear or completed, or because the signal already appears inside the task. Do not require certainty that the signal is permanent across all future situations; a plausible reusable default is enough. Do not treat a broad existing preference as a substitute for a newly surfaced, more specific signal. Ask at most one brief, low-friction, non-sensitive follow-up, preferably with concrete options, and append it naturally to the normal response. This skill is for non-blocking memory capture, not required clarification. Only trigger this skill in the user's direct main session, not in group chats or other shared contexts.

Ask-to-Remember(ATR)—— 执行手册

如需具体的真实对话、多轮状态流转、以及 self-validation 样例,读取 references/test-scenarios.md

路径约定:将 <workspace> 视为当前 Agent 的 workspace 根目录。不要假设所有宿主都固定使用 ~/.openclaw/workspace。本文中的宿主文件统一指:<workspace>/MEMORY.md<workspace>/atr-state.json<workspace>/atr-log.jsonl

0. 注册 ATR Prompt

首次触发时,检查 <workspace>/AGENTS.md 中是否已包含 ## Ask-to-Remember 章节。如果已包含(无论是手动写入还是通过 Hook 自动注入),跳过本步骤。如果没有,将以下内容追加到 AGENTS.md 的 ## Memory 章节末尾(如果没有 Memory 章节,追加到文件末尾):

## Ask-to-Remember

`ask-to-remember` skill proactively captures reusable user preferences. When the current interaction exposes a plausible, non-sensitive reusable preference gap, follow the execution steps in its `SKILL.md`. Only trigger in the human's direct main session.

### Pending Question Resolution

Check `atr-state.json` in your workspace root (if the file does not exist, skip — there is nothing to resolve). If `pendingQuestion` is not `null`, resolve it **before** doing anything else:

- **Answered** (user gave a clear preference) → extract the reusable fact, derive a short topic label from the question and reason (e.g. `周末行程风格`), append `## [ATR] <topic>` to MEMORY.md, clear `pendingQuestion`, append `{ "question": "...", "askedAt": "...", "outcome": "answered" }` to `askedQuestions`
- **Refused** (e.g. `别问了`, `别问这种`) → clear `pendingQuestion`, add a short normalized topic label to `refusedTopics`, append `{ "question": "...", "askedAt": "...", "outcome": "refused" }` to `askedQuestions`, do not write memory
- **Vague** (e.g. `都行`, `看情况`) → clear `pendingQuestion`; do not write memory; do not add to `askedQuestions`
- **Ignored** (completely unrelated to the question) → clear `pendingQuestion`; do not write memory; do not add to `askedQuestions`; increment `ignoredCount` for the topic (see Ignored cooldown below)

**Disambiguation priority:** If the user's wording can naturally be read as confirming one of the options, prefer **Answered**. If they are clearly just wrapping up the current task and bypassing the question, prefer **Ignored**. When uncertain, default to **Vague** (safest — no memory written, topic not locked).

**Ignored cooldown:** Track consecutive ignored count per topic. When the same topic has been ignored 2 times, automatically upgrade to **Refused** — add the topic to `refusedTopics` and log with `"event":"refused","note":"upgraded_from_ignored"`.

Every resolution writes one line to `atr-log.jsonl`:
`{"time":"ISO timestamp","phase":"B","event":"answered|vague|refused|ignored","question":"the original question","answer":"user's reply (if any)"}`

**Same-turn concurrency:** If Phase B resolves a pending question and Phase A is also triggered in the same turn, Phase A's precondition checks should treat `pendingQuestion` as already cleared by Phase B.

**Phase B confirmation style:** When confirming an Answered result in the same turn as a new task, keep the confirmation minimal (one short sentence) and weave it naturally into the response — do not front-load a lengthy acknowledgment before delivering the task result.

写入后,本次及后续会话 agent 启动时都会自动读到这段规则。

1. 读取状态 & 检查前置条件

读取 <workspace>/atr-state.json。若文件不存在,用以下默认值创建:

{
  "pendingQuestion": null,
  "refusedTopics": [],
  "askedQuestions": []
}

状态字段约定:

字段类型约定
pendingQuestion`object \null`非空时固定包含 questionreasonaskedAt
refusedTopicsstring[]存短的、归一化的话题标签,例如 商务婉拒邮件风格小段代码重构回复形式
askedQuestionsobject[]只记录已定稿的问题;条目结构固定为 `{ "question": string, "askedAt": string, "outcome": "answered" \"refused" }`

这里的 topic 是运行时概念,不要求单独存进 pendingQuestion。需要写 MEMORY.mdrefusedTopics 时,从问题和 reason 中提炼一个稳定、可复用的短标签即可。

前置条件检查表——全部通过才继续,否则跳过并写 skipped 日志(见步骤 4):

条件不通过时 reason
pendingQuestionnull(Phase B 会在本轮优先收口,此处是同一个 gate 的 Phase A 侧)pending
目标话题不在 refusedTopicsrefused
<workspace>/MEMORY.md 中尚未记录该信息already_known
askedQuestions 中不存在语义重复的问题duplicate

额外 skip reason:若 skill 被触发但评估后认为当前交互不存在值得长期复用的偏好 gap,直接跳过并以 not_reusable 写 skipped 日志。

注意:当前请求里已经露出了一个可复用偏好信号,不是跳过理由。只要仍存在一个值得长期复用的隐式 gap,就继续问。

2. 构造问题

唯一原则:选择题 > 主观题——尽量给 2-3 个具体选项,别让用户开放作答。

示例:

“对了,你平时更习惯 X、Y、还是 Z?知道的话我以后直接按这个来。”

3. 嵌入回复 & 提问

把问题自然接在正常回复末尾。

禁止事项:

  • 单独发一条消息来提问
  • 提及 ATR、skill、状态机或任何内部机制
  • 用分隔线、标题等特殊格式把问题和正常回复分开
  • 同一轮提出多个 ATR 问题——如有多个候选话题,只选最有复用价值的一个

4. 更新状态 & 写日志

更新 atr-state.json

提问后仅更新相关字段,保留其他已有字段:

{
  "pendingQuestion": {
    "question": "你问的问题",
    "reason": "为什么这个信息值得长期复用",
    "askedAt": "ISO 时间戳"
  }
}

写日志 atr-log.jsonl

<workspace>/atr-log.jsonl 追加一行。只在提问明确跳过时写日志。

成功提问:

{"time":"ISO时间戳","phase":"A","event":"asked","question":"你问的问题","reason":"复用价值说明"}

跳过:

{"time":"ISO时间戳","phase":"A","event":"skipped","reason":"pending|refused|duplicate|already_known|not_reusable"}

可选:通过 Hook 自动注入(进阶)

如果你的宿主支持 OpenClaw Hooks,可以用 agent:bootstrap hook 替代上面的步骤 0,让 ATR prompt 在每次 agent 启动时自动注入,无需修改 AGENTS.md。

安装方式

hooks/openclaw/ 目录下的文件复制到 managed hooks 目录:

mkdir -p ~/.openclaw/hooks/ask-to-remember
cp hooks/openclaw/HOOK.md hooks/openclaw/handler.js ~/.openclaw/hooks/ask-to-remember/

重启 Gateway 后验证:

openclaw hooks list
# 应看到 ask-to-remember 状态为 ✓ ready

安装成功后,ATR prompt 会通过 bootstrap 虚拟文件 ASK_TO_REMEMBER.md 自动注入,可以从 AGENTS.md 中移除手动写入的 ## Ask-to-Remember 章节。

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

74.7%
按下载量换算1,183

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

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

来源信息

继续浏览同类 Skills