Implement fallback strategies when web-reading tools fail simultaneously
56
62%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Fix and improve this skill with Tessl
tessl review fix ./benchmarks/gdpval/skills/web-tool-fallback/SKILL.mdApply this skill when all web-reading tools (read_webpage, search_web) fail simultaneously with unknown errors during a research or information-gathering task.
Confirm this pattern before applying fallbacks:
Critical: execute_code_sandbox may also fail during system-wide issues. Always be prepared to immediately fall back to run_shell if sandbox execution returns errors.
Before abandoning web access, try these alternatives:
Alternative URLs:
Simplified Requests:
# Example: Generate alternative URL formats
original_url = "https://example.com/research/report?id=123"
alternatives = [
"https://example.com/research/report",
"http://example.com/research/report?id=123",
"https://web.archive.org/web/*/https://example.com/research/report"
]When web access is unavailable, generate content from reliable embedded knowledge. Note: execute_code_sandbox can fail during cascading system issues—if it returns errors, immediately proceed to Step 2b.
code = '''
# Generate structured information from embedded knowledge
evaluation_frameworks = {
"Kirkpatrick Model": ["Reaction", "Learning", "Behavior", "Results"],
"Bloom's Taxonomy": ["Remember", "Understand", "Apply", "Analyze", "Evaluate", "Create"],
"SMART Criteria": ["Specific", "Measurable", "Achievable", "Relevant", "Time-bound"]
}
# Create comprehensive reference material
for framework, levels in evaluation_frameworks.items():
print(f"## {framework}\\n")
for i, level in enumerate(levels, 1):
print(f"{i}. {level}")
print()
'''If execute_code_sandbox returns any error (unknown error, timeout, execution failure):
- Established frameworks and methodologies
- Standard best practices
- Well-documented technical concepts
- Historical information that doesn't change frequently
### Step 2b: Fall Back to run_shell if execute_code_sandbox Fails
### Step 2b: Fall Back to run_shell if execute_code_sandbox Fails (REQUIRED)
**When to use**: execute_code_sandbox returns any error OR fails to produce output within reasonable time.
**Action**: Immediately switch to run_shell with direct Python execution. Do not continue attempting execute_code_sandbox.
1. **Use run_shell with direct Python execution** (simplest, most reliable):
1. **Use run_shell with direct Python execution**:
```bash
python3 -c "print('content from embedded knowledge')"Use heredoc for multi-line scripts:
python3 << 'EOF'
# Your Python code here
frameworks = {"Kirkpatrick": ["Reaction", "Learning", "Behavior", "Results"]}
for name, levels in frameworks.items():
print(f"## {name}")
for level in levels:
print(f"- {level}")
EOFCapture output to file for further processing:
python3 -c "print('structured content')" > output.txtWhy run_shell works when execute_code_sandbox fails:
For tasks requiring formal documentation:
[WEB_ACCESS_LIMITED: URL https://example.com/source could not be accessed][Reference needed: Topic - URL attempted but inaccessible]Always create a transparent "Research Access Notes" section:
## Research Access Notes
**Access Limitation**: All web-reading tools failed simultaneously during research.
**Fallback Actions Taken**:
- [ ] Attempted alternative URLs: [Yes/No]
- [ ] Used embedded knowledge generation: [Yes/No]
- [ ] Created placeholders for citations: [Yes/No]
**Confidence Level**: [High/Medium/Low] - based on reliance on embedded knowledge vs. current web sources
**Recommendation**: Verify critical claims with current web sources when access is restored.All web tools failed?
├─ Yes → Try alternative URLs
│ ├─ Success → Complete task normally
│ └─ Failed → Can content be generated from embedded knowledge?
│ ├─ Yes → Try execute_code_sandbox (expect potential failure)
│ │ ├─ Success → Use output + document limitation
│ │ └─ Failed/Errors → **IMMEDIATELY** use run_shell + document limitation
│ └─ No → Create document with placeholders + notify Executive Director
│ └─ No → Create document with placeholders + notify Executive Director
└─ No → Handle individual failures normally| Task Type | Primary Fallback | Documentation Required |
|---|---|---|
| Research/Analysis | execute_code_sandbox | Access notes section |
| Document Creation | Placeholder citations | Limitation notice to Executive Director |
| Time-Sensitive | Proceed with available methods | Brief limitation note |
| Compliance/Legal | Escalate immediately | Full access failure report |
# When gathering reference materials fails
try:
# Primary: read_webpage attempts (all failed)
pass
except:
# Fallback 1: Try alternative sources
alternative_content = execute_code_sandbox(generate_from_knowledge())
# Fallback 2: Create document with transparency
document = create_with_placeholders(
content=alternative_content,
citation_markers="[WEB_ACCESS_LIMITED]",
stakeholder_note="Executive Director: Web access unavailable, content from embedded knowledge"
)c5a9c4b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.