OpenSpace document-gen-fallback
Fallback workflow for multi-format document generation when shell_agent encounters errors
install
source · Clone the upstream repo
git clone https://github.com/HKUDS/OpenSpace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/OpenSpace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gdpval_bench/skills/document-gen-fallback" ~/.claude/skills/hkuds-openspace-document-gen-fallback && rm -rf "$T"
manifest:
gdpval_bench/skills/document-gen-fallback/SKILL.mdsource content
Document Generation Fallback Workflow
When to Use
Use this skill when
shell_agent returns unknown or unclear errors on complex document generation tasks, especially when:
- Generating documents in multiple formats (e.g.,
,.docx
,.pdf
).html - The error message doesn't provide clear debugging information
- You need better visibility into each step of the generation process
Core Technique
Instead of delegating the entire document generation to
shell_agent, manually split the workflow into discrete, observable steps:
- Content creation → Use
to create source document (Markdown)write_file - Format conversion → Use
withrun_shell
for each target formatpandoc - Verification → Check output files exist and are valid
Step-by-Step Workflow
Step 1: Create Source Content with write_file
Write 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...
Step 2: Convert to Target Formats with run_shell
Use
run_shell with explicit pandoc commands for each format. This isolates conversion errors.
run_shell command: pandoc /tmp/document_source.md -o output.docx
run_shell command: pandoc /tmp/document_source.md -o output.pdf
Step 3: Verify Outputs
Check that files were created successfully:
run_shell command: ls -lh output.docx output.pdf
Complete Example
# 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.*
Advantages Over shell_agent
| 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 |
Common pandoc Commands
# 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"
Troubleshooting
- PDF generation fails: Ensure LaTeX is installed (
package) or usetexlive--pdf-engine=wkhtmltopdf - DOCX formatting issues: Add
for custom styles--reference-doc=template.docx - Unicode/encoding errors: Add
to pandoc command-f markdown+utf8 - Missing pandoc: Install via
orapt-get install pandocbrew install pandoc
When to Return to shell_agent
After successfully completing the manual workflow once, you can attempt
shell_agent again for similar tasks, now with a known-working fallback if errors recur.