# Conversation Flow Validator

> 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.

- Skill: `revfactory/conversation-flow-validator` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add revfactory/conversation-flow-validator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/revfactory/conversation-flow-validator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: revfactory (https://skillmd.com/u/revfactory)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/revfactory/conversation-flow-validator

---


# 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 |
```

