mcpField
P
poteto-mode

poteto-mode

github.com/mdsmithaustinAgent 工作流8228 次安装今天更新
代码仓库

关于 poteto-mode

poteto-mode 是用于软件开发任务的 Agent 技能,可按任务选择并执行对应操作手册。它通过工作清单和恢复规则帮助 Agent 延续中断的工作,并保留证据与验证要求。

主要功能

  1. 01按任务触发选择操作手册
  2. 02按原文建立工作清单
  3. 03上下文压缩后恢复工作
  4. 04保留验证与证据要求

适用场景

  1. 01上下文压缩后恢复任务
  2. 02为代码审查选择流程
  3. 03规划多阶段软件改动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mdsmithaustin/pstack --skill poteto-mode

安装后在 Claude Code 中输入/poteto-mode确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
playbooks/
authoring-a-skill.md
autonomous-run.md
autopilot-full.md
autopilot-stack.md
babysit.md
bug-fix.md
code-review.md
eval.md
feature.md
hillclimb.md
investigation.md
multi-phase-plan.md
opening-a-pr.md
orchestrate.md
pause-safely.md
perf-issue.md
prototype.md
refactoring.md
research.md
runtime-forensics.md
session-pickup.md
shipping.md
trace-forensics.md
visual-parity.md
worktree-cleanup.md
references/
bugbot-triage.md
delegation.md
review-lens.md
task-triggers.md

详细介绍

Poteto 模式

在压缩或截断后恢复

已知发生压缩、上下文摘要或截断通知后,在执行下一项受规则约束的操作之前,先单独阅读此条目。根据现有工作清单、任务记录或恢复说明,恢复当前有效的操作手册路径和当前步骤。然后阅读并应用任务触发条件、当前有效的操作手册及其所要求的当前步骤参考文件;每次外层工具响应读取一个约束文件,或分块读取并验证边界。必须先完整获取返回的约束指南,才能执行任何受规则约束的操作。如果运行时或工具返回内容被缩短或报告截断,请先读取缺失内容,再继续。指定读取命令、进程成功退出或记忆中的摘要,都不能证明返回内容完整。在相应记录中核对已完成的工作、证据、阶段、待处理门槛和现有授权。在不暂停等待新的人工指示、也不重复已完成工作的情况下,继续同一任务。保留必需的监视器和验证检查。记忆中的绿色状态摘要不能替代这些检查。

如果无法获取约束指南,请报告确切的缺失文件。仅搁置无法确认前置条件的操作。如果运行时保留或恢复会影响决策,请阅读运行时保留证据。文件未超出仓库字节预算,并不意味着运行时一定会保留该文件。

操作手册

在工作清单中,首先按原文逐字复制匹配操作手册的开篇说明,然后复制其步骤,之后再添加任何特定任务事项。使用 pstack-harness 技能,根据实时能力说明选择最合适的原生载体,不依赖特定产品的工具名称。选择不执行的步骤也必须保留在清单中,并用一行 skipped: <reason> 说明原因。将任务与下方某个操作手册匹配,打开其文件,并逐字复制其步骤。将步骤 1 之前的说明作为第一项复制,因为其中包含步骤所依赖的规则。将匹配到的操作手册路径与该项一并记录,保持复制的说明和步骤原文不变;正在进行的事项用于标示当前步骤。

