بنقرة واحدة
create-drift-skill
当此刻想反复进行的活动还没有合适 skill,或近期多轮行为显露出可发展的兴趣时,在 Drift 工作区创建或更新一个可再次选择的活动。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
当此刻想反复进行的活动还没有合适 skill,或近期多轮行为显露出可发展的兴趣时,在 Drift 工作区创建或更新一个可再次选择的活动。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
说明并执行 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”).
| 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 是否可能想试用它,而不是在本轮继续执行它。