Install
openclaw skills install dcc-mcp-skills-creatorInfrastructure skill - create, validate, scaffold, and review DCC-MCP skills for the dcc-mcp-core ecosystem. Use when authoring SKILL.md, tools.yaml, scripts, groups, prompts, or skill taxonomy. Not for creating a full DCC-MCP adapter repository - use dcc-mcp-creator.
openclaw skills install dcc-mcp-skills-creatorA first-class meta-skill for creating, validating, and reviewing DCC-MCP skill
packages. It combines the scaffold/validation tools from dcc-skills-creator
with agent-facing authoring guidance for SKILL.md, tools.yaml, scripts,
groups, prompts, and progressive-loading taxonomy.
Use dcc-mcp-creator when the task is to create a full adapter repository for
a host such as Nuke, Blender, 3ds Max, Unreal, ZBrush, Houdini, or Maya. Use
this skill when the task is to create or improve the skill packages loaded by
those adapters.
This skill ships with dcc-mcp-core. Add it to your skill path:
# Linux/macOS
export DCC_MCP_SKILL_PATHS="${DCC_MCP_SKILL_PATHS}:$(python -c 'import dcc_mcp_core; print(dcc_mcp_core.__file__)')/../skills"
# Windows
set DCC_MCP_SKILL_PATHS=%DCC_MCP_SKILL_PATHS%;C:\path\to\dcc-mcp-core\skills
Or reference it directly when starting your MCP server:
from dcc_mcp_core import create_skill_server, McpHttpConfig
server = create_skill_server(
"maya",
McpHttpConfig(port=8765),
extra_paths=["/path/to/dcc-mcp-core/skills"],
)
# Call the loaded MCP tool:
# dcc_mcp_skills_creator__create_skill(
# name="maya-rigging",
# parent_dir="/path/to/skills/dir",
# dcc="maya",
# tool_name="create_locator",
# affinity="main",
# )
from dcc_mcp_core import validate_skill
report = validate_skill("/path/to/my-skill")
if report.has_errors:
for issue in report.issues:
print(f"[{issue.severity}] {issue.category}: {issue.message}")
else:
print("Skill is valid!")
# Call the loaded MCP tool:
# dcc_mcp_skills_creator__skill_template()
my-skill/
|-- SKILL.md # Required: metadata frontmatter + instructions
|-- tools.yaml # Required when metadata.dcc-mcp.tools points here
|-- scripts/ # Optional: tool implementation scripts
| `-- create_locator.py
`-- references/ # Optional: recipes, examples, and long-form docs
|-- RECIPES.md
`-- NOTES.md
Generated tools.yaml entries follow the modern contract:
<skill-name>__<tool_name> when namespacing is needed.input_schema and output_schema are declared explicitly.execution is sync or async; use async for deferred/long-running work.affinity is explicit. Use main for host API or scene mutation work and any for pure work.enforce_thread_affinity: true is emitted so adapter dispatch stays honest.annotations use MCP hints: read-only, destructive, idempotent, open-world, and deferred.execution, affinity, timeout_hint_secs, schemas, annotations, and failure recovery chains in tools.yaml.references/.validate_skill_dir or dcc_mcp_core.validate_skill() before loading it in an adapter.Read AUTHORING_WORKFLOW.md and DCC_TOOL_CONTRACTS.md before changing a production skill package.
The validator checks:
name, descriptionsource_file references exist in scripts/metadata.dcc-mcp.tools/groups/prompts references existmetadata.dcc-mcp.depends consistencymetadata.dcc-mcp.* and point to sibling files