name: create-icon description: > Create icons for Stream Deck or other uses. Fetches from web, resizes to 72x72, creates white/active states. allowed-tools: ["Bash", "Read", "Write", "surf"] triggers:
- create icon
- generate icon
- make icon
- fetch icon
- stream deck icon
- process icon metadata: short-description: "Create icons (72x72, Stream Deck compatible)"
create-icon
Centralized utility for creating high-quality Stream Deck icons with consistent aesthetics.
Features
- Automated Fetching: Uses
surfto find and download icons from Flaticon or other free providers. - Pre-flight Standardization: Automatically resizes to 72x72 and ensures PNG format.
- State Generation:
inactive: High-contrast white.active: Vibrant "active" color (default: cyan/yellow).
- Collaborative Workflow: Search for multiple candidates and pick the best one via personal interview.
Usage
# Fetch a NEW icon by keyword
./run.sh fetch "folder" --name "my_folder"
# Generate states for an EXISTING icon
./run.sh generate "/path/to/icon.png" --name "my_icon"
# COLLABORATIVE search and selection
./run.sh collaborative "camera" --name "my_camera"
# DIRECT AI-driven creation
./run.sh create "terminal prompt inside a rounded rectangle" --name "my_terminal"
How It Works
- Fetch: Uses
surfto search for icons, picks the first result, and downloads it. - Process: Uses ImageMagick (
convert) or Pillow to:- Resize to 72x72.
- Use
+level-colorsor tinting to create the two required states.
- Output: Saves to the local
icon/directory of the calling project.
Commands
| Command | Description |
|---|---|
fetch <keyword> | Search web and download icon |
generate <path> | Create states from existing icon |
collaborative <keyword> | Interactive search and selection |
create <prompt> | AI-driven icon generation |
Output Structure
icon/
├── my_icon_inactive.png # White/gray (72x72)
├── my_icon_active.png # Colored state (72x72)
└── my_icon_original.png # Source file
Dependencies
surfskill for web fetching- ImageMagick or Pillow for image processing