edge-case-test-fixer
✓CleanRead code to identify edge cases, write tests that cover those edge cases, and fix the implementation if tests expose failures. Use when a user asks to add edge-case tests, harden behavior, or validate that existing code handles unusual inputs or error paths (e.g., empty data, nulls, boundaries, invalid formats, timeouts, retries).
Install Command
npx skills add LaiTszKin/edge-case-test-fixerSKILL.md
--- name: edge-case-test-fixer description: Read code to identify edge cases, write tests that cover those edge cases, and fix the implementation if tests expose failures. Use when a user asks to add edge-case tests, harden behavior, or validate that existing code handles unusual inputs or error paths (e.g., empty data, nulls, boundaries, invalid formats, timeouts, retries). --- # Edge Case Test Fixer ## Overview Systematically harden code by identifying edge cases, writing tests that encode those behaviors, and applying minimal fixes until tests pass. Favor clarity and small, targeted changes. Scope rule: - If `git diff` is not empty, inspect only changed files and the minimum dependency chain. - If `git diff` is empty, run a full-codebase edge-case scan. If actionable issues are found, create a git worktree, fix them there, then commit/push and open a PR. ## Workflow ### 0) 夿·ææç¯åï¼å¿ åï¼ - å å·è¡ `git diff --name-only`ã - è¥æ diffï¼åªææè®æ´æªæ¡èæçå¿ è¦å¼å«éï¼ä¾åºå·è¡æ¥é© 1â5ã - è¥ç¡ diffï¼æææ´åå°æ¡ï¼åªå çæ ¸å¿ domainãå¤é¨ API éçãçæ /ä½µç¼æææ¨¡çµï¼åä¾åºå·è¡æ¥é© 1â6ã - è¥ç¡ diff 䏿¾ä¸å°å¯è¡åçéç·£æ¡ä¾ï¼æç¢ºåå ±ãæªç¼ç¾å¯ä¿®å¾©éç·£æ¡ä¾ãï¼åæ¢ï¼ä¸å»ºç« worktreeã ### 1) 建ç«äºå¯¦åºç¤ï¼ä¾ææç¯åï¼ - æ diff æï¼è®åè®æ´åå¡èå ¶ç´æ¥ç¸ä¾ï¼åæªæåæ¨¡çµå §ï¼æ®µè½ã - ç¡ diff æï¼è®ååé¸é«é¢¨éªæ¨¡çµèå ¶ç´æ¥ç¸ä¾æ®µè½ï¼é¿å ç¡çå±éã - è¦éè¦å·è¡ç¸é測試ææå°éç¾ï¼è¨éç®åè¡çºèé æè½å·®ã - 鿏 è¼¸å ¥/輸åºå¥ç´ï¼åå¥ãå 許ç¯åã空å¼ãé¯èª¤èçæ¹å¼ã ### 2) ç¤é»éç·£æ¡ä¾ï¼åªé¸èææç¯åç´æ¥ç¸éè ï¼ åªå å¾ä»¥ä¸é¡åæé¸ 2â5 忿颍éªçæ¡ä¾ï¼ - 空éå/空å串/None/null - éçå¼ï¼0ã1ã-1ãæå¤§/æå°ãæº¢ä½ - éè¤/é åº/æåºåè¨ - ä¾å¤è·¯å¾ï¼å¤é¨ä¾è³´å¤±æãè¶ æãé試ãé¨åè³æç¼ºå¤± - æ ¼å¼é¯èª¤ï¼ç¡ææ¥æ/æéåãç¡æåä¸²æ ¼å¼ãéé æåå¥ - ä½µç¼/éå ¥ï¼å¤æ¬¡å¼å«ãçæ æ±¡æ - **æ¶æ§å±¤éç·£æ¡ä¾**ï¼åªå 檢è¦ä½µç¼/èå£/è³æº/è¶ æå³æç跨模çµé¢¨éª - **é¯èª¤èçåæ»¾**ï¼è·¨æ¨¡çµ/è·¨æ¥é©ä¸æ·æï¼å滾é»èåæ»¾çç¥ éè¦æ´å®æ´æ¸ 宿ï¼è¦è®æ´é¡åè®ï¼ - `references/architecture-edge-cases.md` - `references/code-edge-cases.md` #### å¤é¨ API ç¹å¥è¦æ± è¥è®æ´æ¶åå¤é¨ API å¼å«ï¼å¿ é è£ä¸/é©è以ä¸éç·£æ¡ä¾ï¼è¦è®æ´ç¯åæå°åè¦èï¼ï¼ - **å¿è·³/å¥åº·æª¢æ¥**ï¼æå¯ç¨æ§é©èæå¯è§æ¸¬çåæ´»æª¢æ¥è·¯å¾ï¼ææç¢ºä¸éè¦ççç±ï¼ã - **é¯èª¤éç´**ï¼è³å°æ¶µè 429ï¼éæµï¼è 500ï¼æå端é¯èª¤ï¼çèçèéé¿/éç´çç¥ã - **é¯èª¤æ¥èª**ï¼è¨éé鵿¬ä½ï¼çæ 碼ãè«æ±èå¥ãé試次æ¸ãå»¶é²çï¼ï¼é¿å åé¯ã ### 3) 寫測試ï¼å 寫失æåä¿®ï¼ - åªå 沿ç¨ç¾ææ¸¬è©¦é¢¨æ ¼è fixturesï¼éè¦ mock æä½¿ç¨æ¢æå·¥å ·ã - æ¯åéç·£æ¡ä¾ä¸å測試ï¼å½åæ¸ æ¥æè¿°è¡çºã - åªé注å¯è§æ¸¬çµæï¼åå³å¼ãè³æåº«å¯«å ¥ãæ¥èªãä¾å¤åå¥ï¼ã - å¤é¨ API ç¸éæ¸¬è©¦éæ¶µèï¼429/500ãé試/éç´è·¯å¾ãå¿è·³/å¥åº·æª¢æ¥è¡çºï¼è¥æï¼ã ### 4) 修復實ä½ï¼æå°æ¹åï¼ - 以æå°ç¯å修復ï¼å¨åé¡ä¾æºèèçï¼ä¸å¨ä¸å±¤åé度å è£ã - ä¿ææ¢æ API å ¼å®¹ï¼è¥éæ¹å¥ç´ï¼æ´æ°æ¸¬è©¦ä¸¦æç¢ºè¨éã - ä¸åç¡ééæ§ï¼é¿å æ°å¢æªè¢«æ¸¬è©¦è¦èçè¡çºã ### 5) é©èèæ¸ ç - éæ°è·ç¸é測試ï¼è¥æ°å¢æ«åæªæ¡ææ¸¬è©¦è³æï¼å®æå¾ç§»é¤ã - ç°¡è¦èªªææ°å¢çéç·£æ¡ä¾ã測試è修復é»ã ### 6) ç¡ diff ä¸æä¿®å¾©æï¼å»ºç« worktreeãæäº¤ä¸¦é PR - åªå¨ãç¡ diff 䏿¾å°å¯ä¿®å¾©åé¡ãæå·è¡æ¤æ¥é©ã - 建ç«ç¨ç«åæ¯è worktreeï¼åæ¯åéç¨ `codex/` åç¶´ï¼ï¼å¨ worktree å §å®æä¿®æ¹è測試ã - ä¿®å¾©å®æå¾ï¼ç´æ¥ä½¿ç¨ git 宿 commit è pushã - push å¾å»ºç« PRï¼ä¾å¦ä½¿ç¨ `gh pr create`ï¼ï¼å¨ PR å §èªªæï¼éç·£æ¡ä¾æ¸ å®ãå°ææ¸¬è©¦ã修復æè¦è風éªã ## Test Design Hints - åªå 測ãç®åå¯é¯ãçå°æ¹ï¼è䏿¯çè«ä¸çææå¯è½ã - 妿失æéè¦å¤§é setupï¼èæ ®ç¸®å°è¼¸å ¥ææ½åº helper fixtureã - å°å¤é¨ I/O ä½¿ç¨ mock æåç©ä»¶ï¼ä¿ææ¸¬è©¦å¿«ä¸ç©©å®ã
Similar Skills
Build and extend brownfield features in an existing codebase. Use when a request requires understanding module dependencies, researching the latest official docs for current tech stacks/APIs/external dependencies, and implementing tested changes in a mature project. For multi-module changes, produce a PRD and obtain explicit user approval before coding.
npx skills add LaiTszKin/enhance-existing-featuresTest and evaluate skill projects during development. Use when the user wants to test, evaluate, or assess a skill that is currently being developed in the workspace â i.e., the skill project in the current directory or a specified skill folder. This skill generates test cases, executes them against the target skill, and produces an evaluation report with strengths, weaknesses, and optimization suggestions. Triggers on requests like "test this skill", "evaluate my skill", "run skill tests", "assess skill quality", or "check if my skill works".
npx skills add alen-hh/skill-testingAnalyze, plan, review, and optimize any codebase across 4 modes: Discovery (understand architecture and risks), Review (validate changes and detect breaking changes), Optimization (find bottlenecks and vulnerabilities), Implementation Planning (generate step-by-step guidance). Works with React, Django, Rails, Go, Rust, and 30+ frameworks. Use when analyzing codebase structure, assessing feature safety, finding security issues, planning implementations, or discovering performance problems.
npx skills add baagad-ai/code-surgeonSystematically improve code through structured analysis-mutation-evaluation loops. Adapted from ALMA (Automated meta-Learning of Memory designs for Agentic systems). Use when iterating on code quality, optimizing implementations, debugging persistent issues, or evolving a design through multiple improvement cycles. Replaces ad-hoc "try and fix" with disciplined reflection, variant tracking, and principled selection of what to change next.
npx skills add aaronjmars/iterative-code-evolution