Use these anywhere, right now

Procedural writing

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

Rules it covers

The prompt

~3013 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 5.1 — Write short sentences with a maximum of 20 words (default severity: error)
Statement: In procedural writing, including warnings, cautions, and other safety instructions, write short sentences with a maximum of 20 words each. If a sentence is longer than 20 words, split it into two or more shorter sentences rather than leaving it as one long sentence.
Detection criteria:
- Count the words in each sentence within procedural text (work steps, warnings, cautions, other safety instructions) and flag any sentence that exceeds 20 words.
- When a long sentence should be split, check whether the resulting actions occur at the same time or in immediate sequence (they belong together as sentences within one work step) versus at genuinely different times (they belong in separate numbered work steps), and flag an incorrect choice between the two.
Do NOT flag (non-violations):
- Notes are governed by rule 5.5, not this rule — a note's sentences may be up to 25 words and are not flagged by the 20-word procedural limit.
Example — Non-STE: "Put preservation oil into the unit through the vent hole until the oil level is approximately 6 mm (0.24 inches) below the surface of the flange cover." -> STE: "Put preservation oil into the unit through the vent hole. Continue until the oil level is approximately 6 mm (0.24 in) below the surface of the flange cover."

### Rule 5.2 — Write only one instruction per sentence unless actions are simultaneous (default severity: error)
Statement: Write only one instruction in each sentence of a procedure, and clearly show the sequence of work steps, usually with numbers or letters. Write more than one instruction in a single sentence only when the actions occur at the same time; you may also write more than one sentence within a single work step when the actions are simultaneous or when a result or limit follows immediately after the action.
Detection criteria:
- Flag a sentence that contains two or more sequential, independent instructions joined by "and" or a comma where the actions do not occur at the same time — these should be separate numbered or lettered work steps instead.
- Flag a procedure split into two separate numbered steps when the two actions actually occur at the same time — these should be one sentence joined by "and".
- Sequence is usually, but not always, shown with numbers or letters — do not flag a compliant unnumbered sequence of steps solely for lacking numeric/letter labels; only flag when the missing sequence indicator actually leaves the order of steps ambiguous.
Do NOT flag (non-violations):
- Two actions joined by "and" that genuinely happen at the same time (e.g. "Cut and remove the wire.") are compliant, not a violation.
- A second sentence within the same work step that states a result, limit, or an action occurring immediately after the first is compliant and should not be split into a new numbered step.
Example — Non-STE: "Set the TEST switch to the middle position and release the SHORT-CIRCUIT TEST switch." -> STE: "A. Set the TEST switch to the middle position.
B. Release the SHORT-CIRCUIT TEST switch."

### Rule 5.3 — Write instructions in the imperative form (default severity: error)
Statement: Write every instruction in a procedure using the imperative (command) verb form, addressed directly to the reader, rather than passive voice or a statement about capability or permission. Do not use "must" immediately before the imperative form unless the instruction is safety-critical or states an important condition.
Detection criteria:
- Flag instructions written in passive voice (e.g. "Oil and grease are to be removed...") instead of the active imperative form (e.g. "Remove oil and grease...").
- Flag instructions phrased as a statement of capability, permission, or fact (e.g. "The test can be continued.") instead of a direct command (e.g. "Continue the test.").
- Flag unnecessary use of "must" immediately before an imperative verb in an instruction that is not safety-critical and does not state a necessary condition.
Do NOT flag (non-violations):
- "Must" is acceptable immediately before or within an instruction when the instruction is safety-critical (e.g. inside a WARNING) or expresses a necessary condition (e.g. "IF YOU MUST CUT THE WIRE...").
Example — Non-STE: "The test can be continued." -> STE: "Continue the test."

### Rule 5.4 — State a leading condition as a descriptive statement, separated by a comma (default severity: error)
Statement: When a work step depends on a condition the reader must know about first, start the instruction with a descriptive statement of that condition, then divide the condition from the command with a comma, placing the imperative instruction after the comma.
Detection criteria:
- Flag an instruction where a condition (introduced by "if", "when", etc.) appears after the command instead of before it (e.g. "Set the switch to NORMAL when the light comes on.").
- Flag a leading condition that is not separated from the following command by a comma, or where the comma is misplaced such that it could change which word an adverb or clause modifies.
Do NOT flag (non-violations):
- A sentence with no genuine leading condition does not need to be restructured under this rule.
Example — Non-STE: "Set the switch to NORMAL when the light comes on." -> STE: "When the light comes on, set the switch to NORMAL."

### Rule 5.5 — Write notes only to give information, not instructions (default severity: error)
Statement: A note must give only descriptive information to help the reader during a procedure — never an instruction, requirement, or limit. Do not use the imperative form in a note, and do not use a note to state a result, tolerance, or limit that belongs directly in the related work step; each sentence in a note may have up to 25 words.
Detection criteria:
- Flag a "NOTE:" that contains an imperative-form verb (a command) — this makes it an instruction, which must instead be a numbered work step.
- Flag a "NOTE:" that contains information necessary to prevent damage or injury — this must instead be a WARNING or CAUTION.
- Flag a "NOTE:" that states a limit, tolerance, or result belonging to a specific work step — this content must be placed directly after the related action within the work step itself.
- Flag any sentence within a note that exceeds 25 words.
- Apply the standard's own note-validity test: read the surrounding procedure with all of its notes removed and confirm the reader can still do the procedure correctly. If removing a note leaves the procedure incomplete or incorrect, the note contains information that must instead be a work step, WARNING/CAUTION, or in-step limit — flag it.
Do NOT flag (non-violations):
- A note that gives only background information, clarification, or an optional alternative — with no command, no safety-critical content, and no work-step limit — is compliant even when it appears among procedural steps.
- In descriptive writing (outside of procedures), a note is compliant only when it is necessary for an illustration or a table that is part of that description; a note used for other purposes in descriptive text is out of place.
Example — Non-STE: "NOTE: Make sure that the avionics ventilation system continues to operate correctly." -> STE: "(6) Make sure that the avionics ventilation system continues to operate correctly."

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.

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 5.1 · error "Prior to starting this procedure, make sure that the hydraulic system has been depressurised and that the electrical supply to the forward equipment bay distribution panel isolation switch has been disconnected." — 31 words against the 20-word procedural limit. Split into shorter steps.
  • Rule 5.2 · error "Utilize the special tool to release the retaining collar; then remove the access panel." — Two sequential instructions in one sentence. The actions do not happen at the same time, so they belong in separate numbered steps.
  • Rule 5.3 · error "make sure that the hydraulic system has been depressurised and that the electrical supply ... has been disconnected" — Not written as a direct command. Procedural instructions take the imperative form.

What it cannot decide alone

Rule 5.2 in this chunk is marked as needing human judgement: whether two instructions in one sentence genuinely happen at the same time, or are sequential and belong in separate numbered steps. That is a question about the underlying procedure, not something the wording alone always answers.

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.