agentsclimarketplace

Research after failure

Skill troykelly/claude-skills/skills/research-after-failure

Use after 2 consecutive failed attempts at solving a problem - STOP guessing and research documentation, codebase, and online resources before resumingFrom its SKILL.md

Install
npx -y skills add troykelly/claude-skills --skill research-after-failure

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

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 11 stars11 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.

SKILL.md

5.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Research After Failure

Overview

After 2 failed attempts, stop and research. Don't keep trying the same thing.

Core principle: Insanity is doing the same thing and expecting different results.

Trigger: Two consecutive failed attempts at solving a problem.

Announce at start: "I've failed twice. I'm stopping to research before trying again."

The Rule

Attempt 1: Try solution
            │
            ▼
         Failed?
            │
     ┌──────┴──────┐
     │             │
    Yes           No → Done
     │
     ▼
Attempt 2: Try different approach
            │
            ▼
         Failed?
            │
     ┌──────┴──────┐
     │             │
    Yes           No → Done
     │
     ▼
    STOP
     │
     ▼
  RESEARCH ← You are here
     │
     ▼
Attempt 3: Try with new knowledge

What Counts as a Failure

FailureNot a Failure
Tests don't passMinor syntax error fixed
Build breaksTypo corrected
Feature doesn't workIDE autocomplete issue
Same error recursDifferent error (progress)
No progress madePartial progress

The Research Protocol

Step 1: Document the Failures

Before researching, document what was tried:

## Failed Attempts

### Attempt 1
**Approach:** [What was tried]
**Result:** [What happened]
**Error:** [Error message if any]

### Attempt 2
**Approach:** [What was tried]
**Result:** [What happened]
**Error:** [Error message if any]

### Pattern
[What do these failures have in common?]

Step 2: Research Repository Documentation

# Check README
cat README.md

# Check docs directory
ls -la docs/
cat docs/[relevant-topic].md

# Check CONTRIBUTING
cat CONTRIBUTING.md

# Search for relevant docs
grep -r "[keyword]" docs/

Questions to answer:

  • Is there documented guidance for this?
  • Are there examples of similar work?
  • Are there known issues or limitations?

Step 3: Research Existing Codebase

# Find similar patterns
grep -r "[pattern]" src/

# Find how others solved similar problems
git log --all --oneline --grep="[keyword]"

# Look at test files for usage examples
grep -r "[function/class]" **/*.test.ts

Questions to answer:

  • How does existing code handle this?
  • What patterns are established?
  • Are there utility functions I'm missing?

Step 4: Research Online

Use web search for:

  1. Error messages - Exact error text
  2. Library documentation - Official docs
  3. Stack Overflow - Similar problems
  4. GitHub Issues - Known bugs
Search queries to try:
- "[exact error message]"
- "[library name] [problem description]"
- "[framework] [what you're trying to do]"

Step 5: Synthesize Findings

## Research Findings

### From Repository Docs
- [Finding 1]
- [Finding 2]

### From Codebase
- [Pattern found]
- [Example found]

### From Online
- [Solution found]
- [Workaround found]

### New Approach
Based on research, the new approach is:
1. [Step 1]
2. [Step 2]
3. [Step 3]

Step 6: Update Issue

Post research findings to the issue:

gh issue comment [ISSUE_NUMBER] --body "## Research After Failed Attempts

### What Was Tried
1. [Attempt 1]
2. [Attempt 2]

### Research Findings
[Summary of findings]

### New Approach
[How this will be solved now]
"

Step 7: Resume with New Knowledge

Apply findings to the next attempt.

If third attempt also fails → Consider escalating to human.

When to Escalate

After research + third attempt, if still failing:

## Escalation: Need Human Input

**Issue:** #[NUMBER]

**Attempted:**
1. [Approach 1] - [Result]
2. [Approach 2] - [Result]
3. [Approach 3 after research] - [Result]

**Researched:**
- [Sources checked]
- [Findings]

**Current Understanding:**
[What we know now]

**Blocking Question:**
[Specific question that needs human insight]

Mark issue as Blocked and await response.

Research Anti-Patterns

Anti-PatternCorrect Approach
Keep trying same thingStop and research
Research indefinitelyTime-box to 15-30 min
Ignore error messagesSearch exact error text
Skip local docsCheck README first
Guess at solutionsUnderstand problem first

What to Research First

Priority order:

  1. Error message - Often contains the answer
  2. Local documentation - Project-specific guidance
  3. Existing code - Established patterns
  4. Library docs - Official guidance
  5. Online search - Community solutions

Time Boxing

Research should be focused:

ResourceTime Limit
Local docs5 minutes
Codebase search10 minutes
Online search15 minutes
Total research30 minutes max

After 30 minutes without breakthrough → Escalate.

Checklist

When triggered by 2 failures:

  • Document what failed and why
  • Check repository documentation
  • Search existing codebase
  • Search online resources
  • Synthesize findings
  • Update issue with research
  • Formulate new approach
  • If still failing, escalate

Integration

This skill is triggered by:

  • issue-driven-development - Step 8 (verification loop)

This skill calls:

  • issue-lifecycle - Post research findings
  • memory-integration - Store findings for future reference

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,852. 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.