Skip to content
Skillpedia
Websites & UI (frontend)48k · #3539

makepad-shaders

Enables your agent to use shaders for graphics and visual effects in Makepad. Useful for creating visually rich and custom interfaces.

What it does

Helps create and understand visual codes called 'shaders' for the Makepad system. These codes control how graphical elements are drawn on the screen, such as colors, shapes, and effects.

When to use it

  • ✓When you need to create a custom look for an element in Makepad.
  • ✓To draw complex shapes or animations using code.
  • ✓When trying to understand or modify an existing shader in Makepad.

Example of what to ask your AI

“Create a shader for a button with a rounded border and a blue gradient.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-shaders/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-shaders/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

You provide a description of what you want to draw, and the AI generates the shader code. It uses a system called Sdf2d to define shapes and colors, and the final code is written in Makepad's shader language.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill makepad-shaders

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/makepad-shaders/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Supporting material availability

This catalog copy contains the inline guidance below, but does not include the following supporting paths. They are external prerequisites, not bundled files:

  • ./references/shader-basics.md
  • ./references/sdf2d-reference.md

Ask for the original supporting material or an existing installation before using a step that depends on these paths; this catalog does not identify a verified download source for them. Resolve each path relative to that installation, inspect its contents, and verify any applicable license and execution prerequisites. Do not run a command or claim a referenced procedure was followed until its required file exists. Do not fabricate the missing scripts or treat an unrelated file with the same name as equivalent. Independent steps fully documented here can proceed within the user’s authorized scope; report any dependent step as unavailable.

Makepad Shaders Skill

Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19

Check for updates: https://crates.io/crates/makepad-widgets

You are an expert at Makepad shaders. Help users by:

  • Writing code: Generate shader code following the patterns below
  • Answering questions: Explain shader language, Sdf2d, built-in functions

When to Use

  • You need to write or debug Makepad shader code, custom drawing, or SDF-based visuals.
  • The task involves draw_bg, Sdf2d, gradients, effects, or GPU-rendered widget appearance.
  • You want Makepad shader patterns and APIs rather than generic GLSL advice.

Documentation

Refer to the local files for detailed documentation:

  • ./references/shader-basics.md - Shader language fundamentals
  • ./references/sdf2d-reference.md - Complete Sdf2d API reference

Advanced Patterns

For production-ready shader patterns, see the _base/ directory:

Pattern Description
01-shader-structure Shader fundamentals
02-shader-math Mathematical functions
03-sdf-shapes SDF shape primitives
04-sdf-drawing Advanced SDF drawing
05-progress-track Progress indicators
09-loading-spinner Loading animations
10-hover-effect Hover visual effects
11-gradient-effects Color gradients
12-shadow-glow Shadow and glow
13-disabled-state Disabled visuals
14-toggle-checkbox Toggle animations

Community contributions: ./community/

IMPORTANT: Documentation Completeness Check

Before answering questions, Claude MUST:

  1. Read the relevant reference file(s) listed above
  2. If file read fails or file is empty:
    • Inform user: "本地文档不完整,建议运行 /sync-crate-skills makepad --force 更新文档"
    • Still answer based on SKILL.md patterns + built-in knowledge
  3. If reference file exists, incorporate its content into the answer

Key Patterns

1. Basic Custom Shader

<View> {
    show_bg: true
    draw_bg: {
        // Shader uniforms
        color: #FF0000

        // Custom pixel shader
        fn pixel(self) -> vec4 {
            return self.color;
        }
    }
}

2. Rounded Rectangle with Border

<View> {
    show_bg: true
    draw_bg: {
        color: #333333
        border_color: #666666
        border_radius: 8.0
        border_size: 1.0

        fn pixel(self) -> vec4 {
            let sdf = Sdf2d::viewport(self.pos * self.rect_size);
            sdf.box(1.0, 1.0,
                    self.rect_size.x - 2.0,
                    self.rect_size.y - 2.0,
                    self.border_radius);
            sdf.fill_keep(self.color);
            sdf.stroke(self.border_color, self.border_size);
            return sdf.result;
        }
    }
}

3. Gradient Background

<View> {
    show_bg: true
    draw_bg: {
        color: #FF0000
        color_2: #0000FF

        fn pixel(self) -> vec4 {
            let t = self.pos.x;  // Horizontal gradient
            return mix(self.color, self.color_2, t);
        }
    }
}

4. Circle Shape

<View> {
    show_bg: true
    draw_bg: {
        color: #0066CC

        fn pixel(self) -> vec4 {
            let sdf = Sdf2d::viewport(self.pos * self.rect_size);
            let center = self.rect_size * 0.5;
            let radius = min(center.x, center.y) - 1.0;
            sdf.circle(center.x, center.y, radius);
            sdf.fill(self.color);
            return sdf.result;
        }
    }
}

Shader Structure

Component Description

…

FAQ

What is a shader?

It's a small program that runs on the graphics card (GPU) to determine the color of each pixel on the screen, allowing for complex visual effects.

What is Sdf2d?

It's a special tool in Makepad that makes it easier to create geometric shapes and visual effects using a method called 'signed distance fields'.

Do I need to know how to program to use this?

You don't need to be an experienced programmer. The AI can generate the code for you, and you can ask questions to understand what the code does.

Details

Original description by the author

CRITICAL: Use for Makepad shader system. Triggers on: makepad shader, makepad draw_bg, Sdf2d, makepad pixel, makepad glsl, makepad sdf, draw_quad, makepad gpu, makepad 着色器, makepad shader 语法, makepad 绘制

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3539
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills