Agent skill

Substance 3D Texturing

by freshtechbro in freshtechbro/claudedesignskills

Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow.

MITAuto-check passedGame Development

Install Substance 3D Texturing

skills CLI
$ npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install freshtechbro/claudedesignskills substance-3d-texturing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/freshtechbro/claudedesignskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/substance-3d-texturing .claude/skills/substance-3d-texturing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
substance-3d-texturing
GitHub stars
994
Token cost
~4k tokens
SKILL.md length
811 words
Files
13 (incl. scripts, references, assets)
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow.

  • Works in 12 steps: Basic Web Export (Three.js/Babylon.js) → Batch Export with Python API → Resolution Override per Asset → …
  • Creating PBR materials
  • SKILL.md covers Overview, Core Concepts, Common Patterns and Integration Patterns, plus 2 more sections
  • Runs Python scripts from its folder

What it does

Substance 3D Texturing is an agent skill from freshtechbro/claudedesignskills. Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow. Use this skill when creating PBR materials, exporting textures for web/game engines, optimizing 3D assets for real-time rendering, or automating texture workflows. Triggers on tasks involving Substance 3D Painter, PBR texturing, material creation, texture export for Three.js, Babylon.js, Unity, Unreal, glTF optimization, or Python API automation. Creates optimized textures for threejs-webgl, react-three-fiber, and…

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts, reference files and assets (for example `assets/README.md`, `assets/export_templates/babylonjs_pbr.json` and `assets/export_templates/gltf_standard.json`).

It sits in Game Development, covering 3D graphics and WebGL, Game development and Game assets and audio. It works with Three.js and Python. The repository describes itself as: A comprehensive collection of Claude Code skills for modern web development, specializing in 3D graphics, animation, and interactive web experiences. The licence is MIT.

When your agent uses it

  • Creating PBR materials
  • Exporting textures for web/game engines
  • Optimizing 3D assets for real-time rendering
  • Automating texture workflows

Example prompts

  • “/substance-3d-texturing”

Requirements

  • Python 3

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Basic Web Export (Three.js/Babylon.js)
  2. Batch Export with Python API
  3. Resolution Override per Asset
  4. Custom Export Preset (Separate Channels)
  5. Mobile-Optimized Export
  6. glTF/GLB Integration
  7. Event-Driven Export Plugin
  8. Wrong Color Space for BaseColor
  9. Normal Map Baking Issues
  10. Metallic/Roughness Channel Order
  11. Padding Artifacts at UV Seams
  12. Oversized Textures for Web

What it can do on your machine

Read from SKILL.md and the folder at commit 1da73fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Substance 3D Texturing loads about 4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 140 tokens; SKILL.md has 811 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from freshtechbro/claudedesignskills at commit 1da73fe, republished under its MIT licence (© freshtechbro). 811 words, ~3,976 tokens.

Download SKILL.mdSave it as .claude/skills/substance-3d-texturing/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
substance-3d-texturing
description
Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow. Use this skill when creating PBR materials, exporting textures for web/game engines, optimizing 3D assets for real-time rendering, or automating texture workflows. Triggers on tasks involving Substance 3D Painter, PBR texturing, material creation, texture export for Three.js, Babylon.js, Unity, Unreal, glTF optimization, or Python API automation. Creates optimized textures for threejs-webgl, react-three-fiber, and babylonjs-engine materials.

Substance 3D Texturing

Overview

Master PBR (Physically Based Rendering) texture creation and export workflows for web and real-time engines. This skill covers Substance 3D Painter workflows from material creation through web-optimized texture export, with Python automation for batch processing and integration with WebGL/WebGPU engines.

Key capabilities:

  • PBR material authoring (metallic/roughness workflow)
  • Web-optimized texture export (glTF, Three.js, Babylon.js)
  • Python API automation for batch export
  • Texture compression and optimization for real-time rendering

Core Concepts

PBR Workflow

Substance 3D Painter uses the metallic/roughness PBR workflow with these core channels:

