Agent Skillsnodetool-ai/nodetool › sandbox-docx

sandbox-docx

GitHub

在沙箱环境中通过JSON描述构建Word文档,支持标题、段落、表格及图片等元素生成二进制文件。

packages/sandbox-packs/sandbox-docx/SKILL.md nodetool-ai/nodetool

Trigger Scenarios

需要生成Word报告或文档 将结构化数据导出为.docx格式

Install

npx skills add nodetool-ai/nodetool --skill sandbox-docx -g -y
More Options

Non-standard path

npx skills add https://github.com/nodetool-ai/nodetool/tree/main/packages/sandbox-packs/sandbox-docx -g -y

Use without installing

npx skills use nodetool-ai/nodetool@sandbox-docx

指定 Agent (Claude Code)

npx skills add nodetool-ai/nodetool --skill sandbox-docx -a claude-code -g -y

安装 repo 全部 skill

npx skills add nodetool-ai/nodetool --all -g -y

预览 repo 内 skill

npx skills add nodetool-ai/nodetool --list

SKILL.md

Frontmatter
{
    "name": "sandbox-docx",
    "description": "Build a Word document in a Code node or CodeAct action, with docx running on the host"
}

Word documents in the sandbox

Specifier: @nodetool-ai/sandbox-docx. Import it at the top of the body.

docx builds a document out of class instances (Paragraph, TextRun, Table, …) that cannot cross the guest boundary as plain data. This pack is a host module: you describe the document as a JSON element list and the host builds the real .docx bytes.

build — element list to .docx bytes

import { build } from "@nodetool-ai/sandbox-docx";

const bytes = await build({
  properties: { title: "Q3 Report", author: "NodeTool" },
  elements: [
    { type: "heading", text: "Q3 Report", level: 1 },
    { type: "paragraph", text: "Revenue grew 12% quarter over quarter.", bold: true },
    { type: "table", rows: [["Month", "Revenue"], ["Jul", "120k"], ["Aug", "134k"]] },
    { type: "pageBreak" },
    { type: "paragraph", text: "See appendix for methodology.", alignment: "CENTER" }
  ]
});
await workspace.writeBytes("report.docx", bytes);

Element types:

  • headingtext, level (1–6, default 1)
  • paragraphtext, alignment (LEFT/CENTER/RIGHT/JUSTIFY, default LEFT), bold, italic, fontSize (points, default 12)
  • tablerows, a 2D array; every cell is stringified
  • imagedata (a Uint8Array), width/height in inches
  • pageBreak — no fields

properties.title/author/subject/keywords set the document's metadata.

Gotchas

  • build is async and returns a Uint8Array.
  • Writing only. To read an existing .docx, use @nodetool-ai/sandbox-mammoth instead — these are two different libraries on two different sides of the format.
  • Images are inches, not pixels. width/height follow docx's own convention; omit them and the image renders at a fixed placeholder size.
  • 10 MB per image. The shared host-module input cap applies to each data field.

Version History

  • a6a7e57 Current 2026-08-20 09:52

Same Skill Collection

.claude/skills/ask-matt/SKILL.md
.claude/skills/ast-grep-outline/SKILL.md
.claude/skills/ast-grep/SKILL.md
.claude/skills/codebase-design/SKILL.md
.claude/skills/companion-clis/SKILL.md
.claude/skills/diagnosing-bugs/SKILL.md
.claude/skills/domain-modeling/SKILL.md
.claude/skills/flash/SKILL.md
.claude/skills/implement/SKILL.md
.claude/skills/improve-codebase-architecture/SKILL.md
.claude/skills/nodetool-api-reference/SKILL.md
.claude/skills/nodetool-browser-agent/SKILL.md
.claude/skills/nodetool-chat-cli/SKILL.md
.claude/skills/nodetool-custom-node-developer/SKILL.md
.claude/skills/nodetool-deployment/SKILL.md
.claude/skills/nodetool-model-provider-config/SKILL.md
.claude/skills/nodetool-rag-indexing/SKILL.md
.claude/skills/nodetool-troubleshooter/SKILL.md
.claude/skills/nodetool-workflow-builder/SKILL.md
.claude/skills/prototype/SKILL.md
.claude/skills/research/SKILL.md
.claude/skills/resolving-merge-conflicts/SKILL.md
.claude/skills/setup-matt-pocock-skills/SKILL.md
.claude/skills/tdd/SKILL.md
.claude/skills/to-spec/SKILL.md
.claude/skills/to-tickets/SKILL.md
.claude/skills/triage/SKILL.md
.claude/skills/wayfinder/SKILL.md
.claude/skills/wizard/SKILL.md
.claude/skills/yts806379-everything-claude-code-e2e-testing/SKILL.md
packages/sandbox-packs/sandbox-aws/SKILL.md
packages/sandbox-packs/sandbox-chrono/SKILL.md
packages/sandbox-packs/sandbox-color/SKILL.md
packages/sandbox-packs/sandbox-csv/SKILL.md
packages/sandbox-packs/sandbox-dates/SKILL.md
packages/sandbox-packs/sandbox-decimal/SKILL.md
packages/sandbox-packs/sandbox-diff/SKILL.md
packages/sandbox-packs/sandbox-dsl/SKILL.md
packages/sandbox-packs/sandbox-epub/SKILL.md
packages/sandbox-packs/sandbox-exif/SKILL.md
packages/sandbox-packs/sandbox-expr/SKILL.md
packages/sandbox-packs/sandbox-fabric/SKILL.md
packages/sandbox-packs/sandbox-flow/SKILL.md
packages/sandbox-packs/sandbox-gif/SKILL.md
packages/sandbox-packs/sandbox-html/SKILL.md
packages/sandbox-packs/sandbox-ics/SKILL.md
packages/sandbox-packs/sandbox-jmespath/SKILL.md
packages/sandbox-packs/sandbox-mammoth/SKILL.md
packages/sandbox-packs/sandbox-markdown/SKILL.md

Metadata

Files
0
Version
a6a7e57
Hash
59cf0be8
Indexed
2026-08-20 09:52

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 10:27
浙ICP备14020137号-1 $방문자$