Guizang Social Cards
op7418/guizang-social-card-skill
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
Build or edit a NodeTool sketch (image document): layers, blend modes, placed images, generation briefs, version history.
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-sketch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .claude/skills/nodetool-sketch && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .claude/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-sketch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .agents/skills/nodetool-sketch && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .agents/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-sketch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .cursor/skills/nodetool-sketch && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .cursor/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nodetool-ai/nodetool.git --path packages/system-skills/nodetool-sketch--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-sketch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .gemini/skills/nodetool-sketch && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .gemini/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nodetool-ai/nodetool nodetool-sketchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .github/skills/nodetool-sketch && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .github/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-sketch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/system-skills/nodetool-sketch .opencode/skills/nodetool-sketch && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nodetool-sketch" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-sketch into .opencode/skills/nodetool-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-sketch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nodetool-sketchBuild or edit a NodeTool sketch (image document): layers, blend modes, placed images, generation briefs, version history.
Nodetool Sketch is an agent skill from nodetool-ai/nodetool. Build or edit a NodeTool sketch (image document): layers, blend modes, placed images, generation briefs, version history.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 339f069. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nodetool Sketch loads about 1.3k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 682 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 682 words, ~1,326 tokens.
.claude/skills/nodetool-sketch/SKILL.md (or your agent's skills folder).A sketch is an image document: a canvas, a stack of layers, and the bindings
that say where a layer's picture comes from. It is the surface for composited
stills, masks, overlays and the guided image brief. One finished image with no
layers to keep is generate_image, not a sketch.
The document is layers and references. Pixels are never read or written headlessly. Painting happens in an open editor, generation happens in a workflow run or through the image tools. An image lands on a layer by reference, so nothing inlines a bitmap.
list_sketches, then get_sketch. New one:
create_sketch {name, width?, height?, background?, project_id?} gives a
blank canvas (1024×1024, #ffffff by default).edit_sketch {image_document_id, ops: [...]}. Operations
run in order against the stored document and the result is saved. An open
editor picks the change up live.validate_sketch {image_document_id} or an inline document.create_sketch_version.edit_sketch ops| Op | Does |
|---|---|
add_layer | Adds a layer. An image field makes this one op instead of two |
remove_layer, rename_layer, duplicate_layer, reorder_layer | Stack management |
select_layer | Sets the active layer |
set_layer_props | opacity, blendMode, visibility, lock |
set_layer_image | Points a layer at an asset id, an asset:// locator, a data: URL or an http(s) URL |
resize_canvas | Positive integer width and height |
set_setup | The generation brief: brief, use_case, variations (1..8), stage |
An asset id that resolves to nothing is refused rather than stored, because a stored one shows up as an empty layer.
With the sketch open in a browser, ui_sketch_place_image does the same against
the live canvas.
The editor imports self-contained SVG files as vector layers. Each layer keeps its SVG source in the document. Use the vector inspector to edit SVG source, download it, or rasterize the layer for painting. Moving and transforming a vector layer preserves its source. Rasterization is undoable. Example sketches open with vector layers.
SVG scripts, embedded HTML, animations, external images, and stylesheets are removed on import. Use presentation attributes for fills, strokes, and text. The headless stack operations can preserve existing vector layers. Creating or editing SVG source currently requires the editor.
set_setup writes the one-line brief. refine_image_brief {image_document_id, provider?, model?} expands it into the five fields an image model needs
(subject, composition, lighting, style words, and what to leave out) and stops
at the review step. It creates no layer and starts no generation. It is the
cheap text pass a person edits before anything is rendered. Generate from it
with the image tools once the fields read right.
validate_sketch catchesDuplicate layer ids, an active or mask layer the stack lacks, unknown blend modes, opacities and transforms that cannot render, generation bindings pointing at missing layers, unknown binding kinds and statuses, canvas settings that disagree with the stored ones, and fields a schema round trip would strip. Layer bitmaps stay opaque to it.
list_sketch_versions, get_sketch_version (read a snapshot without restoring),
create_sketch_version, restore_sketch_version, delete_sketch_version.
A restore snapshots the pre-restore state first, so it is undoable, then
re-validates against today's schema: an old document may fail what it used to
pass.
These snapshot the whole document. The per-layer generation takes are a different thing, and they record one generated image on one layer.
These are the nodetool CLI. From a NodeTool checkout the same commands run
as npm run dev:nodetool -- <command>.
nodetool sketch validate <image_document_id|sketch.json> --json
nodetool sketch debug sketch.json \
--interact '[{"tool":"add_layer","input":{"name":"Shadow"}},
{"tool":"set_layer_props","input":{"target":"Shadow","opacity":0.4,"blendMode":"multiply"}}]'
nodetool sketch versions list <id> --save-type manual --limit 10A path on disk wins over an id. debug runs the static check, then each
--interact step against the headless ui_sketch_* bridge, and validates what
the session left behind. A failing step is recorded and the script continues.
Pixels, painting, rendering, generation and asset I/O are not simulated.
{type: "sketch", id} reference, and collects one with the Sketch Pad
input. See nodetool-app-builder.kind: "sketch" lets the app read or edit it.In a NodeTool checkout, these repository sources go further:
docs/harnesses.md § nodetool sketch validate / debugdocs/harnesses.md § nodetool sketch versions© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/system-skills/nodetool-sketch of nodetool-ai/nodetool.
Open the folder on GitHubat commit 339f069
Nodetool Sketch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nodetool Sketch this skillnodetool-ai/nodetool | 560 | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Guizang Social Cardsop7418/guizang-social-card-skill | 7.4k | 1 repos | ~7.8k | Automated safety check: Pass | AGPL-3.0 | |
| Weekly Changelog Videoheygen-com/hyperframes | 60k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Anthropic Brand Stylinganthropics/skills | 180k | 30 repos | ~559 | Automated safety check: Pass | Apache-2.0 | |
| MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo | 130k | — | ~2.1k | Automated safety check: Warn | MIT | |
| HyperFrames Media Useheygen-com/hyperframes | 60k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 |
op7418/guizang-social-card-skill
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
heygen-com/hyperframes
Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.
anthropics/skills
Applies Anthropic's brand colors and fonts to artifacts such as PowerPoint slides, using fixed hex values for text and accents, Poppins headings and Lora body text.
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
EverettFish/holo-card-studio
Create collectible holographic foil cards and two-image lenticular flip cards with AI-generated full-color ukiyo-e and colored sumi-e anime artwork, layered Blender scenes, renders, GLB export, and…
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
Categories
Build or edit a NodeTool sketch (image document): layers, blend modes, placed images, generation briefs, version history. Nodetool Sketch is an agent skill from nodetool-ai/nodetool. Build or edit a NodeTool sketch (image document): layers, blend modes, placed images, generation briefs, version history.
Nodetool Sketch fits situations like: media & Creative work in your project.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a claude-code`. Or copy the skill folder (packages/system-skills/nodetool-sketch in nodetool-ai/nodetool) into .claude/skills/nodetool-sketch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a codex`. Or copy the skill folder (packages/system-skills/nodetool-sketch in nodetool-ai/nodetool) into .agents/skills/nodetool-sketch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill nodetool-sketch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nodetool-sketch, .gemini/skills/nodetool-sketch, .github/skills/nodetool-sketch and .opencode/skills/nodetool-sketch in your project.
Going by SKILL.md and its folder, Nodetool Sketch needs the command-line tools its instructions call (npm).
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Nodetool Sketch is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nodetool Sketch: Guizang Social Cards (op7418/guizang-social-card-skill, 7.4k stars), Weekly Changelog Video (heygen-com/hyperframes, 60k stars), Anthropic Brand Styling (anthropics/skills, 180k stars) and MoneyPrinterTurbo Video Generator (harry0703/MoneyPrinterTurbo, 130k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.