--- name: document-gen-fallback description: Fallback workflow for multi-format document generation when shell_agent encounters errors --- # 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: 1. **Content creation** → Use `write_file` to create source document (Markdown) 2. **Format conversion** → Use `run_shell` with `pandoc` for each target format 3. **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 ```markdown # 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 ```bash # 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 (`texlive` package) or use `--pdf-engine=wkhtmltopdf` - **DOCX formatting issues**: Add `--reference-doc=template.docx` for custom styles - **Unicode/encoding errors**: Add `-f markdown+utf8` to pandoc command - **Missing pandoc**: Install via `apt-get install pandoc` or `brew 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.