pi-feature-dev 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -3
- package/package.json +1 -1
- package/skills/feature-dev/agents/openai.yaml +4 -0
- package/skills/grill/ADR-FORMAT.md +35 -0
- package/skills/grill/CONTEXT-FORMAT.md +61 -0
- package/skills/grill/SKILL.md +114 -0
- package/skills/grill/agents/openai.yaml +4 -0
- package/skills/plan-exec/agents/openai.yaml +4 -0
- package/skills/plan-make/agents/openai.yaml +4 -0
- package/skills/plan-review/agents/openai.yaml +4 -0
- package/skills/ste/README.md +34 -0
- package/skills/ste/SKILL.md +116 -0
- package/skills/ste/agents/openai.yaml +4 -0
- package/skills/ste/references/before-after.md +131 -0
- package/skills/ste/references/writing-rules.md +257 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# pi-feature-dev
|
|
2
2
|
|
|
3
|
-
Portable
|
|
3
|
+
Portable agent workflows and writing skills, packaged as Pi skills.
|
|
4
4
|
|
|
5
5
|
The `feature-dev` skill describes a tool-agnostic process for non-trivial
|
|
6
6
|
feature work:
|
|
@@ -19,6 +19,17 @@ isolated workers, Git task commits, internal reviews, finalize, and a portable
|
|
|
19
19
|
run summary. It is portable across host agents that provide fresh-context
|
|
20
20
|
isolated workers and Git access.
|
|
21
21
|
|
|
22
|
+
The `grill` skill runs a dependency-aware interview that researches facts,
|
|
23
|
+
exhausts the current decision frontier round by round, sharpens domain language,
|
|
24
|
+
and records agreed terminology and durable architectural decisions.
|
|
25
|
+
|
|
26
|
+
The `ste` skill drafts, rewrites, and reviews clear English with
|
|
27
|
+
[ASD-STE100 Simplified Technical English](https://www.asd-ste100.org/)
|
|
28
|
+
principles. It supports strict technical-documentation work and a general
|
|
29
|
+
clarity mode for prompts, tool descriptions, error messages, status reports,
|
|
30
|
+
translation-ready text, and agent instructions. The skill is Markdown-only and
|
|
31
|
+
has no runtime dependency.
|
|
32
|
+
|
|
22
33
|
## Install
|
|
23
34
|
|
|
24
35
|
```
|
|
@@ -60,6 +71,8 @@ versions came from:
|
|
|
60
71
|
|
|
61
72
|
- [umputun/cc-thingz](https://github.com/umputun/cc-thingz)
|
|
62
73
|
- [anthropics/claude-code feature-dev plugin](https://github.com/anthropics/claude-code/tree/main/plugins/feature-dev)
|
|
74
|
+
- [mattpocock/skills batch-grill-me and domain-modeling skills](https://github.com/mattpocock/skills)
|
|
75
|
+
- [danyuchn/asd-ste100-skill](https://github.com/danyuchn/asd-ste100-skill)
|
|
63
76
|
|
|
64
77
|
## Usage
|
|
65
78
|
|
|
@@ -75,7 +88,8 @@ Natural language also works when Pi's skill matcher triggers:
|
|
|
75
88
|
Use feature-dev to implement API rate limiting.
|
|
76
89
|
```
|
|
77
90
|
|
|
78
|
-
The `skills
|
|
91
|
+
The files under `skills/*/SKILL.md` are portable Markdown and can be adapted for
|
|
92
|
+
other agent environments.
|
|
79
93
|
|
|
80
94
|
Run a plan with `plan-exec`:
|
|
81
95
|
|
|
@@ -83,6 +97,24 @@ Run a plan with `plan-exec`:
|
|
|
83
97
|
/skill:plan-exec docs/plans/20260518-example.md
|
|
84
98
|
```
|
|
85
99
|
|
|
100
|
+
Stress-test an idea before planning or implementation:
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
/skill:grill Challenge the design for usage-based billing.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Rewrite technical or operational English:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
/skill:ste Rewrite this maintenance instruction as an STE-aligned draft.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Use STE principles for general agent communication:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
/skill:ste Rewrite this error message so another agent can parse it reliably.
|
|
116
|
+
```
|
|
117
|
+
|
|
86
118
|
This package is intentionally skill-only. It does not provide prompt template shortcuts; use `/skill:<name>` for explicit Pi invocation.
|
|
87
119
|
|
|
88
120
|
## Feature-dev workflow
|
|
@@ -97,6 +129,20 @@ The `feature-dev` skill guides a coding assistant through a seven-phase process:
|
|
|
97
129
|
6. Quality review — inspect the diff from correctness, validation, and maintainability perspectives
|
|
98
130
|
7. Validation and summary — run focused checks and summarize changes
|
|
99
131
|
|
|
132
|
+
## STE modes
|
|
133
|
+
|
|
134
|
+
The `ste` skill selects one of two modes:
|
|
135
|
+
|
|
136
|
+
- **Strict STE** applies Issue 9 rules to regulated, operational, maintenance,
|
|
137
|
+
and safety-critical documentation. Exact verification requires the official
|
|
138
|
+
dictionary and the applicable project glossary.
|
|
139
|
+
- **STE clarity** transfers the same clarity discipline to other technical
|
|
140
|
+
text without claiming formal ASD-STE100 compliance.
|
|
141
|
+
|
|
142
|
+
The skill loads its detailed writing rules and before/after examples only when
|
|
143
|
+
they are relevant to the request. Standard provenance and source links stay in
|
|
144
|
+
`skills/ste/README.md`, outside the agent's writing context.
|
|
145
|
+
|
|
100
146
|
## Package contents
|
|
101
147
|
|
|
102
148
|
```text
|
|
@@ -104,14 +150,30 @@ pi-feature-dev/
|
|
|
104
150
|
├── package.json
|
|
105
151
|
└── skills/
|
|
106
152
|
├── feature-dev/
|
|
153
|
+
│ ├── agents/openai.yaml
|
|
107
154
|
│ └── SKILL.md
|
|
155
|
+
├── grill/
|
|
156
|
+
│ ├── agents/openai.yaml
|
|
157
|
+
│ ├── SKILL.md
|
|
158
|
+
│ ├── CONTEXT-FORMAT.md
|
|
159
|
+
│ └── ADR-FORMAT.md
|
|
108
160
|
├── plan-exec/
|
|
161
|
+
│ ├── agents/openai.yaml
|
|
109
162
|
│ ├── SKILL.md
|
|
110
163
|
│ ├── references/
|
|
111
164
|
│ └── scripts/
|
|
112
165
|
├── plan-make/
|
|
166
|
+
│ ├── agents/openai.yaml
|
|
167
|
+
│ └── SKILL.md
|
|
168
|
+
├── plan-review/
|
|
169
|
+
│ ├── agents/openai.yaml
|
|
113
170
|
│ └── SKILL.md
|
|
114
|
-
└──
|
|
171
|
+
└── ste/
|
|
172
|
+
├── agents/openai.yaml
|
|
173
|
+
├── references/
|
|
174
|
+
│ ├── before-after.md
|
|
175
|
+
│ └── writing-rules.md
|
|
176
|
+
├── README.md
|
|
115
177
|
└── SKILL.md
|
|
116
178
|
```
|
|
117
179
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# ADR Format
|
|
2
|
+
|
|
3
|
+
Store an ADR in the `docs/adr/` directory owned by the applicable context. Use root `docs/adr/` for a system-wide decision. Create the directory lazily when the first ADR is accepted.
|
|
4
|
+
|
|
5
|
+
Use sequential filenames such as `0001-event-sourced-orders.md` and `0002-postgres-for-write-model.md`. Scan the target directory for the highest existing number and increment it by one.
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# {Short title of the decision}
|
|
11
|
+
|
|
12
|
+
{In one to three sentences, state the context, the decision, and why it was chosen.}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
That is enough for most ADRs. Record that a decision was made and why; do not fill sections for ceremony.
|
|
16
|
+
|
|
17
|
+
## Optional sections
|
|
18
|
+
|
|
19
|
+
Include a section only when it adds information a future reader needs:
|
|
20
|
+
|
|
21
|
+
- `status` frontmatter (`proposed`, `accepted`, `deprecated`, or `superseded by ADR-NNNN`) when the decision may be revisited.
|
|
22
|
+
- **Considered Options** when rejected alternatives are worth remembering.
|
|
23
|
+
- **Consequences** when non-obvious downstream effects need to be explicit.
|
|
24
|
+
|
|
25
|
+
## Qualification test
|
|
26
|
+
|
|
27
|
+
Create an ADR only when all three statements are true:
|
|
28
|
+
|
|
29
|
+
1. Reversing the decision later would be meaningfully costly.
|
|
30
|
+
2. A future reader would find the choice surprising without its context.
|
|
31
|
+
3. The decision resolved a real trade-off among genuine alternatives.
|
|
32
|
+
|
|
33
|
+
Qualifying decisions commonly include architectural shape, cross-context integration, lock-in-heavy technology choices, ownership boundaries, deliberate deviations from the obvious path, constraints invisible in code, and non-obvious rejected alternatives.
|
|
34
|
+
|
|
35
|
+
Skip easy-to-reverse choices, obvious implementation details, and decisions with no real alternative.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# `CONTEXT.md` Format
|
|
2
|
+
|
|
3
|
+
Use `CONTEXT.md` as an opinionated domain glossary and nothing else.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```md
|
|
8
|
+
# {Context Name}
|
|
9
|
+
|
|
10
|
+
{One or two sentences describing what this context is and why it exists.}
|
|
11
|
+
|
|
12
|
+
## Language
|
|
13
|
+
|
|
14
|
+
**Order**: {A one- or two-sentence definition of the term.}
|
|
15
|
+
_Avoid_: Purchase, transaction
|
|
16
|
+
|
|
17
|
+
**Invoice**: A request for payment sent to a customer after delivery.
|
|
18
|
+
_Avoid_: Bill, payment request
|
|
19
|
+
|
|
20
|
+
**Customer**: A person or organization that places orders.
|
|
21
|
+
_Avoid_: Client, buyer, account
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Rules
|
|
25
|
+
|
|
26
|
+
- Be opinionated. When several words describe the same concept, choose one canonical term and list the others under `_Avoid_`.
|
|
27
|
+
- Keep definitions to one or two sentences. Define what the concept is, not everything it does.
|
|
28
|
+
- Include only terms specific to this project's domain. Exclude general programming concepts, implementation details, requirements, and architectural decisions.
|
|
29
|
+
- Group terms under subheadings only when natural clusters emerge. Keep a flat list for one cohesive area.
|
|
30
|
+
- Add or change a term only after the user explicitly resolves it.
|
|
31
|
+
|
|
32
|
+
Before adding a term, ask whether it is unique to this domain or merely a general technical concept. Include only the former.
|
|
33
|
+
|
|
34
|
+
## Single- and multi-context repositories
|
|
35
|
+
|
|
36
|
+
Use one root `CONTEXT.md` for a single context.
|
|
37
|
+
|
|
38
|
+
For multiple contexts, use a root `CONTEXT-MAP.md` to list the contexts, locations, and relationships:
|
|
39
|
+
|
|
40
|
+
```md
|
|
41
|
+
# Context Map
|
|
42
|
+
|
|
43
|
+
## Contexts
|
|
44
|
+
|
|
45
|
+
- [Ordering](./src/ordering/CONTEXT.md) — receives and tracks customer orders
|
|
46
|
+
- [Billing](./src/billing/CONTEXT.md) — generates invoices and processes payments
|
|
47
|
+
- [Fulfillment](./src/fulfillment/CONTEXT.md) — manages warehouse picking and shipping
|
|
48
|
+
|
|
49
|
+
## Relationships
|
|
50
|
+
|
|
51
|
+
- **Ordering → Fulfillment**: Ordering emits `OrderPlaced`; Fulfillment consumes it to start picking
|
|
52
|
+
- **Fulfillment → Billing**: Fulfillment emits `ShipmentDispatched`; Billing consumes it to generate an invoice
|
|
53
|
+
- **Ordering ↔ Billing**: Both use the canonical `CustomerId` and `Money` value definitions
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Infer the structure from existing files:
|
|
57
|
+
|
|
58
|
+
- If `CONTEXT-MAP.md` exists, read it and update the relevant context.
|
|
59
|
+
- If only a root `CONTEXT.md` exists, use the single context.
|
|
60
|
+
- If neither exists, create a root `CONTEXT.md` lazily after the first term is resolved.
|
|
61
|
+
- If several contexts exist and the correct owner is unclear, ask before writing.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill
|
|
3
|
+
description: Relentlessly stress-test an idea, plan, requirement, architecture, or domain model through dependency-aware interview rounds. Use when the user asks to be grilled, challenged, interviewed, or pushed toward shared understanding; when assumptions and decision branches must be exhausted before action; or when domain terminology and durable architectural decisions should be sharpened and recorded in CONTEXT.md and ADRs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Grill
|
|
7
|
+
|
|
8
|
+
Interview the user until both sides share an explicit, evidence-backed understanding. Model the topic as a decision tree, research discoverable facts, challenge the domain language, and record settled terminology and durable decisions as they crystallize.
|
|
9
|
+
|
|
10
|
+
Do not implement the resulting plan or design during or immediately after the grill. Capturing agreed terminology and accepted ADRs is part of the session. The skill ends after reporting the confirmed result; planning or implementation requires a separate user request.
|
|
11
|
+
|
|
12
|
+
## Core distinctions
|
|
13
|
+
|
|
14
|
+
- Treat a **fact** as something discoverable from the environment, artifacts, documentation, or code. Find it yourself.
|
|
15
|
+
- Treat a **decision** as a choice among viable alternatives. Put it to the user with a recommendation.
|
|
16
|
+
- Treat a **prerequisite** as a fact or decision that must settle before a downstream question can be answered without guessing.
|
|
17
|
+
- Treat the **frontier** as every unresolved decision whose prerequisites are settled now.
|
|
18
|
+
|
|
19
|
+
Never turn a discoverable fact into homework for the user. Never silently turn an unresolved decision into an assumption.
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
### 1. Establish the subject
|
|
24
|
+
|
|
25
|
+
Restate the outcome being explored, the requested deliverable, and any explicit constraints. Mark interpretations as provisional until the user confirms them.
|
|
26
|
+
|
|
27
|
+
Build a mental decision tree rooted in that outcome. Add only branches that can materially change the result, such as:
|
|
28
|
+
|
|
29
|
+
- scope and non-goals
|
|
30
|
+
- actors, responsibilities, and boundaries
|
|
31
|
+
- domain terms and invariants
|
|
32
|
+
- lifecycle, states, and failure behavior
|
|
33
|
+
- data ownership and integration points
|
|
34
|
+
- usability, security, performance, or operational constraints
|
|
35
|
+
- trade-offs, validation, rollout, and reversibility
|
|
36
|
+
|
|
37
|
+
Tailor the branches to the subject. Do not ask ceremonial questions that cannot affect a decision.
|
|
38
|
+
|
|
39
|
+
### 2. Research the facts
|
|
40
|
+
|
|
41
|
+
Inspect the relevant workspace, code, tests, documentation, prior decisions, and external sources before questioning the user. Distinguish direct evidence, reasonable inference, and remaining unknowns.
|
|
42
|
+
|
|
43
|
+
Use read-only tools or isolated research workers when the host provides them and current instructions permit them. If research runs asynchronously, treat its result as an unsettled prerequisite: defer only the dependent questions and continue with the rest of the frontier. If delegation is unavailable, research directly.
|
|
44
|
+
|
|
45
|
+
When code, documentation, and the user's statement disagree, surface the conflict with concrete evidence. Do not average contradictory models. Ask which model is authoritative and identify the losing model as cleanup or migration work when relevant.
|
|
46
|
+
|
|
47
|
+
### 3. Load and challenge the domain language
|
|
48
|
+
|
|
49
|
+
Look for `CONTEXT-MAP.md` and the relevant `CONTEXT.md` before inventing terminology:
|
|
50
|
+
|
|
51
|
+
- If `CONTEXT-MAP.md` exists, use it to locate the applicable bounded context and its ADR directory.
|
|
52
|
+
- If only a root `CONTEXT.md` exists, treat the repository as a single context.
|
|
53
|
+
- If neither exists, wait until the first domain term is explicitly resolved before creating a root `CONTEXT.md`.
|
|
54
|
+
|
|
55
|
+
Call out glossary conflicts immediately. Replace fuzzy or overloaded words with a proposed canonical term and ask the user to choose. Stress-test relationships and boundaries with concrete scenarios, especially edge cases that distinguish similar concepts.
|
|
56
|
+
|
|
57
|
+
Do not force domain documentation into a conversation-only session or a workspace where file writes are out of scope. Keep a concise decision and terminology ledger in the conversation instead.
|
|
58
|
+
|
|
59
|
+
### 4. Ask one frontier round
|
|
60
|
+
|
|
61
|
+
Compute the full current frontier. Exclude:
|
|
62
|
+
|
|
63
|
+
- questions answerable through research
|
|
64
|
+
- questions whose prerequisites are unresolved
|
|
65
|
+
- questions whose answers cannot change the outcome
|
|
66
|
+
|
|
67
|
+
Ask every frontier question in one numbered round. For each question:
|
|
68
|
+
|
|
69
|
+
1. State the decision precisely.
|
|
70
|
+
2. Give a recommended answer and a brief reason.
|
|
71
|
+
3. Present meaningful alternatives or invite a free-form answer when the choice is not bounded.
|
|
72
|
+
|
|
73
|
+
Then stop and wait for the user's answers. A question that depends on another question in the same round belongs to a later round.
|
|
74
|
+
|
|
75
|
+
### 5. Process answers and advance the tree
|
|
76
|
+
|
|
77
|
+
After each response:
|
|
78
|
+
|
|
79
|
+
1. Convert answers into explicit decisions without adding unstated meaning.
|
|
80
|
+
2. Resolve contradictions or ambiguity before depending on the answer.
|
|
81
|
+
3. Confirm delegated choices: when the user says "you decide," state the chosen recommendation and its trade-off, then ask the user to accept or revise it.
|
|
82
|
+
4. Update the terminology and decision ledger.
|
|
83
|
+
5. Recompute the tree and ask the next complete frontier round.
|
|
84
|
+
|
|
85
|
+
Continue until no unresolved branch can materially affect the result. Respect an explicit request to stop or defer a branch, but record the resulting unresolved decision and its impact.
|
|
86
|
+
|
|
87
|
+
## Record decisions during the grill
|
|
88
|
+
|
|
89
|
+
When a project term is explicitly resolved, update the applicable `CONTEXT.md` immediately. Read and follow [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md) before the first update. Keep `CONTEXT.md` a glossary only: no implementation details, requirements, scratch notes, or architectural decisions.
|
|
90
|
+
|
|
91
|
+
Offer an ADR only when all three conditions hold:
|
|
92
|
+
|
|
93
|
+
1. The decision is hard or costly to reverse.
|
|
94
|
+
2. The choice would be surprising without its context.
|
|
95
|
+
3. Genuine alternatives were considered and rejected for specific reasons.
|
|
96
|
+
|
|
97
|
+
If any condition is missing, do not create an ADR. If all three hold, ask the user whether to record it, then read and follow [ADR-FORMAT.md](./ADR-FORMAT.md). Create directories and files lazily.
|
|
98
|
+
|
|
99
|
+
## Finish with a confirmed session result
|
|
100
|
+
|
|
101
|
+
The grill is complete when research is settled enough for the decision, the frontier is empty, and no material branch remains silently assumed.
|
|
102
|
+
|
|
103
|
+
Present a candidate shared-understanding summary containing:
|
|
104
|
+
|
|
105
|
+
- objective and success criteria
|
|
106
|
+
- settled decisions and their main trade-offs
|
|
107
|
+
- canonical domain language
|
|
108
|
+
- constraints, invariants, and explicit non-goals
|
|
109
|
+
- unresolved facts, deferred decisions, and risks
|
|
110
|
+
- documentation created or updated
|
|
111
|
+
|
|
112
|
+
Ask the user to confirm that this is the shared understanding. If they correct or reopen anything, add the affected branches and resume the rounds.
|
|
113
|
+
|
|
114
|
+
After the user confirms, show a final `Grill Result` that records the accepted objective, decisions, canonical language, constraints, non-goals, unresolved items, and documentation changes. Then stop and return control to the user. Do not create a plan, write implementation code, launch an implementation handoff, or treat confirmation as permission to act.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# STE Skill
|
|
2
|
+
|
|
3
|
+
This project skill applies ASD-STE100 Simplified Technical English principles to:
|
|
4
|
+
|
|
5
|
+
- regulated and safety-critical technical documentation;
|
|
6
|
+
- procedures and technical descriptions;
|
|
7
|
+
- prompts, tool descriptions, error messages, and agent instructions;
|
|
8
|
+
- controlled or translation-ready English.
|
|
9
|
+
|
|
10
|
+
The skill is Markdown-only and has no runtime or tool dependency.
|
|
11
|
+
|
|
12
|
+
## Standard Baseline
|
|
13
|
+
|
|
14
|
+
The skill uses ASD-STE100 Simplified Technical English, Issue 9, dated 2025-01-15.
|
|
15
|
+
Issue 9 contains 53 writing rules in nine sections. Its dictionary contains 875 approved entries
|
|
16
|
+
and 1,274 selected unapproved entries.
|
|
17
|
+
|
|
18
|
+
Authoritative sources:
|
|
19
|
+
|
|
20
|
+
- [ASD-STE100 official site](https://www.asd-ste100.org/)
|
|
21
|
+
- [Official downloads page](https://www.asd-ste100.org/STE_downloads.html)
|
|
22
|
+
- [Official Issue 9 PDF](https://www.asd-ste100.org/assets/files/ASD-STE100_ISSUE9.pdf)
|
|
23
|
+
|
|
24
|
+
## Verification Boundary
|
|
25
|
+
|
|
26
|
+
This skill paraphrases the writing method. It does not reproduce the official controlled
|
|
27
|
+
dictionary or replace the authoritative standard.
|
|
28
|
+
|
|
29
|
+
Use the official Issue 9 dictionary and the applicable project glossary for strict verification.
|
|
30
|
+
Without those checks, describe the result as an `STE-aligned draft` or an `STE-style rewrite`,
|
|
31
|
+
not as a compliant or certified document.
|
|
32
|
+
|
|
33
|
+
ASD owns the copyright and trademarks for ASD-STE100. Do not copy the official dictionary or
|
|
34
|
+
extended passages without permission.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ste
|
|
3
|
+
description: Draft, rewrite, and review clear, unambiguous English with ASD-STE100 Simplified Technical English Issue 9 principles. Use for technical procedures, safety instructions, descriptions, prompts, agent-to-agent instructions, tool descriptions, error messages, status reports, translation-ready text, controlled English, terminology normalization, and STE compliance reviews. Support strict STE verification when the official dictionary and project glossary are available; otherwise produce an STE-aligned or STE-style result without claiming compliance.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# STE
|
|
7
|
+
|
|
8
|
+
Write English that has one clear meaning and a structure that is easy to parse. Preserve technical
|
|
9
|
+
accuracy before you simplify language.
|
|
10
|
+
|
|
11
|
+
## Select the Operating Mode
|
|
12
|
+
|
|
13
|
+
Use **strict STE mode** when the user requests ASD-STE100 compliance or works on regulated,
|
|
14
|
+
maintenance, operational, or safety-critical documentation.
|
|
15
|
+
|
|
16
|
+
- Apply Issue 9 rules and the applicable project directives.
|
|
17
|
+
- Verify general vocabulary against the official Issue 9 dictionary.
|
|
18
|
+
- Verify technical nouns and verbs against the project glossary.
|
|
19
|
+
- Use `STE-aligned draft` when these lexical checks are not possible.
|
|
20
|
+
|
|
21
|
+
Use **STE clarity mode** for prompts, tool descriptions, error messages, agent instructions,
|
|
22
|
+
status reports, translation-ready text, and other technical or operational English.
|
|
23
|
+
|
|
24
|
+
- Transfer the clarity rules that fit the text.
|
|
25
|
+
- Prefer explicit actors, actions, conditions, inputs, and results.
|
|
26
|
+
- Do not imply formal ASD-STE100 compliance.
|
|
27
|
+
|
|
28
|
+
## Load References Selectively
|
|
29
|
+
|
|
30
|
+
- Read [references/writing-rules.md](references/writing-rules.md) for strict STE work, compliance
|
|
31
|
+
reviews, safety text, word-count decisions, or rule details.
|
|
32
|
+
- Read [references/before-after.md](references/before-after.md) when rewriting dense text,
|
|
33
|
+
explaining changes, or producing a comparison.
|
|
34
|
+
- Read all user-supplied glossaries, safety policies, style guides, and regulatory directives that
|
|
35
|
+
apply.
|
|
36
|
+
|
|
37
|
+
If sources conflict, follow the explicit regulatory or project requirement and report the
|
|
38
|
+
deviation. Do not merge inconsistent terminology.
|
|
39
|
+
|
|
40
|
+
## Preserve Meaning
|
|
41
|
+
|
|
42
|
+
Before rewriting:
|
|
43
|
+
|
|
44
|
+
1. Identify each fact, action, condition, limit, unit, exception, warning, causal relation, and
|
|
45
|
+
cross-reference.
|
|
46
|
+
2. Resolve what each pronoun and modifier refers to.
|
|
47
|
+
3. Keep the original sequence and scope unless the user authorizes a technical change.
|
|
48
|
+
4. Ask when ambiguity can change safety, responsibility, or task outcome.
|
|
49
|
+
|
|
50
|
+
Do not invent missing facts. Do not remove precision only to meet a length target.
|
|
51
|
+
Keep a qualitative modifier such as `carefully` when it affects task intent. Flag it when the
|
|
52
|
+
project requires a measurable criterion, but do not invent that criterion.
|
|
53
|
+
|
|
54
|
+
## Apply the Core Discipline
|
|
55
|
+
|
|
56
|
+
| Area | Apply |
|
|
57
|
+
|---|---|
|
|
58
|
+
| Vocabulary | Use one familiar word for one meaning. In strict mode, confirm its approved meaning, part of speech, and form. |
|
|
59
|
+
| Terminology | Use one term for one concept. Keep necessary domain terms and define or flag unclear terms. |
|
|
60
|
+
| Verbs | Prefer active voice, simple tenses, and direct action verbs. Avoid noun-heavy and complex auxiliary constructions. |
|
|
61
|
+
| Instructions | Use the imperative form. Put one independent action in each sentence. Combine actions only when they occur at the same time. Put prerequisite conditions first. |
|
|
62
|
+
| Length | Use no more than 20 words for procedures and 25 words for descriptions under Issue 9 counting rules. |
|
|
63
|
+
| Noun phrases | Keep multi-word nouns to three words when possible. Preserve longer official names and define a clear short form if needed. |
|
|
64
|
+
| Structure | Use complete sentences, one topic per paragraph, and vertical lists for complex sequences or alternatives. |
|
|
65
|
+
| Safety | Start with the required command or condition, then state the risk or possible result. Never infer the risk level. |
|
|
66
|
+
| Consistency | Reuse the same wording for the same action and context. Do not rotate synonyms for style. |
|
|
67
|
+
|
|
68
|
+
## Rewrite in Passes
|
|
69
|
+
|
|
70
|
+
1. Classify each section as instruction, description, safety text, or mixed content.
|
|
71
|
+
2. Read for meaning before changing words.
|
|
72
|
+
3. Record repeated or uncertain terms when terminology control matters.
|
|
73
|
+
4. Find ambiguity, indirect wording, complex tense, passive voice, omitted words, long noun
|
|
74
|
+
phrases, overloaded sentences, and inconsistent terminology.
|
|
75
|
+
5. In procedural text, count the independent actions in each sentence. Split actions that do not
|
|
76
|
+
occur at the same time.
|
|
77
|
+
6. Rewrite only the text that benefits from a change.
|
|
78
|
+
7. Compare the result with the source. Confirm that all facts, conditions, limits, exceptions,
|
|
79
|
+
and responsibilities remain.
|
|
80
|
+
8. Review sentence length, paragraph structure, punctuation, and term consistency manually.
|
|
81
|
+
|
|
82
|
+
If the input is already clear and meets the applicable rules, say so. Do not force a rewrite.
|
|
83
|
+
|
|
84
|
+
## Choose the Output
|
|
85
|
+
|
|
86
|
+
For a direct drafting or rewriting request:
|
|
87
|
+
|
|
88
|
+
1. Give the revised text first.
|
|
89
|
+
2. Add `Unresolved checks` only when lexical, technical, regulatory, or safety facts remain
|
|
90
|
+
unverified.
|
|
91
|
+
|
|
92
|
+
For an audit or an explained rewrite, use:
|
|
93
|
+
|
|
94
|
+
| Rule area | Original | Revised | Reason |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| Concise rule name | Exact source fragment | Replacement | What ambiguity or violation the change removes |
|
|
97
|
+
|
|
98
|
+
After the table, give the complete revised text. Group unresolved items as:
|
|
99
|
+
|
|
100
|
+
- `Confirmed issue`
|
|
101
|
+
- `Manual review`
|
|
102
|
+
- `Project decision`
|
|
103
|
+
|
|
104
|
+
Use the user's requested format when it conflicts with these defaults.
|
|
105
|
+
|
|
106
|
+
## State Verification Honestly
|
|
107
|
+
|
|
108
|
+
Use one of these statuses only when a status is useful:
|
|
109
|
+
|
|
110
|
+
- `STE-style rewrite` for general-purpose clarity mode.
|
|
111
|
+
- `STE-aligned draft` when Issue 9 or project terminology checks are incomplete.
|
|
112
|
+
- `Verified against Issue 9 and project terminology` only when those checks occurred.
|
|
113
|
+
|
|
114
|
+
Do not call the result certified. Do not reproduce the official dictionary. Do not apply STE
|
|
115
|
+
mechanically to creative, marketing, or persuasive text unless the user explicitly values
|
|
116
|
+
literal clarity more than voice.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Before and After Examples
|
|
2
|
+
|
|
3
|
+
Use these original examples to recognize rewrite patterns. They illustrate the skill workflow.
|
|
4
|
+
They are not evidence that a word is approved in the official ASD-STE100 dictionary.
|
|
5
|
+
|
|
6
|
+
## Contents
|
|
7
|
+
|
|
8
|
+
- [Maintenance procedure](#maintenance-procedure)
|
|
9
|
+
- [Tool description](#tool-description)
|
|
10
|
+
- [Error message](#error-message)
|
|
11
|
+
- [Agent instruction](#agent-instruction)
|
|
12
|
+
- [Status report](#status-report)
|
|
13
|
+
- [Terminology consistency](#terminology-consistency)
|
|
14
|
+
- [Already clear text](#already-clear-text)
|
|
15
|
+
|
|
16
|
+
## Maintenance Procedure
|
|
17
|
+
|
|
18
|
+
**Before**
|
|
19
|
+
|
|
20
|
+
> Prior to carrying out removal of the filter housing, the technician should ensure that
|
|
21
|
+
> electrical power has been disconnected, and thereafter the retaining bolts should be taken
|
|
22
|
+
> off.
|
|
23
|
+
|
|
24
|
+
**Issues**
|
|
25
|
+
|
|
26
|
+
- Indirect instruction.
|
|
27
|
+
- Passive voice.
|
|
28
|
+
- Noun-heavy construction.
|
|
29
|
+
- More than one instruction in one sentence.
|
|
30
|
+
|
|
31
|
+
**After**
|
|
32
|
+
|
|
33
|
+
> Disconnect electrical power.
|
|
34
|
+
>
|
|
35
|
+
> Remove the retaining bolts.
|
|
36
|
+
>
|
|
37
|
+
> Remove the filter housing.
|
|
38
|
+
|
|
39
|
+
**Unresolved check:** Confirm that these steps have the correct sequence and that the project
|
|
40
|
+
glossary approves `retaining bolt` and `filter housing`.
|
|
41
|
+
|
|
42
|
+
## Tool Description
|
|
43
|
+
|
|
44
|
+
**Before**
|
|
45
|
+
|
|
46
|
+
> This tool is intended to facilitate the synchronization of configuration values across all of
|
|
47
|
+
> the services that have been selected.
|
|
48
|
+
|
|
49
|
+
**After**
|
|
50
|
+
|
|
51
|
+
> The tool synchronizes configuration values across the selected services.
|
|
52
|
+
|
|
53
|
+
**Why:** The revision identifies the actor and action directly. It removes a nominalization and a
|
|
54
|
+
passive construction.
|
|
55
|
+
|
|
56
|
+
## Error Message
|
|
57
|
+
|
|
58
|
+
**Before**
|
|
59
|
+
|
|
60
|
+
> The request could not be completed due to the fact that the credentials which were provided
|
|
61
|
+
> are no longer valid.
|
|
62
|
+
|
|
63
|
+
**After**
|
|
64
|
+
|
|
65
|
+
> The request failed because the credentials expired.
|
|
66
|
+
|
|
67
|
+
**Why:** The revision separates the result from the cause and removes indirect wording. Confirm
|
|
68
|
+
that expiration is the actual cause before using this message.
|
|
69
|
+
|
|
70
|
+
## Agent Instruction
|
|
71
|
+
|
|
72
|
+
**Before**
|
|
73
|
+
|
|
74
|
+
> Once the build has finished, the agent should inspect the report and then, if any failures have
|
|
75
|
+
> been identified, it should post a summary.
|
|
76
|
+
|
|
77
|
+
**After**
|
|
78
|
+
|
|
79
|
+
> Wait for the build to finish.
|
|
80
|
+
>
|
|
81
|
+
> Inspect the report.
|
|
82
|
+
>
|
|
83
|
+
> If the report shows failures, post a summary.
|
|
84
|
+
|
|
85
|
+
**Why:** The revision uses direct commands, simple verb forms, an explicit condition, and one
|
|
86
|
+
instruction per sentence.
|
|
87
|
+
|
|
88
|
+
## Status Report
|
|
89
|
+
|
|
90
|
+
**Before**
|
|
91
|
+
|
|
92
|
+
> We have successfully completed the database migration, which was performed after all of the
|
|
93
|
+
> validation checks had been carried out.
|
|
94
|
+
|
|
95
|
+
**After**
|
|
96
|
+
|
|
97
|
+
> We completed all validation checks. Then we migrated the database.
|
|
98
|
+
|
|
99
|
+
**Why:** The revision uses simple past tense and makes the sequence explicit. Keep `successfully`
|
|
100
|
+
only when it communicates a defined result that the text must preserve.
|
|
101
|
+
|
|
102
|
+
## Terminology Consistency
|
|
103
|
+
|
|
104
|
+
**Before**
|
|
105
|
+
|
|
106
|
+
> Check the connection. Verify the cable. Confirm the plug.
|
|
107
|
+
|
|
108
|
+
**Decision**
|
|
109
|
+
|
|
110
|
+
Do not replace these verbs automatically. First determine whether they describe one action or
|
|
111
|
+
three different actions.
|
|
112
|
+
|
|
113
|
+
**After, only if the intended action is identical**
|
|
114
|
+
|
|
115
|
+
> Check the connection. Check the cable. Check the plug.
|
|
116
|
+
|
|
117
|
+
**Why:** STE favors one term for one concept, but terminology consistency must not erase a real
|
|
118
|
+
technical distinction.
|
|
119
|
+
|
|
120
|
+
## Already Clear Text
|
|
121
|
+
|
|
122
|
+
**Input**
|
|
123
|
+
|
|
124
|
+
> Close the inlet valve. Disconnect the power cable.
|
|
125
|
+
|
|
126
|
+
**Result**
|
|
127
|
+
|
|
128
|
+
Keep the text unchanged if the terms are correct for the project.
|
|
129
|
+
|
|
130
|
+
**Why:** A rewrite is not an objective by itself. Change text only when the change improves
|
|
131
|
+
clarity, correctness, or compliance.
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# ASD-STE100 Issue 9 Writing Rules
|
|
2
|
+
|
|
3
|
+
## Contents
|
|
4
|
+
|
|
5
|
+
- [Decision priority](#decision-priority)
|
|
6
|
+
- [Vocabulary and terminology](#vocabulary-and-terminology)
|
|
7
|
+
- [Compact rule coverage map](#compact-rule-coverage-map)
|
|
8
|
+
- [Issue 9 general recommendations](#issue-9-general-recommendations)
|
|
9
|
+
- [General-purpose transfer](#general-purpose-transfer)
|
|
10
|
+
- [Authoring templates](#authoring-templates)
|
|
11
|
+
- [Review protocol](#review-protocol)
|
|
12
|
+
|
|
13
|
+
## Decision Priority
|
|
14
|
+
|
|
15
|
+
Apply these priorities:
|
|
16
|
+
|
|
17
|
+
1. Preserve technical accuracy, safety intent, limits, and required sequence.
|
|
18
|
+
2. Follow applicable law, regulation, customer requirements, and project directives.
|
|
19
|
+
3. Apply the current Issue 9 rule and dictionary entry.
|
|
20
|
+
4. Use the approved project glossary for technical nouns and technical verbs.
|
|
21
|
+
5. Prefer one clear construction when more than one construction is permitted.
|
|
22
|
+
|
|
23
|
+
If priorities conflict, select the higher-priority requirement and report the conflict. Do not merge
|
|
24
|
+
two inconsistent wordings.
|
|
25
|
+
|
|
26
|
+
## Vocabulary and Terminology
|
|
27
|
+
|
|
28
|
+
Use only these word classes:
|
|
29
|
+
|
|
30
|
+
- A general word approved in the Issue 9 dictionary.
|
|
31
|
+
- A technical noun applicable to the subject field.
|
|
32
|
+
- A technical verb applicable to the subject field.
|
|
33
|
+
|
|
34
|
+
For an approved general word, verify all of these properties:
|
|
35
|
+
|
|
36
|
+
- Part of speech.
|
|
37
|
+
- Approved meaning.
|
|
38
|
+
- Approved inflected form.
|
|
39
|
+
- Correct use in the sentence.
|
|
40
|
+
|
|
41
|
+
Treat a project term as a technical noun only when it names a precise subject-field concept. Use
|
|
42
|
+
terms from drawings, parts data, standards, official documents, and the approved project
|
|
43
|
+
glossary. Issue 9 organizes technical nouns into broad areas such as parts, machines, tools,
|
|
44
|
+
materials, systems, science, navigation, measurements, quoted labels, roles, medical concepts,
|
|
45
|
+
documents, conditions, colors, damage, computing, operations, law, and living things.
|
|
46
|
+
|
|
47
|
+
Treat a project verb as a technical verb only when it names a precise subject-field process.
|
|
48
|
+
Issue 9 permits categories for manufacturing, computer operations, applicable technical fields,
|
|
49
|
+
and legal or regulatory texts. Use a dictionary-approved verb instead when it communicates the
|
|
50
|
+
same action accurately.
|
|
51
|
+
|
|
52
|
+
Apply these terminology controls:
|
|
53
|
+
|
|
54
|
+
- Use one technical noun for one item.
|
|
55
|
+
- Do not use a technical noun as a verb.
|
|
56
|
+
- Do not use a technical verb as a noun.
|
|
57
|
+
- Prefer short, familiar, project-approved terms.
|
|
58
|
+
- Reject slang, regional wording, and unexplained jargon.
|
|
59
|
+
- Define an abbreviation at first use unless the audience and governing directive make it
|
|
60
|
+
unnecessary.
|
|
61
|
+
- Keep quoted interface text, placards, labels, and identifiers unchanged.
|
|
62
|
+
|
|
63
|
+
## Compact Rule Coverage Map
|
|
64
|
+
|
|
65
|
+
Use this map to confirm coverage. Consult the authoritative standard for definitions, exceptions,
|
|
66
|
+
dictionary entries, and official examples.
|
|
67
|
+
|
|
68
|
+
### Words (Issue 9 section 1)
|
|
69
|
+
|
|
70
|
+
- Limit vocabulary to approved general words, technical nouns, and technical verbs.
|
|
71
|
+
- Use each approved word only with its listed part of speech, meaning, and form.
|
|
72
|
+
- Validate technical nouns and verbs by category and project authority.
|
|
73
|
+
- Keep one term for one concept and do not change noun/verb roles.
|
|
74
|
+
- Use American English spelling unless an official directive overrides it.
|
|
75
|
+
|
|
76
|
+
### Multi-word nouns (section 2)
|
|
77
|
+
|
|
78
|
+
- Keep a multi-word noun to three words or fewer when possible.
|
|
79
|
+
- When the official term is longer, write it in full first. Then define a clear short form or use
|
|
80
|
+
hyphens to show words that function as one unit.
|
|
81
|
+
- Do not shorten a term in a way that creates ambiguity.
|
|
82
|
+
|
|
83
|
+
### Verbs (section 3)
|
|
84
|
+
|
|
85
|
+
- Use only approved verb forms.
|
|
86
|
+
- Use the infinitive, imperative, simple present, simple past, simple future, or a past participle
|
|
87
|
+
used as an adjective.
|
|
88
|
+
- Avoid complex auxiliary constructions.
|
|
89
|
+
- Use an `-ing` form only as a technical noun or as a modifier inside a technical noun.
|
|
90
|
+
- Prefer active voice. In descriptive text, use passive voice only when the agent is unknown.
|
|
91
|
+
- Express an action with an accurate verb, not a noun-heavy construction.
|
|
92
|
+
|
|
93
|
+
### Sentences (section 4)
|
|
94
|
+
|
|
95
|
+
- Write short, complete, explicit sentences.
|
|
96
|
+
- Do not omit necessary words and do not use contractions.
|
|
97
|
+
- Convert complex series or alternatives into vertical lists.
|
|
98
|
+
- Use clear connecting words between related statements.
|
|
99
|
+
- Use an article or demonstrative adjective before a noun when English grammar requires one.
|
|
100
|
+
|
|
101
|
+
### Procedures (section 5)
|
|
102
|
+
|
|
103
|
+
- Limit each sentence to 20 words.
|
|
104
|
+
- Put one instruction in each sentence, except for actions that occur at the same time.
|
|
105
|
+
- Count independent actions, not only grammatical clauses. Do not join sequential actions with
|
|
106
|
+
`and`.
|
|
107
|
+
- Use the imperative form.
|
|
108
|
+
- Put a prerequisite condition before the command and separate it with a comma.
|
|
109
|
+
- Keep commands out of notes.
|
|
110
|
+
|
|
111
|
+
### Descriptions (section 6)
|
|
112
|
+
|
|
113
|
+
- Present information gradually and in a logical sequence.
|
|
114
|
+
- Repeat key terms where they make structure clear.
|
|
115
|
+
- Limit each sentence to 25 words.
|
|
116
|
+
- Keep one topic in each paragraph.
|
|
117
|
+
- Limit each paragraph to six sentences.
|
|
118
|
+
|
|
119
|
+
### Safety instructions (section 7)
|
|
120
|
+
|
|
121
|
+
- Identify risk with the label required by the applicable safety system.
|
|
122
|
+
- Begin with a clear command or condition.
|
|
123
|
+
- Explain the risk or possible result.
|
|
124
|
+
- Preserve official safety wording when a governing directive prohibits changes.
|
|
125
|
+
|
|
126
|
+
### Punctuation and word count (section 8)
|
|
127
|
+
|
|
128
|
+
- Do not use semicolons.
|
|
129
|
+
- Use hyphens only to connect words that function together.
|
|
130
|
+
- Use parentheses only for clear supporting purposes, such as references, identifiers,
|
|
131
|
+
abbreviations, alternatives, or brief explanations.
|
|
132
|
+
- In a vertical list, treat the introductory colon as a sentence boundary for word count.
|
|
133
|
+
- Count a complete parenthetical group as one word.
|
|
134
|
+
- Count each number, number-plus-unit, abbreviation, alphanumeric identifier, quoted text,
|
|
135
|
+
title, label, and applicable proper name as one word.
|
|
136
|
+
- Count a hyphenated unit as one word.
|
|
137
|
+
|
|
138
|
+
### Writing practices (section 9)
|
|
139
|
+
|
|
140
|
+
- Restructure a sentence when a word-for-word synonym change is not sufficient.
|
|
141
|
+
- Confirm the meaning and grammar of each approved word.
|
|
142
|
+
- Do not create phrasal verbs.
|
|
143
|
+
- Use the same terminology and wording for the same context.
|
|
144
|
+
|
|
145
|
+
## Issue 9 General Recommendations
|
|
146
|
+
|
|
147
|
+
Apply these recommendations when they improve clarity:
|
|
148
|
+
|
|
149
|
+
- Include `that` when it clearly marks the start of a subordinate clause.
|
|
150
|
+
- Review each use of `with` for multiple possible meanings.
|
|
151
|
+
- Replace an ambiguous pronoun with its noun.
|
|
152
|
+
- Make the referent of `this` explicit.
|
|
153
|
+
- Check false friends when the author is not a native English speaker.
|
|
154
|
+
- Replace Latin abbreviations with plain English.
|
|
155
|
+
- Use inclusive, gender-neutral language.
|
|
156
|
+
- Avoid a possessive form when it can confuse the reader.
|
|
157
|
+
|
|
158
|
+
These recommendations help quality but are not part of the 53 rules.
|
|
159
|
+
|
|
160
|
+
## General-Purpose Transfer
|
|
161
|
+
|
|
162
|
+
For prompts, tool descriptions, error messages, agent instructions, and status reports:
|
|
163
|
+
|
|
164
|
+
- Treat a command as procedural text and an explanation as descriptive text.
|
|
165
|
+
- Name the actor when responsibility matters.
|
|
166
|
+
- State conditions before the action that depends on them.
|
|
167
|
+
- Separate actual results from possible causes and suggested recovery actions.
|
|
168
|
+
- Replace vague references such as `it`, `this`, and `they` when more than one referent is
|
|
169
|
+
possible.
|
|
170
|
+
- Keep API names, identifiers, quoted UI text, code, and protocol terms unchanged.
|
|
171
|
+
- Define a necessary domain term once and use it consistently.
|
|
172
|
+
|
|
173
|
+
For translation-ready text:
|
|
174
|
+
|
|
175
|
+
- Prefer repeated terminology over stylistic variation.
|
|
176
|
+
- Keep sentence boundaries aligned with complete ideas.
|
|
177
|
+
- Make negation, quantities, units, and conditions explicit.
|
|
178
|
+
|
|
179
|
+
Use the status `STE-style rewrite` for these transferred applications unless strict verification
|
|
180
|
+
also occurred.
|
|
181
|
+
|
|
182
|
+
## Authoring Templates
|
|
183
|
+
|
|
184
|
+
### Procedure
|
|
185
|
+
|
|
186
|
+
Use this pattern:
|
|
187
|
+
|
|
188
|
+
```text
|
|
189
|
+
If [prerequisite condition], [imperative command].
|
|
190
|
+
[Imperative command].
|
|
191
|
+
[Imperative command].
|
|
192
|
+
|
|
193
|
+
NOTE: [Information only.]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Example:
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
If the pressure is more than 500 kPa, stop the pump.
|
|
200
|
+
Close the inlet valve.
|
|
201
|
+
Disconnect the power cable.
|
|
202
|
+
|
|
203
|
+
NOTE: The indicator can stay on for 5 seconds.
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Description
|
|
207
|
+
|
|
208
|
+
Use this pattern:
|
|
209
|
+
|
|
210
|
+
```text
|
|
211
|
+
[Identify the item and its primary function.]
|
|
212
|
+
[Explain the next fact with the same key terminology.]
|
|
213
|
+
[State a condition and its result.]
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Example:
|
|
217
|
+
|
|
218
|
+
```text
|
|
219
|
+
The controller monitors the inlet pressure. It sends a stop signal when the pressure is more than
|
|
220
|
+
500 kPa.
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Safety instruction
|
|
224
|
+
|
|
225
|
+
Use the label from the governing safety policy:
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
[RISK LABEL]: [Command or condition]. [Risk or possible result.]
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Example:
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
WARNING: Disconnect electrical power before you open the housing. Electrical power can cause
|
|
235
|
+
injury.
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Do not reuse the example risk level without validating it for the real hazard.
|
|
239
|
+
|
|
240
|
+
## Review Protocol
|
|
241
|
+
|
|
242
|
+
Review in separate passes:
|
|
243
|
+
|
|
244
|
+
1. **Meaning:** Compare source and output action by action. Confirm conditions, negation, limits,
|
|
245
|
+
units, sequence, references, and consequences.
|
|
246
|
+
2. **Vocabulary:** Verify each general word in the Issue 9 dictionary. Record technical nouns and
|
|
247
|
+
technical verbs in the term ledger.
|
|
248
|
+
3. **Grammar:** Check verb form, voice, articles, complete constructions, pronouns, and
|
|
249
|
+
modifiers.
|
|
250
|
+
4. **Structure:** Apply the procedure, description, or safety pattern.
|
|
251
|
+
5. **Mechanics:** Apply sentence and paragraph limits, punctuation, spelling, and word-count
|
|
252
|
+
rules.
|
|
253
|
+
6. **Consistency:** Search for alternate names and alternate wording for the same concept or
|
|
254
|
+
action.
|
|
255
|
+
|
|
256
|
+
Record unverified items. A clear limitation is more accurate than an unsupported claim of
|
|
257
|
+
compliance.
|