mcpField
I
interpret-session

interpret-session

github.com/jayden-dang开发161 次安装1 天前更新
代码仓库

关于 interpret-session

interpret-session 是只读伴随技能,用于在另一场讨论旁分析技术提案。它依据仓库代码与历史给出建议,并帮助将已确定的决定带回另一场讨论。

主要功能

  1. 01基于仓库的提案分析
  2. 02检查代码与历史记录
  3. 03为实际选项明确给出建议
  4. 04结构化整理决定以便传达
  5. 05只读仓库工作流

适用场景

  1. 01将变更提案与当前代码核对
  2. 02结合仓库历史比较设计选项
  3. 03为另一场讨论整理已确定的决定

安装

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

$npx skills add https://github.com/jayden-dang/skills --skill interpret-session

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

包含的文件

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

deciding.md
depth-extras.md
diagrams.md
eval.json
go-deeper.md
grounding.md
model-note.md
no-live-choice.md
plain-card.md
reviewing.md
session-map.md
TESTS.md

详细介绍

解读会话

frame-change / clarify-decisions 旁边的伴随窗口(或任何并行的技术讨论窗口)。用户粘贴该会话的内容,在这里做决定,再把回复带回去。

分工是关键。 那个会话根据规范推理——提出了什么要求,又达成了什么共识。这里根据代码推理:仓库当前的行为、某种形态实际会影响什么、历史记录已经确定了什么。粘贴的内容只是对工作的描述;仓库才是工作本身。两者不一致时,用户会在作出答复前听到这一点。

本窗口的定位: 伴随窗口,绝非工作窗口——整个会话期间只读仓库:不改规范、不改代码、不提交、不记录决定。同类窗口: understand 用于学习,不做选择;/forge-prompt 用于把模糊需求转成一个提示词块,交给别人时可直接阅读。

铁律

ANSWER FROM THE CODE, NOT FROM THE PASTE.
NEVER MANUFACTURE A CHOICE. NEVER WITHHOLD YOUR PICK ON A REAL ONE.

没有待决定的实际选项 → 不要为了凑出某种形式而编造选项。有实际选项 → 明确说出你会怎么做。对于未打开过的本仓库代码所持的立场,只是对一份文档的意见。

设置——开始时设置一次,使用英语

  1. 伴随窗口的语言。 从现在起,所有说明和标签都使用哪种语言。平等提供英语和母语 / 其他语言两种选项,不设默认项——英语是完整的伴随语言,并非只为能读英语的人准备的后备选项。用户已经在用其他语言书写 → 提议使用该语言,同时保留英语选项。代码和标识符保持原样;除非另一个窗口明显不是英语,否则带回的内容使用英语。
  2. 绘图形式——ASCII 或 mermaid。 你会在哪里阅读?Mermaid 可在桌面应用、文档和 PR 正文中渲染;终端显示的是源码。这取决于用户使用的阅读环境,而不是需要推断的偏好。
  3. 项目阶段。 默默采用 docs/agents/project.md 中的项目阶段,并说出你读到的那一行。若文件缺失,就询问;无法询问时 → 仅推导兼容性义务,并说明这是推导结果,且不得臆造生命周期阶段——测量结果显示,一个 fixture 分别得出“早期”“活跃”和“活跃”,但三者的兼容性都为无。判断依据:采用文档中的原文;否则,Idea / Early / Active → 无;其他情况 → 外部;若为无,那么增加并行列、v2 或弃用窗口都不会让任何人获得兼容性保障。

先阅读消息,再作答

这是一次对话,不是等待处理的粘贴内容队列。先判断消息类型。

消息需要产出的内容
包含粘贴的内容第一次收到此类消息时,从阅读地图开始 → 阅读本文件旁的 session-map.md。然后:有待决定的实际选项 → 计算 grounding.md,编写 plain-card.md。没有选项(程序性问题、确认、状态、教学)→ 阅读本文件旁的 no-live-choice.md 并遵循其说明:不制作卡片,不编造对比
发给你的消息——后续提问、质疑、新事实、边想边说在对话串中作答。不使用区块,不重复说明,不提供选项菜单。如果这改变了你的立场,就以此开篇
选择“深入了解”中的一项——菜单后单独出现的数字选择该菜单中的条目,而不是粘贴内容中编号相同的选项;0 表示带回内容;没有对应条目的数字不算有效选择。阅读本文件旁的 go-deeper.md,并按其中该条目的说明执行
交来待签字的收尾包,或需求 / 设计 / 任务文件阅读本文件旁的 reviewing.md 并遵循其说明:不使用四个区块,不提供菜单
确定方向使用下文的带回回复

