multi-turn-conversation-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited multi-turn-conversation-design (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
When designing conversational interfaces, building dialogue systems, implementing multi-step user interactions, or troubleshooting conversation flow issues. Use for chatbots, voice assistants, multi-step forms, or any interface where information is gathered across multiple exchanges.
Core principle: Continuity over repetition — a well-designed conversation feels like talking to someone with a good memory. Never re-ask what was already provided. Never lose context between turns. Never make the user repeat themselves.
{
"conversation_id": "uuid",
"turn_number": 5,
"current_intent": "book_flight",
"confidence": 0.92,
"slots": {
"origin": {"value": "SFO", "confirmed": true, "source": "turn_2"},
"destination": {"value": "JFK", "confirmed": true, "source": "turn_3"},
"date": {"value": null, "confirmed": false, "source": null},
"passengers": {"value": 1, "confirmed": false, "source": "assumed_default"}
},
"pending_clarifications": ["date"],
"conversation_history": ["summary of prior turns"],
"user_preferences": {"prefers_direct_flights": true}
}Rules:
Good (references prior turn):
"You mentioned you're flying from SFO. What date works for you?"
Bad (no reference, feels disconnected):
"What date would you like to fly?"
Good (acknowledges what's known):
"I have SFO to JFK for 1 passenger. I just need your travel date."
Bad (re-asks known information):
"Where are you flying from?"Rules:
Confidence >= 0.9: Proceed without clarification
Confidence 0.7-0.9: Proceed but confirm ("I'll book SFO to JFK — is that right?")
Confidence 0.5-0.7: Ask targeted question with options
Confidence < 0.5: Ask open-ended clarification
Clarification types (from most to least specific):
1. Binary confirmation: "Did you mean San Francisco?"
2. Multiple choice: "Did you mean SFO, SJC, or OAK?"
3. Constrained question: "Which airport in the Bay Area?"
4. Open question: "Where are you flying from?" (last resort)Rules:
Misunderstanding signals:
- User contradicts a prior agent response
- User repeats their question with different phrasing
- User says "no", "that's not what I meant", "wrong"
- User provides information that conflicts with current state
Repair protocol:
1. Acknowledge the misunderstanding explicitly
"I misunderstood — let me correct that."
2. State what you incorrectly assumed
"I thought you meant [X], but you're saying [Y]."
3. Update state with correct information
4. Confirm the correction
"Got it — [Y], not [X]. Is that right?"
5. Continue from the corrected stateRules:
Slot filling strategy:
1. Identify all required slots for the current intent
2. Check which are already filled (from prior turns or user profile)
3. Ask for unfilled slots in natural priority order (most important first)
4. One slot per turn (don't overwhelm)
5. Allow user to provide multiple slots in one message (parse and fill all)
6. Confirm all slots before executing action
Example flow:
Turn 1: User: "I want to book a flight"
→ Intent: book_flight, all slots empty
Turn 2: Agent: "Where are you flying from?"
→ User: "SFO to JFK next Tuesday"
→ Fill: origin=SFO, destination=JFK, date=next_tuesday
Turn 3: Agent: "SFO to JFK next Tuesday for 1 passenger. Shall I search?"
→ Confirm all slots, offer to proceedRules:
Single intent (clear):
"Book me a flight to NYC" → book_flight
Ambiguous intent (clarify):
"I need to go to NYC" → travel? meeting? moving? → "Are you looking to book a flight?"
Multi-intent (handle sequentially):
"Book a flight and a hotel" → [book_flight, book_hotel]
→ "Let's start with the flight. Where are you flying from?"
→ Complete flight, then: "Now let's find you a hotel."Rules:
Every agent turn should contain:
1. Acknowledgment: what you understood from the user's message
2. Progress indicator: what's done, what remains
3. Next action: what you need from the user OR what you're doing next
Pattern:
"[Acknowledge]. [Progress]. [Next step]."
"Got it, SFO to JFK. I just need your travel date. When are you flying?"Rules:
Before marking a task done when this skill was active:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.