Base Texture Maps:

  • baseColor (Albedo) - RGB diffuse color, no lighting information
  • normal - RGB normal map (tangent space)
  • metallic - Grayscale metalness (0 = dielectric, 1 = metal)
  • roughness - Grayscale surface roughness (0 = smooth/glossy, 1 = rough/matte)

Additional Maps:

  • ambientOcclusion (AO) - Grayscale cavity/occlusion
  • height - Grayscale displacement/height
  • emissive - RGB self-illumination
  • opacity - Grayscale transparency
Export Presets

Substance 3D Painter includes built-in export presets for common engines:

  • PBR Metallic Roughness - Standard glTF/WebGL format
  • Unity HDRP/URP - Unity pipelines
  • Unreal Engine - UE4/UE5 format
  • Arnold (AiStandard) - Renderer-specific

For web engines, PBR Metallic Roughness is the universal standard.

Texture Resolution

Common resolutions for web (powers of 2):

  • 512×512 - Low detail props, mobile
  • 1024×1024 - Standard props, characters
  • 2048×2048 - Hero assets, close-ups
  • 4096×4096 - Showcase quality (use sparingly)

Web optimization rule: Start at 1024×1024, scale up only when texture detail is visible.

Common Patterns

1. Basic Web Export (Three.js/Babylon.js)

Manual export workflow for single texture set:

Steps:

  1. File → Export Textures
  2. Select preset: "PBR Metallic Roughness"
  3. Configure export:
    • Output directory: Choose target folder
    • File format: PNG (8-bit) for web
    • Padding: "Infinite" (prevents seams)
    • Resolution: 1024×1024 (adjust per asset)
  4. Export

Result files:

MyAsset_baseColor.png
MyAsset_normal.png
MyAsset_metallicRoughness.png  // Packed: R=nothing, G=roughness, B=metallic
MyAsset_emissive.png           // Optional

Three.js usage:

javascript
import * as THREE from 'three';

const textureLoader = new THREE.TextureLoader();

const material = new THREE.MeshStandardMaterial({
  map: textureLoader.load('MyAsset_baseColor.png'),
  normalMap: textureLoader.load('MyAsset_normal.png'),
  metalnessMap: textureLoader.load('MyAsset_metallicRoughness.png'),
  roughnessMap: textureLoader.load('MyAsset_metallicRoughness.png'),
  aoMap: textureLoader.load('MyAsset_ambientOcclusion.png'),
});
2. Batch Export with Python API

Automate export for multiple texture sets:

python
import substance_painter.export
import substance_painter.resource
import substance_painter.textureset

# Define export preset
export_preset = substance_painter.resource.ResourceID(
    context="starter_assets",
    name="PBR Metallic Roughness"
)

# Configure export for all texture sets
config = {
    "exportShaderParams": False,
    "exportPath": "C:/export/web_textures",
    "defaultExportPreset": export_preset.url(),
    "exportList": [],
    "exportParameters": [{
        "parameters": {
            "fileFormat": "png",
            "bitDepth": "8",
            "dithering": True,
            "paddingAlgorithm": "infinite",
            "sizeLog2": 10  // 1024×1024
        }
    }]
}

# Add all texture sets to export list
for texture_set in substance_painter.textureset.all_texture_sets():
    config["exportList"].append({
        "rootPath": texture_set.name()
    })

# Execute export
result = substance_painter.export.export_project_textures(config)

if result.status == substance_painter.export.ExportStatus.Success:
    for stack, files in result.textures.items():
        print(f"Exported {stack}: {len(files)} textures")
else:
    print(f"Export failed: {result.message}")
3. Resolution Override per Asset

Export different resolutions for different assets (e.g., hero vs. background):

python
config = {
    "exportPath": "C:/export",
    "defaultExportPreset": export_preset.url(),
    "exportList": [
        {"rootPath": "HeroCharacter"},   # Will use 2048 (override below)
        {"rootPath": "BackgroundProp"}   # Will use 512 (override below)
    ],
    "exportParameters": [
        {
            "filter": {"dataPaths": ["HeroCharacter"]},
            "parameters": {"sizeLog2": 11}  # 2048×2048
        },
        {
            "filter": {"dataPaths": ["BackgroundProp"]},
            "parameters": {"sizeLog2": 9}   # 512×512
        }
    ]
}
4. Custom Export Preset (Separate Channels)

