[FEATURE] Reusable saved prompts for /btw (side chat) — and a /compact that drafts its own instructions there

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 3, 2026

Preflight Checklist

  • [x] I have searched existing requests — closest are #61810 and #36820, both closed as stale (NOT_PLANNED, "inactive for too long"), and both ask for tools/skills in the side channel. This request is strictly smaller: saved prompt text only.
  • [x] This is a single feature request

Problem Statement

/btw is the only way to ask something that inherits the main conversation's context without polluting it. That property matters most for one specific job: asking for compaction instructions — the text you paste as the argument of /compact.

Asking in the main thread defeats the purpose: the instructions become part of the very conversation that is about to be summarized.

But /btw only accepts free text typed by hand. There is no way to save a long, reusable prompt and invoke it. I re-paste the ~25-line prompt below from a scratch file every single time.

The prompt I keep pasting

We are in a SIDE CHAT. Do not execute anything — your only deliverable is TEXT.

I want you to write the COMPACTION INSTRUCTIONS for the MAIN conversation, so I can
paste them as the argument of the /compact command over there. In other words: the text
you give me will be read by the SUMMARIZER of the main conversation, telling it what the
summary must preserve and what it may discard.

This is NOT a handoff, NOT a new-session prompt, NOT a summary of the conversation — it
is a list of directives for whoever is going to summarize, in this format:

1. PRESERVE WITH PRIORITY: current task state (what is done, what is in progress, the
   exact next step, and what is waiting on me); decisions made and why; rules/agreements
   we established; open items and known problems; traps already discovered (mistakes that
   were expensive and must not repeat); important file paths and commands.
2. POINT INSTEAD OF REPEATING: if some information is already saved in a file/document,
   the summary should cite the path, not copy the content.
3. SAFE TO DISCARD: step-by-step of work already completed and verified (keep only the
   final result), raw tool output, intermediate attempts, discussions already resolved.

Deliver ONLY the instruction block, ready to paste, in a code block, adapted to the
specific content of our main conversation.

Why the prompt is shaped that way (this part may be a bug)

The first line — "We are in a SIDE CHAT. Do not execute anything" — is not stylistic. The side chat does not reliably know it is a side chat. Without that preamble it behaves as if it were the main thread: it announces tool calls, tries to act on the task, and answers as a participant in the work instead of as a consultant about the work.

This gets noticeably worse when a workflow is active in the main session: the side chat inherits the workflow framing and believes it is still inside it — it responds as the next step of the workflow rather than as an out-of-band question.

So a large share of the prompt exists purely to undo context the side chat should never have assumed in the first place. If the side chat were told what it is, most of the preamble would be unnecessary.

Proposed Solution

Let a prompt-only custom command supply the /btw payload — /btw /my-command, or via frontmatter:

---
description: Ask the side chat for compaction instructions
side-chat: true
---

The command body becomes the side chat's prompt. No tool access, no execution — purely substituting typed text with saved text.

Ideal end state: since the main use case is compaction, a built-in could close the loop entirely — a /compact variant that first asks the side chat (with an embedded prompt like the one above) to draft the instructions from the live conversation, then feeds them straight into the summarizer. The session would compact itself properly with no copy-paste and no context pollution at all.

Related: compaction output shaped more like a handoff document (state, decisions, next step, traps) rather than a prose recap would be valuable on its own.

Alternative Solutions

  • Ask in the main thread — pollutes exactly the context about to be compacted
  • Put the template in CLAUDE.md — works (the side chat inherits it), but taxes every session's context, including sessions that never compact
  • OS-level text expander (espanso) — works, but an external dependency for something the app could do natively
  • PreCompact hook — solves compaction only, is generic rather than per-conversation, and does nothing for side chat reuse in general

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

View original on GitHub ↗