The naumu-import skill
A one-off importer for large corpora - doc dumps, ticket archives, media piles - landing in your existing space as notes, uploads, and optionally typed nodes.
Not installed yet? One command adds both skills to your repo: npx skills add naumu-ai/skills. Full instructions under Agent skills → Install.
The naumu-import skill takes a pile of files and lands it in your team's space as something people can actually search: long documents kept verbatim as notes, media uploaded and embedded where it belongs, tickets with their comment history preserved, and - when the team wants it - typed nodes with real edges over the top.
Invoke it with a path, or just ask in plain words ("import this export into Naumu", "bring these files into our space"):
/naumu-import <path>Useful flags:
/naumu-import --resume- continue an interrupted run. Runs are checkpointed to a run directory on disk, so a killed session picks up without duplicating a node or re-uploading a byte./naumu-import <path> --dry-run- survey, triage, and plan, then stop. Nothing is written to the space./naumu-import <path> --state-dir <dir>- put the run directory somewhere other than./.naumu-import/.
How a run works
The import is phased: it surveys the corpus without reading file bodies, groups raw files into logical items (a browser-saved article is twenty files; a ticket is a JSON plus its attachments), triages every item, and then stops at a single consent gate. There you see the full picture before anything is written: the target space and identity, the destination, the corpus shape, the plan, and - plainly - what leaves your machine and who will be able to see it.
Two questions decide where the material lands, asked once up front:
- Which topic does it file under? Any topic, or space-wide. Filing into a closed topic gates the import to that topic's members. Worth knowing before you answer: a closed topic gates notes and media, but graph nodes stay visible to every member of the space - team-level privacy, not isolation. A gated import therefore keeps bodies and client-identifying prose inside the notes, and when even titles are sensitive, staying with artifacts only is the right call.
- Artifacts only, or artifacts plus graph? Artifacts only is the default and the recommendation: notes and media, the fastest path from a pile of files to material your team can open and search and an agent can already reason over. Artifacts plus graph adds typed entities and edges over the same artifacts - it takes meaningfully longer, because every eligible item is read and its concepts pulled out, and it pays off afterwards, because the important concepts become nodes an agent can reason across efficiently. The choice is not a lock-in: once an artifacts-only import closes, the skill offers, once, to extract the concepts and enrich the graph as a follow-up pass over the same run, with a duration estimate scaled from what the artifacts pass actually took.
After your yes, the run largely proceeds on its own: it extends your schema only where the corpus genuinely needs a type that is missing, dedupes against content the team already has, and finishes with a shape pass and an honest report.md - what landed, what was deferred and why, what failed. Two things can still bring it back to you: the optional fan-out offer on a very large corpus, and an upload total that would run more than 20% past the estimate you agreed to, which pauses and asks again.
Limits worth knowing
- Agent-readable files (images, text, PDFs, office documents) are capped at 10MB on every plan. Larger video, audio, and archive uploads depend on your plan's ceiling; anything over it is deferred and listed in the report, never silently dropped.
- Content cannot be re-homed to a different topic over MCP after the run, so the destination answer is permanent for that run.
- Filing into a topic needs a user (OAuth) connection. A connection authenticated as a bot or API key - the stdio
@naumu/mcpfallback - holds no topic membership, so topics are rejected for it; those runs land space-wide.
What it is not
- Not a live sync. This is a one-time import. Keeping an issue tracker or chat tool continuously mirrored is what Naumu's built-in integrations are for.
- Not a space creator. It imports into a space that already exists. If there is no MCP connection yet, the naumu skill has a connect flow; if there is no space yet, first-time setup belongs to the repo quickstart.
- Not a cleanup pass. It never bulk-deletes, never reshuffles the team's existing structure, and reports problems it did not cause instead of "fixing" them.