accessibility-patterns
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
Systematic hook debugging workflow. Use when hooks aren't firing, producing wrong output, or behaving unexpectedly.
Claude Code
$ npx -y skills add vibeeval/vibecosystem --skill debug-hooks --agent claude-code
Codex
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a codex -y
Cursor
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a cursor -y
Gemini CLI
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a gemini-cli -y
GitHub Copilot
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a github-copilot -y
OpenCode
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a opencode -y
Windsurf
$ npx skills add vibeeval/vibecosystem --skill debug-hooks -a windsurf -y
name: debug-hooks description: Systematic hook debugging workflow. Use when hooks aren't firing, producing wrong output, or behaving unexpectedly. allowed-tools: [Bash, Read, Grep]
Systematic workflow for debugging Claude Code hooks.
# Check project cache ls -la $CLAUDE_PROJECT_DIR/.claude/cache/ # Check specific outputs ls -la $CLAUDE_PROJECT_DIR/.claude/cache/learnings/ # Check for debug logs tail $CLAUDE_PROJECT_DIR/.claude/cache/*.log 2>/dev/null # Also check global (common mistake: wrong path) ls -la ~/.claude/cache/ 2>/dev/null
# Project settings cat $CLAUDE_PROJECT_DIR/.claude/settings.json | grep -A 20 '"SessionEnd"\|"PostToolUse"\|"UserPromptSubmit"' # Global settings (hooks merge from both) cat ~/.claude/settings.json | grep -A 20 '"SessionEnd"\|"PostToolUse"\|"UserPromptSubmit"'
# Shell wrappers ls -la $CLAUDE_PROJECT_DIR/.claude/hooks/*.sh # Compiled bundles (if using TypeScript) ls -la $CLAUDE_PROJECT_DIR/.claude/hooks/dist/*.mjs
# SessionEnd hook
echo '{"session_id": "test-123", "reason": "clear", "transcript_path": "/tmp/test"}' | \
$CLAUDE_PROJECT_DIR/.claude/hooks/session-end-cleanup.sh
# PostToolUse hook (Write tool example)
echo '{"tool_name": "Write", "tool_input": {"file_path": "test.md"}, "session_id": "test-123"}' | \
$CLAUDE_PROJECT_DIR/.claude/hooks/handoff-index.shIf using detached spawn with `stdio: 'ignore'`:
// This pattern hides errors!
spawn(cmd, args, { detached: true, stdio: 'ignore' })**Fix:** Add temporary logging:
const logFile = fs.openSync('.claude/cache/debug.log', 'a');
spawn(cmd, args, {
detached: true,
stdio: ['ignore', logFile, logFile] // capture stdout/stderr
});If you edited TypeScript source, you MUST rebuild:
cd $CLAUDE_PROJECT_DIR/.claude/hooks npx esbuild src/session-end-cleanup.ts \ --bundle --platform=node --format=esm \ --outfile=dist/session-end-cleanup.mjs
Source edits alone don't take effect - the shell wrapper runs the bundled `.mjs`.
| Symptom | Likely Cause | Fix | |---------|--------------|-----| | Hook never runs | Not registered in settings.json | Add to correct event in settings | | Hook runs but no output | Detached spawn hiding errors | Add logging, check manually | | Wrong session ID | Using "most recent" query | Pass ID explicitly | | Works locally, not in CI | Missing dependencies | Check npx/node availability | | Runs twice | Registered in both global + project | Remove duplicate |
Derived from 10 sessions (83% of all learnings):
A focused runtime for Claude Code. A bounded worker for Codex. Catalog (in repo): Default core: vibecosystem packages agents, skills and hooks for software work.
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
axe-core integration, WCAG 2.2 AA checklist, keyboard navigation testing, screen reader testing, and ARIA pattern validation.
Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements…
Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when…
Agent ve skill dosyalarinin yapisal dogrulamasi. Frontmatter kontrol, naming convention, zorunlu bolum kontrolu, tutarlilik…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.