← ClaudeAtlas

progressive-disclosurelisted

When a chat reply exceeds the wall-of-text threshold, attach as a .md file with a 3-line summary in chat instead. Reduces mobile reading friction + token tax on future sessions reloading the transcript.
0xUrsanomics/utopia-os · ★ 2 · AI & Automation · score 76
Install: claude install-skill 0xUrsanomics/utopia-os
# Progressive Disclosure for Long Chat Replies Attach long replies as files; show only the summary in chat. ## Tone & Voice Operational convention. applies AUTOMATICALLY without a user prompt. The chat summary should be terse, 3 lines max, with an explicit "full content in attached file" pointer. **Hard rule**: when triggered, do NOT ask "should I attach?". just attach. Asking defeats the friction-reduction purpose. ## Procedure (thinking step by step) 1. Compose the full reply mentally. 2. Count chars (excluding markdown table chars). If >1500 → trigger. Count table rows. If 8+ → trigger. 3. Save full content to `outputs/tg/reply-<ISO>-<slug>.md` (auto-generated path). 4. Generate a 3-line summary: (a) topline result, (b) key tradeoff or finding, (c) "see attached for full details". 5. Reply via the chat reply tool with the summary text + `files: ["<path>"]` attached. ## Rule (apply automatically, no user invocation needed) **Trigger any of:** - Reply text exceeds **1,500 characters** (excluding markdown table chars) - Markdown table has **8+ data rows** - Code block exceeds **30 lines** - Total markdown structure has **5+ headed sections** **When triggered:** 1. Write the full reply content to `outputs/tg/reply-YYYY-MM-DDTHH-MM-SSZ-{slug}.md` with frontmatter (date, type=chat-reply, related-thread-context) 2. Send via the reply tool with: - `text` = 3-line summary describing what's in the file + the headline takeaway - `files` = `[<absolute path to the .md>]`