ai-failure-state-designer
Skill1 starsChanged 21 days agoMITView on GitHub
Maps an Artificial Intelligence (AI) feature's failure modes - hallucination, refusal, low confidence, latency, partial results, tool errors, and outdated knowledge - to detection signals, User Interface (UI) patterns, recovery actions, and ready-to-use microcopy. Use when designing error states for a chatbot, copilot, or agent; users hit dead ends after an AI failure; writing refusal or fallback copy; or preparing a failure-handling spec before launch.
In this repository41 other files it gives its agents.
- ai-activation-optimizerSkill
- ai-content-quality-gateSkill
- ai-feature-experiment-designerSkill
- ai-launch-playbookSkill
- ai-pricing-margin-modelerSkill
- ai-product-positioningSkill
- ai-search-visibility-optimizerSkill
- agent-autonomy-level-mapperSkill
- ai-usability-test-plannerSkill
- ai-ux-auditSkill
- human-in-the-loop-designerSkill
- prompt-surface-designerSkill
- uncertainty-and-explainability-patternsSkill
- ai-agent-financial-analystSkill
- burn-rate-runway-plannerSkill
- capital-allocation-frameworkSkill
- dcf-valuation-builderSkill
- financial-statement-analyzerSkill
- saas-cohort-analyzerSkill
- competitive-response-modelerSkill
- mechanism-design-plannerSkill
- nash-equilibrium-solverSkill
- negotiation-strategistSkill
- repeated-game-strategistSkill
- ai-decision-engineSkill
- ai-product-strategySkill
- ai-stakeholder-translatorSkill
- customer-interview-synthesizerSkill
- jobs-to-be-done-extractorSkill
- opportunity-solution-treeSkill
- product-discovery-coachSkill
- product-roadmap-prioritizerSkill
- blue-ocean-strategy-canvasSkill
- go-to-market-strategySkill
- gtm-engineeringSkill
- market-sizingSkill
- okr-cascade-plannerSkill
- porters-five-forces-analyzerSkill
- pricing-strategy-analyzerSkill
- strategic-landscape-mapperSkill
- swot-tows-analyzerSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Every AI failure collapsing into one generic error message
- Distinctive: line 33
Start from this taxonomy and add product-specific modes:
- Distinctive: line 81
Every failure state needs at least one forward action.
- Distinctive: line 127
Use a single generic error for all AI failures
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AI Failure State Designer
An AI feature is judged by how it fails, because it will fail more often and more strangely than deterministic software.
What this skill is
A workflow that inventories the ways an AI feature can fail, separates failures the system can detect from those only the user can catch, and assigns each one a UI pattern, a recovery path, and microcopy. It replaces the generic "Something went wrong" with failure states that preserve work, explain what happened in plain terms, and give the user a next best action.
What it solves
- Every AI failure collapsing into one generic error message
- Hallucinations presented with the same confidence and styling as correct answers
- Refusals that lecture the user or give no alternative path
- Long waits with a spinner and no sense of progress or option to stop
- Partial results discarded entirely when one step or tool call fails
- Answers based on outdated information with no date context
When to invoke
- Designing a new chatbot, copilot, search assistant, or agent
- Support tickets describe dead ends, lost work, or "it just stopped"
- Writing or reviewing refusal and fallback copy
- Adding tool use or retrieval, which introduces new failure surfaces
- Launch readiness review requires a failure-handling spec
Phase 1: Inventory failure modes
Start from this taxonomy and add product-specific modes:
| Failure mode | Definition | System-detectable? |
| Hallucination | Fluent output that is false or unsupported | Partially (grounding checks, citation validation) |
| Refusal | Model declines a request, correctly or not | Yes |
| Low confidence | Answer produced but evidence is weak or conflicting | Partially (retrieval scores, self-consistency) |
| Latency | Response exceeds expected time | Yes |
| Partial result | Some steps or items succeeded, others failed | Yes |
| Tool or integration error | External call failed, timed out, or lacked permission | Yes |
| Outdated knowledge | Answer reflects stale data or training cutoff | Partially (source dates, time-sensitive topics) |
| Misunderstood intent | Correct answer to the wrong question | Rarely; usually user-detected |
Phase 2: Rate frequency and impact
For each mode, estimate from evaluation data or logs:
Failure priority = Frequency (1-5) x Impact (1-5) x Detection difficulty (1-3)
Detection difficulty: 1 = system detects, 2 = user can easily notice, 3 = user unlikely to noticeUndetectable, high-impact failures (typically hallucination and outdated knowledge) rank highest because the interface is the only defense.
Phase 3: Assign UI patterns
| Failure mode | Primary pattern | Supporting pattern |
| Hallucination | Inline citations with verify-on-hover; unsupported claims visually distinct | "Check this" prompt on high-stakes facts (numbers, names, dates) |
| Refusal | Brief reason plus nearest allowed alternative | Link to the human or manual path |
| Low confidence | Hedged phrasing plus clarifying question or multiple options | Show sources that conflict |
| Latency | Staged progress (step names, not just a spinner) and stop control | Stream partial output; offer "notify me when done" past 20 seconds |
| Partial result | Show completed items, mark failed items, offer retry on failures only | Summary line: "7 of 9 done" |
| Tool error | Name the system that failed in user terms; preserve inputs | Retry, use alternative source, or continue without |
| Outdated knowledge | "As of" date on time-sensitive answers | Offer to search current sources if available |
| Misunderstood intent | Restate interpretation for ambiguous requests | Easy edit-and-resend on the original prompt |
Latency thresholds to design for:
| Wait time | Treatment |
| Under 1 second | No indicator needed |
| 1-5 seconds | Typing or thinking indicator; stream tokens if possible |
| 5-20 seconds | Named stages ("Searching 3 sources", "Drafting") and a stop button |
| Over 20 seconds | Background the task, notify on completion, keep the user unblocked |
Phase 4: Define recovery actions
Every failure state needs at least one forward action. Rank options by user effort:
- Automatic recovery - silent retry or fallback model, only if the result is equivalent
- One-click recovery - retry, try a narrower request, use a different source
- Guided recovery - suggested rephrasing, clarifying question, or form fallback
- Manual path - link to the non-AI way to do the job
- Human path - handoff to support with context preserved
Rules: never discard user input; never retry silently more than twice; never auto-retry an action with side effects.
Phase 5: Write the microcopy
Microcopy formula:
[What happened, plainly] + [What it means for the user] + [What they can do next]| Failure | Weak copy | Strong copy |
| Tool error | "An error occurred." | "I couldn't reach your calendar, so this schedule skips your meetings. Retry, or continue without calendar data." |
| Refusal | "I can't help with that." | "I can't change payroll records. I can draft the request for your payroll admin instead." |
| Low confidence | "I'm not sure." | "I found two conflicting policies (2023 and 2025). The 2025 version says 30 days. Want me to show both?" |
| Partial | "Task failed." | "Updated 7 of 9 records. 2 were locked by another user. Retry those 2?" |
Voice rules: first person for the assistant is acceptable, but no apologies longer than three words, no blaming the user, no anthropomorphic feelings ("I'm so sorry, I feel terrible"), and no technical codes in the primary message.
Output
- Failure mode inventory with detectability and priority scores
- Pattern assignment table per failure mode
- Latency treatment spec with time thresholds
- Recovery action ladder per failure mode
- Microcopy library (primary message, secondary detail, action labels)
- Instrumentation list to measure each failure's frequency in production
Operating rules
Always
- Design for undetectable failures, not just the ones the system can catch
- Preserve user input and completed work through every failure
- Pair every refusal with an alternative path
- Show progress stages and a stop control for long waits
- Date-stamp time-sensitive answers
Never
- Use a single generic error for all AI failures
- Style unverified claims identically to cited ones in high-stakes contexts
- Auto-retry actions that have side effects
- Blame the user's prompt in error copy
- Hide a partial failure inside a success message
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

