# Bone Dry > Bone Dry counts the giveaways in one short true story and retells it deadpan, with the turn saved for the last line. Paste the story the way you would tell it and say whether it will be said aloud or written down. The page finds seven kinds of giveaway - exclamation marks, laugh tags, emoji, intensifiers, set-up phrases, joke explainers and shouted words - and reads the count on a wall hygrometer: none is bone dry, one to three is damp, four or more is soaked. One metered run returns the deadpan retelling. ## What it is for - Telling a funny thing that happened without signalling the joke first: a story for dinner, a message to a group chat, a post. - Seeing, for free, exactly which words give the story away, and how many. - Getting the same story back flat, in your own nouns, with the odd detail held for the final sentence and two or three delivery notes for how you will tell it. ## How it works 1. You paste the story (at least 8 words, at most 900 characters), pick "said aloud" or "written down", and optionally name a line to keep word for word. 2. The page lists every giveaway it finds, in order, and sets the verdict from the count alone. The hygrometer needle shows "relative humour" - a pun on relative humidity, not a measure of how funny anything is. 3. A metered run (task id `retell-dry`, model gpt-terra) returns: a plain reading with the count, the turn as an exact quote with why it is the turn, one fix per giveaway, the retelling, its last line, delivery notes that match the way you will tell it, and a closing line. 4. The page re-checks the reply: same verdict, one fix per giveaway in order, the turn quoted from your story, your line kept word for word, the retelling ending on its last line with no giveaways left, and no names, numbers, number words, pronouns or times the story never had. ## Contract - Input: `task`, `story`, `medium` (`aloud` or `written`), `keep_line`, `words`, `giveaway_count`, `giveaways`, `verdict`, optional `retry_note`. All strings. - Output: one JSON object with `verdict`, `reading`, `turn` {`quote`, `why`}, `giveaways` [{`text`, `fix`}], `retelling`, `last_line`, `beats`, `closing`. - API documentation with worked examples for every verdict: https://bone-dry.skillsafe.ai/api.html ## Limits - The page only finds words; it cannot tell a sign you are quoting from a word in capitals for emphasis. - Saved stories stay private to the signed-in person. - A playful tool, not professional advice. ## Sources - Built on the SkillSafe skill @social-media-skills/storytelling-and-narrative (MIT): https://skillsafe.ai/skill/@social-media-skills/storytelling-and-narrative