/polyhaven-material-swap
Cycle through multiple PolyHaven materials on a product and render each variant. Great for showing color/finish options. Trigger when asked to show material variants, swap textures, create color options, show finish comparisons, or render product in different materials.
Claude Code
$ npx -y skills add cafe3310/public-agent-skills --skill polyhaven-material-swap --agent claude-code
Codex
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a codex -y
Cursor
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a cursor -y
Gemini CLI
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a gemini-cli -y
GitHub Copilot
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a github-copilot -y
OpenCode
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a opencode -y
Windsurf
$ npx skills add cafe3310/public-agent-skills --skill polyhaven-material-swap -a windsurf -y
SKILL.md
polyhaven-material-swap.SKILL.mdname: polyhaven-material-swap
description: >
Cycle through multiple PolyHaven materials on a product and render each variant. Great for showing color/finish options. Trigger when asked to show material variants, swap textures, create color options, show finish comparisons, or render product in different materials.
license: MIT
author: https://github.com/kevinbadi/blender-skills
depends_on_skill:
- blender-skills
depends_on_binary:
- blender
- node
PolyHaven Material Swap
Applies multiple PolyHaven PBR textures to the same object one by one and renders each — perfect for showing product finish variants (matte black, glossy white, brushed metal, marble, etc.).
How to Run
node polyhaven-material-swap/scripts/polyhaven-material-swap.js --object Mesh_0 --textures "marble_01,brushed_metal,carbon_fiber" --output ~/Desktop/variants
node polyhaven-material-swap/scripts/polyhaven-material-swap.js --object Mesh_0 --preset metals --output ~/Desktop/metals
Options
| Option | Description | Default | |--------|-------------|---------| | `--object` | Blender object name | **required** | | `--textures` | Comma-separated PolyHaven texture IDs | **required** (or use --preset) | | `--output` | Output directory for rendered images | **required** | | `--preset` | Texture set: metals, woods, stones, fabrics | none | | `--resolution` | Texture resolution: 1k, 2k | `2k` | | `--render-width` | Render image width | `1920` | | `--render-height` | Render image height | `1080` | | `--samples` | Render samples | `64` | | `--port` | Blender MCP port | `9876` |
Presets
- **metals** — brushed_metal, rusty_metal, painted_metal_02, corrugated_iron
- **woods** — wood_cabinet_worn_long, plywood, bark_brown_02, wood_floor
- **stones** — marble_01, concrete_wall_003, rock_face, gravel_floor_02
- **fabrics** — fabric_pattern_07, leather_red_02, denim_fabric, burlap_01
Read more
name: polyhaven-material-swap description: > Cycle through multiple PolyHaven materials on a product and render each variant. Great for showing color/finish options. Trigger when asked to show material variants, swap textures, create color options, show finish comparisons, or render product in different materials. license: MIT author: https://github.com/kevinbadi/blender-skills depends_on_skill: - blender-skills depends_on_binary: - blender - node
PolyHaven Material Swap
Applies multiple PolyHaven PBR textures to the same object one by one and renders each — perfect for showing product finish variants (matte black, glossy white, brushed metal, marble, etc.).
How to Run
node polyhaven-material-swap/scripts/polyhaven-material-swap.js --object Mesh_0 --textures "marble_01,brushed_metal,carbon_fiber" --output ~/Desktop/variants node polyhaven-material-swap/scripts/polyhaven-material-swap.js --object Mesh_0 --preset metals --output ~/Desktop/metals
Options
| Option | Description | Default | |--------|-------------|---------| | `--object` | Blender object name | **required** | | `--textures` | Comma-separated PolyHaven texture IDs | **required** (or use --preset) | | `--output` | Output directory for rendered images | **required** | | `--preset` | Texture set: metals, woods, stones, fabrics | none | | `--resolution` | Texture resolution: 1k, 2k | `2k` | | `--render-width` | Render image width | `1920` | | `--render-height` | Render image height | `1080` | | `--samples` | Render samples | `64` | | `--port` | Blender MCP port | `9876` |
Presets
- **metals** — brushed_metal, rusty_metal, painted_metal_02, corrugated_iron
- **woods** — wood_cabinet_worn_long, plywood, bark_brown_02, wood_floor
- **stones** — marble_01, concrete_wall_003, rock_face, gravel_floor_02
- **fabrics** — fabric_pattern_07, leather_red_02, denim_fabric, burlap_01
Other skills on public-agent-skills.
aop-product-planner
面向切面 (AOP) 的智能产品策划与需求拆解范式。用于从目标叙事、AOP 切面分层、乱序 Idea 收集、功能边界界定到需求依赖拓扑与优先级的全流程产品工程规划。
blender-skills
Mandatory entry point for 3D product modeling, rendering, scene composition, and camera animations in Blender. Acts as the…
blender-toolkit
Automate Blender tasks like creating 3D shapes, managing materials, and retargeting Mixamo animations with real-time control.
crane-shot
Camera starts low and rises up to reveal the full product. Great for dramatic product reveals on a pedestal.
dolly-rotate
Camera moves forward while rotating around the product. More dynamic than a straight zoom.
More skills from other plugins.
i-have-adhd
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
distilly
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…
Questions about polyhaven-material-swap.
- Which coding agents can use polyhaven-material-swap?
- polyhaven-material-swap installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

