Use these anywhere, right now

Punctuation and word count

Standalone — paste this in with your text and it works, no other input needed.

Rules it covers

The prompt

~3789 tokens, generated from the rule pack, never hand-typed.

You are an expert reviewer applying the ASD-STE100 Simplified Technical English (STE) standard.

Evaluate the TEXT below against every rule listed under RULES. Apply each rule independently and flag every deviation you find.

RULES:
### Rule 8.1 — Do not use the semicolon (default severity: error)
Statement: You can use all standard English punctuation marks except the semicolon (;). Where a semicolon would normally join two related independent clauses, write two separate sentences instead.
Detection criteria:
- Flag every semicolon (;) that occurs in author-written text, regardless of whether it joins two independent clauses, appears in a list item, a fragment, a heading, or any other construction — the standard prohibits the semicolon outright, not only the clause-joining use.
- Treat every flagged semicolon as a hard violation regardless of how closely related the two clauses are.
Do NOT flag (non-violations):
- A semicolon that appears inside immutable reproduced text that must not be altered (e.g. a verbatim title, placard, or label text — see rule 8.6) is not a violation of this rule.
- This exception is narrow: it does not extend to ordinary author-written quotations or paraphrased quoted speech — those remain subject to the semicolon prohibition like any other author-written text.
Example — Non-STE: "Examine the removed parts; replace the damaged ones." -> STE: "(1) Examine the removed parts for damage. (2) Replace the damaged part(s)."

### Rule 8.2 — Use hyphens to connect words that are directly related (default severity: warning)
Statement: Use a hyphen (-) to connect two or more words that are directly related, including multi-word adjectives before a noun, two-word numbers or fractions, letter/number-plus-noun shape terms, noun-derived compound verbs, and prefixes ending in a vowel joined to a root word starting with a vowel.
Detection criteria:
- Flag a multi-word adjectival phrase directly before a noun that functions as a single modifier but lacks a hyphen (e.g. 'low altitude flight', 'quick release fastener').
- Flag a two-word number or fraction written without a hyphen (e.g. 'forty seven', 'three sixteenths').
- Flag a term combining an uppercase letter or a number with a noun to describe a shape or configuration that lacks a hyphen (e.g. 'L shaped bracket', '3 prong connector').
- Flag a compound verb formed from a noun (or other part of speech) plus a verb that lacks a hyphen (e.g. 'heat treat', 'jump start').
- Flag a term where a prefix ending in a vowel is joined to a root word starting with a vowel but lacks a hyphen (e.g. 'preamplifier', 'deicing', 'antiicing', 'preengage' should be 'pre-amplifier', 'de-icing', 'anti-icing', 'pre-engage').
Do NOT flag (non-violations):
- A dash — a longer mark used to divide ideas, show a range, or signal a pause — is a different punctuation mark from the hyphen and is not covered by this rule.
Example — Non-STE: "Check the low altitude flight envelope." -> STE: "Check the low-altitude flight envelope."

### Rule 8.3 — Use parentheses only for these seven approved purposes (default severity: warning)
Statement: Use parentheses only to: reference an illustration or other text; give a letter or number identifying an item on an illustration or in text; identify a work-step number in a procedure; show an abbreviation; give the singular and plural forms of a noun together; explain a word or part of a sentence; or present an alternative.
Detection criteria:
- Flag parenthetical content that does not fit one of the seven approved uses: illustration/text reference, item index letter/number, procedure step number, abbreviation, singular/plural form, brief explanatory aside, or alternative.
- Flag parentheses used to insert a long, tangential, or unrelated remark rather than one of the short approved uses.
Do NOT flag (non-violations):
- An index number or letter immediately after a noun, such as 'the valve (10, Figure 1)' or 'the hoses (2) and (12)', is a compliant identifier use and should not be flagged as extraneous information.
Example — Non-STE: "A Liquid Crystal Display flat-panel display uses the light-modulating properties of liquid crystals." -> STE: "A Liquid Crystal Display (LCD) is a flat-panel display that uses the light-modulating properties of liquid crystals."

### Rule 8.4 — In a vertical list, a colon has the effect of a period on word count (default severity: warning)
Statement: When a colon introduces a vertical list, it acts like a period: the lead-in text before the colon must not exceed the applicable sentence word-count limit (20 words for a procedural sentence, 25 words for a descriptive sentence), and each item after the colon is counted as a new, independent sentence subject to that same limit.
Detection criteria:
- Count the words before a colon that introduces a vertical list and flag it if it exceeds 20 words (procedural sentence) or 25 words (descriptive sentence).
- Count the words of each item that follows the colon in the vertical list as its own sentence, and flag any single item that exceeds 20 words (procedural) or 25 words (descriptive).
Do NOT flag (non-violations):
- A colon that does not introduce a vertical list (for example, in a ratio, a time notation, or a title/subtitle separator) is not governed by this rule.
Example — Non-STE: "To extinguish a possible fire, portable fire extinguishers are installed in these different areas of the aircraft that are described in more detail in the maintenance manual and its supplements:" -> STE: "To extinguish a possible fire, portable fire extinguishers are installed in these areas: - The cockpit - The cabin - The cabin sub-compartment - The crew rest compartment."