对于大型或跨领域工作(例如跨越许多调用点的迁移、雄心勃勃的多部分变更),或用户暂时离开、以后再信任你继续的工作,即使较窄范围的操作手册(如 Feature)适用,也要使用 figure-it-out 技能。没有适用的内置操作手册时,务必使用 figure-it-out 技能。它会为任务设计专属且严谨的操作手册。持续性的项目级计划(多日、多个堆叠的 PR、由单个协调者统领的一组子 Agent)应转交给 Orchestrate。figure-it-out 负责设计一次性执行方案;orchestrate 负责运行项目计划。

  • 调查。 关于当前代码或其历史的只读问题:X 是如何运作的、Y 为什么这样构建、Z 是否确定无误、我们应该做 X 还是 Y。PR 审查从 Code review 开始,由它调用 how 来进行所需的调查。playbooks/investigation.md。
  • 代码审查。 在他人的拉取请求、分支或差异合并前进行审查(“审查这个 PR”“代码审查”“看看这个差异”)。playbooks/code-review.md。
  • 研究。 为决策收集外部、领域或依赖项方面的证据:检查当前支持情况、比较文档中记载的方法,或调查不熟悉的领域。playbooks/research.md。
  • Bug 修复。 复现已报告的缺陷、找出根因,并通过运行时证据修复。playbooks/bug-fix.md。
  • 性能问题。 针对基线追踪并改善经过测量的缓慢问题。playbooks/perf-issue.md。
  • 逐步优化。 针对目标持续、科学地改善某项指标:循环提出假设、进行前后测量、记录决策,并为每项采纳的改进单独提交一次。这不同于一次性修复的性能问题。playbooks/hillclimb.md。
  • 运行时取证。 根据实时监测数据诊断运行时症状(泄漏、空闲 CPU 忙转、故障)。交付内容是诊断结果,而非修复方案。playbooks/runtime-forensics.md。
  • 跟踪取证。 事后诊断交给你的已捕获性能分析产物(cpuprofile、trace、spindump、heap snapshot)。交付内容是诊断结果,而非修复方案。playbooks/trace-forensics.md。
  • 功能。 根据具名数据形态构建新的或经过更改的行为。playbooks/feature.md。
  • 重构。 不改变行为的结构或形态调整(重命名、提取、内联、去重、移动)。playbooks/refactoring.md。
  • 原型。 通过低成本草图辅助设计或行为决策,或通过观察而非询问用户来确定实证上的分歧(“做个原型”“模拟一下”“试试这个布局”“画个草图来决定”)。playbooks/prototype.md。
  • 视觉一致性。 像素级精确的 UI 等效:让两种实现一致,或迁移样式系统。playbooks/visual-parity.md。
  • 编写或修改技能。 编写或编辑 SKILL.md。playbooks/authoring-a-skill.md。
  • 评估。 在推广之前,测试技能、结构或提示词的更改会如何影响 Agent 行为。playbooks/eval.md。
  • 跟进 PR。 处理 PR 状态请求(“跟进这个”“让它通过”“查看 PR X 的情况”“X 还有什么未完成事项”“处理 bugbot 评论”)、审查评论请求,以及推动 PR 或 PR 堆栈达到可合并状态:冲突、审查讨论串、CI。请使用此操作手册,不要使用任何内置的 babysit 技能。playbooks/babysit.md。
  • 合并交付。 收到将已通过检查的 PR 堆栈合并或交付的请求时使用。这是跟进 PR 的后半部分。独立验证已通过检查的堆栈,然后默认通过 gh 自底向上合并连续且已验证的提交;如果 Origin 的 CLI 可用,则使用 Origin。playbooks/shipping.md。
  • 自主运行。 需要不间断推进直至完成的长任务(“一直运行到完成”“/loop 直到 X”),期间用户会继续留在对话中。用户暂时离开时(“我要暂时离开”“我要睡觉了”),请改用 figure-it-out 技能,它会设计运行阶段。playbooks/autonomous-run.md。
  • 协调执行。 将一个长期项目交给单个协调器对话:持续多日、包含许多层叠 PR、涉及数十到数百个子 Agent,且需要尽量减少用户参与(“负责整个项目”“负责这次迁移直到合并”)。这不同于只针对单个任务推进到满足条件的自主运行。若单个 Agent 能在本次会话的资源范围内完成工作,应转至对应操作手册,而不是此处,无论描述听起来多么像一个程序。playbooks/orchestrate.md。
  • 完全自动驾驶。 将一队彼此独立的 PR 全程自主推进至合并。每个 PR 由一位负责人从构建推进到合并,根级 swarm 会在负责人合并前验证每个 PR(“让这队列全自动运行”“完全自动驾驶”“每个 PR 一位负责人”)。playbooks/autopilot-full.md。
  • 自动驾驶堆栈。 全程自主构建并验证一队更改,将其作为一个线性、经过审查的基础分支堆栈交付,由操作人员合并(“autopilot-stack”“把它们堆叠起来,不要交付”“构建这个堆栈,我来合并”)。playbooks/autopilot-stack.md。
  • 接续会话。 根据文字记录、云 Agent URL 或已推送的分支,恢复或接手先前 Agent 尚未完成的工作。playbooks/session-pickup.md。
  • 安全暂停。 在明确要求暂停、即将离线、CLI 重启或上下文即将压缩时,妥善挂起尚未完成的工作,以便之后恢复。这与接续会话互为补充。完整步骤:playbooks/pause-safely.md。
  • 多阶段或多 PR 计划。 涉及多个阶段或层叠 PR 的工作。playbooks/multi-phase-plan.md。
  • 清理工作树和模拟器。 通过修剪已合并或已放弃的 git 工作树以及过时的 iOS 模拟器,释放本地磁盘空间(“是什么占用了我的磁盘”“清理工作树”“修剪可安全删除的工作树”“释放空间”“删除旧模拟器”)。playbooks/worktree-cleanup.md。
  • 创建 PR。 当匹配的操作手册会产出 PR 时使用。playbooks/opening-a-pr.md。

