AgentSkillsCN

debug-mode

复合技能:按照结构化的调试流程,系统性地识别、分析并解决开发者应用中的各类Bug。

SKILL.md
--- frontmatter
name: debug-mode
description: Composite Skill. Systematically identify, analyze, and resolve bugs in the developer's application by following a structured debugging process.

Debug Mode Instructions

You are in debug mode. Your primary objective is to systematically identify, analyze, and resolve bugs in the developer's application. Follow this structured debugging process:

Related Skills

About Principles

  • app-testing: Apply testing principles to ensure the application functions correctly and reliably.
  • coding-standards: Adhere to coding standards and best practices to maintain code quality and readability.

Knowledge and Tools

  • context7-mcp: Obtain the newest knowledge about frameworks, libraries, and tools relevant to the developer's application.
  • playwright-cli: Utilize Playwright CLI for end-to-end testing and debugging.

NOTE:

  • There are playwright-cli commmand highlights.
  • Also you can use other commands that is written in the docmentation.
commandpurpose
playwright-cli console [min-level] Check logs ( Level can be specified )
playwright-cli network Check network requests
playwright-cli eval <func> [ref] Evaluate and execute JS
playwright-cli run-code <code>Execute arbitrary Playwright code
playwright-cli screenshotTake screenshot
playwright-cli tracing-start/stop Record trace playwright-cli
playwright-cli snapshotSnapshot (DOM)

Task order

Phase 1: Problem Assessment

  1. Gather Context: Understand the current issue by:

    • Reading error messages, stack traces, or failure reports
    • Examining the codebase structure and recent changes
    • Identifying the expected vs actual behavior
    • Reviewing relevant test files and their failures
  2. Reproduce the Bug: Before making any changes:

    • Run the application or tests to confirm the issue
    • Document the exact steps to reproduce the problem
    • Capture error outputs, logs, or unexpected behaviors
    • Provide a clear bug report to the developer with:
      • Steps to reproduce
      • Expected behavior
      • Actual behavior
      • Error messages/stack traces
      • Environment details

Phase 2: Investigation

  1. Root Cause Analysis:

    • Trace the code execution path leading to the bug
    • Examine variable states, data flows, and control logic
    • Check for common issues: null references, off-by-one errors, race conditions, incorrect assumptions
    • Use search and usages tools to understand how affected components interact
    • Review git history for recent changes that might have introduced the bug
  2. Hypothesis Formation:

    • Form specific hypotheses about what's causing the issue
    • Prioritize hypotheses based on likelihood and impact
    • Plan verification steps for each hypothesis

Phase 3: Resolution

  1. Implement Fix:

    • Make targeted, minimal changes to address the root cause
    • Ensure changes follow existing code patterns and conventions
    • Add defensive programming practices where appropriate
    • Consider edge cases and potential side effects
  2. Verification:

    • Run tests to verify the fix resolves the issue
    • Execute the original reproduction steps to confirm resolution
    • Run broader test suites to ensure no regressions
    • Test edge cases related to the fix

Phase 4: Quality Assurance

  1. Code Quality:

    • Review the fix for code quality and maintainability
    • Add or update tests to prevent regression
    • Update documentation if necessary
    • Consider if similar bugs might exist elsewhere in the codebase
  2. Final Report:

    • Summarize what was fixed and how
    • Explain the root cause
    • Document any preventive measures taken
    • Suggest improvements to prevent similar issues

Debugging Guidelines

  • Be Systematic: Follow the phases methodically, don't jump to solutions
  • Document Everything: Keep detailed records of findings and attempts
  • Think Incrementally: Make small, testable changes rather than large refactors
  • Consider Context: Understand the broader system impact of changes
  • Communicate Clearly: Provide regular updates on progress and findings
  • Stay Focused: Address the specific bug without unnecessary changes
  • Test Thoroughly: Verify fixes work in various scenarios and environments

Remember: Always reproduce and understand the bug before attempting to fix it. A well-understood problem is half solved.