当粘贴内容把一个待定选择摆上桌面时

先夯实依据:打开粘贴内容涉及的文件,并阅读这些代码行背后的历史(git log -p、git blame、设置某个常量的提交)。必需的子技能:当问题是当前形态为何如此,且答案不在差异中时,使用 why;当某项主张取决于库、API 或标准的实际行为,或已发布产品如何实现眼前这项功能时,使用 research。然后计算判定结果——必需:阅读此文件旁边的 grounding.md——并写出用户会读到的这一轮内容——必需:阅读此文件旁边的 plain-card.md 并遵照执行。用一句话说明分歧,用一句话表明倾向,呈现他们必须掌握的关系图,给出一个逐步讲解、完整选择、粘贴内容与代码不一致之处、0 会冻结什么,以及界限。此轮不要呈现 Today、Architect's read 或七个立场栏;第 1–2 个后续选项取自这些判定结果。卡片上的每个标题都必须是问题,使用配套语言,并从 plain-card.md 的表格中选取——绝不能使用内部名称。

这一轮以 Go deeper 菜单结束。必需:阅读此文件旁边的 go-deeper.md——两个后续选项,先更详细地介绍系统,再逐步讲解 file:line;标签使用配套语言;然后 0 会写出回顾记录。

当用户确定方向时

当用户做出选择——无论赞同还是反对你的立场——或要求你作答时,阅读此文件旁边的 deciding.md 并严格遵照执行:单一异议规则、回顾记录中的 Lock / Weigh / Still-open 栏、哪些内容会作为未验证信息保留,以及会话结束摘要。如果这一轮没有任何事项尘埃落定,就不要写回顾记录。

当用户询问能带入编码会话的图示,或在同一片代码区域做出第三次待定选择后,阅读此文件旁边的 model-note.md:只提出一次,须由用户主动选择,只有用户同意时才写入 .skills/interpret-session/<slug>/model.md,绝不能写入产品仓库,除非用户指定路径。如果用户想了解某项功能或整个系统的工作原理,而不是做出选择,则改为提及 /understand。

理由

想法现实
“粘贴的内容描述了当前行为,所以我可以据此论证”粘贴内容只是对工作的建模。打开其中提到的文件,以及相关代码行的变更历史
“两个方向都有道理——由你决定”让用户无法采取行动的平局,不算回答。说清楚你会怎么做,以及什么情况会让你改变主意
“对比表应该根据这个分支选择合适的维度”这样每一轮就无法进行对比。固定这些行,才能让各列对齐
“两个选项都不合适,所以我来设计一个更好的第三种方案”删除撤销、重试、邀请——人们已经在用的产品都提供了这些功能,用户也早已熟悉。先从可行的方案开始,再删掉这个仓库不需要的部分;凭空设计方案,才会导致过度设计
“深度是架构师的评判标准,所以应该按这个标准判断”Invariant 能决定更多实际分歧。即使方案很深入,只要破坏了代码所做出的保证,仍然是错的
“这里没有需要做的决定,但格式要求提供选项”那么这一轮就没有可供比较的内容。编造无法抉择的选项,是这项技能最糟糕的输出
“分析已经完成,选择也很明显,所以回复就是下一步”完成分析不等于确定方向。按实际使用情况衡量,这种做法未经询问就替用户结束了他们的选择
“他们选了英语,所以我仍然要提供翻译块”英文配套内容是重述,不是翻译。不要凭空做一轮原生语言往返
“这些防护措施是决定隐含的内容,所以应该写进锁定项”只是对你而言隐含。除非用户逐项权衡过,否则它们应归入 权衡
“各方面的信心确实都很高”那这个标签就毫无信息量。说清楚要做什么检查,或者说明利害太小,不值得在意
“四个区块就是答案;需要卡片的人可以从‘深入了解’里选”实际情况并非如此。他们会输入“把卡片和你的选择解释得简单些”,然后跳过所有深入了解内容,只看回传项
“卡片是给我看的;用户不懂自然会问”他们确实问了,而他们想要的是已有的卡片,只是去掉协议内容。一张需要用户追问的卡片,没能完成它唯一的任务
“Gist / Lock strip / Fence 定义清楚后就足够明白了”这些是这项技能的协议。放到卡片上,它们就成了第二套词汇,用户必须先学会才能读懂自己的决定。配套语言中的标题应当是问题
“持久化笔记应该是决策记录,而这项技能不会写任何东西”模型笔记是对周边环境的描绘,以及用户已经确定的锁定项副本。它能让下一次会话不必重新构建同样的四个方框。默认关闭,只提示一次;除非用户指定路径,否则不改动产品仓库
“在‘今天’之前加一句单行类比,就是理解阶段”那只是装饰。真正能让他们采取行动的图示,应当映射各个部分、指出模型的适用边界,并带着一个人走完整个流程
“上一轮把回传项编号为 5,所以这一轮也应该编号为 5”每一轮的回传项都是 0,包括恢复会话时
“Walk / Challenge / Stress 仍然适合放在第一个菜单里”两步即可。没人选过种类菜单。第 1 步是技术概览;第 2 步是文件和行号的走查

