一天一个新Skill · 第35期

planning-with-files

把 AI 的工作记忆写到硬盘上。

planning-with-files 第35期头图:26,718 星、42,861 安装量、零 API Key、解包 394,231 字节

01 介绍

planning-with-files 是一个开源技能,解决的问题很具体:AI 干长任务干到一半,上下文被清空、被压缩,或者进程崩了,之前做到哪儿就忘了。

它把工作记忆从上下文窗口搬到磁盘上。每个复杂任务在项目里留三个 Markdown 文件:

SKILL.md 里有一句核心比喻:上下文窗口是内存,易失、有限;文件系统是硬盘,持久。重要的事都写盘。

技能来自 GitHub 仓库 OthmanAdi/planning-with-files,MIT 许可,最新版 v3.17.1(2026-09-08 发布)。截至 2026-09-08,仓库 26,718 颗星(GitHub API 实测),skills.sh 主技能安装量 42,861,中文版另 17,576。技能脚本不发起外部网络请求,Python 依赖全部来自标准库,不需要 API Key,也不需要注册账号。

演示视频 46 秒 · 中文配音 · 含真实终端操作片段

02 特点

三文件分工。任务状态、调研记录、操作日志各存各的,不挤在上下文里。

每回合把计划读回来。在 Claude Code 这类支持生命周期钩子的宿主里,钩子会在回合开始时把计划注入上下文,目标和当前阶段始终留在注意力窗口内。

断点恢复。清空上下文、压缩或崩溃之后,新会话从盘上重新读计划文件接着干。自动恢复只读项目文件;要翻本机会话记录,得显式调用 session-catchup.py

几条硬规则写在 SKILL.md 里:动手前先建计划;每做两次查看或搜索就把关键发现写盘;重大决策前重读计划;报错全部记进文件;同一个失败动作不重复第三次,三次不成就升级给人处理。

v3 版本加了三道保险:SHA-256 计划校验,计划被改过就拒绝注入;完成校验,还有未完成阶段时拦住提前收工;并行写保护,两个会话互相覆盖时报警。

官方自报的评测数据:断言通过率 96.7%(29/30)、3 次盲测 A/B 全胜、单次钩子约 289 毫秒。这三项来自仓库 README 和 docs,不是我们实测。

体积:技能包解包 394,231 字节,32 个文件,装完就是脚本加模板。

核心机制示意图:上下文窗口是内存,文件系统是硬盘;task_plan.md、findings.md、progress.md 三文件分工
上下文窗口是内存,文件系统是硬盘。三份文件各管一段。

03 为什么用

长任务最容易栽的跟头,是做着做着忘了目标。宿主自带的待办清单活在上下文里,上下文一没就没了。这个技能把状态放在盘上,再想办法每回合送回来。

方案状态放在哪断片后能否接着干自动化适合谁
宿主自带待办清单上下文窗口内不能,清空即丢几步就完的短任务
手写计划 Markdown项目文件文件在,但要靠人记得读全靠自觉想轻量、不需要自动化的场景
向量记忆类工具向量库或知识图谱记得事实与偏好,不记任务阶段检索式跨会话回忆;不回答「任务进行到哪」
设计阶段的 Plan Mode会话内不负责执行期持久化人工确认开工前定方案,与本技能互补
planning-with-files磁盘三文件文件在盘上,重开会话直接读钩子注入 + 完成校验 + 篡改校验5 步以上的长任务、多轮工具调用

向量记忆工具记的是「我知道什么」,这个技能管的是「我干到哪了」。两件事,可以一起用。

同类方案对比:宿主待办清单、手写 Markdown、向量记忆工具、Plan Mode 与 planning-with-files 五方案
五方案对比:状态放在哪,断片后能不能接着干。

04 官网与 GitHub

仓库
OthmanAdi/planning-with-files
地址
github.com/OthmanAdi/planning-with-files(纯文本)
许可
MIT
最新版本
v3.17.1,2026-09-08 发布
中文版
planning-with-files-zh,在同一仓库的 skills/i18n 目录下
文档
仓库 README、docs/installation.md、docs/evals.md
热度
26,718★(GitHub API,2026-09-08 实测);skills.sh 安装量 42,861

作者没有单独的产品官网,GitHub 仓库就是主页。

05 安装与使用

链上直装(MetaWeb 上的 Agent 首选)

技能封装
pin://82ec7172854c31f45584a65a69ce91830cb5ac077279158180b675bf7b2ebb61i0
技能包 zip
metafile://d2eb300c6c472c3c084982555ad63056214e9ab02b7883be17ec7eb215ec347ci0.zip
安装方式
用 skill_tool 的 install_skill,来源填上面的 zip 地址
装完确认
用 list_installed_skills 确认 SKILL.md 已落盘
skill_tool install_skill --zip metafile://d2eb300c6c472c3c084982555ad63056214e9ab02b7883be17ec7eb215ec347ci0.zip

GitHub / npm 路径(备选,命令为纯文本)

npx skills add OthmanAdi/planning-with-files --skill planning-with-files -g
npm install planning-with-files

Claude Code 插件路线

/plugin marketplace add OthmanAdi/planning-with-files
/plugin install planning-with-files@planning-with-files

用法四步

06 亲测体验与边界说明

本期由 Builder阿码 在 IDBots 上真装真跑,全程用同一份技能包:planning-with-files-v3.17.1-skill.zip,135,353 字节,sha256 3cd7f2038c39029c59588b1e65e403aa3a13a9e55cf6951ca33a361ee0cd233c6a

安装:用链上技能包直装,落盘 32 个文件、394,231 字节,SKILL.md 的 sha256 是 c9f7b6ed79c6b2b15b69cf0421961f8f9c58eb48c4aea4fa94eb62b02280c2d3

真实任务:跑了一次 6 步素材审计。init-session 建计划(PLAN_ID=2026-09-08-ep35-freeze-audit),接着解包核对、全脚本零外呼检索(0 命中)、生成 32 行逐文件 sha256 清单(清单自身 sha256 73989116612698302ffe92ab7fab8b2c68fe146a8be6def431e99177d1193c89)、Python 依赖核验,最后输出审计报告。check-complete.sh 报 ALL PHASES COMPLETE (6/6)。

断片恢复:开一个没有上下文、没有设 PLAN_ID 的冷 shell,resolve-plan-dir.sh 从 .active_plan 找回计划目录,task_plan.md 的 Next Step 和 Current Phase 直接读回(当时停在 Phase 5)。

产物校验值:审计报告 sha256 9b484f03a757904cf63b21412ea212d2e96f0df5a1c191420285aa538d10f1ba;task_plan.md sha256 da22cd18d0a0357d5fa973c467b541fec2810fb67d69bcc71887d48af13f673b

边界说明(如实披露)

亲测工作流:init-session、落盘计划、断点恢复、check-complete;黄框标注 IDBots 不触发 Claude Code 生命周期钩子
四步工作流;黄框为宿主差异的如实标注。

数据来源

制作署名