一个轻量、可交互的元 Skill:让 AI Agent 在处理复杂任务前,先调研当前环境中已有的相关 Skills,与用户确认组合路线,再生成一个受边界约束的临时任务 Skill。
当前版本:v0.1
它试图解决的不是“再做一个大而全的 Skill”,而是让多个分散、交叉、层级混合的 Skills 能够针对当下任务形成一次性的定制工作流。
复杂工作往往无法由单一 Skill 完成。
以策略工作为例,一项任务可能同时涉及项目定位、市场研究、竞争分析、供货、活动、传播、费用和团队管理。把这些内容全部塞进一个超级 Skill,会造成上下文膨胀、维护困难和边界模糊;只调用一个专项 Skill,又容易遗漏关键衔接。
Skill Map 采用另一条路线:
理解任务与用户背景
-> 从当前环境可见的 Skill metadata 中初筛
-> 选择性读取有实质贡献的 Skills
-> 检查能力缺口、冲突和衔接
-> 请用户确认组合框架
-> 生成并校验临时任务 Skill
-> 在约定边界内执行
- 组合,不吞并:保留各 Skill 的专业边界,只提取当前任务真正需要的贡献。
- 可见,可干预:用固定阶段消息展示进度,让用户知道何时可以补充、何时必须确认。
- 先 metadata,后正文:先通过名称和 description 初筛,再读取候选
SKILL.md;references 和 scripts 仅按需加载。 - 能力缺口不靠猜:现有 Skills 无法覆盖关键步骤时,明确向用户求助,或请求授权研究、降级和假设。
- 交付边界不扩张:策划、研究、稿件、文件、媒体、发布和外部操作是不同权限。
- 主 Agent 全程完成:研究、确认、编译和执行都留在当前对话中,便于用户参与。
- 跨平台但不假装统一:使用运行时原生的 Skill、记忆和发现机制,不硬编码某个平台的目录或 provider。
早期原型曾尝试用子 Agent 在后台研究 Skills、生成 cognition lens 和临时 Skill。这样可以隔离一部分上下文,但实测暴露了更直接的问题:后台准备时间较长,用户看不到完整进度,也难以在组合过程中修正方向;不同平台的子 Agent 通道、超时、provider 切换和结果回传能力也不一致。
因此 v0.1 定型为主 Agent 直接执行。任务理解、Skill 选择、研究、用户确认、临时 Skill 生成和最终执行都留在当前会话中,优先保证跨平台可用、实时反馈和用户可干预。
这不意味着排斥子 Agent。使用者可以按自己的运行时能力修改流程。建议保留以下边界:
- 主 Agent 继续负责任务边界、候选 Skill 选择和必须由用户完成的确认;
- 子 Agent 只研究主 Agent 指定的 Skills,或执行边界明确的编译工作;
- 子 Agent 不自行扩大 Skill 搜索范围,也不执行原任务;
- 主 Agent 向用户报告启动、进度、超时、失败和恢复路径;
- 最终临时 Skill 仍由主 Agent 校验,并在已确认边界内执行。
如果运行时不能稳定回传进度和中间结果,主 Agent 模式仍是默认选择。
| 阶段 | 主要动作 | 用户是否需要回复 |
|---|---|---|
| 1. 任务框定 | 明确目标、交付物、验收标准和权限 | 只有边界存在实质歧义时需要 |
| 2. 技能调研 | 公布候选 Skills 和预期贡献,选择性研究 | 通常不需要,可随时干预 |
| 3. 组合决策 | 展示贡献、冲突、缺口和建议路线 | 默认需要确认一次 |
| 4. 工作流就绪 | 生成 cognition lens 和临时 Skill,并校验边界 | 取决于执行是否另需授权 |
| 5. 执行与验证 | 按临时 Skill 执行并报告验收证据 | 按任务中的确认门槛决定 |
当用户没有回复必须确认的问题时,流程停在当前阶段,不生成临时 Skill,也不开始原任务;用户回来后从暂停点继续,不重复全部调研。
每次运行会在临时目录形成两个内部产物:
<temp>/skill-map/<run-id>/
|- context-lens.json
`- task-skill/SKILL.md
context-lens.json:记录任务边界、影响路线的上下文结论、实际研究的 Skills 和用户决策。task-skill/SKILL.md:把这些贡献组合成当前任务专用的执行流程。
校验器会检查临时 Skill 是否擅自扩大执行深度、输出方式、文件权限或外部操作权限。
临时 Skill 由当前主 Agent 直接生成时,内容已经处于当前上下文,校验后可以直接执行,不需要安装或重复读取。
以下情况需要重新读取最终文件:
- 会话经过上下文压缩或中断恢复;
- 文件由其他进程生成或修改;
- Agent 只获得文件路径;
- 内存版本与落盘版本无法确认一致。
新会话、其他 Agent 或其他平台不会自动获得临时 Skill。此时需要显式提供文件路径,或者在用户授权后将它泛化并安装到目标运行时的 Skill 目录。
要求:
- 支持
SKILL.md或等价 Skill 机制的 AI Agent 环境; - Python 3,仅用于执行标准库校验脚本。
克隆仓库:
git clone https://github.com/tdfydfy/skill-map.git仓库根目录就是 Skill 本体。可以直接克隆到目标运行时能够发现的 skill-map 目录,或把整个仓库复制进去。不同平台的目录、刷新和调用方式不同,请优先使用平台原生的 Skill 安装机制。
也可以不安装,直接在支持显式读取文件的 Agent 中指定:
请使用 <仓库路径>/SKILL.md 处理这个复杂任务:<你的任务>
如果运行时支持 Skill 名称或斜杠调用,可以使用类似:
/skill-map <你的复杂任务>
Skill Map 会优先使用平台已经提供的 Soul、Memory、用户资料、项目指令和当前会话。没有长期记忆能力也可以正常运行。
用户还可以在会话或平台长期指令中声明语言、默认输出、交互方式、来源偏好和候选 Skills。完整格式见 SKILL.md。偏好不绑定固定路径,也不会被 Skill 擅自持久化。
skill-map/
|- LICENSE
|- README.md
|- SKILL.md
|- scripts/
| `- validate_artifact.py
`- templates/
|- context-lens.json
`- temporary-task-skill.md
v0.1 是一个可传播、可实测的验证性 demo。
已经具备:
- 主 Agent 单上下文工作流;
- 五阶段可见进度与标准话术;
- 用户确认、能力缺口和中断恢复规则;
- 可选用户偏好与平台原生长期记忆兼容;
- cognition lens 与临时 Skill 模板;
- 中英文交付边界校验;
- 临时使用、跨会话复用和持久化规则;
- 无第三方 Python 依赖的边界校验器。
仍需通过更多真实任务验证:
- 不同运行时暴露 Skill catalog 的范围和方式;
- 长上下文、压缩和中断恢复后的行为稳定性;
- 不同模型对阶段消息和用户门槛的遵循程度;
- 从任务专用 Skill 泛化为长期 Skill 时的质量与隐私控制。
- Skill Map 只能发现当前运行时可见的 Skills,不能保证覆盖未暴露的目录或远程资源。
- 它组织已有能力并补齐低风险衔接,但不会凭空产生缺失的领域事实、工具或权限。
- 各平台对 Skill 自动发现、动态刷新和长期记忆的支持不同。
- 校验器验证结构和交付边界,不判断最终业务内容是否正确。
下一阶段优先保持小步验证,而不是扩展成新的 Agent 编排框架:
- 用策略、研究、内容、产品和软件开发等真实任务建立测试样本;
- 总结不同平台的最小安装与刷新差异,但保持核心 Skill 无平台绑定;
- 改进能力覆盖、缺口识别和用户确认的稳定性;
- 增加可复现的正向与越界测试夹具;
- 在流程稳定后,探索把高频临时 Skill 安全提升为长期 Skill 的辅助工具;
- 根据社区反馈决定是否提供英文文档和平台适配说明。
欢迎提交 Issue,重点反馈以下信息:使用平台和模型、任务类型、实际阶段输出、遗漏的 Skill、错误的确认门槛,以及临时 Skill 是否真实改善了结果。
为了保护隐私,请在提交前删除任务中的个人记忆、组织数据、账号信息和未公开材料。
本项目使用 MIT License。