用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/nodetool-ai/nodetool --skill sandbox-exif命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Produce a whole campaign in NodeTool rather than one video — entity sheets for a product and model, a set of still campaign frames, several short social cuts and a long film, all on one locked grade. Use when the user asks for a launch kit, a campaign, an asset pack, a content set, "a bunch of assets", or names several deliverables in different aspect ratios from one product. Not for a single video (use product-commercial or ugc-video).
Direct a polished product film in NodeTool — pack shots, macro hero spots, luxury commercials, brand films on location, with or without talent. Use when the user wants an ad that looks shot on a camera rather than a phone, mentions a pack shot, hero shot, product film, brand spot, cyclorama or studio lighting, or names a product as the subject of a multi-shot video. Not for self-filmed or creator-style pieces (use ugc-video).
Direct video where a written voiceover drives the picture — faceless explainers, narrated b-roll, documentary segments, tutorials, corporate and educational video with no on-camera talent. Use when the user asks for an explainer, a voiceover video, a narrated piece, a faceless video, or says the script comes first. Also use when spoken words must time the cut. Not for talking-head or creator video (use ugc-video).
正在显示 SKILL.md
| name | sandbox-exif |
| description | Read EXIF from image bytes in a Code node or CodeAct action, with exifr running on the host |
Specifier: @nodetool-ai/sandbox-exif. Import it at the top of the body.
exifr does not compile into QuickJS, so this pack is a host module.
import { parse } from "@nodetool-ai/sandbox-exif";
const tags = await parse(inputs.bytes);
return {
make: tags?.Make ?? null,
model: tags?.Model ?? null,
takenAt: tags?.DateTimeOriginal ?? null
};
inputs.bytes is a Uint8Array from workspace.readBytes or image.bytes.
parse. Not the library's default export.null. A stripped JPEG has no EXIF.