From aaa038b9d51031c7d614f3ccc2f1c72b5ee1ba28 Mon Sep 17 00:00:00 2001 From: Court Schuett Date: Sat, 22 Aug 2026 08:48:40 -0500 Subject: [PATCH] style(ghost): name "answering unasked questions" as a tell in both passes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Written 2026-07-15 and left uncommitted in the working tree since. Landing it as its own commit rather than folding it into an unrelated fix — it is a complete, deliberate change and deserves its own line in the history. A matched pair, which is why both files move together: draft-post's Phase 5 tell list and revise-post's Axis 2 checklist are the same rules read at two moments, and a rule in one and not the other is a rule the second pass quietly un-applies. The rule: pre-emptive explanation of mechanisms, alternatives, dead ends or edge cases the reader did not need is a cut. One clause of warning is the ceiling for a dead end, and only where the reader would plausibly hit it. A sentence that exists to head off a hypothetical objection goes. Claude-Session: https://claude.ai/code/session_01YNgqJnFLD1gunVWy5bHNAT --- ghost/skills/draft-post/SKILL.md | 1 + ghost/skills/revise-post/SKILL.md | 1 + 2 files changed, 2 insertions(+) diff --git a/ghost/skills/draft-post/SKILL.md b/ghost/skills/draft-post/SKILL.md index a8e30c3..95633a4 100644 --- a/ghost/skills/draft-post/SKILL.md +++ b/ghost/skills/draft-post/SKILL.md @@ -239,6 +239,7 @@ The greps in Phase 5 catch fixed strings. The tells that make writing read as AI - **Negative-first.** Lead with the reason, not the absence. - _Before:_ "Pages don't get their own tools." → _After:_ "Because a page is the same object as a post, the tools take a `type` argument." - **Slip-narration.** Present the working config, not a blow-by-blow of what broke and how it got fixed. +- **Answering unasked questions.** Pre-emptive explanation of mechanisms, alternatives, dead ends, or edge cases the reader didn't need. A paragraph justifying why some other approach wouldn't work — when the reader never asked about that approach — is a cut. One clause of warning is the ceiling for a dead end, and only when the reader would plausibly hit it. If a sentence exists to head off a hypothetical objection, delete it. Fix these in the file. Only then continue to the hand-off. diff --git a/ghost/skills/revise-post/SKILL.md b/ghost/skills/revise-post/SKILL.md index 0129ab5..42aed0f 100644 --- a/ghost/skills/revise-post/SKILL.md +++ b/ghost/skills/revise-post/SKILL.md @@ -174,6 +174,7 @@ If the style guide is available, also check: - **Retcon** — a fix dressed up as intentional design; describe what the thing does and why, not a story of having meant it all along. - **Overselling** — "I set one rule at the start", "the part I lean on"; understate. - **Negative-first** — lead with the reason, not the absence ("Because a page is the same object as a post…," not "Pages don't get their own tools"). +- **Answering unasked questions** — pre-emptive explanation of mechanisms, alternatives, dead ends, or edge cases the reader didn't need. One clause of warning is the ceiling for a dead end, and only when the reader would plausibly hit it. If a sentence exists to head off a hypothetical objection, delete it. #### Axis 3 — Content and accuracy