ambiguity-detector
Installation
SKILL.md
Ambiguity Detector
A requirement is ambiguous if two reasonable people can read it and disagree on what it says. Every ambiguity is a future bug, a future argument, or both.
Ambiguity taxonomy
| Type | Signal words/patterns | Example |
|---|---|---|
| Vague qualifier | "fast", "appropriate", "user-friendly", "robust", "efficient", "secure" | "The system should respond quickly" — how quickly? |
| Dangling reference | "it", "this", "the above", "as needed" | "Validate input and log it" — log the input or the validation result? |
| Unquantified | "some", "most", "several", "regularly" | "Cache most recent entries" — how many? |
| Ambiguous scope | "all", "any", "each" with unclear domain | "All users can view reports" — all users, or all authorized users? |
| Underspecified conjunction | "and/or", "either", "unless" | "Accept JSON or XML" — both? pick one? configurable? |
| Passive voice hiding actor | "will be validated", "must be logged" | "Input will be validated" — by whom? client? server? both? |
| Temporal ambiguity | "eventually", "after", "when", "periodically" | "Notify the user when the job completes" — immediately? next login? |
| Negative scope | "not ... and/or ..." | "Not A and B" — ¬(A∧B) or (¬A)∧B? |