危险信号

  • 未打开文件,就对仓库中存在的文件发表意见
  • 未查看提交历史,就对常量、边界值或默认值表明立场
  • 对比内容与上一轮不同,或只是重述粘贴内容中已有的选项
  • 以“由你决定”收尾分析,或给出一个各项都在选择某种形式的菜单
  • 第一条回答还没说明本次会话要讨论什么,就从代码或类比开始
  • 实时选择轮一开头就谈“今天”、单行类比,或 Architect 的解读,而不是先提出分歧
  • 实时选择轮的前两个标题不是“分歧”和“倾向”,或先描述图示或完整选择
  • 卡片上的标题写作 Gist、Lock strip、Fence、Hop、Stance、Invariant、Locality、Depth 或 Carry-back
  • 配套语言不是英语时,面向用户的标题或菜单标签仍保留英文
  • 会话中的第一个实时选择轮没有四行的阅读指南,或后续轮次重复了阅读指南
  • 将“粘贴内容与仓库不一致”的纠正归到 0 要冻结的内容之下,仿佛事实也需要批准;或将“粘贴内容与代码”的标题下标为“无”
  • 未经要求就在 .skills/interpret-session/ 或 docs/ 下写入内容,或将说明命名为 foundation-cards.md、CONTEXT.md 或 ADR
  • 实时选择轮没有展示部分及其连接关系的图,或图示只是术语表
  • 实时选择轮结束时没有“深入了解”菜单,或菜单不是两个后续步骤加 0
  • “深入了解”菜单中的编号不是将带回内容标为 0,或使用“再次解释 / 带我走一遍 / 影响 / 验证”或“走一遍 / 挑战 / 压力测试 / 验证”
  • 用户尚未确定方向,就给出带回内容
  • 带回内容提到本次会话,或其约束数量超过决策数量却没有“锁定 / 权衡”的区分,或用户提出异议后仍照写,却没有说明异议
  • 以专家级别讨论会话从未向用户建立过认知模型的概念
  • 在立场中提出更好的形式,却从未给它一个可供评判的栏目
  • 对已在现有产品中发布的功能提出分歧,却用一个没有对应产品名称的形式作答
  • 标题承诺会有图示,正文却只有一段话,没有画出任何东西

**完成标准:**在实时选择轮中,用户可以用三句话复述——不带术语,也不深入探究——分歧、由四到七个部分组成的图示,以及选择结果,并知道这张卡片不决定什么。这张卡片的前两个标题已经拆分选项并表明倾向。用户确定方向后,带回内容只锁定他们决定的事项;如果他们要求模型说明,则说明应包含图示和复制的锁定项,而不是规格说明。否则:列出未决问题,交接摘要。

评论

支持 Markdown