Skip to content
Development
Skill

/creative-pipeline

Generates Blender Python scripts for infrastructure visualization and ffmpeg commands for video production and social media export.

From plugin
gsd-skill-creator
70102 skills61 agents26 commands1 MCP
Install
$ npx -y skills add Tibsfox/gsd-skill-creator --skill creative-pipeline --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/creative-pipeline

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generates Blender Python scripts for infrastructure visualization and ffmpeg commands for video production and social media export.

SKILL.md

creative-pipeline.SKILL.md
name: creative-pipeline
version: 1.0.0
description: "Generates Blender Python scripts for infrastructure visualization and ffmpeg commands for video production and social media export."
user-invocable: true
allowed-tools: Read Grep Glob Bash
metadata:
  extensions:
    gsd-skill-creator:
      version: 1
      createdAt: "2026-02-27"
      triggers:
        intents:
          - "Blender"
          - "3D visualization"
          - "infrastructure render"
          - "bpy script"
          - "pipe model"
          - "equipment visualization"
          - "camera path"
          - "ffmpeg"
          - "video export"
          - "social media"
          - "walkthrough"
          - "animation"
          - "coolant flow"
          - "thermal visualization"
        contexts:
          - "infrastructure visualization"
          - "data center rendering"
          - "engineering animation"
          - "stakeholder presentation"
domain: physical-infrastructure
tier: output
depends_on:
  - blueprint-engine
safety: no-engineering-decisions
applies_to:
  - skills/physical-infrastructure/**
  - "*.blend"
  - "*.py"

Creative Pipeline Skill

At a Glance

Generate Blender Python (bpy) scripts for 3D infrastructure visualization and ffmpeg command sequences for video production and social media export — turning technical engineering designs into communication-ready visual deliverables.

**Activation:** After engineering design is verified and documented. InfrastructureRequest with outputFormat including 'render'. Stakeholder presentations, client deliverables, social media content creation.

**Output types:**

1. **Blender bpy scripts:** Python scripts that run in Blender's Scripting workspace to create pipe geometry, equipment meshes, materials, lighting, camera paths, and animations. 2. **ffmpeg commands:** Shell commands that assemble rendered frames into video and export to social media formats (YouTube, Instagram Reel, Twitter/X, thumbnail).

**Prerequisites:**

  • Blender 3.6+ installed (free from blender.org)
  • ffmpeg installed and in PATH (free from ffmpeg.org)
  • Completed engineering design with dimensions and layout from blueprint engine

**Quick-start — Blender script generation:**

import bpy
# Clear scene, set units to metric, configure Cycles renderer
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()
bpy.context.scene.unit_settings.system = 'METRIC'
bpy.context.scene.render.engine = 'CYCLES'

**Quick-start — ffmpeg social media export:**

# Assemble rendered frames into video
ffmpeg -framerate 30 -i render_%04d.png -c:v libx264 -pix_fmt yuv420p walkthrough.mp4
# Export for YouTube (1920x1080, 8 Mbps)
ffmpeg -i walkthrough.mp4 -vf "scale=1920:1080" -b:v 8M youtube.mp4

**Quick routing:**

  • Creating pipe geometry? See [Pipe Routing as Bezier Curves](#pipe-routing-as-bezier-curves-creat-02)
  • Modeling equipment? See [Equipment as Parametric Meshes](#equipment-as-parametric-meshes-creat-02)
  • Setting up materials? See [Infrastructure Materials](#infrastructure-materials-creat-02)
  • Camera animation? See [Camera Paths](#camera-paths-creat-03)
  • Flow/thermal animation? See [Infrastructure Animations](#infrastructure-animations-creat-01-creat-03)
  • Video production? See [ffmpeg Assembly Pipeline](#ffmpeg-assembly-pipeline-creat-04-creat-05)

---

Blender Scene Generation (CREAT-01)

Scene Setup and Initialization

Every infrastructure visualization script begins with scene initialization:

import bpy
import math

# ── Clear default scene ──────────────────────────────────────
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# ── Set units to metric (millimeters for infrastructure) ─────
bpy.context.scene.unit_settings.system = 'METRIC'
bpy.context.scene.unit_settings.length_unit = 'MILLIMETERS'

# ── Set render engine ────────────────────────────────────────
# EEVEE for fast preview, Cycles for photorealistic final render
bpy.context.scene.render.engine = 'CYCLES'
bpy.context.scene.cycles.samples = 128  # Preview: 128, Final: 256-512

# ── Set render resolution ────────────────────────────────────
bpy.context.scene.render.resolution_x = 1920
bpy.context.scene.render.resolution_y = 1080
bpy.context.scene.render.resolution_percentage = 100

# ── Set output format ────────────────────────────────────────
bpy.context.scene.render.image_settings.file_format = 'PNG'
bpy.context.scene.render.filepath = '//renders/'  # Relative to .blend file

Lighting Setup

Three standard lighting configurations for infrastructure visualization:

**Studio lighting (3-point):**

# Key light — main illumination at 45 degrees
bpy.ops.object.light_add(type='AREA', location=(5, -5, 8))
key_light = bpy.context.active_object
key_light.name = "Key_Light"
key_light.data.energy = 1000  # Watts
key_light.data.size = 3.0  # Soft shadow (larger = softer)

# Fill light — reduce shadow harshness, opposite side at lower intensity
bpy.ops.object.light_add(type='AREA', location=(-4, -3, 5))
fill_light = bpy.context.active_object
fill_light.name = "Fill_Light"
fill_light.data.energy = 400  # 40% of key light

# Rim light — edge definition from behind
bpy.ops.object.light_add(type='AREA', location=(0, 6, 6))
rim_light = bpy.context.active_object
rim_light.name = "Rim_Light"
rim_light.data.energy = 600

**HDRI environment (realistic ambient):**

# Load HDRI for realistic outdoor/sky lighting
world = bpy.context.scene.world
world.use_nodes = True
nodes = world.node_tree.nodes
links = world.node_tree.links
nodes.clear()

bg_node = nodes.new(type='ShaderNodeBackground')
env_node = nodes.new(type='ShaderNodeTexEnvironment')
output_node = nodes.new(type='ShaderNodeOutputWorld')

# Load HDRI file (download from polyhaven.com — free CC0)
env_node.image = bpy.data.images.load('//hdri/industrial_hall.hdr')
bg_node.inputs['Strength'].default_value = 1.0

links.new(env_node.outputs['Color'], bg_node.inputs['Color'])
links.new(bg_node.ou
Read more
Ships withgsd-skill-creator

An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)

Get the whole plugin

Other skills on gsd-skill-creator.