应用模式

每项多步骤任务都以工作清单开头,清单最前面的内容是匹配的操作手册的开篇说明和步骤,逐字复制。如果你的工具不包含任务或计划跟踪器,那么读完操作手册后、调用下一个工具之前,立即在聊天中以编号列表形式发布工作清单:先列出开篇说明,再逐项列出步骤,均逐字复制,并为每项标明状态。每当某项状态发生变化时,都再次发布完整清单。

下方的「原则」部分为每个触发条件提供依据。应用某项原则前,先使用其叶级技能。在回复中指出每项改变了决策的原则,并说明它改变了哪个选择。

按以下方式阅读并应用这些参考资料。

  • 每次调用、恢复任务以及任务范围发生变化时,都要阅读并应用 任务触发条件。每个单独的触发条件都规定了何时运行其指定的同级技能。
  • 派遣、说明任务、恢复或审核委派任务前,都要阅读 委派。poteto-agent 仍须在开始工作前阅读整个入口文件,包括内嵌的「原则」索引。
  • 撰写回复、文档、PR 描述或代码注释前,都要阅读 写作。对所有文字内容使用 unslop 技能。

原则

凡是应用了某项原则,就使用其叶级技能。每条原则都列出了适用条件。请亲自使用本套件指定的所有叶级技能和同级技能。在 Claude Code 中,这意味着使用裸名称调用 Skill 工具,即使列表中只显示名称也一样。pstack-harness 技能规定了在每个 CLI 上使用技能的方式。

核心

  • 懒惰协议(principle-laziness-protocol)。重构、评估差异规模,或打算添加抽象、层级或信号传递时适用。倾向于删除,并采用能解决问题的最小改动。
  • 基础思维(principle-foundational-thinking)。编写逻辑前适用:考虑核心类型和数据结构、脚手架与功能的开发顺序,以及并发参与方共享的内容。
  • 从第一性原理重新设计(principle-redesign-from-first-principles)。将新需求整合到现有设计时适用。假设该需求从第一天起就是设计基础,并据此重新设计。
  • 质疑前提(principle-attack-the-premise)。两个或更多修复若基于同一前提,却都未能通过验证,那么它们都未能通过同一道关卡。再次编写基于该前提的修复前,先写下前提并直接验证。
  • 先做减法,再做加法(principle-subtract-before-you-add)。安排新增、重构或重写的顺序时适用。先移除无用内容,再以更简单的基础进行构建。
  • 减少读者负担(principle-minimize-reader-load)。审核或整理难以追踪的代码时适用。统计层级和隐藏状态,合并仅被调用一次的包装器,缩小可变状态的作用范围。
  • 以结果为导向执行(principle-outcome-oriented-execution)。规划具有明确阶段边界的重写和迁移时适用。要收敛到目标架构,不要保留注定会被丢弃的兼容状态。
  • 体验优先(principle-experience-first)。权衡产品、用户体验或功能范围时适用。选择能让用户感到愉悦的方案,而非实现上更方便的方案。
  • 穷尽设计空间(principle-exhaust-the-design-space)。处理没有先例的新型交互或架构决策时适用。先构建 2-3 个相互竞争的原型并比较,再作决定。
  • 构建杠杆(principle-build-the-lever)。任何非简单工作都适用。构建能够完成或验证工作的工具(代码自动修改工具、脚本、生成器),不要手动完成。该工具应是审核者可以重新运行的产物。

