【开源 Skills】清华博士自用的科研&编程&日常 Agent 生态:COMPASS 司南

sauterne 2026-06-15 20:59 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI 生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


佬友们,接着https://linux.do/t/topic/2394586 讨论

我把我自己使用的 skill 做成了一个 skill 生态 Share 出来了。


为了高效的科研,尽量发论文毕业,我从 openai 刚出来就在使用各种 AI 模型,并且从今天年初使用 openclaw 的时候就在研究迭代各种 skill。本着开源的态度,我把自己的这套 “自认为” 最高效最好用的 skill 分享出来整理成了一个开源 repo:


COMPASS 司南:Personal Alignment skill OS for AI Agents

GitHub:GitHub - dongshuyan/compass-skills: 司南:个性化 AI 任务总控 Skills 系统 /COMPASS: Personal Alignment Skills OS for AI Agents · GitHub

如果你觉得这些 skills 有用,欢迎使用,Star,fork,以及提意见。


这套 skills 的核心目的:让 AI 懂你、看全局、不跑偏。COMPASS 把用户画像、任务图谱和需求对齐合成一个可复用的 skills system,让长任务、跨 session 协作和多 agent 工作不再散落在聊天记录里。


30 秒看懂它怎么有用


场景 1:任务开始前,先避免做错。

当需求模糊、成本高或有安全风险时,用 $task-clarifier 把模糊想法对齐成三方一致的可执行需求:用户想清楚,agent 听准确,用户也能看见 agent 的理解没有跑偏。它不是多问问题,而是用最符合用户习惯的方式少问、问准、问到关键。


这个skill只确保3件事:

1.帮助用户完全理解自己的需求

2.帮助AI完全理解用户的需求

3.让用户知道AI完全理解了他的需求


场景 2:任务进行中和结束后,自动构建任务树*任务森林。

$task-forest 自动把当前 session 的目标、进度、偏差、依赖、待办和决策写成 proposal。确认后生成树视图、DAG 视图、任务详情卡和推荐队列,让下一个 agent 或下一个 session 继续时知道 “这件事为什么做、做到哪、下一步做什么”。


场景 3:长期协作中,让 AI 越来越懂你但不越界。

$user-profile-keeper 在本地保存可审计、可纠错、可撤回的协作画像。它只保存用户确认或低敏的协作信号,不保存 secret,不上传数据;task-clarifier 可读取低敏摘要来更贴合用户习惯地提问。没有画像时,task-clarifier 依然可以独立工作并提供高质量对齐。


根据用户的每个 session 自动生成任务关系树视图与 session 更新流程:



这个 GIF 是多个 session 运行当前skill之后生成的html里面展示的当前repo逐步完善的动态过程


DAG 关系视图实况截图:



自动生成的任务详情、目的、要求、证据和调度建议实况截图:



用户画像与需求对齐的协作方式:



为什么需要 COMPASS


普通 agent 很擅长执行当前 prompt,但长任务经常会遇到三个问题:



  • 不了解用户:不知道你的沟通偏好、风险边界、常见遗漏和长期协作方式。

  • 看不到全局:新 session 只看到局部上下文,很难判断当前动作属于哪个长期目标。

  • 容易目标漂移:做完一个任务后,才发现它和原始目的关系很弱,甚至根本不该做。


COMPASS 的核心目标是给 AI agent 一个长期工作底座:先理解用户,再看清任务森林,最后在每次行动前做目标对齐。


如果你还不熟悉 SKILL.md skills 的编写和使用方式,可以先看这个中文教程:如何编写 Skills。它是单文件静态 HTML,讲清楚 skill 的最小结构、渐进披露、复用审计、AI 生成草稿、真实链路提炼和迭代验证。


三省模型




























Skill 解决的问题
知人 user-profile-keeper 本地维护可审计、可纠错、可撤回的用户画像,让 agent 了解用户偏好、风险确认方式和协作边界。
知事 task-forest 在 repo 内维护任务森林 / DAG,记录长期目标、子任务、依赖、进度、偏差、todo 和历史快照。
知向 task-clarifier 把模糊需求对齐成三方一致的执行契约:用户想清楚、agent 听准确、用户能确认没跑偏。

一句话理解:


User Profile Keeper 让 AI 知道“你是谁、怎么协作”。
Task Forest 让 AI 知道“任务在哪里、做到哪里、为什么做,这个任务与全局目标是否跑偏”。
Task Clarifier 让 AI 知道“用户要的是什么”。


生态图



安装和 Agent 兼容


这三个 skills 使用 Python 标准库和 Markdown 文档,不依赖云服务,不上传用户数据。脚本按本地文件工作,已按 macOS、Windows、Linux 三类环境做路径约束:



  • macOS / Linux:示例命令使用 python3

  • Windows:可使用 py -3python

  • task-forest 数据默认保存在当前 workspace 的 .agent-workbench/task-forest/

  • user-profile-keeper 数据默认保存在用户目录下的 .compass-skills/user-profiles/v1,可用 COMPASS_USER_PROFILE_HOME 改到其他本地目录。

  • 所有正式写入都在本地文件或本地 SQLite 内完成;没有网络上传、浏览器 cookie 读取、credential 读取或远程写入。


