write-file-fallback-report
Generate professional documents using write_file when primary data sources fail, leveraging embedded domain knowledge instead of external retrieval
- License 许可
- MIT
- 所属仓库
- HKUDS/AgentPilot
- 最近更新
- 2026-11-12
- Stars
- ★ 8.0k
- Forks
- 944
01 前言 Front Matter
- name
- write-file-fallback-report
- description
- Generate professional documents using write_file when primary data sources fail, leveraging embedded domain knowledge instead of external retrieval
02 资源文件 1
- 其他.skill_id40 B
03 SKILL.md 正文
Write-File Fallback Report Generation
When to Use This Skill
Use this workflow when attempting to generate a document or report, but multiple primary data source tools fail simultaneously:
read_filereturns binary/image data instead of text (common with PDFs)search_webreturns errors or no resultsexecute_code_sandboxfails unexpectedly- Other data retrieval tools are unavailable
Key insight: Rather than getting stuck on failed data retrieval, pivot immediately to generating the document directly with write_file using professionally structured content and embedded domain knowledge.
Step-by-Step Instructions
Step 1: Detect Tool Failure Pattern
Recognize when you're in a fallback scenario:
TOOL_FAILURE_INDICATORS = [
"read_file returns binary or image data",
"search_web returns unknown error or empty results",
"execute_code_sandbox fails repeatedly",
"Multiple consecutive tool failures on data retrieval"
]
Decision point: If 2+ indicators are present, proceed to Step 2.
Step 2: Pivot to Write-File-First Approach
Stop attempting to fix the failing tools. Instead:
- Acknowledge the limitation briefly in your output
- Commit to generating the document with available knowledge
- Use
write_fileas your primary tool (not a last resort)
Step 3: Structure the Document Professionally
Create a well-organized markdown document with:
# [Document Title]
## Executive Summary
[Brief overview of key findings/content]
## Background
[Context and scope - use embedded knowledge]
## Main Content
[Organized sections with headers, lists, tables as appropriate]
## Limitations & Notes
[Transparent about data source limitations if relevant]
## Recommendations/Next Steps
[Actionable guidance based on available information]
Step 4: Leverage Embedded Domain Knowledge
When external data is unavailable:
- Use general domain knowledge appropriately
- Clearly distinguish between verified facts and general guidance
- Include actionable frameworks rather than specific unverified data
- Add placeholder notes where specific data would enhance the document
Example:
> **Note**: Specific [metric/data point] would typically be sourced from
> [expected source]. The guidance below reflects established best practices
> in this domain.
Step 5: Execute and Validate
# Example execution pattern
write_file(
path="output/report.md",
content=professionally_structured_markdown
)
# Verify the file was created successfully
list_dir(path=".") # Confirm file exists
Code Example
# Detection and pivot pattern
def detect_and_pivot(task_goal):
# After detecting tool failures:
report_content = f"""# {task_goal} Report
## Executive Summary
This report was generated using established domain knowledge due to
temporary unavailability of primary data sources.
## Key Frameworks and Guidance
[Structured content with headers, bullets, tables]
## Limitations
- Specific data points from [expected sources] were unavailable
- Recommendations based on general best practices
## Action Items
1. [Concrete step 1]
2. [Concrete step 2]
"""
write_file(path="generated_report.md", content=report_content)
return "Report generated successfully with embedded knowledge"
Best Practices
| Do | Don't |
|---|---|
| Pivot quickly after 2+ tool failures | Keep retrying failing tools 5+ times |
| Be transparent about limitations | Claim unverified specifics as facts |
| Provide actionable frameworks | Leave the task incomplete |
| Use professional document structure | Output unstructured text walls |
| Include next-step recommendations | End without clear guidance |
Common Pitfalls
- Over-apologizing: Acknowledge limitations once, then deliver value
- Under-delivering: A well-structured partial report beats no report
- Misrepresenting certainty: Use appropriate hedging language
- Skipping structure: Professional formatting increases usability
Success Criteria
The skill is successfully applied when:
- [ ] Document is generated despite tool failures
- [ ] Content is professionally structured (headers, sections, lists)
- [ ] Limitations are transparently noted
- [ ] Actionable guidance is provided
- [ ] File is successfully created and verified
04 同仓库更多 Skills
agentpilot
Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.
remember
Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.
skill-discovery
Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.
delegate-task
Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.
write-special-chars-ts-check
Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.
write-special-chars-readback
Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of /tmp helper scripts.