From fe2b58a7f961dd658f4eee50e043fbf23a3fc409 Mon Sep 17 00:00:00 2001 From: Marcus Gibson Date: Sun, 11 Oct 2026 23:19:55 -0500 Subject: [PATCH 1/2] ketchup: name T3 preview and HTML tools for before and after visuals --- changes/pstack-t3%2Fd177.md | 1 + skills/ketchup/SKILL.md | 4 ++-- t3/overrides.lock.json | 1 + t3/overrides/ketchup/SKILL.md | 27 +++++++++++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 changes/pstack-t3%2Fd177.md create mode 100644 t3/overrides/ketchup/SKILL.md diff --git a/changes/pstack-t3%2Fd177.md b/changes/pstack-t3%2Fd177.md new file mode 100644 index 00000000..c6d0ee07 --- /dev/null +++ b/changes/pstack-t3%2Fd177.md @@ -0,0 +1 @@ +- Ketchup names T3 tools for its before and after visuals. A screenshot is `preview_snapshot` with `includeImage` true and `save` true when `preview_status` already lists a tab. A video is `preview_recording_start` then `preview_recording_stop`. Ketchup never calls `preview_open`. A table or a chart is one HTML page checked with `html_preview` then published with `html_render`. diff --git a/skills/ketchup/SKILL.md b/skills/ketchup/SKILL.md index 5d32ba26..5b211cdd 100644 --- a/skills/ketchup/SKILL.md +++ b/skills/ketchup/SKILL.md @@ -21,6 +21,6 @@ Then say what happened, most important first. Give each result and what it means Then give each action item a short executive summary. Cover the decision to make, why it matters now, the options and what each costs, your recommendation, and what happens if the user does not answer. If you do not know a part, say so instead of guessing. Link to the detail when there is one, and write the summary so the user can decide without opening it. -Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. +Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. -Prefer visuals to dense prose. Use a table, a Mermaid diagram, a chart, or a generated image. +Prefer visuals to dense prose. Use a table, a Mermaid diagram, a chart, or a generated image. A table or a chart is one HTML page. Check it with `html_preview`, then publish it with `html_render` as [Visual reports](../pstack-runtime/SKILL.md#visual-reports) describes. diff --git a/t3/overrides.lock.json b/t3/overrides.lock.json index c6944797..55548522 100644 --- a/t3/overrides.lock.json +++ b/t3/overrides.lock.json @@ -9,6 +9,7 @@ "interrogate/SKILL.md": "25341c393f515c1e1fa9bce668b7551e9f98c195113a460ff524d3c1f7f50cd9", "interrogate/references/reviewer-prompt.md": "f6005cc2b535006fca97a96c5bfda49df57312eedf1ffd8d1aaaf3eb33817c25", "interrogate/references/rubric.md": "0f9c6bdb0b96e26dbde5f6407f417e0c02f54080e7a1268d8994f3c3ec6c5ac0", + "ketchup/SKILL.md": "3b00c552fdb236ecfce85184000814bf62d7c518aac3acd1ba7ea8e02d8f2196", "maintain-verification-skill/SKILL.md": "515c0eaa054b3f6be1b1fb06f2c2f173c80fddb58bbcac57576f89c479bc68e8", "make-bot-ui/SKILL.md": "3624c8ef16cf2e48deb2a4049e72c6962a9431c8d6c6af90e7bd7ea0375224ec", "no-comments/SKILL.md": "5c5b0882297d704c3a9720c52b7a793c68b013eaf717989f0945624efdfe2b05", diff --git a/t3/overrides/ketchup/SKILL.md b/t3/overrides/ketchup/SKILL.md new file mode 100644 index 00000000..a3b9b6c7 --- /dev/null +++ b/t3/overrides/ketchup/SKILL.md @@ -0,0 +1,27 @@ +--- +name: ketchup +description: "Catch the user up on everything in this chat since their last message, in plain words. Give each action item an executive summary with enough context to make the call. Use for /ketchup." +disable-model-invocation: true +--- + +# Ketchup + +Catch the user up on everything in this chat since the last message they wrote before `/ketchup`. Notifications and subagent results are not their messages. Write in the plain voice of [`/bro`](../bro/SKILL.md), and skip its restating step. Assume the user remembers their last message and nothing after it. Call each PR, branch, or agent by a name they would know, not by a label you invented during the work. + +## Gather what changed + +Keep this turn read-only, except for visuals you make for the reply from what you already have. Do not change code, start an app or a job, or post anything to make them. 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. Say which are still running and which you could not check. + +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. + +## Write the reply + +Open with one sentence that says how many action items there are, or that there are none. If nothing happened and nothing waits on the user, say so and stop. + +Then say what happened, most important first. Give each result and what it means for the user. Skip steps that changed nothing. Name in one line any work left that you can do yourself. + +Then give each action item a short executive summary. Cover the decision to make, why it matters now, the options and what each costs, your recommendation, and what happens if the user does not answer. If you do not know a part, say so instead of guessing. Link to the detail when there is one, and write the summary so the user can decide without opening it. + +Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. + +Prefer visuals to dense prose. Use a table, a Mermaid diagram, a chart, or a generated image. A table or a chart is one HTML page. Check it with `html_preview`, then publish it with `html_render` as [Visual reports](../pstack-runtime/SKILL.md#visual-reports) describes. From be820f8b5a17e28e7a915d5aa4c9f3a84bde4f01 Mon Sep 17 00:00:00 2001 From: Marcus Gibson Date: Sun, 11 Oct 2026 23:33:47 -0500 Subject: [PATCH 2/2] ketchup: tie the video to the same preview tab --- changes/pstack-t3%2Fd177.md | 2 +- skills/ketchup/SKILL.md | 2 +- t3/overrides/ketchup/SKILL.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/changes/pstack-t3%2Fd177.md b/changes/pstack-t3%2Fd177.md index c6d0ee07..e7f0f359 100644 --- a/changes/pstack-t3%2Fd177.md +++ b/changes/pstack-t3%2Fd177.md @@ -1 +1 @@ -- Ketchup names T3 tools for its before and after visuals. A screenshot is `preview_snapshot` with `includeImage` true and `save` true when `preview_status` already lists a tab. A video is `preview_recording_start` then `preview_recording_stop`. Ketchup never calls `preview_open`. A table or a chart is one HTML page checked with `html_preview` then published with `html_render`. +- Ketchup names T3 tools for its before and after visuals. A screenshot is `preview_snapshot` with `includeImage` true and `save` true when `preview_status` already lists a tab. A video is `preview_recording_start` then `preview_recording_stop` on that same tab. Ketchup says not to call `preview_open`. A table or a chart is one HTML page checked with `html_preview` then published with `html_render`. diff --git a/skills/ketchup/SKILL.md b/skills/ketchup/SKILL.md index 5b211cdd..cc3464aa 100644 --- a/skills/ketchup/SKILL.md +++ b/skills/ketchup/SKILL.md @@ -21,6 +21,6 @@ Then say what happened, most important first. Give each result and what it means Then give each action item a short executive summary. Cover the decision to make, why it matters now, the options and what each costs, your recommendation, and what happens if the user does not answer. If you do not know a part, say so instead of guessing. Link to the detail when there is one, and write the summary so the user can decide without opening it. -Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. +Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` on that same tab is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. Prefer visuals to dense prose. Use a table, a Mermaid diagram, a chart, or a generated image. A table or a chart is one HTML page. Check it with `html_preview`, then publish it with `html_render` as [Visual reports](../pstack-runtime/SKILL.md#visual-reports) describes. diff --git a/t3/overrides/ketchup/SKILL.md b/t3/overrides/ketchup/SKILL.md index a3b9b6c7..08309ad7 100644 --- a/t3/overrides/ketchup/SKILL.md +++ b/t3/overrides/ketchup/SKILL.md @@ -22,6 +22,6 @@ Then say what happened, most important first. Give each result and what it means Then give each action item a short executive summary. Cover the decision to make, why it matters now, the options and what each costs, your recommendation, and what happens if the user does not answer. If you do not know a part, say so instead of guessing. Link to the detail when there is one, and write the summary so the user can decide without opening it. -Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. +Show each action item as a before and after, side by side. For a choice, put the current state beside each option, or the options alone when there is no current state. Use screenshots or a video when the change is visible. When the change is visible and `preview_status` already lists a tab, `preview_snapshot` with `includeImage` true and `save` true is the screenshot. `preview_recording_start` then `preview_recording_stop` on that same tab is the video. Do not call `preview_open`. Otherwise use another artifact, such as a table of numbers, a diff, or a diagram. If no visual exists yet, make one. If you cannot, say plainly that none exists. Never invent a number, and never draw or generate a picture of a screen you did not capture. Link only artifacts that exist. Prefer visuals to dense prose. Use a table, a Mermaid diagram, a chart, or a generated image. A table or a chart is one HTML page. Check it with `html_preview`, then publish it with `html_render` as [Visual reports](../pstack-runtime/SKILL.md#visual-reports) describes.