COMPASS 不是 Codex-only。它是一个 agent-agnostic 的 SKILL.md skills 包:凡是支持 SKILL.md、YAML frontmatter、Markdown instructions、可选 scripts/ / references/ 的 agent,都可以原生或近原生使用;暂不原生支持 skills 的 agent,可以通过根目录 AGENTS.md 做轻量适配。
































Agent / 环境 推荐接入方式
Codex 复制 skills/ 下的三个目录到 Codex 可发现的 skills 目录,或作为 repo-local skills 使用。
Claude Code 复制 skills/ 下的三个目录到 Claude Code 的 custom skills 目录,或放入项目 skills 根目录。
OpenClaw 放入 workspace skills/.agents/skills 或个人 / 托管 skills 目录;按 OpenClaw 的 skill precedence 生效。
OpenCode 保留本 repo 的 skills/ 和 AGENTS.md,让 agent 通过 AGENTS 规则发现并读取对应 SKILL.md
其他 agent 只要能读取文件并运行本地脚本,就按 AGENTS.md 的通用协议加载:先读 SKILL.md,再按需读 references/ 和运行 scripts/

最简单的 agent-assisted 安装 prompt


把下面这段发给你正在使用的 AI agent。它应该先审查安全边界,再按当前 agent /harness 的真实安装路径复制 released skills;如果无法确定安装路径,只输出安装计划,不要猜路径写入。


请安全安装 COMPASS Skills:

Repo: https://github.com/dongshuyan/compass-skills

目标:在确认安全性的前提下,安装这个 repo 里 `skills/` 下的全部 released skills。

要求:
1. 先读取并审查 README、SECURITY、AGENTS.md、每个 `skills/*/SKILL.md`、相关 `references/` 和 `scripts/`。
2. 确认没有上传用户数据、读取 credential / token / cookie、远程写入、全局配置修改或危险命令。
3. 识别当前 agent / harness 的本地 skills 目录和加载规则;如果无法可靠识别,只给安装计划,不要写入。
4. 只复制 `skills/` 下的 released skill 目录;不要复制 `.git`、运行缓存、用户画像、任务图、原始截图或本地环境文件。
5. 安装后运行可用的本地验证,例如 Python 编译检查和 task-forest 导出回归;如果某项无法运行,说明原因和剩余风险。
6. 最后报告安装位置、已安装 skills、安全检查结果、验证结果,以及如何在 session 中调用。


手动安装时,把 skills/ 下的三个目录复制到目标 agent 的本地 skills 目录,然后在 session 中点名使用:


$user-profile-keeper
$task-forest
$task-clarifier


三个核心 skills


user-profile-keeper:本地用户画像


user-profile-keeper 维护一个只保存在本机的用户画像。它记录的是协作偏好、澄清方式、风险边界、能力边界和常见遗漏,不保存 secret,不上传数据,也不把完整画像暴露给其他 skill。task-clarifier 只能读取低敏 clarification_summary,用于更精准地提问;没有画像时它也能正常工作。


重要提醒: user-profile-keeper 是本地明文存储,不是加密保险箱。本系列 skills 会约束自己不上传、不窃取、不读取 credential,但本地文件仍可能被同一台机器上的其他进程、备份系统或有权限的用户读取。请在充分理解风险后再使用,不要保存 secret、token、密码、私钥、验证码或高度敏感信息。


首次构建画像 prompt


请用 $user-profile-keeper 初始化我的本地用户画像。

目标:通过本地问卷或当前上下文,建立一个可审计、可纠错、可撤回的用户画像。
边界:
1. 只保存到本机,不上传,不读取浏览器 cookie、token 或 credential。
2. 年龄、教育、职业、长期目标等 private 信息先进入待确认 proposal。
3. 不要把本次任务规则误当成长期画像。
4. 完成后告诉我:已写入哪些低敏信息,哪些进入 pending proposal,哪些被跳过。


任意 session 更新画像 prompt


请用 $user-profile-keeper 从当前 session 更新我的本地用户画像。

请只提取对长期协作有价值的信息,例如沟通偏好、风险确认方式、常见遗漏、能力边界和隐私边界。
低敏、明确、无冲突的信息可以自动应用;推断性、private、敏感或冲突信息必须进入 proposal 等我确认。
不要保存 secret、token、密码、私钥、验证码或浏览器 session 信息。


task-forest:任务森林和进度总控


task-forest 在当前 repo 内维护任务森林 / DAG。它不替你执行任务,而是维护任务结构:长期目标、子任务、依赖、进度、偏差、待办、决策和 session 历史。导出的 HTML 可以离线查看树视图、DAG 视图、历史变化和待复核节点。


构建或更新任务森林 prompt


请用 $task-forest 分析当前 session,并维护当前 workspace 的任务森林。