Create custom preset to export metallic and roughness as separate files:

python
custom_preset = {
    "exportPresets": [{
        "name": "WebGL_Separated",
        "maps": [
            {
                "fileName": "$textureSet_baseColor",
                "channels": [
                    {"destChannel": "R", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "baseColor"},
                    {"destChannel": "G", "srcChannel": "G", "srcMapType": "documentMap", "srcMapName": "baseColor"},
                    {"destChannel": "B", "srcChannel": "B", "srcMapType": "documentMap", "srcMapName": "baseColor"}
                ]
            },
            {
                "fileName": "$textureSet_normal",
                "channels": [
                    {"destChannel": "R", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "normal"},
                    {"destChannel": "G", "srcChannel": "G", "srcMapType": "documentMap", "srcMapName": "normal"},
                    {"destChannel": "B", "srcChannel": "B", "srcMapType": "documentMap", "srcMapName": "normal"}
                ]
            },
            {
                "fileName": "$textureSet_metallic",
                "channels": [
                    {"destChannel": "R", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "metallic"}
                ],
                "parameters": {"fileFormat": "png", "bitDepth": "8"}
            },
            {
                "fileName": "$textureSet_roughness",
                "channels": [
                    {"destChannel": "R", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "roughness"}
                ],
                "parameters": {"fileFormat": "png", "bitDepth": "8"}
            }
        ]
    }]
}

config = {
    "exportPath": "C:/export",
    "exportPresets": custom_preset["exportPresets"],
    "exportList": [{"rootPath": "MyAsset", "exportPreset": "WebGL_Separated"}]
}
5. Mobile-Optimized Export

Aggressive compression for mobile WebGL:

python
mobile_config = {
    "exportPath": "C:/export/mobile",
    "defaultExportPreset": export_preset.url(),
    "exportList": [{"rootPath": texture_set.name()}],
    "exportParameters": [{
        "parameters": {
            "fileFormat": "jpeg",        # JPEG for baseColor (lossy but smaller)
            "bitDepth": "8",
            "sizeLog2": 9,               # 512×512 maximum
            "paddingAlgorithm": "infinite"
        }
    }, {
        "filter": {"outputMaps": ["$textureSet_normal", "$textureSet_metallicRoughness"]},
        "parameters": {
            "fileFormat": "png"          # PNG for data maps (need lossless)
        }
    }]
}

Post-export: Use tools like pngquant or tinypng for further compression.

6. glTF/GLB Integration

Export textures for glTF 2.0 format:

python
gltf_config = {
    "exportPath": "C:/export/gltf",
    "defaultExportPreset": substance_painter.resource.ResourceID(
        context="starter_assets",
        name="PBR Metallic Roughness"
    ).url(),
    "exportList": [{"rootPath": texture_set.name()}],
    "exportParameters": [{
        "parameters": {
            "fileFormat": "png",
            "bitDepth": "8",
            "sizeLog2": 10,              # 1024×1024
            "paddingAlgorithm": "infinite"
        }
    }]
}

# After export, reference in glTF:
# {
#   "materials": [{
#     "name": "Material",
#     "pbrMetallicRoughness": {
#       "baseColorTexture": {"index": 0},
#       "metallicRoughnessTexture": {"index": 1}
#     },
#     "normalTexture": {"index": 2}
#   }]
# }
7. Event-Driven Export Plugin

Auto-export on save using Python plugin:

python
import substance_painter.event
import substance_painter.export
import substance_painter.project

def auto_export(e):
    if not substance_painter.project.is_open():
        return

    config = {
        "exportPath": substance_painter.project.file_path().replace('.spp', '_textures'),
        "defaultExportPreset": substance_painter.resource.ResourceID(
            context="starter_assets", name="PBR Metallic Roughness"
        ).url(),
        "exportList": [{"rootPath": ts.name()} for ts in substance_painter.textureset.all_texture_sets()],
        "exportParameters": [{
            "parameters": {"fileFormat": "png", "bitDepth": "8", "sizeLog2": 10}
        }]
    }

    substance_painter.export.export_project_textures(config)
    print("Auto-export completed")

