Installs into .claude/skills of the current project.
Are you the author of Sandbox Xml?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nodetool-ai-sandbox-xml)
---
name: sandbox-xml
description: Parse XML feeds and sitemaps in a Code node or CodeAct action, with fast-xml-parser running on the host
---
# XML in the sandbox
Specifier: `@nodetool-ai/sandbox-xml`. Import it at the top of the body.
fast-xml-parser reads a bare `window`, which the guest does not have, so it
cannot be compiled in. This pack is a **host module**: the import resolves to a
generated facade over NodeTool's own implementation.
## parse — XML to a plain object
```js
import { parse } from "@nodetool-ai/sandbox-xml";
const feed = await parse(inputs.xml);
const items = feed?.rss?.channel?.item ?? [];
return { titles: items.map((i) => i.title) };
```
Attributes ride along prefixed `@_` so they never collide with child-element
keys; pass `{ attributes: false }` to drop them. Text values stay text — a
numeric-looking id must not change shape between runs.
Invalid XML throws with the parser's own reason rather than returning a partial
tree.
## Gotchas
- **`parse` is async.**
- **5 MB of text per call.**
- **A single child is not an array.** `channel.item` is one object when the feed
has one item; normalize with `[].concat(x ?? [])`.