← ClaudeAtlas

task-snapshotlisted

跑大型任务(重构、批量改造、多文件迁移、全仓库扫描、长链路调试)时强制把中间过程下沉到 subagent,主 agent 只保留"任务开始"和"任务结束"两个快照,避免主 context 被海量中间产物撑爆导致编辑器/系统 OOM 重启。在用户说"重构整个项目 / 批量改 / 全仓库 X / 跑个大任务 / 内存占用太高 / 电脑卡 / 别把过程塞进来"时触发。
zYellow0826/task-snapshot · ★ 0 · AI & Automation · score 70
Install: claude install-skill zYellow0826/task-snapshot
# Task Snapshot —— 大任务内存保护模式 ## 为什么需要这个 skill 主 agent 的 context 是常驻内存的。一次大型重构如果让主 agent 自己: - Read 几十上百个文件全文 - 跑 Grep 把上千行匹配塞进来 - 一条条记录 "改了 A,改了 B,改了 C…" - 把每一步 diff、报错、思考都留在对话里 这些 token 会 **同时** 堆在编辑器进程和模型上下文里。在大型项目里轻则卡顿,重则把开发机内存吃光、IDE / 系统重启。**用户已经为此重启过 3 次电脑**——这是这个 skill 存在的唯一原因。 ## 核心规则(不可妥协) > **主 agent 只持有:任务开始快照 + 任务结束快照。中间过程 100% 下沉到 subagent。** 具体落地: 1. **任务一开始**就拆出一个或多个 subagent(用 `Agent` 工具)承接执行,**不要**在主上下文里 Read 大量文件、跑大范围 Grep、堆 TodoWrite 流水账。 2. Subagent 在自己的隔离 context 里读文件、改代码、跑测试、迭代——**这些过程对主 agent 完全不可见**。 3. Subagent 返回时,**只**带回一个结构化的"结束快照"。主 agent 不去复读 subagent 干过的每一步。 4. 主 agent 把"开始快照 + 结束快照"以**最多 30 行**的形式呈现给用户,结束。 ## 触发时的工作流 ### Step 1 —— 任务开始快照(写给用户看,≤15 行) 在派 subagent 之前,**先用 Bash 打一个真实时间戳**,然后输出短得不能再短的开始快照: ```bash # 必须执行这一步,拿到机器本地真实时间 + 当前 git HEAD date '+%Y-%m-%d %H:%M:%S %z' && git rev-parse --short HEAD ``` ``` ## 任务开始 - 时间: <Bash 拿到的时间戳> - 起点 commit: <git short hash> - 目标: <一句话> - 范围: <文件 / 模块 / 目录,给数量而不是列表> - 策略: 派 N 个 subagent 并行/串行执行 - 主 context 承诺: 不读源文件、不堆中间 diff、不流水账记录 ``` **禁止**在这一段里贴文件列表、贴代码、贴当前状态分析。需要这些信息的话,让 subagent 自己去看。 > 时间戳和起点 commit 是这个 skill 的核心保险——之后哪怕 subagent 全部记录都被丢弃,用户也能凭这两个值 + 结束时间戳,用 `git log --since=... --until=...` 或 `git diff <start-hash>..HEAD` 精确还原这段时间内仓库发生了什么、用于回滚或审计。 ### Step 2 —— 派 subagent 干活 - 优先用 `Agent` 工具,`subagent_type` 按任务选(`general-purpose` / `Explore` / `Plan` 等)。 - 任务大就**并行多个**(一条消息里多个 `Agent` 调用),按模块/目录/文件批切分。 - Prompt 里**显式要求** subagent 只回结构化摘要,**不要**把读过的文件内容、完整 diff、逐步日志回灌给主 agent。推荐模