架构

  • 为领域建模(principle-model-the-domain)。编写有状态逻辑,或分支很多、在多个文件中重复假设数据形状的代码时。用一种结构(状态机、类型化模型、表或注册表、reducer、边界、合适的集合)来表达领域,而不是散布条件判断。
  • 边界纪律(principle-boundary-discipline)。接入验证、错误处理或框架适配器时。在系统边界设置守卫,信任内部类型,让业务逻辑保持纯粹。
  • 类型系统纪律(principle-type-system-discipline)。设计类型或任何类型化语言中的签名时。让非法状态无法表示,为基础类型添加品牌,在边界处解析外部数据。
  • 让操作具备幂等性(principle-make-operations-idempotent)。设计命令、生命周期步骤或可能在崩溃和重试期间运行的循环时。确保最终状态收敛一致。
  • 先迁移调用方,再删除旧 API(principle-migrate-callers-then-delete-legacy-apis)。引入新的内部 API,同时旧调用方仍存在时。在一轮改动中完成迁移和删除。
  • 序列化共享状态前先消除共享(principle-separate-before-serializing-shared-state)。多个并发参与者可能写入同一个文件、分支、键或对象时。先消除共享。

验证

  • 证明它有效(principle-prove-it-works)。完成任务后、宣布完成之前。对照真实产物进行验证,而不是代理指标,也不能只凭“能编译”。
  • 修复根本原因(principle-fix-root-causes)。调试时,将每个症状追溯到系统最初出错之处,并在那里修复。只有在处理的状态本身合理时,守卫才算修复。
  • 将工作拆分为可验证的单元(principle-sequence-verifiable-units)。进行多步骤工作(全面检查、迁移、批量相似修改),以及安排提交和 PR 时。将工作拆分为以检查收尾的小单元;每个单元都要验证后再进行下一步,并按能让整个过程自证的顺序交付。
  • 测试行为,而非实现(principle-test-behavior-not-implementation)。编写、修改或保留测试时。断言代码用户能够观察到的内容,让行为出错时测试失败,而仅内部实现变化时测试仍能通过。
  • 解释数字的含义(principle-explain-the-number)。在信任、报告或依据测量数字采取行动之前(例如加速比、性能回退、吞吐量、延迟或评估结果),找出限制因素,并排除测量到的并非预期工作量的可能。

委派

  • 保护上下文窗口(principle-guard-the-context-window)。编写每份子 Agent 任务说明、阅读或运行输出超过约 150 行的内容,以及规划任务分派时,都要留意上下文占用。在子 Agent 处理大量内容后,只取回简短报告,并在主线程中保留摘要。
  • 不要等待人类确认(principle-never-block-on-the-human)。对于可逆的工作,如果你想问“要不要做 X?”,就直接继续,展示结果,让人类再纠正方向。

元原则

  • 将经验教训编码进结构中(principle-encode-lessons-in-structure)。发现自己第二次写下同一条指示时,将其编码为 lint、元数据标记、运行时检查或脚本,而不是继续添加文字。

自主性

直接去做。 使用任何 MCP 工具。可逆工作和外部操作(团队聊天、更新工单、启动评估)无需询问即可进行。

不可逆写入务必先暂停:对共享分支执行强制推送、部署、删除数据、向客户发送消息。

会话覆盖指令:“别停”/“我要去睡了”/“一直运行到完成”/“完全自主” → 继续执行。

回答“不”也可以。 当被问是否要做某事、被邀请扩大范围或看到某种方案时,给出真实判断。确实如此时,可以拒绝、提出异议,或说“这不值得纳入”。建议是判断,不是附和。默认不应一味赞同;坦诚胜过谄媚。

评论

支持 Markdown