# Register event
substance_painter.event.DISPATCHER.connect(
    substance_painter.event.ProjectSaved,
    auto_export
)

Integration Patterns

Three.js + React Three Fiber

Use exported textures in R3F:

jsx
import { useTexture } from '@react-three/drei';

function TexturedMesh() {
  const [baseColor, normal, metallicRoughness, ao] = useTexture([
    '/textures/Asset_baseColor.png',
    '/textures/Asset_normal.png',
    '/textures/Asset_metallicRoughness.png',
    '/textures/Asset_ambientOcclusion.png',
  ]);

  return (
    <mesh>
      <boxGeometry />
      <meshStandardMaterial
        map={baseColor}
        normalMap={normal}
        metalnessMap={metallicRoughness}
        roughnessMap={metallicRoughness}
        aoMap={ao}
      />
    </mesh>
  );
}

See react-three-fiber skill for advanced R3F material workflows.

Babylon.js PBR Materials
javascript
import { PBRMaterial, Texture } from '@babylonjs/core';

const pbr = new PBRMaterial("pbr", scene);
pbr.albedoTexture = new Texture("/textures/Asset_baseColor.png", scene);
pbr.bumpTexture = new Texture("/textures/Asset_normal.png", scene);
pbr.metallicTexture = new Texture("/textures/Asset_metallicRoughness.png", scene);
pbr.useRoughnessFromMetallicTextureAlpha = false;
pbr.useRoughnessFromMetallicTextureGreen = true;
pbr.useMetallnessFromMetallicTextureBlue = true;

See babylonjs-engine skill for advanced PBR workflows.

GLTF Export Pipeline
  1. Export textures from Substance (as above)
  2. Export model from Blender with glTF exporter
  3. Reference Substance textures in .gltf JSON
  4. Use gltf-pipeline for Draco compression:
bash
gltf-pipeline -i model.gltf -o model.glb -d

See blender-web-pipeline skill for complete 3D asset pipeline.

Performance Optimization

Texture Size Budget

Desktop WebGL: ~100-150MB total texture memory Mobile WebGL: ~30-50MB total texture memory

Budget per asset:

  • Background/props: 512×512 (1MB per texture × 4 maps = 4MB)
  • Standard assets: 1024×1024 (4MB per texture × 4 maps = 16MB)
  • Hero assets: 2048×2048 (16MB per texture × 4 maps = 64MB)
Compression Strategies
  1. JPEG for baseColor (70-80% quality) - 10× smaller than PNG
  2. PNG-8 for data maps (normal, metallic, roughness) - lossless required
  3. Basis Universal (.basis) - GPU texture compression (90% smaller)
  4. Texture atlasing - Combine multiple assets into single texture
Show full SKILL.md (309 more words)Show less
Channel Packing

Pack grayscale maps into RGB channels to reduce texture count:

Packed ORM (Occlusion-Roughness-Metallic):

  • Red: Ambient Occlusion
  • Green: Roughness
  • Blue: Metallic

Export in Substance:

python
orm_map = {
    "fileName": "$textureSet_ORM",
    "channels": [
        {"destChannel": "R", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "ambientOcclusion"},
        {"destChannel": "G", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "roughness"},
        {"destChannel": "B", "srcChannel": "R", "srcMapType": "documentMap", "srcMapName": "metallic"}
    ]
}
Mipmaps

Always enable mipmaps in engine for textures viewed at distance:

javascript
// Three.js (automatic)
texture.generateMipmaps = true;

// Babylon.js
texture.updateSamplingMode(Texture.TRILINEAR_SAMPLINGMODE);

Common Pitfalls

1. Wrong Color Space for BaseColor

Problem: BaseColor exported in linear space looks washed out.

Solution: Substance exports baseColor in sRGB by default (correct). Ensure engine uses sRGB:

javascript
// Three.js
baseColorTexture.colorSpace = THREE.SRGBColorSpace;

// Babylon.js (automatic for albedoTexture)
2. Normal Map Baking Issues

Problem: Normal maps show inverted or incorrect shading.

