---
name: write-human
description: Scope boundary between the writing rules a scan enforces and the ones only a reader can, and why the second set travels in a skill
---

# Write human requirement

## Gap

Without this skill, a session is graded on the words it avoids and never on how the prose reads. The banned words, characters, and spellings ship as data the CLI and the installed hook both read, so that half is measured on every run. The voice half sat under a heading in a standard nothing opened, so a session wrote the whole passage without it and the audit reported a clean exit over prose that read machine-written.

The output of that arrangement is specific rather than general. Paragraphs come back with every sentence landing within a few words of the last, with consecutive sentences opening on the same word and the same grammatical shape, and with the compression rule applied until the verb is gone, so the passage trades uniform sentences for uniform fragments. A session told to be terse and told nothing about cadence produces exactly that, since cutting is the only instruction it holds.

A session also has no name for the patterns no closed word set can match. Rule-of-three, synonym cycling, false ranges, inline-header lists, and adverb propping each survive a clean scan, so a passage carrying all five reports zero findings and still reads wrong. Nothing tells the session those patterns exist, and a ban list cannot be extended to reach them, because each is a shape rather than a token.

Importing that catalog wholesale fails on a different measurement. External material of this kind bans abstract metaphor nouns and names `surface` among them, which this corpus uses 593 times in tracked markdown at `57ee7467`. A session handed the catalog with no stated position either rewrites established vocabulary or silently ignores the item, and neither outcome is recoverable by a later reader who cannot tell which happened.

## Must

- Arrive attached to the writing rather than waiting to be consulted, which is why the path-scoped rule on a markdown edit carries an explicit instruction to load this skill
- State cadence as something to measure, giving the sentence-length spread and the repeated-opening count a session can check, since a rule to vary sentence length is one a session satisfies by assertion
- Ban the fragment trade by name, since compression is the instruction a terse register already carries and the verb is what it drops first
- Name the machine tells a scan cannot reach, and hold the catalog behind a stated trigger so a run that needs none pays no read for it
- Point at the banned words rather than restating them, since they ship as package data a command reads and a second copy drifts with nothing comparing the two
- Record which external patterns were adopted, which were declined, and the measurement behind each, so a later session extends the position instead of re-deriving it
- Yield voice to a surface that states its own, and hold rhythm, density, and the tells on every surface

## Must not

- Restate the banned words, characters, or spellings, at any length or as an example set
- Claim the reported failure is closed. Cadence is a property of a passage and nothing measures the output against these rules yet, so this skill states the rule and the measurement is owed separately.
- Rewrite a term the corpus already uses because an external source bans it, without the count and a recorded position
- Grow a second voice register inside this body. One baseline covers every surface, and a register a real surface needs arrives as an overlay that yields on voice alone.

## Guards

- A passage on a surface stating its own voice keeps that voice, so the yield is read before the voice rules are applied rather than after the rewrite
- Text a model drafted goes through the tells catalog, and a short original draft with nothing reading off skips it

## Out of scope

- The banned words, characters, and spellings, which `markdown.md` states for a reader and `aitk markdown audit` gates from package data
- Markdown mechanics, being headings, lists, code spans, punctuation, and file references
- Restating text that already exists in plainer words, which `restate-plainly` owns on a different trigger, since a restatement is asked for by name and this arrives on a glob match. The rules here still govern how that restatement reads, and that body cites this one rather than carrying a copy.
- What voice a given surface declares, which belongs to the standard governing that surface
- Measuring whether finished output followed these rules, which needs a check this skill does not carry
