{"id":50618965,"url":"https://github.com/mrchevyceleb/edgetest-skill","last_synced_at":"2026-06-06T09:02:09.083Z","repository":{"id":335930627,"uuid":"1147528465","full_name":"mrchevyceleb/edgetest-skill","owner":"mrchevyceleb","description":"Comprehensive edge case testing for Claude Code with auto-fix and production deployment","archived":false,"fork":false,"pushed_at":"2026-02-01T22:07:48.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-02T08:06:16.598Z","etag":null,"topics":["ai","automation","claude-code","cli","developer-tools","edge-cases","playwright","testing"],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrchevyceleb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-01T22:03:36.000Z","updated_at":"2026-02-01T22:07:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mrchevyceleb/edgetest-skill","commit_stats":null,"previous_names":["mrchevyceleb/edgetest-skill"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mrchevyceleb/edgetest-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrchevyceleb%2Fedgetest-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrchevyceleb%2Fedgetest-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrchevyceleb%2Fedgetest-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrchevyceleb%2Fedgetest-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrchevyceleb","download_url":"https://codeload.github.com/mrchevyceleb/edgetest-skill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrchevyceleb%2Fedgetest-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33975476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","claude-code","cli","developer-tools","edge-cases","playwright","testing"],"created_at":"2026-06-06T09:02:08.367Z","updated_at":"2026-06-06T09:02:09.064Z","avatar_url":"https://github.com/mrchevyceleb.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# /edgetest - Comprehensive Edge Case Testing for Claude Code\n\n**Automated edge case testing with auto-fix loop and production deployment verification**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blue)](https://github.com/anthropics/claude-code)\n\n---\n\n## Overview\n\n`/edgetest` is a Claude Code skill that automatically discovers, tests, and fixes edge cases in web applications. Unlike traditional testing tools, it:\n\n- 🔍 **Auto-discovers** edge cases across 8 categories\n- 🔧 **Auto-fixes** failures with intelligent root cause analysis\n- 🚀 **Deploys to production** and retests in live environment\n- 🤖 **Spawns background agents** for complex issues\n- ✅ **Requires 100% pass** (binary, not scored)\n- 🔐 **Handles authentication** automatically with session restoration\n\n---\n\n## Features\n\n### 8 Edge Case Categories\n\n1. **Input Validation** - SQL injection, XSS, Unicode, max length, special chars\n2. **Data States** - Empty, single item, pagination, large datasets, missing fields\n3. **Network/API Errors** - 404, 500, timeouts, rate limits, CORS, offline\n4. **UI/Interaction** - Rapid clicks, double submit, back button, resize, focus/blur\n5. **Auth/Authorization** - Session expiry, invalid tokens, permission changes\n6. **Browser/Device** - Mobile/tablet/desktop, zoom, dark mode, navigation\n7. **Timing/Race Conditions** - Delayed scripts, concurrent calls, stale data\n8. **Boundary Values** - Min/max, off-by-one, zero, negative, decimals\n\n### Auto-Fix Loop\n\nWhen a test fails:\n1. Analyzes root cause\n2. Implements fix\n3. Validates build\n4. **Deploys to production**\n5. **Retests in live environment**\n6. Repeats up to 3 times\n7. Creates background task if unresolved\n\n### Authentication Handling\n\n- **First run:** Prompts user to login, saves session automatically\n- **Subsequent runs:** Restores session (localStorage, sessionStorage, cookies)\n- **Session expiry:** Detects 401/403, prompts for re-auth, saves new session\n- **Secure:** Session files gitignored, stored locally only\n\n---\n\n## Installation\n\n### Prerequisites\n\n1. **[Claude Code CLI](https://github.com/anthropics/claude-code)** installed\n2. **[Playwright MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/playwright)** configured\n3. **Git** repository initialized\n4. **Deployment platform** (Vercel, Railway, or custom)\n\n### Quick Install\n\n**macOS/Linux:**\n```bash\ncurl -fsSL https://raw.githubusercontent.com/mrchevyceleb/edgetest-skill/main/install.sh | bash\n```\n\n**Windows (PowerShell):**\n```powershell\niwr -useb https://raw.githubusercontent.com/mrchevyceleb/edgetest-skill/main/install.ps1 | iex\n```\n\n### Manual Install\n\n1. **Download the skill file:**\n   ```bash\n   curl -o ~/.claude/commands/edgetest.md https://raw.githubusercontent.com/mrchevyceleb/edgetest-skill/main/edgetest.md\n   ```\n\n2. **Restart Claude Code** to load the skill\n\n3. **Verify installation:**\n   ```bash\n   # The skill should appear in autocomplete\n   /edgetest --help\n   ```\n\n---\n\n## Usage\n\n### Basic Syntax\n\n```bash\n/edgetest [focus] [url] [options]\n```\n\n### Arguments\n\n| Argument | Description | Example |\n|----------|-------------|---------|\n| `focus` | Scope testing to specific feature (optional) | `email integration`, `payment flow` |\n| `url` | Production URL to test (optional) | `https://myapp.vercel.app` |\n\n### Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--categories=cat1,cat2` | Test only specific categories | All 8 categories |\n| `--severity=level` | Test only specific severity | All severities |\n| `--max-fixes=N` | Max auto-fix attempts per test | 3 |\n| `--skip-deploy` | Skip production deployment | false |\n| `--config=path` | Custom edge case config file | None |\n\n---\n\n## Examples\n\n### Example 1: Full App Testing\n\n```bash\n/edgetest https://myapp.vercel.app\n```\n\n**Result:** Tests entire app (~50-100 tests), auto-fixes failures, deploys to production\n\n---\n\n### Example 2: Focused Testing\n\n```bash\n/edgetest email integration https://myapp.vercel.app\n```\n\n**Result:** Tests only email-related features (~10-30 tests), faster iteration\n\n---\n\n### Example 3: Critical Tests Only\n\n```bash\n/edgetest --severity=critical\n```\n\n**Result:** Tests only CRITICAL edge cases (SQL injection, XSS, auth bypass, etc.)\n\n---\n\n### Example 4: Local Testing (No Deploy)\n\n```bash\n/edgetest --skip-deploy\n```\n\n**Result:** Tests edge cases locally without deploying to production\n\n---\n\n## How It Works\n\n### Workflow\n\n```\n1. SCOPE DETECTION\n   ↓ Determine full app vs focused testing\n\n2. DISCOVERY\n   ↓ Map forms, inputs, APIs, pages\n   ↓ Generate ~10-100 edge case tests\n   ↓ Prioritize by severity\n\n3. SYSTEMATIC TESTING\n   ↓ Execute tests with Playwright\n   ↓ IF FAIL → Auto-Fix Loop\n\n4. AUTO-FIX LOOP\n   ↓ Analyze root cause\n   ↓ Implement fix\n   ↓ Validate build\n\n5. PRODUCTION DEPLOYMENT\n   ↓ Git commit + push\n   ↓ Deploy (Vercel/Railway/custom)\n   ↓ Wait 2 minutes\n\n6. RE-TEST IN PRODUCTION\n   ↓ Re-run failed test\n   ↓ IF PASS → Next test\n   ↓ IF FAIL (\u003c 3 attempts) → Try different fix\n   ↓ IF FAIL (\u003e= 3 attempts) → Spawn background agent\n\n7. COMPLETION\n   ↓ Generate comprehensive report\n```\n\n---\n\n## Comparison with Other Testing Tools\n\n| Feature | /edgetest | /bigtest | /perfect | Jest | Playwright |\n|---------|-----------|----------|----------|------|------------|\n| **Focus** | Edge cases only | UI/UX audit | Feature impl | Unit tests | E2E tests |\n| **Auto-discovery** | ✅ | ❌ | ❌ | ❌ | ❌ |\n| **Auto-fix** | ✅ | ❌ | ✅ | ❌ | ❌ |\n| **Production deploy** | ✅ | ❌ | ❌ | ❌ | ❌ |\n| **Auth handling** | ✅ Auto | Manual | Manual | Manual | Manual |\n| **Pass criteria** | 100% binary | 0-100 score | 0-100 score | % coverage | Manual |\n\n---\n\n## Authentication\n\nFor apps requiring login, `/edgetest` handles authentication automatically:\n\n### First Run\n1. Navigate to app\n2. Detect login requirement\n3. **Prompt user to login**\n4. Save session to `.edgetest/auth-session.json`\n5. Proceed with testing\n\n### Subsequent Runs\n1. Navigate to app\n2. **Auto-restore session** (no login needed!)\n3. Proceed with testing\n\n### Session Expiry\n1. Detect 401/403 errors\n2. Delete expired session\n3. Prompt for re-auth\n4. Save new session\n\n**Security:** Session files are gitignored and stored locally only.\n\n---\n\n## Output\n\n### Final Report\n\n```markdown\n===============================================================================\n                      /EDGETEST EXECUTION REPORT\n===============================================================================\n\nAPP: MyApp\nPRODUCTION URL: https://myapp.vercel.app\nSTATUS: ✅ 100% PASSING\n\nSUMMARY:\n  Total Tests: 87\n  Passed: 87 (100%)\n  Failed: 0 (0%)\n\nAuto-Fixes:\n  ✅ Resolved: 12\n  ⚠️  Background Tasks: 0\n\nDeployments: 12\nTotal Execution Time: 1h 23m 15s\n\n===============================================================================\n```\n\n---\n\n## Configuration\n\n### Custom Edge Cases\n\nCreate `edgetest-config.json`:\n\n```json\n{\n  \"categories\": {\n    \"input\": {\n      \"enabled\": true,\n      \"customTests\": [\n        {\n          \"name\": \"Credit card validation\",\n          \"input\": \"4111 1111 1111 1111\",\n          \"expected\": \"Accepted or formatted\"\n        }\n      ]\n    }\n  },\n  \"exclusions\": [\n    \"/admin/*\",\n    \"/debug/*\"\n  ]\n}\n```\n\nUse:\n```bash\n/edgetest --config=edgetest-config.json\n```\n\n---\n\n## Troubleshooting\n\n### Issue: Playwright MCP not available\n\n**Solution:**\n```bash\n# Check .mcp.json or ~/.claude.json for playwright config\n# Restart Claude Code to reload MCPs\n```\n\n### Issue: Deployment not detected\n\n**Solution:**\nAdd `vercel.json`, `railway.json`, or deploy script to `package.json`:\n```json\n{\n  \"scripts\": {\n    \"deploy\": \"your-deploy-command\"\n  }\n}\n```\n\n### Issue: Session expired\n\n**Solution:**\n```bash\n# Delete session file to force fresh login\nrm .edgetest/auth-session.json\n```\n\n---\n\n## Best Practices\n\n### 1. Run after implementing features\n\n```bash\n# Implement feature first\n/perfect implement payment flow\n\n# THEN test edge cases\n/edgetest payment flow\n```\n\n### 2. Use focus parameter for faster iteration\n\n```bash\n# Focused testing (10-30 tests, faster)\n/edgetest email integration\n\n# Full app testing (50-100 tests, comprehensive)\n/edgetest\n```\n\n### 3. Review background tasks promptly\n\nAfter `/edgetest` completes, check `/tasks/` for background tasks and fix manually.\n\n### 4. Combine with other skills\n\n**Recommended workflow:**\n1. `/perfect` - Implement feature (100/100 score)\n2. `/edgetest` - Test edge cases (deploy fixes)\n3. `/bigtest` - Full app audit (periodically)\n\n---\n\n## FAQ\n\n### Q: How is /edgetest different from /bigtest?\n\n**A:** `/bigtest` is a comprehensive UI/UX audit (0-100 score). `/edgetest` focuses ONLY on edge cases, auto-fixes failures, and deploys to production (100% binary pass).\n\n### Q: Will it break my production app?\n\n**A:** No. Each fix is build-validated, tested locally, and deployed incrementally. If re-test fails, the loop tries a different approach.\n\n### Q: What if auto-fix doesn't work?\n\n**A:** After 3 failed attempts, a background task is created with full context, attempted fixes, and recommended next steps.\n\n### Q: Does it work with all frameworks?\n\n**A:** Yes! Framework-agnostic (React, Vue, Angular, Svelte, etc.). Works with any web app accessible via URL.\n\n---\n\n## Contributing\n\nContributions welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) first.\n\n### Development Setup\n\n1. Clone the repository\n2. Edit `edgetest.md` (the skill file)\n3. Test locally by copying to `~/.claude/commands/edgetest.md`\n4. Submit a pull request\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n---\n\n## Support\n\n- **Issues:** [GitHub Issues](https://github.com/mrchevyceleb/edgetest-skill/issues)\n- **Discussions:** [GitHub Discussions](https://github.com/mrchevyceleb/edgetest-skill/discussions)\n- **Documentation:** Full guide in `edgetest.md`\n\n---\n\n## Acknowledgments\n\n- Built for [Claude Code CLI](https://github.com/anthropics/claude-code)\n- Uses [Playwright MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/playwright) for browser automation\n- Inspired by the need for comprehensive edge case testing in production apps\n\n---\n\n**Made with ❤️ by [Matt Johnston](https://github.com/mrchevyceleb)**\n\n**Star ⭐ this repo if you find it useful!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrchevyceleb%2Fedgetest-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrchevyceleb%2Fedgetest-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrchevyceleb%2Fedgetest-skill/lists"}