Clarification Strategies
SkillDev toolsGives your agent reference patterns for spotting ambiguities and critiquing software requirement specs.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Clarification Strategies skill
About this skill
Reference material with ambiguity-audit patterns and critique strategies for requirements. Loaded on demand by `clarify-spec`; not directly invokable.
What this skill tells your AI
The instructions your AI receives, as published by attilaszasz/sdd-pilot in .github/skills/clarification-strategies/SKILL.md and read by ahel’s review.
Ambiguity Audit Patterns
Patterns to identify weak requirements in spec.md:
1. The "Adverb Trap"
Pattern: "quickly", "easily", "efficiently", "seamlessly". Critique: "Define 'quickly'. <200ms? <1s? Define 'easily'. How many clicks?" Goal: Convert subjective adverbs to measurable metrics.
2. The Passive Voice
Pattern: "The user is notified..." / "The data is processed..." Critique: "WHO notifies? Email? SMS? Toast? WHAT processes? Background job? Synchronous call?" Goal: Identify specific actor and mechanism.
3. The "Unspecified Scale"
Pattern: "Handle user uploads" without size limits. Critique: "Max file size? Allowed types? Expected concurrency?" Goal: Define boundary constraints for Plan phase.
4. The "Missing Failure Mode"
Pattern: "User logs in successfully." Critique: "Wrong password? Locked account? DB down?" Goal: Ensure error paths defined in User Scenarios.
5. The "Scope Creep" Detector
Pattern: "Integration with 3rd party providers" (plural) when one suffices for MVP. Critique: "Which specific providers for V1? Can we limit to one?" Goal: Narrow scope, reduce complexity.
Questioning Protocol
When generating questions:
- Group by Impact: Security > Scope > UX > Technical.
- Propose a Default: "Should we default to JWT for auth, or do you have a specific requirement?"
- Limit Volume: Max 8 critical questions at a time.
- Reference Lines: Point to specific line in
spec.mdwhere ambiguity exists.
Adversarial Stress-Test Patterns
Patterns to detect internal contradictions and constraint violations in resolved specs. Run after collaborative ambiguity questions are answered — the goal shifts from "what did you mean?" to "what breaks if you meant exactly that?"
1. Cross-Requirement Contradiction
Signal: Two requirement or success-criteria IDs impose mutually exclusive constraints.
Heuristic: Pair-wise comparison of quantified constraints across all FR-###, TR-###, OR-###, SC-### entries — flag pairs whose stated bounds conflict at any scale within the spec's defined scope.
Example: "FR-002 mandates real-time sync, but TR-001 caps round-trip latency at 50 ms — under a 10,000-item payload, one of these must yield. Which one relaxes, and under what threshold?"
2. Constraint Impossibility
Signal: An acceptance, validation, or verification criterion is unachievable given stated constraints. Heuristic: For each SC, check that the combined constraint set (performance, uptime, scope exclusions, deployment model) has a feasible solution. Example: "SC-003 requires 99.99% uptime (US3), but OR-001 specifies zero-downtime deploys with no blue/green or canary strategy in scope — how is the 4.3 min/year error budget preserved during releases?"
3. Concurrent-Trigger Ambiguity
Signal: Two or more work items can fire simultaneously with no defined priority or conflict resolution. Heuristic: Identify US/OBJ pairs sharing an actor or trigger context; flag when the spec defines no ordering, mutual exclusion, or conflict-resolution rule. Example: "If a user triggers FR-001 (bulk import) and FR-004 (real-time validation) on the same dataset at the same instant, which operation wins? Is the import atomic or row-level?"
4. Boundary/Scale Stress
Signal: Stated limits are never tested at their extremes, or no limit is stated at all. Heuristic: For every quantified constraint, check for 0, max, and max+1 test scenarios; for every unconstrained resource (file size, concurrency, payload count), flag the absence of a bound. Example: "US-002 says 'handle user uploads' — what happens at 0 bytes? At the max-size boundary? At max-size + 1 byte? What is the max concurrency?"
Adversarial Scoring Protocol
When scoring adversarial findings:
- Severity: Use the ambient
AGENTS.md§Artifact Conventions definitions — CRITICAL (blocks baseline, violates instructions), HIGH (conflicting requirements, untestable criteria), MEDIUM (missing edge case, underspecified boundary). - Blast Radius: Count the number of distinct IDs (FR-###, TR-###, OR-###, SC-###, US#, OBJ#) affected by the finding.
- Rank: Sort by
severity × blast_radius(CRITICAL=3, HIGH=2, MEDIUM=1). - Cap: Return at most 5 findings per pass. Drop lowest-ranked findings beyond the cap.
Signals
- GitHub stars
- 97
- Forks
- 9
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
clarification-strategies- Source
- github.com/attilaszasz/sdd-pilot
github.com/attilaszasz/sdd-pilot