Skip to content
Back to skills

Node Descriptors

ASecurity

"Guides Meshroom node descriptor authoring, attribute schemas,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
toolspythongonodeexpressapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill node-descriptors --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Node Descriptors?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Node Descriptors
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-node-descriptors/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-node-descriptors)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: node-descriptors
description: "Guides Meshroom node descriptor authoring, attribute schemas,
  command-line nodes, init/input/output nodes, dynamic sizes, and reusable
  general utility nodes."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Meshroom Node Descriptors

Use this route when creating or reviewing a Python node type, exposing inputs/outputs, wrapping an external executable, initializing inputs from CLI/UI, or diagnosing descriptor validation errors.

## Read First

- [Descriptor API reference](references/descriptor-api-reference.md)
- [Node authoring workflows](references/node-authoring-workflows.md)
- [General utility nodes](references/general-nodes.md)
- [Troubleshooting](references/troubleshooting.md)
- Run [scripts/validate_node_descriptor.py](scripts/validate_node_descriptor.py) for a safe descriptor validation/import check.

## Choose the Base Class

| Need | Descriptor base |
| --- | --- |
| Python computation in the current Meshroom environment | `desc.Node`, implement `process(self, node)` or `processChunk(self, chunk)` |
| Wrap an external executable | `desc.CommandLineNode`, define `commandLine` and inputs/outputs |
| Placeholder/input-only node | `desc.InitNode`, optionally mix in `desc.InputNode` and implement `initialize` |
| Export destination configurable from templates/CLI | mix in `desc.OutputNode` and expose `outputAttributes` |
| Visual grouping only | `desc.BackdropNode` |

## Authoring Loop

1. Define a descriptor module with a stable class name and optional `__version__`.
2. Declare `inputs`, `outputs`, `category`, `documentation`, resource levels, `size`, and `parallelization`.
3. Validate defaults and nested attributes before loading the plugin.
4. For a Python node, write outputs under `node.internalFolder` or descriptor expression paths such as `{nodeCacheFolder}/result.txt`.
5. For a command-line node, verify placeholders with a tiny fixture and inspect the generated command before running an external binary.
6. Register the node through a plugin or `MESHROOM_NODES_PATH`; do not mutate the core registry ad hoc in production.
7. Add focused tests for descriptor validation, command-line formatting, dynamic outputs, and serialization.

## Important Boundary

Descriptor classes define static schema. Live values, links, UIDs, status, and cache belong to the core graph/node objects. If a question is about graph serialization or compatibility, route to [core-graph-engine](../core-graph-engine/SKILL.md).

Files in this skill

  • SKILL.md2.5 KB
  • references/descriptor-api-reference.md4.5 KB
  • references/general-nodes.md1.8 KB
  • references/node-authoring-workflows.md2.7 KB
  • references/troubleshooting.md1.6 KB
  • scripts/validate_node_descriptor.py2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.