llamaparse
Use this skill when the user asks to parse the content of an unstructured file (PDF, PPTX, DOCX...)
By run-llama · 1,214 installs
npx skills add run-llama/llamaparse-agent-skills --skill llamaparse
Source repository · Upstream listing
LlamaParse Skill
Parse unstructured documents (such as PDF, DOCX, PPTX, XLSX) with LlamaParse and extract their contents (text, markdown, images...).
Initial Setup
When this skill is invoked, respond with:
Then wait for the user's input.
Step 0 — Install llama cloud (optional)
If the user does not have the @llamaindex/llama cloud package installed, add it to the current environment by running:
Step 1 — Produce a Typescript Script
Once the user confirms the environment variables are set and provides the necessary details for the parsing job, produce a typescript script .
As a source of truth for the TS script, you can:
Refer to the [example.ts](scripts/example.ts) script, which covers most of the necessary configurations for LlamaParse
Refer to the complete LlamaParse Documentation, fetching the https://developers.llamaindex.ai/python/cloud/llamaparse/api v2 guide/ page.
Scripting Best Practices
Follow these guidelines when generating scripts:
1. Always Use the Top Level LlamaCloud Client
Use LlamaCloud (the API client) for all parsing operations:
2. Two Step Upload → Parse Pattern
Always upload first to get a file ID, then parse using the file ID. Never pass raw file bytes directly to parse() .
If the user already has a file ID (e.g. from a prior upload), skip the upload step and use it directly.
3. Choose the Right Tier
Tier When to Use
fast Speed is the priority; simple documents
cost effective Budget conscious; straightforward text extraction
agentic Complex layouts, tables, mixed content (default recommendation)
agentic plus Advanced analysis, highest accuracy
Default to agentic unless the user specifies otherwise or the document is simple.
4. Always Include the expand Parameter
The expand parameter controls what content is returned. Omitting it returns minimal data. Always specify exactly what you need:
Value Returns
text full Plain text via result.text full
markdown full Markdown via result.markdown full
items Page level JSON via result.items.pages
text content metadata Per page text metadata
markdown content metadata Per page markdown metadata
items content metadata Per page items metadata
images content metadata Image list with presigned URLs
output pdf content metadata Output PDF metadata
xlsx content metadata Excel specific metadata
Only request metadata content metadata variants when you need presigned URLs or per page detail — they increase payload size.
5. Handle None Results Defensively
result.text full , result.markdown full , and result.items may be undefined on failure. Always guard against this:
6. Use Structured Options for Advanced Configuration
Group options using the correct nested keys:
Use agentic options.custom prompt whenever the user wants to guide extraction (translation, summarization, structured extraction, etc.).
7. Downloading Images Requires httpx and Auth
When images content metadata is in expand , download images via presigned URLs with Bearer auth:
8. Use the Node shebang
Every generated script should include the node shebang:
Step 2 — Execute the Typescript Script
Once the typescript script has been produced, you should:
1. Present the script to the user and ask for permissions to run it (depending on the current permissions settings)
2. Once you obtained permission to run, execute the script
3. Explore the results based on the user's requests
In order to run typescript scripts, it is highly recommended to use: npx tsx script.ts .