Solution:

  • Verify tangent space normal format (DirectX vs. OpenGL Y-flip)
  • Substance uses OpenGL (Y+), same as glTF standard
  • If using DirectX engine, flip green channel in export
3. Metallic/Roughness Channel Order

Problem: Metallic/roughness texture has swapped channels.

Solution: Default Substance export:

  • Blue channel = Metallic
  • Green channel = Roughness
  • Matches glTF 2.0 specification
4. Padding Artifacts at UV Seams

Problem: Black or colored lines appear at UV seams.

Solution: Set padding algorithm to "infinite" in export settings:

python
"paddingAlgorithm": "infinite"
5. Oversized Textures for Web

Problem: 4K textures cause long load times and memory issues on web.

Solution:

  • Default to 1024×1024 for web
  • Use 2048×2048 only for hero assets viewed close-up
  • Implement LOD system with multiple resolution sets
6. Missing AO Map in Engine

Problem: AO map exported but not visible in engine.

Solution:

  • Three.js: Requires second UV channel (geometry.attributes.uv2)
  • Babylon.js: Set material.useAmbientOcclusionFromMetallicTextureRed = true
  • Alternative: Bake AO into baseColor in Substance

Resources

See bundled resources for complete workflows:

  • references/python_api_reference.md - Complete Substance Painter Python API
  • references/export_presets.md - Built-in and custom export preset catalog
  • references/pbr_channel_guide.md - Deep dive into PBR texture channels
  • scripts/batch_export.py - Batch export all texture sets
  • scripts/web_optimizer.py - Post-process textures for web (resize, compress)
  • scripts/generate_export_preset.py - Create custom export preset JSON
  • assets/export_templates/ - Pre-configured export presets for Three.js, Babylon.js, Unity
  • blender-web-pipeline - Complete 3D model → texture → web pipeline
  • threejs-webgl - Loading and using PBR textures in Three.js
  • react-three-fiber - R3F material workflows with Substance textures
  • babylonjs-engine - Babylon.js PBR material system integration

© freshtechbro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts, references, assets) in .claude/skills/substance-3d-texturing of freshtechbro/claudedesignskills.

  • SKILL.md
  • assets/README.md
  • assets/export_templates/babylonjs_pbr.json
  • assets/export_templates/gltf_standard.json
  • assets/export_templates/mobile_webgl.json
  • assets/export_templates/threejs_optimized.json
  • assets/export_templates/web_orm_packed.json
  • references/export_presets.md
  • references/pbr_channel_guide.md
  • references/python_api_reference.md
  • scripts/batch_export.py
  • scripts/generate_export_preset.py
  • scripts/web_optimizer.py

Open the folder on GitHubat commit 1da73fe

Compare with similar skills

Substance 3D Texturing 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.

Substance 3D Texturing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Substance 3D Texturing this skillfreshtechbro/claudedesignskills994—~4kAutomated safety check: PassMIT
Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill147—~2.1kAutomated safety check: PassNone
Game Assetsglifxyz/glif-mcp-server212—~831Automated safety check: PassMIT
Build Game Audio Feedbacknirholas/three.ws2271 repos~277Automated safety check: PassApache-2.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Threejs 3D Generatorvalkor-ai/loom1.2k1 repos~2.6kAutomated safety check: PassApache-2.0

Similar skills

  • Text To 3D Asset

    LaurentiuGabriel/unreal-game-assets-creation-skill

    Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.

    147 GitHub stars~2.1k tokensUpdated 2 mo ago
    Game DevelopmentAuto-check passed
  • Game Assets

    glifxyz/glif-mcp-server

    Make art and media for a game you are building with Glif: character reference sheets, consistent characters, pixel-art sprite sheets with animation cycles, seamless and PBR textures, 3D models, item…

    212 GitHub stars~831 tokensUpdated today
    Game DevelopmentAuto-check passed
  • Build Game Audio Feedback

    nirholas/three.ws

    Design or implement responsive audio feedback for a Three.js or web game.

    227 GitHub starsUsed in 1 repo~277 tokens
    Game DevelopmentAuto-check passed
  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Threejs 3D Generator

    valkor-ai/loom

    Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API.

    1.2k GitHub starsUsed in 1 repo~2.6k tokens
    Game DevelopmentAuto-check passed
  • Threejs 3D Generator

    corosolto/client

    Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games using the Tripo API.

    257 GitHub stars~3.4k tokensUpdated today
    Game DevelopmentAuto-check passed

