Emc
aklofas/kicad-happy
EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…
Automatically identify potential boundary and exception cases from requirements, specifications, or existing code, and generate comprehensive test cases targeting boundary conditions, edge cases…
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/edge-case-generator .claude/skills/edge-case-generator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .claude/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/edge-case-generator .agents/skills/edge-case-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .agents/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/edge-case-generator .cursor/skills/edge-case-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .cursor/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ArabelaTso/Skills-4-SE.git --path skills/edge-case-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/edge-case-generator .gemini/skills/edge-case-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .gemini/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/edge-case-generator .github/skills/edge-case-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .github/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ArabelaTso/Skills-4-SE edge-case-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/edge-case-generator .opencode/skills/edge-case-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "edge-case-generator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/edge-case-generator into .opencode/skills/edge-case-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edge-case-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
edge-case-generatorAutomatically identify potential boundary and exception cases from requirements, specifications, or existing code, and generate comprehensive test cases targeting boundary conditions, edge cases…
Edge Case Generator is an agent skill from ArabelaTso/Skills-4-SE. Automatically identify potential boundary and exception cases from requirements, specifications, or existing code, and generate comprehensive test cases targeting boundary conditions, edge cases, and uncommon scenarios. Use this skill when analyzing programs, code repositories, functions, or APIs to discover and test corner cases, null handling, overflow conditions, empty inputs, concurrent access patterns, and other exceptional scenarios that are often missed in standard testing.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/c_cpp_edge_cases.md`, `references/java_edge_cases.md` and `references/javascript_edge_cases.md`).
It sits in Testing & QA, covering Test generation. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python, javascript, java, c and go).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Edge Case Generator loads about 4.4k tokens when it runs, and up to ~21k if it reads all its reference files. Until then it costs about 126 tokens; SKILL.md has 600 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 600 words, ~4,374 tokens.
.claude/skills/edge-case-generator/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Systematically identify boundary conditions, edge cases, and exceptional scenarios, then generate comprehensive tests to validate software behavior under uncommon conditions.
Analyze code, specifications, or requirements to identify:
Generate tests in multiple formats:
Support major programming languages:
Analyze each input parameter or data structure:
For numeric inputs:
- Minimum value (e.g., INT_MIN, 0, -∞)
- Maximum value (e.g., INT_MAX, 255, +∞)
- Zero
- One (unit value)
- Negative one
- Just below/above boundaries
- Overflow/underflow valuesFor collections (arrays, lists, sets):
- Empty collection
- Single element
- Two elements (minimal interaction)
- Maximum size (if bounded)
- All identical elements
- All unique elements
- Sorted vs unsorted
- Contains duplicatesFor strings:
- Empty string ("")
- Single character
- Very long string (10K+ chars)
- Unicode characters (emoji, RTL, special)
- Whitespace only (" ")
- Null terminator issues
- Special characters (\n, \t, \0)For pointers/references:
- Null/None/undefined
- Dangling pointer
- Self-reference (circular)
- UninitializedObject state:
- Uninitialized state
- Partially initialized
- Valid operational state
- Invalid/corrupted state
- Locked/busy state
- Disposed/freed statePrecondition violations:
- Missing required parameters
- Parameters in wrong order
- Invalid combinations
- Violated invariantsSuccess cases:
- Typical successful execution
- Boundary successful case
- Empty result (valid but empty)Failure cases:
- Expected exceptions/errors
- Timeout scenarios
- Partial failures
- Resource exhaustionTemporal patterns:
- First operation
- Last operation
- Repeated operations
- Alternating operations
- Concurrent operationsDependency patterns:
- Missing dependencies
- Circular dependencies
- Incompatible versions
- Network failuresFor each identified edge case, generate:
# Example: Testing a function that calculates factorial
def test_factorial_edge_cases():
# Zero (boundary)
assert factorial(0) == 1
# One (boundary)
assert factorial(1) == 1
# Negative (invalid input)
with pytest.raises(ValueError):
factorial(-1)
# Large value (overflow risk)
with pytest.raises(OverflowError):
factorial(10000)
# Non-integer (type boundary)
with pytest.raises(TypeError):
factorial(3.5)// Example: Testing an array processing function
describe('processArray edge cases', () => {
test('empty array', () => {
expect(processArray([])).toEqual([]);
});
test('single element', () => {
expect(processArray([1])).toEqual([1]);
});
test('null input', () => {
expect(() => processArray(null)).toThrow(TypeError);
});
test('undefined input', () => {
expect(() => processArray(undefined)).toThrow(TypeError);
});
test('all identical elements', () => {
expect(processArray([5, 5, 5, 5])).toEqual([5, 5, 5, 5]);
});
test('very large array', () => {
const largeArray = new Array(1000000).fill(1);
expect(() => processArray(largeArray)).not.toThrow();
});
});// Example: Testing string validation
@Test
public void testValidateString_EdgeCases() {
// Empty string
assertThrows(ValidationException.class, () -> validateString(""));
// Null
assertThrows(NullPointerException.class, () -> validateString(null));
// Single character
assertTrue(validateString("a"));
// Whitespace only
assertFalse(validateString(" "));
// Special characters
assertTrue(validateString("hello@world!"));
// Unicode
assertTrue(validateString("你好世界"));
// Very long string
String longString = "a".repeat(100000);
assertDoesNotThrow(() -> validateString(longString));
// Control characters
assertFalse(validateString("hello\0world"));
}// Example: Testing pointer operations
void test_pointer_edge_cases() {
// Null pointer
assert(safe_strlen(NULL) == -1);
// Empty string
assert(safe_strlen("") == 0);
// Single character
assert(safe_strlen("a") == 1);
// Very long string
char long_str[10000];
memset(long_str, 'a', 9999);
long_str[9999] = '\0';
assert(safe_strlen(long_str) == 9999);
}// Example: Testing concurrent access
func TestConcurrentAccess(t *testing.T) {
cache := NewCache()
// Race condition: multiple concurrent writes
t.Run("concurrent writes", func(t *testing.T) {
var wg sync.WaitGroup
for i := 0; i < 100; i++ {
wg.Add(1)
go func(val int) {
defer wg.Done()
cache.Set("key", val)
}(i)
}
wg.Wait()
// Verify cache is in valid state
_, ok := cache.Get("key")
assert.True(t, ok)
})
// Deadlock scenario
t.Run("potential deadlock", func(t *testing.T) {
done := make(chan bool)
go func() {
cache.Set("key1", 1)
cache.Set("key2", 2)
done <- true
}()
select {
case <-done:
// Success
case <-time.After(5 * time.Second):
t.Fatal("Deadlock detected")
}
})
}# Example: Testing state machine
def test_state_machine_edge_cases():
machine = StateMachine()
# Invalid initial transition
with pytest.raises(InvalidStateError):
machine.stop() # Can't stop before starting
# Double start
machine.start()
with pytest.raises(InvalidStateError):
machine.start() # Already started
# Transition from error state
machine.trigger_error()
with pytest.raises(InvalidStateError):
machine.resume() # Can't resume from error
# Valid state sequence
machine.reset()
machine.start()
machine.pause()
machine.resume()
machine.stop()
assert machine.state == "stopped"# Example: Testing memory and resource limits
def test_resource_limits():
# Memory exhaustion
with pytest.raises(MemoryError):
allocate_huge_buffer(size=10**15)
# File handle exhaustion
handles = []
try:
for i in range(10000):
handles.append(open(f'/tmp/test_{i}', 'w'))
except OSError as e:
assert "Too many open files" in str(e)
finally:
for h in handles:
h.close()
# Timeout scenarios
with pytest.raises(TimeoutError):
slow_operation(timeout=0.001) # Very short timeout
# Disk full simulation
with patch('os.write', side_effect=OSError("No space left on device")):
with pytest.raises(OSError):
write_large_file()Divide input domain into equivalence classes:
# For a function that accepts age (0-120)
# Partitions: Invalid (<0), Valid (0-120), Invalid (>120)
def test_age_validation():
# Invalid: negative
assert not is_valid_age(-1)
assert not is_valid_age(-100)
# Valid: boundaries
assert is_valid_age(0)
assert is_valid_age(120)
# Valid: typical
assert is_valid_age(25)
assert is_valid_age(65)
# Invalid: too large
assert not is_valid_age(121)
assert not is_valid_age(1000)Test at and around boundaries:
// For array index access (0 to length-1)
describe('array access boundaries', () => {
const arr = [10, 20, 30, 40, 50];
test('before first element', () => {
expect(() => arr.at(-1)).toThrow(RangeError);
});
test('first element (boundary)', () => {
expect(arr.at(0)).toBe(10);
});
test('second element (just inside)', () => {
expect(arr.at(1)).toBe(20);
});
test('last element (boundary)', () => {
expect(arr.at(4)).toBe(50);
});
test('after last element', () => {
expect(() => arr.at(5)).toThrow(RangeError);
});
});Generate random edge cases automatically:
from hypothesis import given, strategies as st
@given(st.lists(st.integers()))
def test_sort_properties(input_list):
"""Property: sorted list length equals input length"""
result = sort(input_list)
assert len(result) == len(input_list)
@given(st.lists(st.integers(), min_size=1))
def test_max_element_property(input_list):
"""Property: max element >= all elements"""
max_val = find_max(input_list)
assert all(max_val >= x for x in input_list)
@given(st.text())
def test_string_reverse_property(s):
"""Property: reversing twice returns original"""
assert reverse(reverse(s)) == sTest that tests actually catch bugs:
# Original function
def is_even(n):
return n % 2 == 0
# Mutant 1: Changed == to !=
def is_even_mutant1(n):
return n % 2 != 0 # Should be caught by tests
# Test that catches this mutation
def test_is_even():
assert is_even(0) == True # Catches mutant1
assert is_even(1) == False # Catches mutant1
assert is_even(2) == True # Catches mutant1Use this checklist when analyzing code:
For language-specific edge cases and test patterns, see the reference files:
Given a function specification:
def binary_search(arr: list[int], target: int) -> int:
"""
Find target in sorted array using binary search.
Returns index if found, -1 otherwise.
Requires: arr is sorted in ascending order
"""Generated edge case tests:
import pytest
class TestBinarySearchEdgeCases:
"""Comprehensive edge case tests for binary_search"""
# Collection boundaries
def test_empty_array(self):
"""Edge: Empty collection"""
assert binary_search([], 5) == -1
def test_single_element_found(self):
"""Edge: Single element - target present"""
assert binary_search([5], 5) == 0
def test_single_element_not_found(self):
"""Edge: Single element - target absent"""
assert binary_search([5], 3) == -1
def test_two_elements_first(self):
"""Edge: Minimal interaction - target is first"""
assert binary_search([1, 2], 1) == 0
def test_two_elements_second(self):
"""Edge: Minimal interaction - target is second"""
assert binary_search([1, 2], 2) == 1
# Position boundaries
def test_target_at_start(self):
"""Edge: Target at first position"""
assert binary_search([1, 2, 3, 4, 5], 1) == 0
def test_target_at_end(self):
"""Edge: Target at last position"""
assert binary_search([1, 2, 3, 4, 5], 5) == 4
def test_target_before_range(self):
"""Edge: Target less than all elements"""
assert binary_search([5, 10, 15], 3) == -1
def test_target_after_range(self):
"""Edge: Target greater than all elements"""
assert binary_search([5, 10, 15], 20) == -1
# Duplicate elements
def test_all_elements_same(self):
"""Edge: All elements identical"""
arr = [5, 5, 5, 5, 5]
assert binary_search(arr, 5) in range(len(arr))
def test_duplicates_present(self):
"""Edge: Target appears multiple times"""
# Should return any valid index
result = binary_search([1, 2, 2, 2, 3], 2)
assert result in [1, 2, 3]
# Numeric boundaries
def test_negative_values(self):
"""Edge: Negative numbers"""
assert binary_search([-10, -5, 0, 5, 10], -5) == 1
def test_zero_value(self):
"""Edge: Zero in array"""
assert binary_search([-2, -1, 0, 1, 2], 0) == 2
def test_large_values(self):
"""Edge: Near integer limits"""
import sys
max_int = sys.maxsize
assert binary_search([0, max_int], max_int) == 1
# Size boundaries
def test_very_large_array(self):
"""Edge: Performance with large array"""
arr = list(range(1000000))
assert binary_search(arr, 999999) == 999999
# Invalid inputs
def test_null_array(self):
"""Edge: Null/None array"""
with pytest.raises(TypeError):
binary_search(None, 5)
def test_unsorted_array(self):
"""Edge: Precondition violation - unsorted array"""
# May return incorrect result or -1
# This tests documentation compliance
result = binary_search([5, 1, 3, 2, 4], 3)
# Behavior is undefined, just ensure no crash
assert isinstance(result, int)This comprehensive test suite covers 18 distinct edge cases across multiple categories.
© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/edge-case-generator of ArabelaTso/Skills-4-SE.
Open the folder on GitHubat commit 4f38503
Edge Case Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Edge Case Generator this skillArabelaTso/Skills-4-SE | 253 | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| Emcaklofas/kicad-happy | 1.4k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Swig Testswig/swig | 6.3k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Generate Test Cases342164796/generate-test-cases | 119 | 1 repos | ~2.9k | Automated safety check: Pass | None | |
| Verify Cc Safety Netkenryu42/cc-safety-net | 1.6k | — | ~2k | Automated safety check: Pass | MIT | |
| Wioworkersio/skills | 190 | — | ~5.8k | Automated safety check: Pass | MIT |
aklofas/kicad-happy
EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
342164796/generate-test-cases
自主学习型测试文档生成器。从需求文档(Markdown)生成测试用例 XMind 文件,支持持久化记忆和持续学习。当用户提到"生成测试用例"、"根据需求生成测试"时触发。
kenryu42/cc-safety-net
Launch and drive the real cc-safety-net CLI — the hook decision path, explain, status/doctor, logs, and the local policy GUI — against an isolated home, capturing evidence.
workersio/skills
Testing workflow skill for finding high-value test candidates, writing focused tests, generating realistic workloads, reviewing test value, and diagnosing test-suite health.
microsoft/WindowsProtocolTestSuites
ALWAYS LOAD THIS SKILL when working with FileServer, SMB, SMB2, SMB3, CIFS, file sharing, MS-SMB2, MS-FSCC, MS-FSA, MS-DFSC, MS-FSRVP, MS-RSVD, MS-SQOS, or any file server protocol test…
ArabelaTso/Skills-4-SE
Generate prioritized CVE watchlists and actionable security recommendations for repositories.
ArabelaTso/Skills-4-SE
Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).
ArabelaTso/Skills-4-SE
Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.
ArabelaTso/Skills-4-SE
Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.
ArabelaTso/Skills-4-SE
Automatically migrate Spring MVC applications to Spring Boot.
ArabelaTso/Skills-4-SE
Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.
Categories
Automatically identify potential boundary and exception cases from requirements, specifications, or existing code, and generate comprehensive test cases targeting boundary conditions, edge cases…. Edge Case Generator is an agent skill from ArabelaTso/Skills-4-SE. Automatically identify potential boundary and exception cases from requirements, specifications, or existing code, and generate comprehensive test cases targeting boundary conditions, edge cases, and uncommon scenarios.
Edge Case Generator fits situations like: analyzing programs; code repositories; APIs to discover and test corner cases; overflow conditions.
Run `npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a claude-code`. Or copy the skill folder (skills/edge-case-generator in ArabelaTso/Skills-4-SE) into .claude/skills/edge-case-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a codex`. Or copy the skill folder (skills/edge-case-generator in ArabelaTso/Skills-4-SE) into .agents/skills/edge-case-generator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill edge-case-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/edge-case-generator, .gemini/skills/edge-case-generator, .github/skills/edge-case-generator and .opencode/skills/edge-case-generator in your project.
SKILL.md names no scripts, command-line tools or credentials: Edge Case Generator is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Edge Case Generator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 17k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Edge Case Generator: Emc (aklofas/kicad-happy, 1.4k stars), Swig Test (swig/swig, 6.3k stars), Generate Test Cases (342164796/generate-test-cases, 119 stars) and Verify Cc Safety Net (kenryu42/cc-safety-net, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 150 skills in this directory. The repository was last updated on August 21, 2026.
Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.