Skip to content
Back to skills

2492 Ambiguity Resolution 054c3383

ASecurity

**Ambiguous**: "The system responds to requests"

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
businessgo

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2492-ambiguity_resolution_054c3383 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2492 Ambiguity Resolution 054c3383?

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

Security grade badge for 2492 Ambiguity Resolution 054c3383
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2492-ambiguity-resolution-054c3383/badge)](https://www.skillsdirectory.com/skills/tools-only-2492-ambiguity-resolution-054c3383)

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

SKILL.md
# Ambiguity Resolution Guidelines

## Common Ambiguities in Requirements

### 1. Temporal Scope Ambiguity

**Ambiguous**: "The system responds to requests"

**Clarifications needed**:
- Does EVERY request get a response? → `G(request -> F response)`
- Or can SOME requests go unanswered? → `G(request -> EF response)` (CTL)
- Is there a time bound? → `G(request -> F[0,t] response)`

**Resolution strategy**: Ask "Does this apply to all cases or just some cases?"

### 2. Ordering Ambiguity

**Ambiguous**: "Authentication before access"

**Clarifications needed**:
- Must authentication happen IMMEDIATELY before? → `G(access -> X authenticated)`
- Or just SOMETIME before? → `(!access) U authenticated`
- Can access happen without authentication? → Determines if it's `->` or `<->`

**Resolution strategy**: Ask "Must X happen immediately before Y, or just at some earlier point?"

### 3. Duration Ambiguity

**Ambiguous**: "The alarm stays on"

**Clarifications needed**:
- Forever once triggered? → `G(alarm_on -> G alarm_on)`
- Until some condition? → `G(alarm_on -> (alarm_on U acknowledged))`
- For a specific duration? → `G(alarm_on -> (alarm_on U[t,t] !alarm_on))`

**Resolution strategy**: Ask "How long should this condition persist?"

### 4. Frequency Ambiguity

**Ambiguous**: "The system performs maintenance"

**Clarifications needed**:
- At least once? → `F maintenance`
- Infinitely often? → `G F maintenance`
- Periodically with bounds? → `G(maintenance -> F[t1,t2] maintenance)`

**Resolution strategy**: Ask "How often should this occur?"

### 5. Quantification Ambiguity

**Ambiguous**: "Requests are processed"

**Clarifications needed**:
- ALL requests? → `G(request -> F processed)`
- SOME requests? → `EF(request && F processed)`
- AT LEAST ONE request? → `F(request && F processed)`

**Resolution strategy**: Ask "Does this apply to all instances or just some?"

### 6. Causality Ambiguity

**Ambiguous**: "When the button is pressed, the light turns on"

**Clarifications needed**:
- EVERY press causes light on? → `G(press -> F light_on)`
- Press is NECESSARY for light? → `G(light_on -> press)`
- Press is SUFFICIENT for light? → `G(press -> light_on)`
- Both necessary and sufficient? → `G(press <-> light_on)`

**Resolution strategy**: Ask "Is X necessary, sufficient, or both for Y?"

### 7. Negation Scope Ambiguity

**Ambiguous**: "The system doesn't always respond"

**Clarifications needed**:
- Sometimes doesn't respond? → `F(!response)` or `!(G response)`
- Never responds? → `G(!response)`

**Resolution strategy**: Ask "Does 'not always' mean 'sometimes not' or 'never'?"

### 8. Conditional Ambiguity

**Ambiguous**: "If the sensor fails, the system shuts down"

**Clarifications needed**:
- Immediate shutdown? → `G(sensor_fail -> X shutdown)`
- Eventually shuts down? → `G(sensor_fail -> F shutdown)`
- Shuts down only if sensor fails? → `G(shutdown -> sensor_fail)`

**Resolution strategy**: Ask "Is this an immediate or eventual consequence?"

## Disambiguation Questions to Ask

### For Safety Properties:
1. "Should this NEVER happen, or just not happen USUALLY?"
2. "Are there any exceptions to this rule?"
3. "What should happen if this condition is violated?"

### For Liveness Properties:
1. "Must this ALWAYS eventually happen, or just SOMETIMES?"
2. "Is there a time limit for when this should occur?"
3. "Can this be delayed indefinitely under certain conditions?"

### For Response Properties:
1. "Must EVERY occurrence of X lead to Y?"
2. "Should Y happen IMMEDIATELY after X, or just EVENTUALLY?"
3. "Can Y happen without X occurring first?"

### For Ordering Properties:
1. "Must X happen DIRECTLY before Y, or just SOMETIME before?"
2. "Can Y ever happen without X?"
3. "Can X happen multiple times before Y?"

## Resolution Strategies

### Strategy 1: Provide Options
When ambiguous, present multiple interpretations:
```
"The system responds to requests" could mean:
1. Every request gets a response: G(request -> F response)
2. Requests eventually get responses: F(request -> response)
3. Some requests get responses: EF(request && response)
Which interpretation matches your intent?
```

### Strategy 2: Use Domain Knowledge
Apply common patterns from the domain:
- Safety-critical systems: Assume universal quantification (all, always)
- Real-time systems: Assume bounded time constraints
- Concurrent systems: Consider fairness assumptions

### Strategy 3: Conservative Interpretation
When in doubt, choose the stronger (more restrictive) property:
- "Eventually" → Assume "always eventually" (G F) rather than "sometime" (F)
- "Before" → Assume "immediately before" (X) rather than "sometime before" (U)

### Strategy 4: Explicit Assumptions
State assumptions clearly in the output:
```
Formula: G(request -> F response)
Assumption: "Every request" means all requests, not just some
Assumption: "Responds" means eventually, with no time bound
If these assumptions are incorrect, please clarify.
```

## Common Requirement Patterns and Their Clarifications

| Ambiguous Requirement | Clarification Needed | Possible Formulas |
|----------------------|---------------------|-------------------|
| "X happens before Y" | Immediately or eventually? | `X U Y` or `G(Y -> X)` |
| "X leads to Y" | Always or sometimes? | `G(X -> F Y)` or `EF(X && F Y)` |
| "X is always true" | Globally or eventually forever? | `G X` or `F G X` |
| "X never happens" | On all paths or some path? | `AG(!X)` or `!EF X` |
| "X happens infinitely often" | Required or possible? | `G F X` or `EG F X` |
| "X until Y" | Strong or weak until? | `X U Y` or `X W Y` |

## Handling Implicit Requirements

Some requirements have implicit temporal aspects:

**"The door is locked"**
- Implicit: Always locked? → `G locked`
- Or: Currently locked? → `locked` (state assertion)
- Or: Eventually locked? → `F locked`

**"The system is safe"**
- Implicit: Always safe? → `G safe`
- Or: Can reach safe state? → `EF safe`
- Or: Eventually safe forever? → `F G safe`

**Resolution**: Ask "Is this a current state, a persistent property, or an eventual goal?"

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.