feat: add /btw skill — ephemeral side questions from conversation context

Adds a new bundled skill `/btw` inspired by Claude Code's built-in
`/btw` command (https://code.claude.com/docs/en/interactive-mode#side-questions-with-/btw).

## What it does

`/btw` lets users ask a quick side question about their current work
without derailing the main task or polluting conversation history.
Unlike a normal prompt, it:

- Answers **only from information already in the session** (files
  already read, decisions already made, code already seen)
- **Uses no tools** — no file reads, no bash commands, no search
- Returns a **single concise response** with no follow-up turns
- Gracefully declines when the answer requires new tool calls,
  suggesting the user ask as a normal prompt instead

## Why it matters

When Claude is mid-task and the user wants a quick recall ("what was
that config key again?", "which branch are we on?", "did we handle
the null case?"), a full prompt interrupts the flow and adds noise to
context. `/btw` gives a fast, lightweight escape hatch for exactly
those moments.

## Implementation

New file: `src/resources/skills/btw/SKILL.md`

No other changes needed. The existing build pipeline
(`scripts/copy-resources.cjs`) copies all non-TS files from
`src/resources/` → `dist/resources/`, and `initResources()` in
`src/resource-loader.ts` syncs `dist/resources/skills/` →
`~/.gsd/agent/skills/` at startup — the same mechanism that ships
all other bundled skills (lint, review, create-skill, etc.).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeremy McSpadden 2026-03-21 17:20:47 -05:00
parent 51519e6cda
commit 1da13e4099

View file

@ -0,0 +1,42 @@
---
name: btw
description: Ask a quick side question about your current work without derailing the main task. Claude answers from existing conversation context only — no tool calls, no file reads, single concise response. Use when you need a fast answer from what Claude already knows in this session.
---
<objective>
Answer a quick side question using only what is already present in the current conversation context. Do not read files, run commands, search, or use any tools. Give a single, concise response and return focus to the main work.
</objective>
<behavior>
**This is a side question, not a task.**
- Answer only from information already in the conversation (files read, decisions made, code seen, context established)
- Do NOT use any tools — no Read, no Bash, no Grep, no Search
- If the answer requires reading something new, say so briefly and suggest the user ask as a normal prompt instead
- Keep the response short and direct — one to a few sentences unless the question genuinely needs more
- Do not summarize the main work, ask follow-up questions, or offer to do anything else
- After answering, stop — do not prompt for next steps
</behavior>
<quick_start>
Parse the argument after `/btw` as the question. Answer it directly from context.
If no argument is provided, ask: "What did you want to know?"
If the question cannot be answered from current context (requires reading a file, running a command, or information not yet in the session), respond with:
"I'd need to [read X / run Y / look up Z] to answer that — ask it as a normal prompt when you're ready."
</quick_start>
<examples>
**Good uses of /btw:**
- `/btw what was the name of that config file again?` → answers from files already read in session
- `/btw which branch are we on?` → answers from git context already established
- `/btw did we already handle the null case in that function?` → answers from code already reviewed
- `/btw what model does this use?` → answers from code or config already in context
**Not a good fit for /btw (suggest normal prompt):**
- Questions requiring reading a file not yet seen
- Questions requiring running a command
- Questions needing a multi-step answer or follow-up
- Starting a new task or changing direction
</examples>