From qingyi
Use when the user encounters bugs, errors, crashes, or unexpected behavior. ACTION TRIGGERS: - "debug", "fix bug", "fix error", "troubleshoot", "investigate error" - "not working", "broken", "crashed", "why is this failing" - "trace the error", "find the bug", "root cause" NATURAL LANGUAGE PATTERNS: - "I'm getting" + error/exception/traceback - "help me debug" / "help me fix" - "here's the error" / "here's the log" - "the log says" / "the output shows" PROACTIVE TRIGGERS (fire even without explicit debug request): - User pastes error messages, stack traces, tracebacks, or error logs - User pastes log lines with ERROR, FATAL, Exception, Traceback, panic - User reports HTTP errors, DB errors, test failures, or compile errors - User describes symptoms: "returns null", "blank page", "hangs", "freezes"
How this skill is triggered — by the user, by Claude, or both
Slash command
/qingyi:debug-codeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Enforce a disciplined, step-by-step debugging process. Do NOT skip steps or guess fixes.
Enforce a disciplined, step-by-step debugging process. Do NOT skip steps or guess fixes.
Before investigating, determine whether the error is in development or production context.
Development signals:
src/, lib/, project-relative paths)Production signals:
node_modules/, installed package paths, deployed URLsIf ambiguous: Use AskUserQuestion to ask: "Is this error happening in your local development environment or in
production/deployed code?"
Record the scope -- it determines how Steps 2 and 3 behave.
If error monitoring tools (e.g., Sentry MCP) are available, query for related issues. If no monitoring is configured, skip to Step 3.
Production scope: Prioritize monitoring -- this is your primary source of truth.
Development scope: Check briefly for related patterns, but don't block on it if no results are found.
Sentry tools (if available):
mcp__sentry__search_issues -- search for the error message or affected componentmcp__sentry__get_issue_details -- get full stack trace, breadcrumbs, and tagsmcp__sentry__search_events -- find related events and frequencymcp__sentry__get_trace_details -- trace performance issues across servicesError monitoring provides richer context than local logs: stack traces with source maps, breadcrumbs, user context, and release correlation.
DO NOT guess the cause from UI behavior alone.
Check logs from the project root only:
logs/ directory, terminal output, browser consoleGrep for error patterns in project-relative log filesBash to tail recent log output from the local dev serverIf no logs are found: Use AskUserQuestion to ask the user for log output, error messages, or reproduction steps
before proceeding.
First, load configured log paths from Qingyi plugin settings:
<project>/.claude/qingyi.local.md — read YAML frontmatter for log_paths~/.claude/qingyi.local.md — read YAML frontmatter for log_pathslog_paths is a YAML list of directories or file paths pointing to the production application's installed location.
These are absolute paths or paths relative to project root.
Check logs in this order:
log_paths (if set) — read/grep these first as the primary log sourcenode_modules/<package>/logs/, npm-debug.log, yarn-error.logvenv/, pip-log.txt, .tox/ output, pytest outputtarget/, build/ output, hs_err_pid*.loggo test outputIf no logs are found in any location: Use AskUserQuestion to ask the user for log output, error messages, or exact
reproduction steps rather than proceeding with insufficient information.
Local project logs may still be useful as supplementary context in production scope.
Before researching or changing code:
If the user has not provided exact reproduction steps, use AskUserQuestion to request them before proceeding.
Reproduction gives you concrete data for the next step.
Before writing any fix:
Tools to use:
resolve-library-id then query-docs for library-specific issuessearch_code for real-world usage patterns, search_issues for known bugs/fixesDO NOT write a fix based on memory or assumption. Verify first.
When implementing the fix:
Anti-patterns to avoid:
--no-verify, --force)After applying changes:
If the original error persists or a new error surfaces, return to Step 1 with updated information and repeat the process.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub fly-onlyone/qingyi --plugin qingyi