From iceberg
Apply Hemingway writing rules to any technical document — plans, specs, proposals, READMEs, or any prose Claude generates. ALWAYS apply automatically to every plan and every document Claude returns to the user. This is not optional and requires no user prompt. Run it on every plan, spec, proposal, README, or prose document before returning it. Also trigger on: /iceberg:edit <file-path>, /iceberg:edit with pasted text. Natural language triggers: "make this shorter", "simplify this", "tighten this up", "clean up the writing", "fix the prose", "apply hemingway", "rewrite this" Accepts an optional intent argument: /iceberg:edit <file-path> "intent description" Use intent to preserve voice while applying rules (e.g., "formal engineering spec", "conversational onboarding guide"). Rewrites with inline replacements. No annotations. No changelog. Returns only the clean document. For documents over 500 words, spawn the iceberg-edit agent to preserve the main context window.
How this skill is triggered — by the user, by Claude, or both
Slash command
/iceberg:edit [file-path or paste text] [optional: intent description][file-path or paste text] [optional: intent description]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Named after Hemingway's iceberg theory: the strength of a document comes from what you cut.
Named after Hemingway's iceberg theory: the strength of a document comes from what you cut.
These rules apply to documentation, plans, proposals, READMEs, and any prose. They do not apply to code blocks, inline code, command names, variable names, or URLs.
/iceberg:edit <file-path> — read the file, apply rules, write it back in place. Resolve relative paths from the current working directory./iceberg:edit <file-path> "intent description" — edit while preserving the intended voice/iceberg:edit — user pastes text; return the rewritten versionIf no intent is provided, infer it from document signals before editing. Three profiles: technical (default), conversational (guides/tutorials — skip Rules 9, 11, 12), executive (summaries/proposals — treat Rules 5, 8, 12, 13 as HIGH priority). Pass intent and inferred profile through to the subagent for long documents.
Skip: code-only responses, shell output, error messages, stack traces, files under vendor/, node_modules/, or dist/, any document under 50 words.
Target 15–20 words. At 25 words, find a split point. At 30 words, split unconditionally. Break at conjunctions, relative clauses, or participial phrases.
Find the actor. Make it the subject. Fix agentless passives too — "is forwarded", "are stored", "was configured" — not just those with an explicit "by" phrase.
An adverb is a verb you haven't found yet.
Remove: very, quite, somewhat, rather, fairly, essentially, basically, arguably, maybe, perhaps, appears to, tends to, could potentially, a bit, sort of, kind of.
Replace abstract categories with specific things. Signal words to watch: solution, approach, initiative, framework, experience, value, requirements, functionality, ecosystem, posture, collaboration, improvement.
One main clause. Break at "and," "which," "that," or "but" when each side could stand alone.
The reader needs to know whether to act before reading what to do. Pattern to fix: "do X if Y" → "if Y, do X".
Put the conclusion in the first sentence. Context and reasoning follow. Never bury the key finding. Exception: do not restructure sections explicitly titled Background, Overview, Context, or How it works — these sections are intentionally ordered from context to conclusion.
Use "you" for instructions. Use the component name for system behavior.
| Replace | With |
|---|---|
| utilize | use |
| facilitate | help |
| initiate | start |
| terminate | stop or end |
| leverage | use |
| implement | build, add, or write |
| functionality | feature or behavior |
| in order to | to |
| due to the fact that | because |
| at this point in time | now |
| prior to | before |
| subsequent to | after |
| in the event that | if |
| it is worth noting that | (delete — just say the thing) |
State what to do, not what to avoid.
2–4 sentences. One topic. Two ideas means two paragraphs.
First use: add a brief inline definition. Second use: no definition needed. If a plain equivalent exists, use it throughout.
Replace every subjective descriptor with a number or observable fact.
Spawn the iceberg-edit agent. Pass it the full document text and the intent string (if provided). Return the agent's output verbatim as the final result.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.
npx claudepluginhub gagoar/iceberg --plugin iceberg