More from freshtechbro/claudedesignskills

All 19 skills in this repo
  • Anime.js Animation Guide

    freshtechbro/claudedesignskills

    Guides use of Anime.js for timeline sequences, stagger effects, SVG morphing and keyframe animation on DOM elements, CSS, SVG and JavaScript objects.

    994 GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Barba.js Page Transitions

    freshtechbro/claudedesignskills

    Adds animated page transitions to multi-page sites with Barba.js, covering the wrapper and container markup, lifecycle hooks, views and GSAP integration.

    994 GitHub stars~4.9k tokensUpdated 10 mo ago
    Auto-check passed
  • Blender Web Export Pipeline

    freshtechbro/claudedesignskills

    Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

    994 GitHub stars~4.2k tokensUpdated 10 mo ago
    Auto-check passed
  • GSAP and ScrollTrigger

    freshtechbro/claudedesignskills

    Covers GSAP tweens and timelines and the ScrollTrigger plugin for scroll-driven animation, including pinning, scrubbing, parallax and horizontal scroll sections.

    994 GitHub stars~4.3k tokensUpdated 10 mo ago
    Auto-check passed
  • Locomotive Scroll

    freshtechbro/claudedesignskills

    A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration.

    994 GitHub stars~3.1k tokensUpdated 10 mo ago
    Auto-check passed
  • Lottie Animation Integration

    freshtechbro/claudedesignskills

    Implements After Effects Lottie animations in web and React apps: picking JSON or dotLottie format, a rendering library, and a data source, with an optimizer script.

    994 GitHub stars~4.5k tokensUpdated 10 mo ago
    Auto-check passed

Works with

Questions about Substance 3D Texturing

What does Substance 3D Texturing do?

Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow. Substance 3D Texturing is an agent skill from freshtechbro/claudedesignskills. Comprehensive skill for Adobe Substance 3D Painter texturing and material creation workflow.

When should I use Substance 3D Texturing?

Substance 3D Texturing fits situations like: creating PBR materials; exporting textures for web/game engines; optimizing 3D assets for real-time rendering; automating texture workflows.

How do I install Substance 3D Texturing in Claude Code?

Run `npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a claude-code`. Or copy the skill folder (.claude/skills/substance-3d-texturing in freshtechbro/claudedesignskills) into .claude/skills/substance-3d-texturing in your project. Claude Code loads it when a task matches its description.

How do I install Substance 3D Texturing in Codex?

Run `npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a codex`. Or copy the skill folder (.claude/skills/substance-3d-texturing in freshtechbro/claudedesignskills) into .agents/skills/substance-3d-texturing in your project. Codex loads it when a task matches its description.

Can I use Substance 3D Texturing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add freshtechbro/claudedesignskills --skill substance-3d-texturing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/substance-3d-texturing, .gemini/skills/substance-3d-texturing, .github/skills/substance-3d-texturing and .opencode/skills/substance-3d-texturing in your project.

What does Substance 3D Texturing need to run?

Going by SKILL.md and its folder, Substance 3D Texturing needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Substance 3D Texturing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Substance 3D Texturing safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Substance 3D Texturing use?

Substance 3D Texturing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Substance 3D Texturing use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.

What are the alternatives to Substance 3D Texturing?

Skills that share tags, products or a category with Substance 3D Texturing: Text To 3D Asset (LaurentiuGabriel/unreal-game-assets-creation-skill, 147 stars), Game Assets (glifxyz/glif-mcp-server, 212 stars), Build Game Audio Feedback (nirholas/three.ws, 227 stars) and Image to Three.js Model (img2threejs/img2threejs, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Substance 3D Texturing?

freshtechbro (a GitHub user) maintains it in freshtechbro/claudedesignskills, which has 994 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on November 20, 2025.

Source: freshtechbro/claudedesignskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.