Methodology for validating chatbot conversation flow completeness, cycles, and dead ends. Use this skill for 'conversation flow validation', 'scenario testing', 'edge case checking', 'fallback verification', 'multi-turn testing', and other dialog quality verification tasks. Note: conducting actual user testing and building A/B testing infrastructure are outside the scope of this skill.
Scanned 5/29/2026
Install via CLI
openskills install sideprojectmate/sideProjectMate---
name: conversation-flow-validator
description: "Methodology for validating chatbot conversation flow completeness, cycles, and dead ends. Use this skill for 'conversation flow validation', 'scenario testing', 'edge case checking', 'fallback verification', 'multi-turn testing', and other dialog quality verification tasks. Note: conducting actual user testing and building A/B testing infrastructure are outside the scope of this skill."
---
# Conversation Flow Validator — Dialog Flow Validation Methodology
A skill that enhances dialog quality verification for the dialog-tester and conversation-designer.
## Target Agents
- **dialog-tester** — Systematically validates conversation scenarios
- **conversation-designer** — Proactively discovers flow defects during the design phase
## Conversation Flow Graph Analysis
### Node Types
```
[START] → Entry point
[BOT] → Bot utterance node
[USER] → User input expectation node
[ACTION] → Backend API call
[CONDITION] → Branching condition
[END] → Exit point
[FALLBACK] → Unrecognized input handling
[HANDOFF] → Human agent handoff
```
### Defect Type Detection
| Defect | Description | Severity | Detection Method |
|--------|------------|----------|-----------------|
| Dead end | Conversation reaches a dead end | P0 | Search for terminal nodes without END |
| Infinite loop | Infinite cycling through the same nodes | P0 | Cycle detection (DFS) |
| Unreachable | Cannot be reached via any path | P1 | BFS from START for unreached nodes |
| Fallback black hole | No recovery path from fallback | P0 | Verify valid transitions after fallback |
| Slot leakage | Proceeds without collecting required slots | P0 | Track slot fulfillment conditions |
| Context loss | Prior information not retained in multi-turn | P1 | Track session variables |
## Test Scenario Generation Framework
### Happy Path (Normal Flow)
```
Purpose: Validate the most common usage flow
Structure:
1. Greeting > Express intent > Provide slots > Confirm > Complete
Example (Cafe order):
USER: "Hello"
BOT: "Hello! How can I help you?"
USER: "I'd like to order two Americanos"
BOT: "Two Americanos, correct? Please choose a size."
USER: "Tall"
BOT: "Two tall Americanos, total $9.00. Would you like to place the order?"
USER: "Yes"
BOT: "Your order has been placed! Thank you."
```
### Sad Path (Failure Flow)
```
Purpose: Validate recovery capabilities in error situations
Scenario types:
1. Ordering unavailable item > Suggest similar items
2. Out of stock > Suggest alternatives or direct to another location
3. API failure > Retry or connect to agent
4. Payment failure > Suggest alternative payment methods
```
### Edge Case (Boundary Cases)
```
1. Intent switch: Suddenly asking "What are your hours?" mid-order
> Preserve current context, respond, then guide back
2. Multiple intents: "Place an order and send me the receipt too"
> Sequential processing or compound handling
3. Ambiguous expression: "One more of that"
> Reference previous context or ask clarifying question
4. Negative confirmation: Repeated questions after "No"
> Offer alternatives after maximum 2 attempts
5. Empty input / special characters only / emojis only
> Safe fallback response
```
## Multi-Turn Verification Checklist
```
[ ] Is context maintained in conversations of 3+ turns?
[ ] Can the user modify previously provided information?
[ ] Is there an alternative path after a "No" response?
[ ] Can the original flow be resumed after an intent switch?
[ ] Is there appropriate guidance after session timeout?
[ ] Is escalation triggered after 3 repetitions of the same question?
[ ] When modifying a slot, are other already-collected slots preserved?
```
## Fallback Strategy Hierarchy
```
Level 1: Re-input request
"I'm sorry, I didn't understand that. Could you please say it again?"
> Allowed once
Level 2: Suggest options
"Which of the following would you like? 1. Order 2. View menu 3. Other"
> On 2nd unrecognized input
Level 3: Human agent handoff
"Let me connect you with an agent for more accurate assistance."
> On 3rd unrecognized input or user request
```
## Quality Metrics
| Metric | Formula | Threshold |
|--------|---------|-----------|
| Intent recognition rate | Correct recognitions / total utterances | >= 85% |
| Task completion rate | Successful completions / started tasks | >= 70% |
| Fallback rate | Fallback count / total turns | <= 15% |
| Average turn count | Total turns / completed sessions | Task-specific baseline +/- 2 |
| Escalation rate | Agent handoffs / total sessions | <= 20% |
## Validation Report Template
```markdown
## Conversation Flow Validation Report
### Test Summary
- Happy Path: N/M passed
- Sad Path: N/M passed
- Edge Case: N/M passed
### Defects Found
| # | Type | Scenario | Severity | Remediation |
### Fallback Analysis
- Fallback rate: N%
- Key unrecognized utterances: [list]
### Metrics
| Metric | Result | Threshold | Verdict |
```
No comments yet. Be the first to comment!