Guide · Agent skill
How to use the Add AnyDoc document conversion agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The add-anydoc skill gives a NanoClaw agent the ability to convert attached office documents and text-based PDFs into Markdown inside the agent's own container, so it can read and summarize them without sending the file to a hosted parsing service. This guide is for people who may be new to agent skills, and it explains what the skill changes, how to install it, how to ask for it in plain language, and what to check before and after installing. After reading it you should know whether the skill fits your setup and how to run it safely.
Quick start
- 1Read the project guidance. Read CONTRIBUTING.md, docs/skill-guidelines.md and the supply-chain section of docs/SECURITY.md in your NanoClaw project before changing anything.
- 2Get the skill files. Download the skill ZIP and unzip it into ~/.claude/skills/ or the project's .claude/skills/, or upload it under Settings, Capabilities, Skills in the Claude apps.
- 3Pass the release-age check. Run the registry check from the SKILL.md file. Stop if it fails, and do not install around it.
- 4Apply the installer. Copy the bundled container skill and manifest test into the project and add the AnyDoc entry to the container CLI tools manifest.
- 5Validate and build. Run the validation tests, the project build and the container image build.
- 6Restart the service. Restart only this NanoClaw service so running containers pick up the new shared skill on their next start.
- 7Test with an attachment. Send a real document, confirm it converts and is summarized, and confirm a scanned PDF fails clearly.
What an agent skill is and what this one does
An agent skill is a folder containing an instruction file, and sometimes scripts, that teaches an AI agent when and how to perform a task. The add-anydoc skill is aimed at NanoClaw deployments. It installs the Firecrawl AnyDoc command-line tool into the NanoClaw agent container, along with an instruction file named convert-documents-to-markdown that tells the agent when to use it.
Once installed, when a user sends a Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV or text-based PDF file, the agent can convert it to Markdown locally and then read the relevant sections. The stated goal is to keep document contents inside your own infrastructure rather than uploading them to a third-party parser.
- Supported inputs: DOCX, PPTX, XLSX, OpenDocument, RTF, EPUB, CSV and text-based PDF
- Conversion happens inside the agent container
- Scanned or image-only PDFs are not converted, because the tool does not perform OCR
Check whether this skill fits your setup
The skill is written as an installer for developers who maintain NanoClaw, not as a feature for end users. Its install steps assume a NanoClaw v2 layout with containers, a data/v2.db database and setup scripts. It also requires Git, pnpm, Node.js, npm registry access and Docker or a compatible container runtime for building the image.
If you are not running NanoClaw, the installer steps will not apply to your environment. If your rules forbid running unreviewed third-party npm packages, this skill executes a pinned npm command-line tool inside containers and may not be acceptable.
- Good fit: maintainers of a NanoClaw deployment who want local document reading for chat attachments
- Good fit: teams that need agents to read DOCX, PPTX, XLSX or EPUB files without a third-party parsing API
- Poor fit: anyone not running NanoClaw
- Poor fit: image-only or scanned PDFs
Install the skill by unzipping or uploading it
Download the skill ZIP from the page where you found this guide. For a Claude Code setup, unzip it into your user skills folder at ~/.claude/skills/, or into a project's .claude/skills/ folder if you want the skill limited to one project. Claude Code will then find the skill.
In the Claude apps, you can instead upload the skill under Settings, then Capabilities, then Skills.
Uploading or unzipping only makes the skill available to an agent. The actual installation into a NanoClaw deployment is carried out by the instructions in the SKILL.md file, which copy the bundled files into the project and build the container image.
- Claude Code, user-wide: unzip into ~/.claude/skills/
- Claude Code, one project: unzip into the project's .claude/skills/
- Claude apps: Settings, then Capabilities, then Skills, then upload
Run the NanoClaw install safely
The install follows a fixed order. It first checks the pinned npm package against the official registry and stops on any failure. The package must have been published for at least 72 hours, and the check refuses deprecated or missing versions. The installer then copies the container skill and a manifest test file into the project, adds an AnyDoc entry to the container CLI tools manifest, and runs validation before building the image.
Validation runs the manifest and CLI tool tests, then the build and image build. If pnpm rejects the package as too new, the source says to stop and not bypass the release-age policy. The installer also checks existing per-group image pins in data/v2.db and stops if it finds any it cannot rebuild safely.
- Read CONTRIBUTING.md, docs/skill-guidelines.md and the supply-chain section of docs/SECURITY.md first
- Do not enable lifecycle scripts or add exclusions to the release-age policy without explicit approval
- Restart only this NanoClaw service after the build
pnpm exec vitest run src/anydoc-manifest.test.ts container/cli-tools.test.ts && pnpm run build && ./container/build.shAsk for document conversion in plain language
You do not need special syntax. Once the skill is installed and the image is built, attach a document to a chat message and ask for what you need. The skill's description tells the agent to use it when a message supplies a local attachment that must be read without uploading it to an external parser.
The agent is expected to use the exact local path given in the message, usually under /workspace/inbox/, convert the file to a Markdown folder under /workspace/agent/converted/, and summarize only the relevant sections.
- Summarize the attached Word report and list the decisions it records
- Read the attached PowerPoint and tell me the main points of each slide
- Look at the attached spreadsheet and describe its columns, without calculating anything from it
- Extract the chapter headings from this EPUB file
Test the skill with a real attachment
The source describes a smoke test that uses one real channel attachment. Confirm the message gives an absolute local path, convert it, and check that the summary reflects the relevant Markdown sections. Then send an image-only PDF and confirm it fails with a clear message and is not uploaded anywhere.
For agents that accept messages from unknown senders, the source recommends that an operator set a CONTAINER_MEMORY_LIMIT, because the parser caps decompression but NanoClaw containers have no memory limit by default.
- Expected: office documents convert locally and the agent summarizes them
- Expected: scanned PDFs fail clearly
- Limit: spreadsheet Markdown is not authoritative for calculations
- Limit: embedded visuals may be incomplete
What people use it for
- Summarizing a Word report or memo that a colleague sent through a chat channel
- Pulling slide-by-slide content from a PowerPoint deck for a meeting summary
- Reading the column structure of a CSV or spreadsheet before asking a question about it
- Extracting chapter text from an EPUB book the user attached
- Keeping confidential office documents inside a self-hosted NanoClaw deployment
Frequently asked questions
Is the add-anydoc skill free to use?
The skill is published under the MIT licence, and the Firecrawl AnyDoc command-line tool it installs is also described as MIT in the container skill file. Your costs come from running your own infrastructure, such as the container runtime and build machines.
What do I need to install the add-anydoc skill?
You need an existing NanoClaw installation with the v2 layout, plus Git, pnpm, Node.js, access to the npm registry, and Docker or a compatible container runtime for building the image. The installer also expects systemd or launchd if you want to restart the service automatically.
Why does the skill fail on my scanned PDF?
The tool does not perform OCR, so a scanned or image-only PDF has no text to extract. The skill's smoke test expects this case to fail with a clear message. You would need to run OCR separately before attaching the file.
Can I use add-anydoc outside NanoClaw?
The skill is written for NanoClaw containers, database and service setup, so its installer steps will not apply to other environments. Outside NanoClaw you would need a different approach.
Is it safe to run a third-party npm tool inside my containers?
The skill runs a pinned npm command-line tool and includes scripts, and it uses the network during install. It checks the package against the release-age policy and avoids lifecycle scripts. Teams with strict rules about unreviewed third-party packages should review the code and the supply-chain notes before installing.
What if the install says the package is too new?
Stop. The installer treats a package that is too new as a failure and says not to bypass the release-age policy. Wait until the package passes the check or get explicit approval from the people who own your policy.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use add-anydoc if you run NanoClaw, maintain its deployment, and want agents to read office documents and text-based PDFs locally without a hosted parsing API. Pick a different approach if you are not running NanoClaw, if you need OCR for scanned PDFs, or if your rules prohibit running pinned third-party npm tools inside containers.
Download the skill