
edge-case-identification
Identify and design for edge cases that disproportionately affect users with disabilities. Use when reviewing designs for completeness, planning test cases, or when someone says 'that's an edge case.' Triggers on: edge case, corner case, that's unlikely, only a few users, exception, unusual scenario, we'll handle that later, happy path, unhappy path, error state, empty state.
- Installs
- 76
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/owl-listener/inclusive-design-skills --skill edge-case-identification- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads edge-case-identification automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Edge Case Identification
Identify the scenarios that teams dismiss as "edge cases" but that are everyday reality for users with disabilities. An edge case for the team is often a primary case for someone.
Core Principle
"That's an edge case" is the most common way accessibility gets deprioritised. If it affects people with disabilities, it's not an edge case — it's a design requirement you haven't met.
Categories of Overlooked Edge Cases
Input Edge Cases
- User cannot use a mouse (keyboard only)
- User cannot use a keyboard (voice or switch only)
- User cannot use both hands (one-handed operation)
- User pastes content instead of typing it
- User uses autocomplete or password manager to fill fields
- User enters content in a different script or language
- User inputs using dictation with punctuation spoken aloud
Output Edge Cases
- User cannot see the screen (screen reader)
- User sees only a small portion of the screen (magnification)
- User cannot distinguish colours
- User cannot hear audio
- User has screen in greyscale mode or high contrast mode
- User has text scaled to 200%
- User has animations disabled
Content Edge Cases
- Extremely long names (hyphenated, multi-word, cultural naming)
- Non-Latin characters in name or address fields
- Empty states where no data exists yet
- Error states when everything goes wrong at once
- First-time use with no prior context
- Returning after months away with forgotten context
- Content in the wrong language for the user
Context Edge Cases
- Session timeout during a long form
- Connection lost mid-task
- Battery dying during a critical flow
- Screen rotation mid-interaction
- System font size set to maximum
- Browser zoom at 200% or higher
- Ad blocker or privacy extension modifying the page
Timing Edge Cases
- User is much slower than expected (switch user, cognitive delay)
- User is much faster than expected (screen reader power user)
- User needs to pause mid-task for hours or days
- Timed session expires before user finishes
- Content updates while user is reading it
How to Find Edge Cases
The "What If" Exercise
For each step in a flow, ask:
- What if the user can't see this?
- What if the user can't click this?
- What if the user can't understand this?
- What if the user takes 10x longer than expected?
- What if the user leaves and comes back tomorrow?
- What if this field contains unexpected content?
The Inversion Test
Take your happy path scenario. Invert each assumption:
- "User is on a desktop" → mobile, or tablet, or screen reader
- "User has fast internet" → slow, intermittent, or offline
- "User reads English fluently" → low literacy or second language
- "User can see the colour change" → colour blind or blind
- "User completes this in one sitting" → interrupted, returns later
Response to "That's an Edge Case"
When someone says this, ask:
- How many users does this affect? (often more than assumed)
- How severe is the impact? (a blocked user is worse than a mildly inconvenienced one)
- Is this a permanent condition for some users? (then it's their daily experience, not an edge case)
- Would fixing this improve the experience for other users too? (almost always yes)
Assessment Questions
- Has the team mapped edge cases beyond the happy path?
- Have input, output, content, context, and timing edge cases been considered?
- Are there dismissed "edge cases" that are daily reality for users with disabilities?
- Does the test plan include scenarios for assistive technology users?
FAQ
What does the edge-case-identification skill do?
Identify and design for edge cases that disproportionately affect users with disabilities. Use when reviewing designs for completeness, planning test cases, or when someone says 'that's an edge case.' Triggers on: edge case, corner case, that's unlikely, only a few users, exception, unusual scenario, we'll handle that later, happy path, unhappy path, error state, empty state.
How do I install edge-case-identification?
Run npx skills add https://github.com/owl-listener/inclusive-design-skills --skill edge-case-identification in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/edge-case-identification/ (personal) or .claude/skills/edge-case-identification/ (project).
Which AI agents can use edge-case-identification?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is edge-case-identification safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains edge-case-identification?
It is published by owl-listener in owl-listener/inclusive-design-skills. It has 76 recorded installs.
More from owl-listener/inclusive-design-skills
plain-language-design
owl-listener/inclusive-design-skills
Open the skill to read its SKILL.md instructions.
keyboard-navigation
owl-listener/inclusive-design-skills
Open the skill to read its SKILL.md instructions.
cognitive-load-assessment
owl-listener/inclusive-design-skills
Open the skill to read its SKILL.md instructions.
responsive-review
owl-listener/inclusive-design-skills
Open the skill to read its SKILL.md instructions.
user-preference-respect
owl-listener/inclusive-design-skills
Design interfaces that detect and respond to system-level user preferences. Use when implementing dark mode, reduced motion, high contrast, text scaling, or any user preference that affects how the interface renders. Triggers on: user preference, system preference, prefers-reduced-motion, prefers-contrast, prefers-color-scheme, forced-colors, media query, user settings, system settings, accessibility settings, OS settings.
error-prevention-recovery
owl-listener/inclusive-design-skills
Open the skill to read its SKILL.md instructions.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work