Skip to main content
This walkthrough shows Fliiq’s self-generating skill capability in action. A user asked for a Spotify playlist, and the agent built the entire integration mid-conversation.

The Request

What Happened

1. Gap Detection

The agent scanned its available skills and found no Spotify integration. It immediately offered to build one:

2. API Research

After getting approval, the agent used web_search and web_fetch to read the Spotify Web API documentation:
  • Endpoint for creating playlists: POST /v1/users/{user_id}/playlists
  • Endpoint for searching tracks: GET /v1/search?type=track
  • Endpoint for adding tracks: POST /v1/playlists/{playlist_id}/tracks
  • Authentication: Bearer token with appropriate scopes

3. Template Reference

The agent read the existing web_search skill as a template for the 3-file format, noting the pattern of SKILL.md + fliiq.yaml + main.py.

4. Skill Generation

The agent generated three files: SKILL.md — Metadata and usage instructions for the LLM:
fliiq.yaml — Input schema with action-based routing:
main.py — Full async handler with three operations, error handling, and batch support for adding tracks (100 per batch, matching Spotify’s API limit).

5. Installation & Usage

The agent installed the skill via the install_skill tool, then immediately:
  1. Called spotify with action: search_tracks, query: "chill jazz" — found 15 tracks
  2. Called spotify with action: create_playlist, name: "Chill Jazz" — created the playlist
  3. Called spotify with action: add_tracks_to_playlist — added all 15 tracks
  4. Returned the playlist URL to the user

Credential Setup

The agent prompted the user to set up Spotify credentials:
  1. Create an app at developer.spotify.com/dashboard
  2. Set redirect URI to http://localhost:8888/callback
  3. Get Client ID and Client Secret
  4. Generate an access token with playlist-modify-public and playlist-modify-private scopes
.env

The Skill Today

This self-generated Spotify skill was later promoted to a core skill. It now ships with every Fliiq installation:

Try It Yourself

Or ask Fliiq to build a skill for any API you need: