add-anydoc
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word,…
Convert an attached Word document, presentation, spreadsheet, OpenDocument file, RTF, EPUB, CSV, or text-based PDF into local Markdown. Use when a message supplies a local attachment path that must be read without uploading it to an external parser.
$ npx -y skills add nanocoai/nanoclaw --skill convert-documents-to-markdown --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/convert-documents-to-markdownContext preview
The summary Claude sees to decide when to auto-load this skill.
Convert an attached Word document, presentation, spreadsheet, OpenDocument file, RTF, EPUB, CSV, or text-based PDF into local Markdown. Use when a message supplies a local attachment path that must be read without uploading it to an external parser.
name: convert-documents-to-markdown description: Convert an attached Word document, presentation, spreadsheet, OpenDocument file, RTF, EPUB, CSV, or text-based PDF into local Markdown. Use when a message supplies a local attachment path that must be read without uploading it to an external parser. allowed-tools: Bash(anydoc:*)
Use the installed Firecrawl AnyDoc CLI (MIT). Conversion is local to the agent container.
Use the exact local attachment path supplied in the message. Current Chat SDK attachments normally use `/workspace/inbox/<message-id>/<file>`. Encode the path as a single-quoted shell literal, replacing each apostrophe with `'"'"'`. Never paste an untrusted path inside double quotes because command substitutions still execute there. Quote generated paths, put options before `--`, and put the input after it:
input_path='/workspace/inbox/<message-id>/<document>' mkdir -p "/workspace/agent/converted" output_dir="$(mktemp -d "/workspace/agent/converted/anydoc.XXXXXX")" output_path="$output_dir/document.md" timeout 60s anydoc -o "$output_path" -- "$input_path" printf 'Converted document: %s\n' "$output_path"
For example, this assigns a filename containing both shell syntax and an apostrophe without executing it:
input_path='/workspace/inbox/msg/report $(echo unsafe) '"'"'Q3'"'"'.docx'
The `--` prevents a filename beginning with `-` from becoming an option. If `timeout` is unavailable, run the same `anydoc` command without the wrapper.
For CSV read from stdin, name the format explicitly:
anydoc - --format csv < "$input_path"
Prefer `-o` except for tiny inputs. Read only the relevant sections of large Markdown files instead of placing the complete output in model context.
A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
Repo: nanocoai/nanoclaw
Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when agents need to read attached Word,…
Add Atomic Chat MCP server so the container agent can call local models served by the Atomic Chat desktop app via its OpenAI-compatible API.
Add clidash — a zero-dependency, read-only web dashboard that derives its tabs and tables at runtime from any CLI that lists resources as JSON. Ships pre-wired…
Use Codex (OpenAI's codex app-server) as a full agent provider — planning, tool orchestration, MCP tools, server-side history, session resume — alongside or…
Add a monitoring dashboard to NanoClaw. Installs @nanoco/nanoclaw-dashboard and a pusher that sends periodic JSON snapshots.
Add DeltaChat channel integration via @deltachat/stdio-rpc-server. Native adapter — no Chat SDK bridge. Email-based messaging with end-to-end encryption.