Skip to content
Back to skills

E1006 Wording

ASecurity

Use when verify requirement wording against ECSS-E-ST-10C §8.3 rules: confirm each statement uses shall (mandatory), should (recommendation), or may (permission); detect non-standard verbal forms (will, must); flag ambiguous or unverifiable terms (adequate, appropriate, user-friendly); enforce single obligation per statement; and reject embedded rationale text. Replace forbidden terms with measurable criteria and move justification to a NOTE. Trigger: ecss, e-st-10-system-scope, wording, verb...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspythonexpress

Works with

  • claude code

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add ashfordeOU/aero-agent-skills --skill e1006-wording --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of E1006 Wording?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for E1006 Wording
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-e1006-wording/badge)](https://www.skillsdirectory.com/skills/ashfordeou-e1006-wording)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: e1006-wording
description: "Use when verify requirement wording against ECSS-E-ST-10C §8.3 rules: confirm each statement uses shall (mandatory), should (recommendation), or may (permission); detect non-standard verbal forms (will, must); flag ambiguous or unverifiable terms (adequate, appropriate, user-friendly); enforce single obligation per statement; and reject embedded rationale text. Replace forbidden terms with measurable criteria and move justification to a NOTE. Trigger: ecss, e-st-10-system-scope, wording, verbal-form, shall, requirements-authoring, ambiguity, single-statement, verifiability."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: ecss
    reference-only: true
gated: false
domain: space-systems
pack: space-systems
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: space-systems
  subdomain: ecss
  tags: [ecss, e-st-10-system-scope, wording, verbal-form, shall, requirements-authoring, ambiguity, single-statement, verifiability]
  version: 0.1.0
  author: Aero Agent Skills
---

# ECSS Requirements Authoring — Wording Rules (space-systems/ecss/e1006-wording)

Use when the task is to verify or correct the wording of system
requirements per ECSS-E-ST-10C §8.3 — selecting the right verbal form,
removing ambiguous terms, splitting compound obligations, and relocating
embedded rationale.

## Domain quick reference

- §8.3 prescribes three verbal forms: **shall** for every mandatory
  requirement, **should** for a recommendation that is not binding, and
  **may** for a permitted option. Any other form (will, must, is required
  to) is non-standard and must be replaced with the correct keyword before
  the requirement enters a baseline.
- A requirement must express exactly one obligation. If a statement
  contains more than one **shall** clause, it covers more than one
  requirement; each clause must be separated into its own standalone
  statement so that traceability, verification, and change control can be
  applied at the right granularity.
- Ambiguous and unverifiable terms are forbidden in requirement text.
  Words such as "adequate", "appropriate", "sufficient", "user-friendly",
  "maximize", "minimize", "easy", "robust", "flexible", "where
  applicable", and "etc." have no measurable criterion attached and must
  be replaced with specific, quantified limits or pass/fail conditions.
- Rationale and justification belong in a NOTE attached to the
  requirement, never in the requirement text itself. Phrases such as
  "in order to", "so that", "because", and "to enable" signal that
  rationale has been embedded and must be moved.

## Workflow

1. For each candidate requirement statement, identify the verbal form
   present: **shall**, **should**, **may**, or a non-standard form.
   If a non-standard form (will, must, is required to, are required to)
   is found, reject the statement and instruct the author to substitute
   **shall**. If no verbal form is present, the statement is not a
   requirement and must be reworded or removed.
2. Count the number of **shall** clauses in the statement. If the count
   is greater than one, split the statement at each obligation boundary
   so that each resulting statement contains exactly one **shall** clause
   and is independently traceable.
3. Scan the requirement text for ambiguous or unverifiable terms from
   the forbidden list. For each hit, flag the term and require the
   author to replace it with a specific, measurable criterion (a
   numeric limit, a test-observable condition, or a defined standard
   reference).
4. Scan the requirement text for rationale-marker phrases. For each
   hit, extract the rationale clause and move it verbatim into a NOTE
   below the requirement. The requirement text itself retains only the
   obligation.
5. After applying steps 1–4, re-check the resulting statement. A
   requirement passes wording review when: the verbal form is **shall**
   (or **should**/**may** for the appropriate type), no forbidden terms
   remain, the obligation count is one, and no rationale-marker phrase
   is present.

## Pitfalls

- Accepting "will" as equivalent to "shall" — in English-language
  technical standards "will" is a declaration of fact about what the
  system is expected to do, not an obligation imposed on it; replacing
  it with "shall" changes the normative weight.
- Leaving "and/or" in requirement text — the ambiguity (is one
  sufficient, or are both required?) makes the verification criterion
  undefined; the author must decide and write two explicit alternatives
  or a conjunction.
- Treating the absence of a forbidden term as a guarantee of
  verifiability — a requirement can be free of listed forbidden terms
  and still be unverifiable if it lacks a measurable threshold. The
  forbidden-term scan is a minimum filter, not a completeness check.
- Splitting a compound requirement and losing shared context — when a
  single statement is split into two, both new requirements must carry
  the subject noun and any qualifying conditions that were implicit in
  the original combined form.

## Behavior contract (gate 3)

The verbal-form detection, obligation-count, forbidden-term, and
rationale-marker logic is exercised by the gate 3 contract test:
scripts/test_e1006_wording.py against scripts/e1006_wording_logic.py
(stdlib unittest, offline). Run:
python3 scripts/test_e1006_wording.py

## Compliance

- ECSS standards are freely downloadable (ESA); cite the source and
  paraphrase per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

Files in this skill

  • SKILL.md5.5 KB
  • scripts/e1006_wording_logic.py6.1 KB
  • scripts/test_e1006_wording.py9.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…