diff --git a/CLAUDE.md b/CLAUDE.md index b59a88d69c5..6b2224989d3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -34,34 +34,13 @@ If you ever make public-facing PR descriptions, comments, issues, commit message - don't use bulleted or numbered lists unless it would be nonsensical not to. Instead, prefer prose - don't add a trailing "." at the end of paragraphs (just like this file). That means every paragraph, not just the last one (of the markdown file, PR description, GitHub comment, etc.). Rule of thumb: if you're adding new line(s) before the next sentence, don't add a "." - don't use →. Instead, prefer not to use arrows, and if need be, use -> instead +- don't use filler words like delve, foster, leverage, utilize, facilitate, empower, streamline, robust, cutting-edge, paradigm shift, game changer, transformative, or empty phrases like "it's worth noting", "at the end of the day", "at its core", "in order to", "let's dive in"; also cut adverbs like just, simply, actually, truly, fundamentally when they add nothing +- don't puff or hedge with "marks a pivotal moment", "stands as a testament", "plays a vital role", "experts agree", "studies show"; state the fact or name the source +- don't open with throat-clearing or faux-insight ("Here's the thing", "Let me be clear", "what nobody tells you") or close with recaps ("In conclusion", "Overall") and mic-drop kickers; make the point and stop +- don't use colon reveals ("The best part: it learns"), trailing -ing analysis ("highlighting the commitment to..."), or negative listing ("Not X. Not Y. A Z"); write plain sentences +- prefer plain verbs ("is", "has", "decided") over "serves as" / "made a decision", active voice, and concrete numbers over abstractions ("cut deploy time from 40 minutes to 4", not "improved efficiency") -The rest of these are adapted from the no-ai-slop skill (https://github.com/petergyang/no-ai-slop). The overarching goal is the same: clear, direct, concrete, human writing that leads with the point. Preserve your real voice and make the minimum effective edit; keep phrases like "I think" or "maybe" when they carry real uncertainty, and don't flatten distinctive lines just for polish - -Words to avoid outright: delve, foster, leverage, utilize, facilitate, empower, streamline, robust, cutting-edge, paradigm shift, game changer, this is huge, this changes everything, tapestry, realm, beacon, multifaceted, meticulous, intricate, paramount, transformative, elevate, embark, supercharge, harness, ever-evolving - -Often-empty adverbs to cut when they add nothing (keep them only when they carry real emphasis, uncertainty, or contrast): just, literally, honestly, simply, actually, truly, fundamentally, importantly, crucially, inherently, inevitably - -Often-empty phrases to cut when they delay the point: it's worth noting, it's important to note, at the end of the day, when it comes to, at its core, in today's world, in the age of, in the world of, the reality is, the truth is, in terms of, with regard to, in order to, going forward, in this article, let's dive in - -Patterns to cut: -- Binary contrasts: "This is not X. It's Y", "The question isn't X, it's Y", "It's not just X but Y". State Y directly ("the eval matters more than the model") -- Throat-clearing openers: "Here's the thing", "Let me be clear", "I'll be honest", "The uncomfortable truth is". Cut them and state the point -- Faux-insight setups: "This is the part most people skip", "what most people get wrong", "here's what nobody tells you". Make the claim stand on its own -- Colon reveals: a noun phrase, a colon, then a dramatic lowercase reveal ("The best part: it learns"). Rewrite as a plain sentence; use colons for lists, labels, and quotes, not fake drama -- Superficial analysis: trailing -ing clauses that pretend to explain meaning ("highlighting", "underscoring", "reflecting", "showcasing"). Say the concrete consequence instead -- Importance puffery: "stands as a testament", "marks a pivotal moment", "plays a vital role", "solidifies its position", "underscores its significance". State the fact and let the reader judge whether it matters -- Weasel attribution: "experts agree", "studies show", "widely regarded as", "many argue". Name the source or cut the claim; if you have no source, don't invent one -- Fake-strong verbs: prefer "is" and "has" when they're clearer than "serves as", "acts as a centralized hub for", etc. -- Synonym cycling: if the clear word is right, repeat it; don't rotate terms (the agent, then the assistant, then the tool) for style -- Negative listing: "Not a X. Not a Y. A Z". Just say Z -- Dramatic fragmentation: "X. And Y. And Z", "That's it. That's the whole thing". Use complete sentences -- Robotic rhythm: avoid repeated sentence shapes and stacked punchy fragments; vary the shape only when it helps the point -- Rhetorical setups: "What if I told you...", "Think about it:", "Plot twist:", and self-answered "Question? Answer" pairs. Drop them and make the point -- Fake-profound kickers: cut the final "deep" metaphor or mic-drop line and end on the clearest concrete sentence you already have -- Summary-recap endings: "In conclusion", "Ultimately", "Overall", or a final paragraph that restates the piece. End on the last concrete point or next action -- Formatting slop: no emoji in headings, no bold sprinkled mid-sentence for emphasis, no bullet lists where two sentences of prose read better, no headers over two-sentence sections - -The fundamentals underneath all of it: lead with the point when the setup adds nothing, use active voice ("the team shipped it Tuesday", not "the decision emerged"), be concrete and specific (names, numbers, dates, and mechanisms beat abstractions, so "cut deploy time from 40 minutes to 4", not "improved efficiency"), and make verbs do the work ("decided", not "made a decision") +(these last few condense the no-ai-slop skill: https://github.com/petergyang/no-ai-slop) Don't hesitate to use values in .env to get needed API keys and other secrets, as long as you never add them to conversation history, commit them, or include them in GitHub issues / PRs