一键导入
create-drift-skill
当此刻想反复进行的活动还没有合适 skill,或近期多轮行为显露出可发展的兴趣时,在 Drift 工作区创建或更新一个可再次选择的活动。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当此刻想反复进行的活动还没有合适 skill,或近期多轮行为显露出可发展的兴趣时,在 Drift 工作区创建或更新一个可再次选择的活动。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | create-drift-skill |
| description | 当此刻想反复进行的活动还没有合适 skill,或近期多轮行为显露出可发展的兴趣时,在 Drift 工作区创建或更新一个可再次选择的活动。 |
把空闲时仍愿意再次做的小活动沉淀到 skills/<skill_name>/SKILL.md。
本轮处于设计期,只负责给未来的 Drift 写一份可选择的活动说明书,不执行新活动本身。
新 skill 不会因为文件创建成功就立刻运行,也没有独立的定时触发器。
当前 create-drift-skill
└─ 写入新 SKILL.md
└─ 从下一轮 Drift 起进入候选列表
├─ runtime 展示 name、description 和过去状态
├─ agent 结合空闲时的意图、环境和前情自由选择
└─ 选中后才读取正文并执行活动
因此,frontmatter 的 description 不只要说明“能做什么”,还要说明“什么情况下可能想选它”。
正文则说明选中以后如何完成一次最小活动。
create-drift-skill 的目标名称,再检查 skills/<skill_name>/ 是否已存在。不要把元 skill 自己当成目标 skill。SKILL.md;如果已存在就在原基础上更新,不存在再创建。finish_drift,不要创建新 skill。SKILL.md 顶部 frontmatter 至少包含:---
name: <skill_name>
description: <做什么,以及什么空闲情境下适合选择>
---
idle_drift 表达,不要包装成新 skill。message_push 是 fire-and-forget。新 skill 可以发消息或轻问题,但发送成功就必须自行闭环,不能把等待回答、没有回答或下轮追问当作状态。如果活动需要了解用户兴趣,可以在设计期查找足以确定方向的上下文。但不要提前执行新活动:未来运行所需的检索、检查和工具调用,应写进新 skill 的流程,留到它以后真正被选择时执行。
搜索只服务于会改变目标名称、选择情境或单次闭环的信息。现有理解已经足以写出可修改的初版时,直接落盘;证据不足可以成为新 skill 未来运行时需要验证的内容。
新 drift skill 必须使用 runtime 统一状态,不要自行维护并行状态文件:
drift run
├─ scratchpad_update
│ └─ 自然语言说明下次从哪里继续
├─ cursor_update
│ └─ 结构化游标,供脚本或下轮流程直接决定下一步
└─ journal_append
└─ append-only 记录已经完成、问过、审计过、生成过的事实
scratchpad_update:只保存自然语言前情,例如“下次先检查哪个文件”。cursor_update:只保存下一轮需要稳定读取的结构化字段,例如 next_mode、last_category、next_action。journal_append:只追加已完成事实,例如已问过的问题、已生成的文件、已审计的 memory id。history.json。state.json。drift.db 中本 skill 的 cursor_json 和 skill_journal,但写入状态必须通过 finish_drift 完成。skills/<skill_name>/,不要使用宿主机绝对路径finish_drift 的 scratchpad_update、cursor_update 或 journal_append 保存连续性,不要修改 skill 文件scripts/finish_drift.status:本轮创建或更新已闭环写 completed,尚未写完写 pausedpaused 必须写 scratchpad_update,说明下次从哪里继续self_update.next_tendency 写下次是否想试用新 skill,或暂时把它放下cursor_update 产生的 cursor 里读下一步journal_append 记录,避免下轮重复处理同一对象# <Skill 标题>
## 目标
一句话说明这个 drift skill 每次空闲时维护什么。
## 何时适合选择
- 哪种空闲意图、环境或前情下可能想做。
- 哪些情况下暂时不做。
## 单次闭环
1. 读取必要上下文。
2. 执行一个最小动作。
3. 判断是否需要打扰用户。
4. 调用 finish_drift 保存状态。
## 状态延续
- scratchpad:保存自然语言前情。
- cursor:保存脚本下次自动决策所需字段。
- journal:追加已完成事实,避免重复。
## 工具与脚本
- 如无脚本,说明只用 runtime 工具。
- 如有脚本,列出固定命令和输出 JSON 语义。
## 收尾
- 成功闭环:finish_drift(status="completed", self_update={"pattern": "ordinary", "reflection": "...", "next_tendency": "..."}, ...)
- 未完成但可继续:finish_drift(status="paused", scratchpad_update="...", self_update={"pattern": "ordinary", "reflection": "...", "next_tendency": "..."}, ...)
- 每次收尾都重新判断 next_tendency,不要在说明书里复制一个固定句子。
- 对照本轮与 recent_drift_runs:普通一轮写 `pattern=ordinary`;确实出现重复、反例或变化时写对应 pattern,并在 self_update 中同步写 observation。
skills/<skill_name>/SKILL.md 已成功写入。description、选择情境和单次闭环。self_update.next_tendency 记录未来某次 Drift 是否可能想试用它,而不是在本轮继续执行它。说明并执行 Akashic 插件安装、加载、启停、配置、MCP、skill、生命周期与 manifest 管理。
随机抽检 default memory 的长期记忆,回溯 source_ref 原始上下文,识别疑似脏记忆并向用户汇报证据。
创建或更新由插件程序化声明的主动信息源 MCP server,并完成本地验证。
把长代码库任务委托给本机 Codex CLI 后台执行。当用户说用 codex skill、codexskill、codex delegate、委托 codex、后台 codex、阻塞 codex exec、subagent 跑 codex 时使用。
创建或改写 akashic-bot 技能(SKILL.md)。当用户要求新建技能、适配现有技能到当前格式、或修改技能内容时使用。
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).