Debugging
SkillDev toolsSystematic debugging of issues — use when a test fails, runtime error occurs, unexpected behavior is reported, or an awareness tick produces anomalous results
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Debugging skill
What this skill tells your AI
The instructions your AI receives, as published by wingedguardian/genesis-agi in src/genesis/skills/debugging/SKILL.md and read by ahel’s review.
Purpose
Systematically diagnose and resolve bugs, failures, or unexpected behavior in Genesis or its dependencies.
When to Use
- A test fails unexpectedly.
- Runtime error or unexpected behavior is reported.
- An awareness tick or reflection produces anomalous results.
- Obstacle resolution escalates a technical issue.
Workflow
- Reproduce — Confirm the issue. Get the exact error, stack trace, or unexpected output. Define "expected vs. actual."
- Isolate — Narrow the scope. Which module? Which function? Which input triggers it? Use binary search on the call chain.
- Hypothesize — Form 2-3 candidate explanations. Rank by likelihood.
- Test hypotheses — Write a minimal test or add logging to confirm/deny each hypothesis. Start with the most likely.
- Fix — Apply the minimal correct fix. Do not fix adjacent issues in the same change.
- Verify — Run the failing test. Run the full test suite. Confirm no regressions.
- Document — Record the root cause and fix as an observation. Update procedures if the bug class is recurring.
Output Format
issue: <one-line description>
date: <YYYY-MM-DD>
root_cause: <what actually went wrong>
fix: <what was changed>
files_modified:
- <file path>
regression_risk: low | medium | high
lesson: <what to remember to prevent recurrence>
Examples
Example: Hook fails in non-login shell
Trigger: Post-commit hook throws KeyError: 'HOME' in CI-like environment.
Expected output:
issue: Post-commit hook crashes when HOME not set in non-login sessions
date: 2026-04-06
root_cause: Hook script reads os.environ["HOME"] but non-login shells
(systemd, cron) strip HOME from environment
fix: Guard with os.environ.get("HOME", "/root") fallback + persist HOME
in /etc/environment during install
files_modified:
- .claude/hooks/genesis-hook
- scripts/install_guardian.sh
regression_risk: low
lesson: Never assume HOME exists — non-login shells strip it. Always
use get() with fallback for environment variables in hook scripts.
References
tests/— Test suite for verificationsrc/genesis/learning/procedural/— Procedure updates for recurring patterns
Signals
- GitHub stars
- 96
- Forks
- 23
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
debugging-wingedguardian- Source
- github.com/wingedguardian/genesis-agi