agentleFS
RobStrayerRobStrayer/voice-agent-skills/skills/pipecat/deploy/SKILL.md

deploy

Skill1 starsChanged 31 days agoMITView on GitHub

Deploy an agent to Pipecat Cloud

  • Reads credentials
  • Installs packages

We split this skill into the rules it gives an agent

30 rules. 0 are common, 14 are distinctive, and 16 are very specific to this project.

  • 0

    Common

    Most of the 135 edited versions we read keep these.

  • 14

    Distinctive

    This author's own choices. Worth a look.

  • 16

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before starting, verify these prerequisites and inform the user about any that are missing:

    line 24
  2. Very specific:

    Pipecat CLI: Check if pipecat is installed by running pipecat --version.

    line 26
  3. Very specific:

    Configuration file: Read the pcc-deploy.toml file (from --config argument or current directory).

    line 30
  4. Distinctive:

    If any prerequisite fails, stop and clearly explain what needs to be fixed.

    line 32
  5. Distinctive:

    After prerequisites pass, ask the user how they want to deploy using AskUserQuestion:

    line 36
  6. Very specific:

    pipecat cloud deploy: Use --force (e.g., pipecat cloud deploy --force)

    line 46
  7. Very specific:

    pipecat cloud secrets set: Use the --skip flag (e.g., pipecat cloud secrets set NAME --file .env --skip)

    line 47
  8. Very specific:

    Check that a Dockerfile exists in the build context directory (the directory containing pcc-deploy.toml, or the context_dir from the …

    line 59
  9. Distinctive:

    Ask the user if they need to create or update secrets for this deployment.

    line 65
  10. Very specific:

    If yes, determine the env file path (from --env argument, or look for .env in the same directory as the config file, or ask the user).

    line 67
  11. Very specific:

    Read the secret_set name from the pcc-deploy.toml configuration.

    line 68
  12. Distinctive:

    If no, skip this step.

    line 72
  13. Distinctive:

    Ask the user to confirm they want to deploy the agent.

    line 76
  14. Very specific:

    Run from the config directory: pipecat cloud deploy --force

    line 79
  15. Distinctive:

    Use a generous timeout (10 minutes) as the cloud build and deployment can take a while.

    line 80
  16. Very specific:

    If the command times out but no error occurred, retrieve the build ID from the command output and run pipecat cloud build logs {BUILD_ID} …

    line 82
  17. Very specific:

    If the build succeeds but deployment times out, check agent logs with pipecat cloud agent logs {AGENT_NAME} and share with the user.

    line 83
  18. Very specific:

    If the build fails, retrieve the build ID from the command output and run pipecat cloud build logs {BUILD_ID} to show the user what went …

    line 88
  19. Distinctive:

    Check these additional prerequisites:

    line 102
  20. Very specific:

    Docker: Check if docker info succeeds (daemon running).

    line 104
  21. Very specific:

    Docker login: Check if docker login succeeds.

    line 105
  22. Distinctive:

    Ask the user if they want to build and push the Docker image.

    line 120
  23. Distinctive:

    Use a generous timeout (5 minutes) as builds can take a while.

    line 125
  24. Very specific:

    If the build fails due to a stale lockfile, run uv lock in the config directory and retry.

    line 126
  25. Distinctive:

    If the build fails for other reasons, show the error and ask the user how to proceed.

    line 127
  26. Distinctive:

    If no, skip this step (image may already be pushed).

    line 129
  27. Distinctive:

    Use a generous timeout (5 minutes) as deployment may take time to reach ready state.

    line 137
  28. Very specific:

    If deployment times out but no error occurred, check logs with pipecat cloud agent logs {AGENT_NAME} and share with the user — the …

    line 138
  29. Very specific:

    If any pipecat cloud command fails, show the full error output and explain what might have gone wrong.

    line 152
  30. Distinctive:

    After a successful deployment, summarize what was done:

    line 160

“Common” is measured: kept by at least 6 in 10 of the 135 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Deploy an agent to Pipecat Cloud. This skill walks through the full deployment process interactively, confirming each step with the user.

Arguments

/deploy [--config <PATH>] [--env <PATH>]
  • --config (optional): Path to pcc-deploy.toml. Defaults to pcc-deploy.toml in the current directory.
  • --env (optional): Path to .env file for creating secrets. If not provided, the skill will look for a .env file in the same directory as the config file.

Examples:

  • /deploy
  • /deploy --config examples/mybot/pcc-deploy.toml
  • /deploy --config examples/mybot/pcc-deploy.toml --env examples/mybot/.env

Prerequisites

Before starting, verify these prerequisites and inform the user about any that are missing:

  1. Pipecat CLI: Check if pipecat is installed by running pipecat --version. If not installed, tell the user to install it with uv tool install pipecat-ai-cli and stop.
  2. Pipecat Cloud authentication: Check if pipecat cloud auth whoami succeeds. If not authenticated, do not try to run login yourself — pipecat cloud auth login opens a browser for an OAuth flow that Claude can't complete. Instead, tell the user to authenticate by running pipecat cloud auth login in their terminal (suggest the ! pipecat cloud auth login form so the output lands in the session). Wait for them to confirm, then re-run pipecat cloud auth whoami to verify before proceeding.
  3. Configuration file: Read the pcc-deploy.toml file (from --config argument or current directory). If it doesn't exist, tell the user they need a pcc-deploy.toml and stop. Parse and display the configuration to the user (agent_name, image, secret_set, etc.).

If any prerequisite fails, stop and clearly explain what needs to be fixed. Do not proceed to the next steps.

Deployment Method

After prerequisites pass, ask the user how they want to deploy using AskUserQuestion:

  • Cloud Build (Recommended): Pipecat Cloud builds your Docker image from source. No local Docker required.
  • Self-managed image: Build and push your own Docker image from your machine, then deploy.

Important: Running Commands

All pipecat cloud commands must be run from the directory containing the pcc-deploy.toml file. Use cd <dir> && <command> to ensure the correct working directory.

Several pipecat cloud commands prompt for interactive confirmation which doesn't work in this environment. Skip the prompts with these flags:

  • pipecat cloud deploy: Use --force (e.g., pipecat cloud deploy --force)
  • pipecat cloud secrets set: Use the --skip flag (e.g., pipecat cloud secrets set NAME --file .env --skip)

pipecat cloud docker build-push runs non-interactively and has no confirmation prompt, so no extra flag is needed.


Cloud Build Path

This path uses Pipecat Cloud to build your Docker image from source. No local Docker installation is required.

Step 1: Verify Dockerfile and Lockfile

Check that a Dockerfile exists in the build context directory (the directory containing pcc-deploy.toml, or the context_dir from the [build] section of the config). If no Dockerfile is found, tell the user they need one and stop.

If the Dockerfile references uv (e.g., uv sync, uv pip install, COPY uv.lock), check that a uv.lock file exists in the build context directory. If it doesn't exist, run uv lock to generate it. If it already exists, run uv lock to ensure it's up to date. The lockfile must be present and current because cloud builds run remotely and cannot generate it.

Step 2: Secrets Setup

Ask the user if they need to create or update secrets for this deployment.

  • If yes, determine the env file path (from --env argument, or look for .env in the same directory as the config file, or ask the user).
  • Read the secret_set name from the pcc-deploy.toml configuration.
  • Run: pipecat cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip
  • Show the output to the user.
  • If no, skip this step.

Step 3: Deploy

Ask the user to confirm they want to deploy the agent.

  • Show a summary of what will be deployed (agent_name, secret_set from the config).
  • Run from the config directory: pipecat cloud deploy --force
  • Use a generous timeout (10 minutes) as the cloud build and deployment can take a while.
  • This command handles both the cloud build and the deployment automatically.
  • If the command times out but no error occurred, retrieve the build ID from the command output and run pipecat cloud build logs {BUILD_ID} to check build progress. Share the output with the user.
  • If the build succeeds but deployment times out, check agent logs with pipecat cloud agent logs {AGENT_NAME} and share with the user.
  • Show the deployment output and status to the user.

Cloud Build Error Handling

  • If the build fails, retrieve the build ID from the command output and run pipecat cloud build logs {BUILD_ID} to show the user what went wrong.
  • Common cloud build issues:
    • Missing or invalid Dockerfile
    • Build context too large (500MB limit) — check for large files that should be in .dockerignore
    • Build timeout — the build exceeded the maximum duration

Self-Managed Image Path

This path builds and pushes the Docker image from your machine. Requires Docker to be installed and running.

Step 1: Docker Prerequisites

Check these additional prerequisites:

  • Docker: Check if docker info succeeds (daemon running). If not, tell the user to start Docker and stop.
  • Docker login: Check if docker login succeeds. If not logged in, tell the user to run docker login and stop.

Step 2: Secrets Setup

Ask the user if they need to create or update secrets for this deployment.

  • If yes, determine the env file path (from --env argument, or look for .env in the same directory as the config file, or ask the user).
  • Read the secret_set name from the pcc-deploy.toml configuration.
  • Run: pipecat cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip
  • Show the output to the user.
  • If no, skip this step.

Step 3: Build and Push Docker Image

Ask the user if they want to build and push the Docker image.

  • If yes:
    • First, check if uv.lock exists in the config directory. If so, run uv lock to ensure it's up to date before building.
    • Run from the config directory: pipecat cloud docker build-push
    • Use a generous timeout (5 minutes) as builds can take a while.
    • If the build fails due to a stale lockfile, run uv lock in the config directory and retry.
    • If the build fails for other reasons, show the error and ask the user how to proceed.
  • If no, skip this step (image may already be pushed).

Step 4: Deploy

Ask the user to confirm they want to deploy the agent.

  • Show a summary of what will be deployed (agent_name, image, secret_set from the config).
  • Run from the config directory: pipecat cloud deploy --force
  • Use a generous timeout (5 minutes) as deployment may take time to reach ready state.
  • If deployment times out but no error occurred, check logs with pipecat cloud agent logs {AGENT_NAME} and share with the user — the deployment may still be starting up.
  • Show the deployment output and status to the user.

Self-Managed Image Error Handling

  • Common issues:
    • Docker not logged in to the image registry (docker login)
    • Missing image field in pcc-deploy.toml
    • Stale uv.lock file — run uv lock to fix

General Error Handling

  • If any pipecat cloud command fails, show the full error output and explain what might have gone wrong.
  • Common issues for both paths:
    • Invalid or expired Pipecat Cloud authentication
    • Missing or malformed pcc-deploy.toml
    • Secret set name mismatch between config and what exists in Pipecat Cloud

Completion

After a successful deployment, summarize what was done:

  • Deployment method used (cloud build or self-managed image)
  • Secrets created/updated (if applicable)
  • Image built and pushed (if applicable)
  • Agent deployed with name from config

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.