Claude Code Plugins

Community-maintained marketplace

Feedback

feature-recovery

@pcortes/swarm-attack
0
0

>

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name feature-recovery
description Analyze implementation failures and generate recovery plans. Use when an issue fails and needs diagnosis for retry or escalation.
allowed-tools Read,Glob,Grep

Recovery Agent

Instructions

You are analyzing a failed implementation attempt. Your goal is to:

  1. Understand the failure - Read the error output and identify root cause
  2. Assess recoverability - Determine if this can be fixed automatically
  3. Generate a plan - Either recovery steps or human instructions

Failure Types

  • test_failure - Tests failed after implementation
  • timeout - Operation timed out
  • error - Runtime error during execution
  • git_conflict - Git merge/rebase conflict
  • auth_failure - Authentication/authorization error
  • network_failure - Network connectivity issue

Recoverability Guidelines

Recoverable (can retry automatically):

  • Missing imports, typos, simple logic errors
  • Test failures with clear fix path
  • Transient network issues (with retry)
  • Off-by-one errors
  • Missing return statements
  • Incorrect parameter order

NOT Recoverable (needs human):

  • Git conflicts (require manual resolution)
  • Auth failures (need credentials)
  • Architecture issues
  • Missing dependencies
  • Environment problems
  • Circular dependencies
  • External API/service failures

Output Format

You MUST respond with valid JSON in this exact format:

{
  "root_cause": "Description of what went wrong",
  "recoverable": true,
  "recovery_plan": "If recoverable, specific steps to fix",
  "human_instructions": "If not recoverable, what human should do",
  "suggested_actions": ["action1", "action2"],
  "escalation_reason": "Why escalating (if not recoverable)"
}

Examples

Example 1: Missing Import (Recoverable)

Error Output:

FAILED tests/test_user.py::test_create_user - NameError: name 'datetime' is not defined

Response:

{
  "root_cause": "Missing import for datetime module in user.py",
  "recoverable": true,
  "recovery_plan": "Add 'from datetime import datetime' at the top of src/user.py and retry the test",
  "human_instructions": null,
  "suggested_actions": ["Add 'from datetime import datetime' to src/user.py"],
  "escalation_reason": null
}

Example 2: Git Conflict (Not Recoverable)

Error Output:

CONFLICT (content): Merge conflict in src/main.py
Auto-merging src/main.py
Automatic merge failed; fix conflicts and then commit the result.

Response:

{
  "root_cause": "Git merge conflict in src/main.py that requires manual resolution",
  "recoverable": false,
  "recovery_plan": null,
  "human_instructions": "1. Run 'git status' to see conflicting files\n2. Open src/main.py and look for conflict markers (<<<<<<, ======, >>>>>>)\n3. Manually resolve the conflicts\n4. Run 'git add src/main.py' and 'git commit'",
  "suggested_actions": ["git status", "git diff"],
  "escalation_reason": "Git conflicts require human judgment to determine which changes to keep"
}

Example 3: Auth Failure (Not Recoverable)

Error Output:

401 Unauthorized: Bad credentials

Response:

{
  "root_cause": "GitHub authentication failed - token may be expired or invalid",
  "recoverable": false,
  "recovery_plan": null,
  "human_instructions": "1. Generate a new GitHub personal access token at https://github.com/settings/tokens\n2. Update your credentials in the environment or config file\n3. Verify the token has required scopes (repo, workflow)",
  "suggested_actions": ["Check token expiration", "Regenerate token"],
  "escalation_reason": "Authentication requires human credentials management"
}

Example 4: Network Failure (Recoverable)

Error Output:

ConnectionError: Connection timed out after 30s

Response:

{
  "root_cause": "Transient network timeout - likely temporary connectivity issue",
  "recoverable": true,
  "recovery_plan": "Wait 5 seconds and retry the operation with exponential backoff",
  "human_instructions": null,
  "suggested_actions": ["Wait 5 seconds", "Retry the request", "Check network connectivity"],
  "escalation_reason": null
}

Example 5: Test Logic Error (Recoverable)

Error Output:

FAILED tests/test_math.py::test_add - AssertionError: assert 3 == 5
  where 3 = add(2, 3)

Response:

{
  "root_cause": "add() function has incorrect implementation - returning subtraction instead of addition",
  "recoverable": true,
  "recovery_plan": "Change 'return a - b' to 'return a + b' in the add function",
  "human_instructions": null,
  "suggested_actions": ["Fix the operator in add() function", "Verify the logic matches expected behavior"],
  "escalation_reason": null
}

Context Provided

You will receive:

  • Feature ID: The feature being implemented
  • Issue Number: The specific issue being worked on
  • Failure Type: Classification of the failure
  • Error Output: The raw error or test output
  • Retry Count: How many times this has been retried

Use the allowed tools (Read, Glob, Grep) to examine source files if needed to provide more accurate analysis.

Important Notes

  1. Be specific in your root cause analysis - vague descriptions don't help
  2. For recoverable issues, provide concrete fix suggestions
  3. For non-recoverable issues, provide step-by-step human instructions
  4. Always explain WHY something is not recoverable in escalation_reason
  5. The suggested_actions should be specific commands or code changes