ketchup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseKetchup
Ketchup
A skill named in bold or in backticks, or run as , is the file beside this skill's directory, and a principle named without its prefix is . Read the file and follow it. Most pstack skills are user-only, so your skill tool cannot load them.
/<name>../<name>/SKILL.md../principle-<name>/SKILL.mdCatch the user up on what changed in this chat since the last message they wrote before , and help them understand each change, not only where it stands. Notifications and subagent results are not their messages. Assume the user remembers their last message and nothing after it.
/ketchupUse 's voice, not its task: plain words, short sentences, no jargon, like one person catching up another. Say what changed for the user, not how you did it. Say "the tests pass", not "CI is green". Leave out hashes, file paths, commands, build numbers, and test counts unless the user needs one to act. Call each PR, branch, or agent by a name the user would know, not by a label you invented. If a fact needs context to make sense, give the context or leave the fact out.
/bro以粗体或反引号标出的 Skill,或以 运行的 Skill,指的是位于此 Skill 目录旁边的文件 ;不带此前缀提及的 principle 指的是 。读取该文件并遵循其中的说明。大多数 pstack Skill 仅限用户使用,因此你的 Skill 工具无法加载它们。
/<name>../<name>/SKILL.md../principle-<name>/SKILL.md向用户说明自他们在 之前发送上一条消息以来,聊天中发生了哪些变化。帮助用户理解每项变化,而不只是它目前处于什么状态。通知和 subagent 结果不属于用户的消息。假设用户记得自己上一条消息,以及之后没有发送过任何消息。
/ketchup采用 的语气,而不是它的任务:使用直白的话、简短的句子和通俗表达,像一个人在对另一个人做情况说明。说明对用户而言发生了什么,而不是你具体是怎么做的。说明“测试通过了”,而不是“CI 绿了”。除非用户需要这些信息来采取行动,否则不要提及哈希值、文件路径、命令、构建编号和测试数量。用用户认识的名称称呼每个 PR、分支或 Agent,不要用你自创的标签代替名称。如果某个事实需要上下文才能理解,就补充上下文;否则不要提及这个事实。
/broGather what changed
收集变化
Keep this turn read-only. Make visuals only from what you already have: do not change code, start an app or a job, or post anything. Collect your own work since that message, reports from subagents, and messages from anyone else in this chat. Check the current state of each PR, CI run, or agent this chat touched. Check each number you will show against the facts it comes from, and say so when you correct one.
An action item is a decision or step only the user can take, such as a product choice, an approval, an irreversible action, or access you lack. Include any still waiting on the user, even one raised before their last message. Work you can still do yourself is not an action item. Never make up a call to fill the reply. A step the user did not ask for and the work does not need is not an action item, unless it is irreversible and waiting on the user: give it one action line, no visual, and skip what happens if the user does not answer.
本轮操作必须保持只读。只能使用已经掌握的信息制作可视化内容:不要修改代码、启动应用或任务,也不要发布任何内容。收集你从那条消息之后完成的工作、subagent 的报告,以及聊天中其他人发送的消息。检查本次聊天涉及的每个 PR、CI 运行或 Agent 的当前状态。针对其来源事实核对每一个准备展示的数字;如果修正了某个数字,要明确说明。
行动项是指只有用户才能决定或执行的步骤,例如产品选择、审批、不可逆操作,或你无法完成的权限操作。任何仍在等待用户处理的事项都属于行动项,即使它是在用户上一条消息之前提出的。你自己仍能完成的工作不是行动项。不要为了凑数而编造需要用户决定的事项。用户没有要求、且工作本身也不需要的步骤不是行动项;唯一例外是不可逆且正在等待用户处理的步骤:用一个行动项行说明,不配可视化内容,也不要说明用户不回应会发生什么。
Write the reply
编写回复
Keep the whole reply well under 150 words, not counting visuals. When something is easier to grasp as a picture than as sentences, draw it: how a design or system works, a PR stack or dependency chain with each PR's state, a before and after of a fix, or options side by side. Never draw a status list or boxes with nothing connecting them. Never give a fact twice, in text or across visuals. Leave out work that changed nothing for the user. When words run short, cut from what happened before you cut from the action items.
Open with one sentence that says how many things need the user, or that nothing does. If nothing happened and nothing waits on the user, say so and stop.
Then show what happened, pictures first. Embed inline the screenshots and videos the work produced, then any diagram that explains a change. Then sum up in one short bullet per thing the user asked for: what came of it, and whether it is done, still running, failed, or not checked. Write each line the way you would say it out loud: "Search was slow from a missing index", not "Search review: done" or "Slow search: missing index". Name any bug found and fixed on the way. Each line must stay true when read alone. Never mark something done that still waits on the user, and leave out anything the action items say. Under the summary, give at most three short lines that change what the user knows or must do. Then name in one line any work left that you can do yourself.
Then list the action items as plain bullets, never as a diagram or box. Give each two lines, or one for an unasked irreversible step: the decision with your recommendation and why, then what happens if the user does not answer. Ask the call the user owns, such as merge, approve, or pick. A step you would take first goes in your recommendation. So does anything that must happen first, and anything that cannot be undone. Write "unknown" for a part you do not know. Link to the detail.
Show a choice after the list. If the screenshots above already show its options, write each option's gain and cost under its screenshot instead of drawing a new visual; otherwise, compare the options side by side, with the current state when there is one. Give every option the work weighed, each with what it gets the user and what it costs. Keep them out of the rest of the text.
整段回复应远少于 150 个词,可视化内容不计入。如果某项内容用图片比用句子更容易理解,就把它画出来,例如设计或系统的工作方式、标有每个 PR 状态的 PR 栈或依赖链、修复前后的对比,或并排展示的选项。不要把状态列表或彼此没有连接的方框画成图。不要在文字或可视化内容中重复同一个事实。省略那些对用户没有产生任何变化的工作。篇幅不足时,应优先删减发生过程,而不是删减行动项。
开头用一句话说明有多少事项需要用户处理,或者说明没有事项需要处理。如果什么都没发生,也没有事项在等待用户,就直接说明并结束。
然后展示发生了什么,先放图片。内嵌本次工作生成的截图和视频,然后再放解释变化的图表。接着针对用户要求的每件事,用一条简短要点总结结果,以及它处于已完成、仍在运行、失败还是尚未检查的状态。每行都要写成你会当面说出来的样子,例如“缺少索引导致搜索变慢”,而不是“搜索审查:已完成”或“搜索慢:缺少索引”。说明沿途发现并修复的 bug。每行单独阅读时都必须准确。仍在等待用户处理的事项不能标记为已完成;行动项中已经说明的内容不要重复。摘要之后,最多用三行简短内容说明用户新了解到的情况或必须采取的行动。然后用一行说明还有哪些工作可以由你自行完成。
接着用普通项目符号列出行动项,不要使用图表或方框。每个行动项用两行;用户未要求的不可逆步骤只用一行,也不要说明用户不回应时的后续。内容依次为:需要作出的决定、你的建议及理由,以及用户不回应会发生什么。明确提出由用户决定的事项,例如是否合并、批准或选择。你的建议中应包含最先采取的步骤、必须先完成的步骤,以及任何无法撤销的步骤。不知道的部分写“unknown”。附上详情链接。
列出行动项后展示一个选择。如果上方截图已经展示了相关选项,就在每张截图下分别写出该选项的收益和成本,不要再绘制新的可视化内容;否则将选项并排比较,并在存在当前状态时标出。每个选项都要说明权衡了哪些工作、能为用户带来什么,以及需要付出什么代价。不要在其他正文中重复这些内容。
Visuals
可视化内容
A visual is a picture: a screenshot, a video, a Mermaid diagram, a chart or diagram in a page you build and show with , then , or a generated image. A Markdown table is not a visual, even with before and after columns.
html_previewhtml_renderKeep each visual small enough to read at a glance: at most six boxes, with at most eight words in each. Write labels as plain words a person would say, not tags like "Tests: pass". A fact that needs a sentence belongs in the text, or nowhere.
Embed screenshots and videos ( or captures) inline when the change is visible, not only as links. If a visible change has none, mark its summary line "No screenshot yet," and say there what changed on screen. Draw diagrams and charts from facts you have: a Mermaid diagram for how things connect and a chart page shown with , then , for numbers. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist.
preview_*device_*html_previewhtml_render可视化内容是一种图片,例如截图、视频、Mermaid 图表、你构建并通过 预览、再通过 渲染的页面中包含的图表或示意图,或者生成的图片。Markdown 表格不是可视化内容,即使包含修复前后的对比列也一样。
html_previewhtml_render每项可视化内容都要小到能够一眼看懂:最多六个方框,每个方框最多八个词。标签应使用一个人会自然说出的普通词语,不要使用“测试:通过”之类的标签。需要用句子解释的事实应写入正文,否则不要写。
当变化能够直接看出来时,内嵌截图和视频( 或 捕获结果),不要只提供链接。如果某个可见变化还没有截图,就将其摘要行标为“尚无截图”,并在那里说明屏幕上的变化发生了哪些改动。根据已有事实绘制图表:使用 Mermaid 图表说明事物之间的连接;涉及数字时,构建图表页面,先用 展示,再用 渲染。绝不要编造数字,也不要绘制或生成未曾捕获的屏幕画面。只能链接确实存在的产物。
preview_*device_*html_previewhtml_render