agentsclimarketplace

Debug failing test

Skill mahmoud20138/Tradecraft/plugins/tradecraft/skills/debug-failing-test

102 Claude Code skills across 7 categories -- trading strategies, Azure, VSCode extensions, AI prompts, and custom automation skills

Install
npx -y skills add mahmoud20138/Tradecraft --skill debug-failing-test

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Debug a failing test using an iterative logging approach, then clean up and document the learning.

SKILL.md

3.2 KB, 669 tokens by cl100k_base, as published. Nobody here has run it

Debug a failing unit test by iteratively adding verbose logging, running the test, and analyzing the output until the root cause is found and fixed.

Workflow

Phase 1: Initial Assessment

  1. Run the failing test to capture the current error message and stack trace
  2. Read the test file to understand what is being tested
  3. Read the source file being tested to understand the expected behavior
  4. Identify the assertion that fails and what values are involved

Phase 2: Iterative Debugging Loop

Repeat until the root cause is understood:

  1. Add verbose logging around the suspicious code:

    • Use console.log('[DEBUG]', ...) with descriptive labels
    • Log input values, intermediate states, and return values
    • Log before/after key operations
    • Add timestamps if timing might be relevant
  2. Run the test and capture output

  3. Assess the logging output:

    • What values are unexpected?
    • Where does the behavior diverge from expectations?
    • What additional logging would help narrow down the issue?
  4. Decide next action:

    • If root cause is clear → proceed to fix
    • If more information needed → add more targeted logging and repeat

Phase 3: Fix and Verify

  1. Implement the fix based on findings
  2. Run the test to verify it passes
  3. Run related tests to ensure no regressions

Phase 4: Clean Up

  1. Remove ALL debugging artifacts:

    • Delete all console.log('[DEBUG]', ...) statements added
    • Remove any temporary variables or code added for debugging
    • Ensure the code is in a clean, production-ready state
  2. Verify the test still passes after cleanup

Phase 5: Document and Learn

  1. Provide a summary to the user (1-3 sentences):

    • What was the bug?
    • What was the fix?
  2. Record the learning by following the learning instructions (if you have them):

    • Extract a single, clear learning from this debugging session
    • Add it to the "Learnings" section of the most relevant instruction file
    • If a similar learning already exists, increment its counter instead

Logging Conventions

When adding debug logging, use this format for easy identification and removal:

console.log('[DEBUG] <location>:', <value>);
console.log('[DEBUG] before <operation>:', { input, state });
console.log('[DEBUG] after <operation>:', { result, state });

Example Debug Session

// Added logging example:
console.log('[DEBUG] getEnvironments input:', { workspaceFolder });
const envs = await manager.getEnvironments(workspaceFolder);
console.log('[DEBUG] getEnvironments result:', { count: envs.length, envs });

Notes

  • Prefer targeted logging over flooding the output
  • Start with the failing assertion and work backwards
  • Consider async timing issues, race conditions, and mock setup problems
  • Check that mocks are returning expected values
  • Verify test setup/teardown is correct

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.