Back to Skills

deliver-edge-cases

product-on-purpose
Updated 2 days ago
3 views
238
33
238
View on GitHub
Testingwordtesting

About

This skill systematically documents edge cases, error states, and boundary conditions for a feature to ensure comprehensive coverage. It's used during specification or QA planning to identify test scenarios and prevent bugs from reaching production. The output helps developers handle unusual cases intentionally and provides clear test targets.

Quick Install

Claude Code

Recommended
Primary
npx skills add product-on-purpose/pm-skills -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/product-on-purpose/pm-skills
Git CloneAlternative
git clone https://github.com/product-on-purpose/pm-skills.git ~/.claude/skills/deliver-edge-cases

Copy and paste this command in Claude Code to install this skill

Documentation

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->

Edge Cases

An edge cases document systematically catalogs the unusual, boundary, and error scenarios for a feature. While happy-path flows are typically well-specified, edge cases often get discovered in production . causing bugs, poor user experience, and support burden. Documenting edge cases upfront ensures engineering handles them intentionally and QA knows what to test.

When to Use

  • During feature specification before engineering begins
  • When preparing QA test plans
  • After discovering production bugs to prevent similar issues
  • When reviewing PRDs or user stories for completeness
  • Before launch to ensure error states have been designed

Instructions

When asked to document edge cases, follow these steps:

  1. Define the Feature Scope Clearly describe what feature or flow you're analyzing. Edge cases are specific to context . the same input might be valid in one feature and invalid in another.

  2. Walk Through Input Validation Consider every user input: What if it's empty? Too long? Wrong format? Contains special characters? What are the minimum and maximum valid values?

  3. Explore Boundary Conditions Find the edges of acceptable ranges. If a field accepts 1-100, test 0, 1, 100, and 101. Consider pagination boundaries, timeout thresholds, and rate limits.

  4. Map Error States Identify what can go wrong: network failures, permission denied, resource not found, concurrent modifications, expired sessions. Document both the scenario and expected behavior.

  5. Consider Concurrency Issues What if two users act simultaneously? What if the user double-clicks? What if data changes between load and save? Race conditions often cause subtle bugs.

  6. Define Recovery Paths For each error, specify how users recover. What message do they see? Can they retry? Is data preserved? Good error handling turns frustration into confidence.

  7. Prioritize by Likelihood and Impact Not all edge cases need the same attention. High-likelihood + high-impact cases need robust handling; rare + low-impact cases might just need graceful failure.

Output Format

Use the template in references/TEMPLATE.md to structure the output.

Quality Checklist

Before finalizing, verify:

  • All user inputs have validation edge cases documented
  • Boundary conditions are explicitly listed
  • Network/system failure scenarios are covered
  • Each error state has a defined user-facing message
  • Recovery paths are specified (not just error detection)
  • Edge cases are prioritized by likelihood and impact

Examples

See references/EXAMPLE.md for a completed example.

GitHub Repository

product-on-purpose/pm-skills
Path: skills/deliver-edge-cases
0
agent-skillsai-skillsclaude-codeclaude-desktopdesign-sprintfoundation-sprint

Related Skills

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

cloudflare-cron-triggers

Testing

This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

finishing-a-development-branch

Testing

This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.

View skill