COMPASS Skills:把 AI 长任务的五种状态装进九个本地技能
该项目围绕「dongshuyan/compass-skills」构建,面向真实业务场景提供可复用的开源实践方案,支持稳定落地与可扩展的项目实践。
秒懂
- 它是什么?
- 司南(COMPASS Skills)为 Claude Code、Codex 等 AI 智能体提供九个本地技能,覆盖任务澄清、任务森林、暂停恢复、会话交接和个人画像。它把长任务的五种状态变成可审计的本地文件,适合需要跨会话追踪工作的开发者。
- 适合谁用?
- 适合已经用 Claude Code 或 Codex 处理长任务的开发者,尤其是那些经常在会话中断后丢失上下文的人。task-forest 和 session-handoff-prompt 的组合能显著减少重复解释,而 run-history-skill-upgrader 提供了一条受控的技能自进化路径。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 20 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
长任务为什么总是断在会话边界上
AI 智能体的长任务有一个共同痛点:对话一旦结束,上下文就归零。你重新开一个会话,得把目标、进度、约束和下一步重新讲一遍。更糟的是,如果任务横跨多个项目文件,智能体往往不知道当前请求在整个目标中的位置。COMPASS Skills 把这个问题拆成五种状态:用户上下文、项目上下文、目标上下文、暂停上下文和交接上下文。每种状态对应一个本地工作流,全部以文件形式存在仓库或本地目录里。它不解决模型能力问题,它解决的是状态丢失问题。
九个技能的分工与协作机制
这九个技能不是平级的。task-clarifier 是入口,专门拦截模糊、高成本或外部可见的任务,先问 1 到 3 个聚焦问题,确认理解后才执行。task-forest 维护一个仓库本地的任务 DAG,记录目标、子任务、依赖、进度和决策。pause-and-resume 在同一个会话内暂停和恢复,不创建任何仅用于暂停的文件。session-handoff-prompt 则把当前会话压缩成一段可粘贴的提示词,给下一个新会话用,它读取 task-forest 但从不修改。user-profile-keeper 保存协作偏好,当前文件、日志和用户提供的上下文仍然是权威来源,密钥绝不进画像。run-history 两个技能负责技能工程,builder 把完成的工作流变成新技能包,upgrader 则根据真实执行证据自动生成升级计划,但必须经过明确批准才应用改动。academic-humanizer 和 assess-interview-candidate 是独立用途,前者改写学术文本,后者生成面试报告。
安装与调用:一条 npx 命令,九个 $ 前缀
安装方式很简单。先用 npx skills add dongshuyan/compass-skills --list 查看可用技能,然后按需安装。装全部技能到 Claude Code 用 npx skills add dongshuyan/compass-skills --skill '*' -a claude-code,同时装到 Codex 和 Claude Code 则加上 -a codex。安装后,在对话里用 $task-clarifier、$task-forest 这样的前缀直接调用。手动安装也支持,把 skills/ 下的九个文件夹复制到智能体的本地技能目录,同时保留 references/、scripts/、assets/、evals/ 和 agents/ 子目录。注意 README 特别强调按需安装,因为多技能仓库只装你需要的函数。
暂停与交接:两种恢复路径的取舍
pause-and-resume 和 session-handoff-prompt 解决的是同一个问题的两个变体。前者假设同一个 AI 会话还会回来,所以它记录安全停止点、剩余工作和不可重复的副作用,但不会为暂停单独创建文件。后者假设要换一个新会话,所以它把整个对话压缩成一段提示词。这个区分很关键:如果你用错了,比如在会话即将关闭时调用 pause-and-resume,你会得到一个无法恢复的检查点。README 明确说,同一个会话可用时用 pause-and-resume,必须换新会话时用 session-handoff-prompt。这种二选一的设计减少了冗余,但也要求使用者对会话生命周期有清晰判断。
run-history 技能对:受控的自进化循环
run-history-skill-builder 和 run-history-skill-upgrader 是这套系统里最有野心的部分。builder 把完成或反复打磨的工作流变成新技能包,或者只生成设计计划。upgrader 更进一步,它读取真实执行中的会话证据,包括遇到的困难、验证结果和用户反馈,自动生成现有技能的升级计划。但关键约束是:它只在明确批准后才应用改动。这形成了一个受控的自进化循环,智能体不会自己改自己,所有变更都经过人。不过这里有个前提:你的执行历史必须有足够的结构化证据,否则 upgrader 只能产生空洞的计划。对于刚起步的仓库,这个技能的实际价值有限。
学术与招聘技能:两个边缘场景
academic-humanizer 和 assess-interview-candidate 跟任务管理无关,它们更像是附加功能。前者改写中英文学术文本,去除公式化的 AI 痕迹,同时保留主张、证据强度和逻辑关系。后者把授权的简历和职位描述变成可审计的证据层,生成三部分面试报告,简历画像在本地脱敏,时间线年龄估算不进入评分。这两个技能的存在说明 COMPASS 不只是任务管理工具,它试图覆盖 AI 辅助工作的完整生命周期。但这也带来一个问题:九个技能里只有五个是核心协作技能,其余四个是垂直场景。如果你只用学术或招聘功能,安装整个仓库会引入不必要的提示词开销。
局限与替代方案:本地文件不是银弹
这套系统的所有状态都依赖本地文件。task-forest 的 DAG、user-profile-keeper 的画像、session-handoff-prompt 的导出,都是文件。这意味着你必须维护这些文件,否则它们会过时。README 说 user-profile-keeper 的当前文件、日志和用户提供的上下文仍然是权威来源,但并没有说明如何解决文件与实时上下文冲突的问题。另一个局限是:它依赖 npx skills 这个外部工具链,如果 skills CLI 本身不稳定,整个安装流程就受影响。替代方案是直接手写提示词模板,或者用 Claude Code 自带的 CLAUDE.md 和 Codex 的 AGENTS.md 来存项目上下文。区别在于,COMPASS 把状态管理结构化成了技能,而 CLAUDE.md 只是静态文本,没有澄清门、没有暂停检查点,也没有自进化循环。但静态文本更简单,没有额外的安装依赖。
编辑结论
适合已经用 Claude Code 或 Codex 处理长任务的开发者,尤其是那些经常在会话中断后丢失上下文的人。task-forest 和 session-handoff-prompt 的组合能显著减少重复解释,而 run-history-skill-upgrader 提供了一条受控的技能自进化路径。不适合只需要一次性脚本或短对话的用户,也不适合不愿意维护本地文件的人。安装前先运行 npx skills add dongshuyan/compass-skills --list 确认技能列表,然后只安装需要的技能,避免九个技能全部注入造成提示词膨胀。最关键的是验证 task-clarifier 的提问是否真的减少了你的返工,以及 user-profile-keeper 的本地文件是否会被你定期审阅,否则它只是一堆躺在目录里的 SKILL.md。
社区笔记