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
微信扫一扫