Humanizer Voice
Make copy read like a person wrote it. Kills AI transitions, em dashes, flat rhythm, and summary endings.
Install
$ zana add humanizer-voiceThe checker is stdlib-only Python 3.9+, so there is nothing to install: `python3 scripts/humanize_check.py draft.md`. Use `--strict` for CI.
How it runs
Copy that reads like a person wrote it, with the facts intact.
- 01
Structure
Does it argue, or is it a list of true things?
- 02
Sentences
Break the long ones, vary the openers, read aloud
- 03
Words
Vocabulary swaps and em dashes come last, not first
- 04
Score
humanize_check.py scores rhythm, tells, summary traps
- 05
Deliver
Rewritten text only. Facts and caveats unchanged
Marked steps are enforced by a script.
Sample work
What this skill actually produced. Not mockups.
Example: a research paper turned into a blog post, twice
examples/6g-isac-blogSame paper, same facts, two drafts.
# Revolutionizing National Resilience: How Sovereign Cognitive Digital Twins Are Transforming Climate Adaptation in the Global South In today's rapidly evolving technological landscape, the intersection of 6G connectivity and climate resilience has emerged as a pivotal frontier for developing nations. As small island developing states navigate an increasingly complex risk environment, a groundbreaking new paradigm is unlocking unprecedented opportunities to leverage existing infrastructure for environmental sensing. In this article, we will delve into the transformative potential of Sovereign Cognitive Digital Twins. ## The Challenge: A Perception Gap Small island developing states face a multifaceted challenge that is both urgent and structural. These nations confront accelerating sea-level rise, intensifying tropical cyclones, and devastating storm surge โ all while suffering from sparse ground-based instrumentation. Moreover, the resulting perception gap creates a critical vulnerability in national decision-making processes. The traditional approach to this problem has been to deploy additional sensing infrastructure. However, it is important to note that this approach is prohibitively expensive for resource-constrained nations. Furthermore, conventional sensors are notoriously fragile in precisely the extreme conditions they are designed to monitor. Consequently, a fundamentally different approach is required. ## The Solution: Network as a Sensor This is where the innovative Network as a Sensor paradigm comes into play. Rather than deploying expensive, disjoint environmental sensing systems, vulnerable nations can leverage the Integrated Sensing and Communication waveforms of their own networks as a distributed radar mesh. This transformative approach fundamentally reimagines the role of telecommunications infrastructure. The technical foundation is both elegant and robust. Radio waves are constantly interacting with the environment, reflecting off buildings, hills, and precipitation. By capturing and analyzing these reflections, the network becomes a powerful sensing instrument. Additionally, this capability requires no additional capital expenditure on dedicated sensing hardware. The core insight can be expressed through a simple relationship: `H_ISAC = H_target + H_background`. By learning the static background scene and subsequently subtracting it, operators can isolate dynamic hazards with remarkable precision. This elegant decomposition unlocks the full potential of existing infrastructure.
# We Built a Country's Radio Map on a Raspberry Pi, and the Standard Model Disagreed by 28 dB Two people are going to read this and want different things, so let me sort that out first. If you work on ISAC or AI-RAN, here is the short version. We solved a real 2 km scene from government LiDAR, real terrain, and the national tower register in Sionna RT, entirely on CPU. The estimator and the policy on top are specified and not trained, and I say so in every section. Skip to "What is actually built" if that is what you came for. Everyone else, stay here. It starts with the arithmetic. ## The gap A storm surge arrives in minutes. The data a minister needs to call an evacuation arrives in hours, sometimes days. Sit with that for a second, because everything else comes out of it. It is not a modelling problem or a policy problem. The country cannot see fast enough. And the countries with the worst version of it are the ones least able to fix it the obvious way. Small island developing states sit at the front of sea-level rise and stronger cyclones. They are also among the most weakly instrumented places on earth. Weather radar, tide gauges, river sensors. All expensive, all fragile in exactly the conditions you bought them for. The standard advice is to go buy a few thousand more sensors. Which is the one thing the budget will never do.
examples/6g-isac-blog/02-humanized.md
rhythm 89 sentences, mean 11.3 words, variance 0.7 (human 0.45-0.85)
shortest 2, longest 38, 41 under 9 words, 6 over 24
shape 29 paragraphs, sentences each: [1, 1, 3, 3, 2, 3, 4, 3, 3, 1, 6, 1, 5, 4, 1, 5, 4, 1, 3, 4, 2, 6, 4, 1, 4, 3, 5, 3, 3]
openers 'the' x15, 'it' x6, 'a' x6, 'we' x5, 'that' x4
density hedges 0.0/100, -ly adverbs 1.2/100, three-item lists 0
score 100/100 โ reads human
examples/6g-isac-blog/01-ai-draft.md
vocabulary
moreover 2 L7, L29 just start the next sentence
furthermore 2 L9, L23 just start the next sentence
additionally 2 L15, L31 'also', or nothing
in conclusion 1 L37 stop writing instead
in essence 1 L31 cut it
notably 1 L21 name the thing instead
importantly 1 L25 if it matters, say why
subsequently 1 L17 'then', 'after that'
consequently 1 L9 'so'
delve 1 L3 'look at', 'get into'
leverage 3 L3, L13, L21 'use'
underscore 1 L23 'show', 'prove'
unlock 2 L3, L17 say what became possible
pivotal 1 L3 'key', or say why11 files. Read them here, or pull the folder without the CLI.
$ npx degit aminitech/amini-zana/catalog/skills/humanizer-voice ~/.claude/skills/humanizer-voiceNo clone, no history. Just this folder.
$ git clone --depth 1 --filter=blob:none --sparse https://github.com/aminitech/amini-zana.git && cd amini-zana && git sparse-checkout set catalog/skills/humanizer-voice$ curl -sL https://raw.githubusercontent.com/aminitech/amini-zana/main/catalog/skills/humanizer-voice/SKILL.md--- name: Humanizer Voice description: >- Make copy sound like a person wrote it. Use for any writing or rewriting task: slide copy, blog posts, docs, README files, chat and email replies, LinkedIn posts, release notes, landing pages, investor updates. Also fires on "make this sound less like AI", "humanize this", "rewrite this in my voice", "this reads robotic". Kills the tells: stock transitions, em dashes, uniform sentence rhythm, summary endings, hype adjectives. Ships a checker that scores a draft and names what to fix. license: MIT metadata: author: Amini version: "1.0.0" --- # Humanizer Voice Most AI copy fails in the same few ways. Same transitions, same sentence length every time, same tidy summary at the end of every paragraph, same words that nobody says out loud. Readers clock it in about two sentences. Then they trust the rest of it less. This skill fixes that. It works two ways: as the voice you write in from the start, or as a rewrite pass on something that already reads like a machine. For a full blog post or paper companion, use `technical-blog-in-my-voice` instead. It owns the whole workflow (intake, split lede, failure anecdote, built-versus-specified section, publish gate) and applies a stricter version of these rules. This skill covers everything else. One thing to be clear about first. Humanizing means removing the artifacts, not the author. If the draft has a real voice, keep it. Do not sand it into generic friendliness, and never touch the facts. Numbers, dates, names, and caveats survive the rewrite exactly as they were. ## Read these as needed - `references/tells.md` is the full list of words, phrases, and structures to cut, with what to use instead. - `references/rewrites.md` has before and after pairs for decks, blogs, docs, chat, and social. - `references/by-surface.md` covers how the voice shifts between a slide, a doc, and a Slack reply. - `examples/6g-isac-blog/` is a full worked example: a research paper written up as a blog post by a model (37/100), then rewritten under this skill (100/100), with both checker reports and a breakdown of which edits moved the score. ## Writing rules **Sentence variety.** Mix very short sentences with longer, conversational ones. Four words then twenty. Change how sentences start, too. If three in a row open with "The" or "This", you have a rhythm problem even if every sentence is fine on its own. **Natural flow.** Let the writing move the way thinking moves. No formula. A paragraph can be one line. The next can run six. Do not build every section the same shape. **Word choice.** Simple, everyday, direct. Say `use` instead of `leverage`, `start` instead of `embark on`. Cut the adjective if the noun already carries the point. Real specifics beat big words every time: "97 of 109 documents" says more than "significant ingestion challenges". **A point of view.** Say what you think. Hedging everything reads as machine caution. Hedge only where you are genuinely unsure, and then say why. ## Strictly avoid - Stock AI transitions: `moreover`, `furthermore`, `additionally`, `in conclusion`, `in summary`, `notably`, `importantly`. - The vocabulary that gives it away: `delve`, `tapestry`, `testament`, `realm`, `leverage`, `unlock`, `empower`, `seamless`, `robust`, `pivotal`, `cutting-edge`, `transformative`, `game-changing`. Full list with replacements in `references/tells.md`. - Em dashes. Use a period, a comma, or parentheses. Two short sentences almost always beat one dashed sentence. - Symmetrical paragraphs. Three paragraphs of three sentences each reads as generated even when the words are fine. - Lists where every item is the same length and grammatical shape. - The `not only X, but also Y` construction, and its cousin `it's not just X, it's Y`. - Robotic enthusiasm, and its opposite, forced neutrality. Write grounded. Sound like someone with a job. ## Three habits to kill **Predictable transitions.** AI reaches for `additionally` and `not only... but also`. People just move to the next thought. Most transition words can be deleted with no loss. Try it and read the result out loud. **Over-polishing.** Human writing has quirks. A one-word sentence. A direct opinion. A plain connector like "so" or "but" where a formal writer would reach for `consequently`. Starting a sentence with "And" is fine. Contractions are fine. **The summary trap.** AI ends every paragraph by restating what it just said. "This ensures teams can move faster." "Together, these changes improve reliability." Cut those. Make the point, then go to the next one. Trust the reader to keep up. ## How to run a rewrite Work in three passes, in this order. Doing words first is why most rewrites still read as AI. 1. **Structure.** Does the piece have an argument, or is it a list of things that are true? Cut whole sections that exist only for completeness. Vary paragraph length on purpose. 2. **Sentences.** Break the long ones. Merge the choppy ones. Change the openers. Read it out loud, and fix whatever you stumble on. 3. **Words.** Now do the vocabulary swaps, the em dashes, and the filler. Then reread for anything that sounds like nobody said it. ## Check the draft ```bash python3 scripts/humanize_check.py draft.md python3 scripts/humanize_check.py draft.md --all # include soft, context-dependent tells python3 scripts/humanize_check.py *.md --strict # non-zero exit below 85 cat draft.txt | python3 scripts/humanize_check.py - ``` Stdlib only, no install. Paths are relative to this skill's directory. It reports banned vocabulary with line numbers and a replacement for each, em dashes, sentence-length variance, paragraph uniformity, repeated openers, summary-trap endings, and hedging and adverb density. Then a score out of 100. Rough calibration: a raw model draft lands near 20. Around 60 to 70 means the words got cleaned up but the rhythm is still flat, which is the most common half-fix. Above 85 reads human. The score is a smoke alarm, not a grade. It cannot tell whether the writing is true, useful, or yours. Passing it is the floor, not the goal, and a draft can score 100 and still be boring. Fix what it flags, then judge the writing yourself. ## What not to do Faking humanity is worse than the original draft. No invented typos, no manufactured anecdotes, no "as a founder, I..." when you are not. In a customer or government document, that is not a style problem, it is a credibility one. Casual is not the same as vague. "We think maybe the pilot went okay" is weaker than "97 of 109 documents ingested, and the metadata on a third was wrong". Keep the number. Some writing should stay formal. Legal text, security advisories, API reference tables, and anything a regulator reads all outrank this voice. Skip the pass there, and say that you did. ## Delivering Give back the rewritten text on its own. No commentary unless an edit changed meaning or you cut something on purpose, and then keep it to a line or two. If the check script still flags something you kept deliberately, say which and why.
About
A copywriting skill for every surface: slide copy, blog posts, docs, README files, chat and email replies, social posts, release notes, investor updates. It works as the voice to write in from the start, or as a rewrite pass on a draft that already reads machine written. The rules are concrete. Mix very short sentences with long conversational ones and vary how sentences open. Use simple, direct, everyday words. Cut the stock transitions, the hype adjectives, the em dashes, and the tidy summary sentence at the end of every paragraph. Symmetrical paragraphs and evenly sized lists are treated as a tell in their own right, because they are one. Ships `scripts/humanize_check.py`, a stdlib-only checker that scores a draft out of 100 and names what to fix: banned vocabulary with line numbers and a replacement for each, em dashes, sentence-length variance, paragraph uniformity, repeated openers, summary-trap endings, and hedging density. Quoted examples in backticks are ignored, so writing about the tells does not count against you. Raw model drafts score near 20 and edited human prose lands above 85. It removes the artifacts, not the author: facts, numbers, caveats, and an existing voice all survive the pass. References cover the full tell list with replacements, before and after pairs per surface, and how the register shifts between a slide, a doc, and a Slack message.
Amini ยท Manila, Philippines