agent-identifier
Use when creating or configuring Claude Code agents and their frontmatter.
This skill should be used when the user asks to "debug this", "fix this error", "investigate this bug", "troubleshoot this issue", "find the problem", "something is broken", "this isn't working", "why is this failing", or reports errors/exceptions/bugs. Provides systematic
$ npx -y skills add Galaxy-Dawn/claude-scholar --skill bug-detective --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bug-detectiveContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user asks to "debug this", "fix this error", "investigate this bug", "troubleshoot this issue", "find the problem", "something is broken", "this isn't working", "why is this failing", or reports errors/exceptions/bugs. Provides systematic
name: bug-detective description: This skill should be used when the user asks to "debug this", "fix this error", "investigate this bug", "troubleshoot this issue", "find the problem", "something is broken", "this isn't working", "why is this failing", or reports errors/exceptions/bugs. Provides systematic debugging workflow and common error patterns. version: 0.1.0
A systematic debugging workflow for investigating and resolving code errors, exceptions, and failures. Provides structured debugging methods and common error pattern recognition.
Debugging is a scientific problem-solving process that requires: 1. **Understand the problem** - Clearly define symptoms and expected behavior 2. **Gather evidence** - Collect error messages, logs, stack traces 3. **Form hypotheses** - Infer possible causes based on evidence 4. **Verify hypotheses** - Confirm or eliminate causes through experiments 5. **Resolve the issue** - Apply fixes and verify
Before starting to debug, clarify the following information:
**Required information to collect:**
**Question template:**
1. What is the exact error message? 2. Which file and line does the error occur at? 3. How can this issue be reproduced? Provide detailed steps. 4. What was the expected result? What actually happened? 5. What recent changes might have introduced this issue?
Choose a debugging strategy based on error type:
| Error Type | Characteristics | Debugging Method | |-----------|----------------|-----------------| | **Syntax Error** | Code cannot be parsed | Check syntax, bracket matching, quotes | | **Import Error** | ModuleNotFoundError | Check module installation, path config | | **Type Error** | TypeError | Check data types, type conversions | | **Attribute Error** | AttributeError | Check if object attribute exists | | **Key Error** | KeyError | Check if dictionary key exists | | **Index Error** | IndexError | Check list/array index range | | **Null Reference** | NoneType/NullPointerException | Check if variable is None | | **Network Error** | ConnectionError/Timeout | Check network connection, URL, timeout settings | | **Permission Error** | PermissionError | Check file permissions, user permissions | | **Resource Error** | FileNotFoundError | Check if file path exists |
Use the following methods to locate the issue:
**1. Binary Search Method**
**2. Log Tracing**
**3. Breakpoint Debugging**
**4. Stack Trace Analysis**
**Hypothesis framework:**
Hypothesis: [problem description] causes [error phenomenon] Verification steps: 1. [verification method 1] 2. [verification method 2] Expected results: - If hypothesis is correct: [expected phenomenon] - If hypothesis is wrong: [expected phenomenon]
After fixing, verify: 1. The original error is resolved 2. No new errors have been introduced 3. Related functionality still works correctly 4. Tests added to prevent regression
# ❌ No spaces allowed in assignment name = "John" # Error: tries to run 'name' command # ✅ Correct assignment name="John" # ❌ Missing spaces in conditional test if[$name -eq 1]; then # Error # ✅ Correct if [ $name -eq 1 ]; then
# ❌ Variables not expanded inside single quotes echo 'The value is $var' # Output: The value is $var # ✅ Use double quotes echo "The value is $var" # Output: The value is actual_value # ❌ Using backticks for command substitution (confusing) result=`command` # ✅ Use $() result=$(command)
# ❌ Unquoted variable, empty value causes errors rm -rf $dir/* # If dir is empty, deletes all files in current directory # ✅ Always quote variables [ -n "$dir" ] && rm -rf "$dir"/* # Or use set -u to prevent undefined variables set -u # or set -o nounset
# ❌ Pipe creates subshell, outer variable unchanged
cat file.txt | while read line; do
count=$((count + 1)) # Outer count won't change
done
echo "Total: $count" # Outputs 0
# ✅ Use process substitution or redirection
while read line; do
count=$((count + 1))
done < file.txt
echo "Total: $count" # Correct output# ❌ Incorrect array access
arr=(1 2 3)
echo $arr[1] # Outputs 1[1]
# ✅ Correct array access
echo ${arr[1]} # Outputs 2
echo ${arr[@]} # Outputs all elements
echo ${#arr[@]} # Outputs array length# ✅ Use `=` inside POSIX `[` tests and `==` inside Bash `[[ ]]` tests if [ "$name" = "John" ]; then if [[ "$name" == "John" ]]; then # ❌ Using -eq for numeric comparison instead of = if [ $age = 18 ]; then #
Semi-automated research assistant for academic research and software development. Supports Claude Code, Codex CLI, Kimi Code CLI, and OpenCode across ideation, coding, experiments, writing, and publication.
Repo: Galaxy-Dawn/claude-scholar
Use when creating or configuring Claude Code agents and their frontmatter.
Use only when creating new registrable ML components that require Factory or Registry patterns.
This skill provides reference guidance for citation verification in academic writing. Use when the user asks about "citation verification best practices", "how…
This skill should be used when the user asks to review a diff or pull request, write review comments, audit code quality, establish review standards, or…
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command…
Use for everyday coding tasks that involve writing or modifying source code.