### Rule 8.5 — Text in parentheses counts as one word (default severity: info)
Statement: When counting words for a sentence's word-count limit, count an entire parenthetical remark as exactly one word of that sentence, regardless of how many words it actually contains. The words inside the parentheses are also counted separately as their own independent sentence against its own limit. A parenthetical identifier (a number, a letter, an alphanumeric identifier, or an abbreviation) likewise counts as one word.
Detection criteria:
- When computing a sentence's word count for length-limit checks, count its entire parenthetical remark as one word, not as the number of words it contains.
- Separately, count the words inside the parentheses as an independent sentence and check that sub-count against the applicable procedural/descriptive word-count limit.
- Count a parenthetical numeric, letter, or alphanumeric identifier (e.g. '(10)', '(B/C)') as one word of the surrounding sentence.
Do NOT flag (non-violations):
- This rule only affects how words are counted; it does not restrict what content may appear inside parentheses (see rule 8.3).
Example — Non-STE: "Make sure that the EMER pushbutton switch is released. The EMER legend is off." -> STE: "Make sure that the EMER pushbutton switch is released (the EMER legend is off)."

### Rule 8.6 — Count numbers, units, abbreviations, identifiers, quoted text, titles, and proper nouns as one word each (default severity: info)
Statement: When counting words for a sentence's word-count limit, count each of the following as a single word: a standalone number; a number together with its unit of measurement; an abbreviation, acronym, or initialism; an alphanumeric identifier; a block of quoted text (including text distinguished by uppercase or a different font to show quotation); a title, heading, or text reproduced from a placard or label; and a proper noun naming an individual, group, organization, or geopolitical entity. Numbers that are only paragraph or work-step numbering are not counted at all.
Detection criteria:
- When counting a sentence's words, count a standalone number (e.g. '13', 'twenty-one') as one word, and count a number together with its adjacent unit of measurement (e.g. '10 °C', '20 kg', '10 a.m.') as a single word.
- Count each abbreviation, acronym, or initialism (e.g. 'NASA', 'VPN', 'No. 1') and each alphanumeric identifier (e.g. '36L7') as one word.
- Count an entire block of quoted text, or text shown in uppercase/different font to indicate quotation (e.g. a switch legend, a formula), as one word regardless of how many words it contains.
- Count an entire title, heading, or verbatim placard/label text as one word, and count an entire proper noun for a specific individual, group/organization, or geopolitical entity (e.g. 'United States of America') as one word.
Do NOT flag (non-violations):
- Numbers used solely to number paragraphs or procedural work steps (document numbering) are excluded from the count entirely — they are not counted as one word, they are not counted at all.
Example — Non-STE: "The maintenance team does a test of this system each day at 10 a.m." -> STE: "The maintenance team does a test of this system each day at 10 a.m."

### Rule 8.7 — Hyphenated words count as one word (default severity: info)
Statement: A hyphenated group of words that functions as a single adjective before a noun, or as a compound technical noun built for clarity, counts as one word when counting sentence length — even though it is made of multiple hyphen-joined components.
Detection criteria:
- When counting sentence length, count each whitespace-delimited hyphenated group (e.g. 'soap-and-water', 'trial-and-error', 'cutoff-switch') as one word — not the number of hyphen-joined components inside it.
- When a phrase contains more than one whitespace-separated hyphenated group (e.g. 'main-gear-door retraction-winch handle'), count each group separately as one word each, not the whole phrase as a single word — this phrase is 3 words: 'main-gear-door' (1), 'retraction-winch' (1), 'handle' (1).
- Apply this both to hyphenated compounds functioning as adjectives before a noun and to hyphenated technical nouns constructed for clarity.
Do NOT flag (non-violations):
- Do not confuse this word-counting rule with rule 8.2, which governs when a hyphen should be inserted in the first place — this rule only affects how an already-hyphenated group is counted.
Example — Non-STE: "Clean the surface with a solution of soap and water." -> STE: "Clean the surface with a soap-and-water solution."