目标:把本轮对话中有长期价值的目标、任务、进度、偏差、风险、决策和 follow-up 写成 task-forest proposal。
要求:
1. 先读取当前 task-forest 的 list 和 todo;如果不存在就初始化。
2. 判断本轮工作服务哪个长期目标;找不到关系时不要硬挂,先问我或生成 question/risk。
3. 如果发现某个任务无法达成用户真实目的,记录偏差或提出替代方案。
4. 只保存 proposal,展示准备改什么;等我确认后再 apply。
5. apply 后运行 validate 和 export,并给出 HTML 路径。


task-clarifier:需求对齐和风险门禁


task-clarifier 是低打扰但强对齐的任务路由器。它把模糊想法对齐成三方一致的可执行需求:用户想清楚,agent 听准确,用户也能确认 agent 没理解偏。它不会把每个不确定性都变成问题,而是判断:能不能先读文件、是否需要联网、是否该问用户、是否必须确认风险、或者是否应该阻塞。


如果安装了 user-profile-keepertask-clarifier 可以读取低敏画像摘要,让提问方式更符合用户习惯;如果没有,它仍会根据当前上下文、文件和证据正常工作。


通用使用 prompt


请用 $task-clarifier 对齐下面这个任务。

任务:...
材料:...
约束:能从文件、上下文或可靠来源判断的不要问我;只问会改变范围、方法、证据、格式、安全或验收的问题。
输出:说明你会 proceed、research-first、ask、confirm、offer-method-choice 还是 block,并给出理由。


能做什么



  • 新 session 结束时,自动把进度、偏差、决策和待办归入全局任务图。

  • 当一个新任务找不到父节点或贡献关系时,提醒用户重新确认目标,而不是强行继续。

  • 在任务变复杂、变危险、变模糊时,先进入 alignment gate,避免返工和隐私风险。

  • 让用户画像影响 “怎么问”,但不替代当前上下文,也不把历史偏好当成绝对事实。

  • 为后续日报、周报、任务排序、习惯系统、多 agent 总控、自进化 skill 生态提供结构化底座。


安全和隐私


COMPASS 的默认安全边界:



  • 不联网、不上传用户画像、不读取浏览器 cookie、token 或 credential。

  • user-profile-keeper 默认是本地明文存储;它保护的是 “不上传、不扩散、可审计、可删除”,不是加密防护。

  • 不把完整用户画像提供给普通 skill;只允许读取低敏 clarification_summary

  • task-forest 的完整任务图保存在 repo-local 目录,不把节点正文写入全局 registry。

  • 删除、覆盖、发布、远程写入、credential、全局配置等高风险动作必须确认。

  • HTML 导出是静态离线文件,不直接修改任务图。


更多检查见 SECURITY.md。


Roadmap



即将开源 / 计划接入:



  • run-history-skill-builder:从真实任务历史中生成新的可复用 skill。

  • run-history-skill-upgrader:根据真实失败、用户反馈和验证结果升级已有 skill。

  • session-handoff-prompt:把长 session 压缩成可续接 prompt,并读取 task-forest 作为结构化来源。

  • 本机代理控制室:汇总多个本地 agent 的运行、等待、卡住、风险和待 review 状态。

  • 等待间隙任务路由:根据等待时间、精力、切换成本和 task-forest todo 推荐可处理的小任务。

  • 日报 / 周报 / 项目复盘:基于用户画像和任务森林自动生成更贴合用户目标的报告。

  • 任务排序和 deadline planning:结合任务重量、用户能力、上下文切换成本和 deadline 推荐执行顺序。

  • 健康习惯和节奏系统:用任务森林观察长期负载,帮助用户安排更可持续的工作节奏。

最新回复 (11)
  • wklwkl 06-15 21:00
    2

    感谢佬的分享,先给codex装一个,体验一下 ^-^

  • blaumeer 06-15 21:05
    3

    看着有点意思,这个和superpower冲突吗?还是可以一起使用?

  • sauterne 楼主 06-15 21:05
    4

    可以一起使用的,这些skill,我都是使用skill名字触发,所以不冲突

  • sauterne 楼主 06-15 21:07
    5

    欢迎体验,也欢迎给一些使用的建议和反馈。因为我自己只在macos的codex上使用了。然后让AI改成了支持其他系统和agent,不知道会不会有问题。

  • Valelynx 06-15 21:07
    6

    好奇开源许可证,发现Security 部分其实没有写?

  • sauterne 楼主 06-15 21:08
    7

    哈哈哈 被你发现了 发布的有点匆忙。会开源成MIT的,正在加

  • RetenQ 06-15 21:09
    8

    看上去不赖,先码住,有空试试效果怎么样

  • wklwkl 06-15 21:16
    9

    佬,这个还设计了调查问卷呢hh,感觉很有意思,我是win系统,再探索探索 ^-^

  • sauterne 楼主 06-15 21:23
    10

    是滴 不过我自己没有Windows电脑,佬友可以测试一下能不能用

  • vibecoding 06-15 21:47
    12

    • session-handoff-prompt:把长 session 压缩成可续接 prompt,并读取 task-forest 作为结构化来源。

      求这个skill呀!

  • sauterne 楼主 06-15 22:59
    13

    好的 还没迭代好呢 等我再迭代几轮

* 帖子来源Linux.do
返回