Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Detect semantic-level bugs by analyzing whether code behavior matches its intended purpose inferred from function/variable names, comments, docstrings, and documentation.
$ npx skills add ArabelaTso/Skills-4-SE --skill semantic-bug-detector -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ArabelaTso/Skills-4-SE semantic-bug-detector --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/semantic-bug-detector .claude/skills/semantic-bug-detector && 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 "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .claude/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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/semantic-bug-detectorType 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 semantic-bug-detector -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ArabelaTso/Skills-4-SE semantic-bug-detector --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/semantic-bug-detector .agents/skills/semantic-bug-detector && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .agents/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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 semantic-bug-detector -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ArabelaTso/Skills-4-SE semantic-bug-detector --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/semantic-bug-detector .cursor/skills/semantic-bug-detector && 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 "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .cursor/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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/semantic-bug-detector--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 semantic-bug-detector -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ArabelaTso/Skills-4-SE semantic-bug-detector --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/semantic-bug-detector .gemini/skills/semantic-bug-detector && 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 "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .gemini/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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 semantic-bug-detectorInstalls 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 semantic-bug-detector -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/semantic-bug-detector .github/skills/semantic-bug-detector && 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 "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .github/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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 semantic-bug-detector -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 semantic-bug-detector --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/semantic-bug-detector .opencode/skills/semantic-bug-detector && 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 "semantic-bug-detector" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/semantic-bug-detector into .opencode/skills/semantic-bug-detector/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "semantic-bug-detector", 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.
semantic-bug-detectorDetect semantic-level bugs by analyzing whether code behavior matches its intended purpose inferred from function/variable names, comments, docstrings, and documentation.
Semantic Bug Detector is an agent skill from ArabelaTso/Skills-4-SE. Detect semantic-level bugs by analyzing whether code behavior matches its intended purpose inferred from function/variable names, comments, docstrings, and documentation. Use when users need to: (1) Find logic errors where implementation contradicts stated intent, (2) Identify off-by-one errors and boundary mismatches, (3) Detect inverted logic or wrong operators, (4) Catch missing edge case handling, (5) Verify code matches its documentation. Highlights mismatches between intent and implementation across…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/bug_patterns.md`).
It sits in Development, covering Technical documentation. 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.
4 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).
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.
Semantic Bug Detector loads about 2.8k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 141 tokens; SKILL.md has 879 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). 879 words, ~2,788 tokens.
.claude/skills/semantic-bug-detector/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Detect bugs where code behavior doesn't match its intended purpose.
This skill analyzes code to find semantic bugs—errors where the implementation contradicts the intent expressed through names, comments, and documentation. Unlike syntax errors or type errors, semantic bugs are logically valid code that does the wrong thing.
Provide code with any of:
The skill will:
Gather intent signals from multiple sources:
Names: is_even, get_last_n_elements, calculate_average
Comments: // Returns first n elements, # Check if x is positive
Docstrings:
"""Calculate the average of a list of numbers.
Returns the sum divided by the count."""Examine actual code behavior:
Control flow: Conditions, loops, branches Operations: Arithmetic, logical, comparison operators Boundaries: Array indices, range limits Edge cases: Empty input, null values, zero divisors
Check for common mismatches:
Off-by-one errors: Using n+1 when should use n
Inverted logic: Returning opposite boolean value
Wrong operator: Using * when should use /
Boundary errors: Inclusive when should be exclusive
Missing checks: Not handling empty/null input
For each bug found, provide:
Code:
def get_last_n_elements(arr, n):
"""Returns the last n elements from the array."""
return arr[-n-1:]Analysis:
arr[-n-1:] returns n+1 elementsReport:
BUG: Off-by-one error in get_last_n_elements
Location: Line 3, return statement
Intent: Return the last n elements (from name and docstring)
Actual: Returns the last n+1 elements
Bug Type: Off-by-one error
Severity: High
Explanation:
The slice arr[-n-1:] starts at index -(n+1), which includes
one extra element. Should use arr[-n:] to get exactly n elements.
Fix:
return arr[-n:]Code:
def is_even(x):
"""Check if x is even."""
return x % 2 == 1Analysis:
x % 2 == 1 returns True for odd numbersReport:
BUG: Inverted logic in is_even
Location: Line 3, return statement
Intent: Return True when x is even (from name and docstring)
Actual: Returns True when x is odd
Bug Type: Inverted boolean logic
Severity: High
Explanation:
x % 2 == 1 is True for odd numbers, not even numbers.
The condition is inverted from the stated intent.
Fix:
return x % 2 == 0Code:
def in_range(x, start, end):
"""Check if x is in range [start, end)."""
return start <= x <= endAnalysis:
start <= x <= end includes endReport:
BUG: Boundary mismatch in in_range
Location: Line 3, return statement
Intent: Check if x in [start, end) - half-open interval (from docstring)
Actual: Checks if x in [start, end] - closed interval
Bug Type: Boundary error (inclusive vs exclusive)
Severity: Medium
Explanation:
The notation [start, end) means start is included but end is excluded.
The condition start <= x <= end includes end, violating the spec.
Fix:
return start <= x < endCode:
def calculate_average(numbers):
"""Calculate the average of a list of numbers."""
return sum(numbers) * len(numbers)Analysis:
Report:
BUG: Wrong operator in calculate_average
Location: Line 3, return statement
Intent: Calculate average (sum / count) from name and docstring
Actual: Calculates sum * count
Bug Type: Wrong arithmetic operator
Severity: High
Explanation:
Average is calculated by dividing sum by count, not multiplying.
Using * instead of / produces incorrect result.
Fix:
return sum(numbers) / len(numbers)Code:
def find_max(numbers):
"""Find the maximum number in the list."""
max_val = numbers[0]
for num in numbers[1:]:
if num > max_val:
max_val = num
return max_valAnalysis:
Report:
BUG: Missing edge case handling in find_max
Location: Line 3, accessing numbers[0]
Intent: Find maximum number in list (from name and docstring)
Actual: Crashes with IndexError when list is empty
Bug Type: Missing edge case (empty input)
Severity: High
Explanation:
The function assumes the list is non-empty by accessing numbers[0]
without checking. This causes a crash on empty input.
Fix:
if not numbers:
raise ValueError("Cannot find max of empty list")
max_val = numbers[0]
...Indicators: "first n", "last n", "range", "iterate"
Bugs: Using n+1 instead of n, <= instead of <
See: bug_patterns.md
Indicators: "is_", "has_", "can_", boolean predicates Bugs: Returning opposite value, wrong comparison See: bug_patterns.md
Indicators: "[a, b]", "[a, b)", range specifications Bugs: Inclusive when should be exclusive See: bug_patterns.md
Indicators: "sum", "product", "average", "ratio"
Bugs: Using * instead of /, or instead of and
See: bug_patterns.md
Indicators: "process", "find", "calculate" Bugs: Not handling empty/null input, division by zero See: bug_patterns.md
Example: is_even should return True for even numbers
Example: Comment says "first n elements" but code returns n+1
Example: Doc says "[start, end)" but code uses <= for end
Example: calculate_average should use / not *
Example: Function processing list should handle empty list
The skill works across languages by focusing on semantic patterns:
Python: Docstrings, naming conventions, type hints JavaScript/TypeScript: JSDoc, naming, type annotations Java: Javadoc, naming conventions, method signatures C/C++: Doxygen comments, naming, function signatures Go: Doc comments, naming conventions Rust: Doc comments, naming, type system
Language-specific syntax is handled, but detection focuses on universal semantic patterns.
For each bug, provide:
BUG: <Bug type> in <function/location>
Location: <File:line or function name>
Intent: <What code should do based on names/docs>
Actual: <What code actually does>
Bug Type: <Category of semantic error>
Severity: <High/Medium/Low>
Explanation:
<Detailed explanation of the mismatch>
Fix:
<Suggested code correction>Detailed bug pattern catalog:
Load this reference when:
© 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 1 other file (references) in skills/semantic-bug-detector of ArabelaTso/Skills-4-SE.
Open the folder on GitHubat commit 4f38503
Semantic Bug Detector 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 |
|---|---|---|---|---|---|---|
| Semantic Bug Detector this skillArabelaTso/Skills-4-SE | 253 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Diagram Designcathrynlavery/diagram-design | 45k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Get API Docs with chubandrewyng/context-hub | 14k | 2 repos | ~775 | Automated safety check: Pass | MIT | |
| Doc SyncJetBrains/ideavim | 10k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Mailspring App ScreenshotsFoundry376/Mailspring | 18k | — | ~1.5k | Automated safety check: Pass | GPL-3.0 |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
andrewyng/context-hub
Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
Foundry376/Mailspring
Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
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
Detect semantic-level bugs by analyzing whether code behavior matches its intended purpose inferred from function/variable names, comments, docstrings, and documentation. Semantic Bug Detector is an agent skill from ArabelaTso/Skills-4-SE. Detect semantic-level bugs by analyzing whether code behavior matches its intended purpose inferred from function/variable names, comments, docstrings, and documentation.
Semantic Bug Detector fits situations like: find logic errors where implementation contradicts stated intent; identify off-by-one errors and boundary mismatches; detect inverted logic; wrong operators.
Run `npx skills add ArabelaTso/Skills-4-SE --skill semantic-bug-detector -a claude-code`. Or copy the skill folder (skills/semantic-bug-detector in ArabelaTso/Skills-4-SE) into .claude/skills/semantic-bug-detector in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ArabelaTso/Skills-4-SE --skill semantic-bug-detector -a codex`. Or copy the skill folder (skills/semantic-bug-detector in ArabelaTso/Skills-4-SE) into .agents/skills/semantic-bug-detector 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 semantic-bug-detector -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/semantic-bug-detector, .gemini/skills/semantic-bug-detector, .github/skills/semantic-bug-detector and .opencode/skills/semantic-bug-detector in your project.
SKILL.md names no scripts, command-line tools or credentials: Semantic Bug Detector 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.
Semantic Bug Detector 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 2.8k tokens (SKILL.md is roughly 11k 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 2.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Semantic Bug Detector: Diagram Design (cathrynlavery/diagram-design, 45k stars), Simple English (moeru-ai/airi, 50k stars), Get API Docs with chub (andrewyng/context-hub, 14k stars) and Doc Sync (JetBrains/ideavim, 10k 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.