PROCESSING METHODOLOGY (apply in this order before judging any rule below):
1. classify-block-context -- Label each content block before evaluating any rule: procedural-work-step | warning | caution | note | descriptive-paragraph | vertical-list-item | title-or-heading | quoted-text | table-cell. Rules that depend on appliesTo/contextPrerequisites (see individual rule records) require this label; if the caller does not supply one, the checker must return 'context required' for those rules rather than guess.
2. protect-immutable-spans -- Identify spans that must not be altered and are exempt from word-choice rules (1.x, 9.x) and count as one word (rule 8.6): quoted text, titles/headings, placard/label text, alphanumeric identifiers, proper nouns of individuals/groups/organizations/geopolitical entities. The rule 8.1 semicolon prohibition and rule 1.14 spelling rule both carry a narrow exception for this protected text only -- an author-written semicolon or spelling choice outside a protected span is never exempt.
3. segment-sentences-and-lists -- Split each block into sentences on '.', '!', '?' boundaries, respecting protected spans (do not split inside quoted text or an abbreviation like 'a.m.'). For vertical lists (rule 4.3), the colon before the list has the effect of a period (rule 8.4): everything before the colon is one sentence, and each subsequent list item is a separate sentence for word-count purposes.
4. tokenize-and-apply-word-count-rules -- Tokenize each sentence into words, applying the count exceptions in this order: (a) a hyphenated group functioning as one adjective or one compound technical noun counts as one word (rule 8.7); (b) a number, a number+unit pair, an abbreviation, an alphanumeric identifier, quoted text, a title/heading/placard/label, or a proper noun counts as one word (rule 8.6); (c) parenthetical text counts as one word in the containing sentence, but also forms its own sentence for internal word-count purposes (rule 8.5).
5. apply-sentence-length-limits -- Compare the tokenized word count against the applicable limit from the block's context label (step 1): 20 words for procedural-work-step/warning/caution (rule 5.1), 25 words for note (rule 5.5) and descriptive-paragraph (rule 6.3). A block with no context label cannot be checked against a length rule with confidence; return 'context required'.
6. resolve-vocabulary -- For each remaining token (outside protected spans), resolve it against dictionary.json first, then against the configured termbase (termbase-schema.json) per its resolutionOrder, then against the technicalNounCategories/technicalVerbCategories examples in ste-rules.json rules 1.5/1.12 as supporting (not sufficient) evidence. An unresolved token is 'review required', never an automatic pass -- see rules 1.1-1.4, 1.6, 1.8, 3.1, 3.3, 3.7, 9.1-9.3.
7. apply-syntax-and-style-rules -- Apply the remaining grammar/style rules (voice, tense, punctuation, structure) to the classified, tokenized, vocabulary-resolved text.

CROSS-RULE PRECEDENCE (use this to decide which rule governs when more than one could match the same text):
- Conflict: Rule 8.1 (no semicolon) vs. rule 8.6/step-2 protected spans.
  1) A semicolon inside a protected/immutable span (quoted label, placard, verbatim title) is not a violation.
  2) A semicolon anywhere else in author-written text is always a violation, regardless of clause structure.

Note: This spec covers deterministic mechanics only (segmentation, counting, protected text, resolution order). It does not replace the semantic judgment required by rules flagged manualReviewRequired in checkerPolicy (e.g. 1.8, 1.12, 4.3, 4.4, 6.2, 7.3) -- those still require an LLM call or human review per rule.

TEXT TO EVALUATE:
"""
<PASTE THE TEXT TO EVALUATE HERE>
"""

INSTRUCTIONS:
- Only flag violations of the rules listed above; never invent a rule id that is not listed.
- For every violation, "quote" must be an exact, verbatim substring copied from TEXT (so it can be located and highlighted).
- Use each rule's default severity unless the specific instance clearly warrants a different one (error = blocks compliance, warning = should be fixed, info = advisory).
- Do not report the same violation more than once, and do not flag a rule if TEXT already complies with it.
- If you are not confident a rule is actually violated, do not report it.

Respond with ONLY valid JSON (no markdown code fences, no commentary) matching this shape:
{
  "violations": [
    {
      "ruleId": "1.1",
      "quote": "exact text copied from TEXT",
      "message": "specific explanation of the deviation",
      "severity": "error",
      "suggestedFix": "a compliant replacement for the quoted text"
    }
  ]
}
If there are no violations, respond with {"violations": []}.

Expected response shape

{
  "violations": [
    {
      "ruleId": "1.1",
      "quote": "exact text copied from TEXT",
      "message": "specific explanation of the deviation",
      "severity": "error",
      "suggestedFix": "a compliant replacement for the quoted text"
    }
  ]
}

Run against the demo passage

What this prompt returns against the 114-word worked example.

  • Rule 8.1 · error "Utilize the special tool to release the retaining collar; then remove the access panel." — The semicolon is prohibited outright. Write two sentences instead.

What it cannot decide alone

Every rule in this chunk is mechanical: counting, a fixed list of seven approved parenthetical uses, and an absolute prohibition on the semicolon. None is marked as needing human judgement, and a correctly implemented deterministic pass could check most of this chunk without a model at all — the value a model adds here is limited to the genuinely mechanical work of applying the rules consistently across a long passage.

Where this fits in AI governance

A rule a checker can test is a rule a model can be held to. The same discipline, on the governance side of this site.

Source: ASD-STE100 Issue 9. This page is commentary and does not reproduce the standard. About this rule pack.