Fallback workflow for multi-format document generation when shell_agent encounters errors
55
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./benchmarks/gdpval/skills/document-gen-fallback/SKILL.mdUse this skill when shell_agent returns unknown or unclear errors on complex document generation tasks, especially when:
.docx, .pdf, .html)Instead of delegating the entire document generation to shell_agent, manually split the workflow into discrete, observable steps:
write_file to create source document (Markdown)run_shell with pandoc for each target formatWrite your document content as Markdown to a temporary source file. This gives you full visibility into the content being generated.
write_file
path: /tmp/document_source.md
content: |
# Document Title
## Section 1
Content here...
## Section 2
More content...Use run_shell with explicit pandoc commands for each format. This isolates conversion errors.
run_shell
command: pandoc /tmp/document_source.md -o output.docxrun_shell
command: pandoc /tmp/document_source.md -o output.pdfCheck that files were created successfully:
run_shell
command: ls -lh output.docx output.pdf# Generate Negotiation Strategy Document
## Step 1: Write Markdown source
write_file
path: /tmp/negotiation_strategy.md
content: |
# Negotiation Strategy
## Executive Summary
[Content...]
## Resolution Path
[Content...]
## BATNA Analysis
[Content...]
## Step 2: Convert to DOCX
run_shell
command: pandoc /tmp/negotiation_strategy.md -o negotiation_strategy.docx
## Step 3: Convert to PDF
run_shell
command: pandoc /tmp/negotiation_strategy.md -o negotiation_strategy.pdf
## Step 4: Verify
run_shell
command: ls -lh negotiation_strategy.*| Aspect | shell_agent | Manual Workflow |
|---|---|---|
| Error visibility | Opaque, may retry silently | Each step shows explicit output |
| Recovery | Automatic but may loop | Manual intervention at specific step |
| Debugging | Hard to isolate failure point | Clear which step failed |
| Control | Agent decides approach | You control each conversion |
# Markdown to Word
pandoc input.md -o output.docx
# Markdown to PDF (requires LaTeX or wkhtmltopdf)
pandoc input.md -o output.pdf
# Markdown to HTML
pandoc input.md -o output.html
# With custom template
pandoc input.md --template=template.html -o output.html
# With metadata
pandoc input.md -o output.pdf --metadata title="Document Title"texlive package) or use --pdf-engine=wkhtmltopdf--reference-doc=template.docx for custom styles-f markdown+utf8 to pandoc commandapt-get install pandoc or brew install pandocAfter successfully completing the manual workflow once, you can attempt shell_agent again for similar tasks, now with a known-working fallback if errors recur.
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.