diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-25 00:41:02 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-25 00:41:02 -0500 |
| commit | 9ebd26de52421b0d2515b2288d108278893d51e9 (patch) | |
| tree | fda85fb1143ee657f7e0b0570e99c65391d74c04 /claude-rules/interaction.md | |
| parent | 086d5c880324e9c7eeb57606f86fd081bba8e85c (diff) | |
| download | rulesets-9ebd26de52421b0d2515b2288d108278893d51e9.tar.gz rulesets-9ebd26de52421b0d2515b2288d108278893d51e9.zip | |
docs: keep chat output plain text to avoid reverse-video
Craig's terminal renders Markdown bold and inline-code spans as reverse video, which is hard to read. I added a rule to interaction.md: in conversational output, write command names, paths, and key chords as plain text, and lean on headers, dashes, parentheses, and quotes for structure. It governs chat output only, not the Markdown source of the rule and spec files he reads in an editor.
I also made the keybinding-display example plain text so the convention shows the format the way it should appear in chat, with a pointer to the new rule.
Diffstat (limited to 'claude-rules/interaction.md')
| -rw-r--r-- | claude-rules/interaction.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/claude-rules/interaction.md b/claude-rules/interaction.md index 4d9279b..7e42c44 100644 --- a/claude-rules/interaction.md +++ b/claude-rules/interaction.md @@ -29,3 +29,17 @@ For multi-select decisions, say so explicitly: "Pick any combination — reply w Reserve `AskUserQuestion` only when the user explicitly asks for the popup form ("use the popup for this one") or for genuinely free-form input where numbered options don't fit. This rule applies to all three approval gates in the `commits.md` publish flow (commit message, PR description, PR review reply): print the draft inline, then offer numbered approve / changes / edit options inline. Do not switch to the popup form for the gate even though the prior protocol referenced it. + +## No Reverse-Video Highlighting in Chat Output + +In conversational output to the user, do not use Markdown bold (`**...**`) or inline-code spans (backtick `` `...` ``). The user's terminal renders both as reverse video, which is hard to read on the display. + +**Why:** The styling that looks like emphasis in most renderers comes through as inverted foreground/background here. Plain prose, plain identifiers, and plain key chords read cleanly; the "highlight" actively hurts legibility. + +**How to apply:** + +- Write command names, file paths, key chords, and code identifiers as plain text — `pearl-save-issue` becomes pearl-save-issue, `C-; L s s` becomes C-; L s s. +- Use structure that doesn't invert colors: headers, numbered lists, dashes, parentheses, and double quotes for labels are all fine. +- Fenced code blocks (triple backtick) are acceptable when the user explicitly wants a block to copy — they don't invert the way inline spans do. Default to plain text otherwise. + +This governs **chat output**, not the Markdown source of rule files, specs, or docs the user reads in an editor — those keep normal Markdown formatting. The constraint is the terminal rendering of the live conversation. |
