Agent skill

Funnelcake Deployment Workflow

by divinevideo in divinevideo/divine-mobile

Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD.

MPL-2.0Auto-check passedDevOps & Cloud

Install Funnelcake Deployment Workflow

skills CLI
$ npx skills add divinevideo/divine-mobile --skill funnelcake-deployment-workflow -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install divinevideo/divine-mobile funnelcake-deployment-workflow --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/funnelcake-deployment-workflow .claude/skills/funnelcake-deployment-workflow && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
funnelcake-deployment-workflow
GitHub stars
266
Token cost
~3.6k tokens
SKILL.md length
554 words
Files
1
Skills in repo
103
Repo updated
First seen
Licence
MPL-2.0

At a glance

Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD.

  • Works in 9 steps: Does the image exist in the TARGET… → Am I updating the correct overlay? → What's currently deployed vs what's in… → …
  • Deploying new funnelcake commits
  • SKILL.md covers Problem, Context / Trigger Conditions, CRITICAL: Multi-Environment… and PRE-FLIGHT CHECKLIST (DO THIS…, plus 5 more sections
  • Calls kubectl, git and docker; reaches relay.staging.dvines.org; needs CLICKHOUSE_PASSWORD

What it does

Funnelcake Deployment Workflow is an agent skill from divinevideo/divine-mobile. Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD. Use when: (1) Deploying new funnelcake commits, (2) Building Docker images for GKE (amd64), (3) Running ClickHouse migrations, (4) Troubleshooting ImagePullBackOff errors, (5) Syncing staging/poc after production deployment. Covers complete workflow with PRE-FLIGHT CHECKLIST to prevent common deployment failures.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Container orchestration, Deployment and Data warehousing. It works with ClickHouse, Argo CD, Google Kubernetes Engine and Docker. The licence is MPL-2.0.

When your agent uses it

  • Deploying new funnelcake commits
  • Building Docker images for GKE (amd64)
  • Running ClickHouse migrations
  • Troubleshooting ImagePullBackOff errors

Example prompts

  • “/funnelcake-deployment-workflow”

Requirements

  • Docker

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Does the image exist in the TARGET registry?
  2. Am I updating the correct overlay?
  3. What's currently deployed vs what's in git?
  4. Get Latest Code
  5. Build Images for AMD64 (CRITICAL)
  6. Update Kustomize and Push
  7. Trigger ArgoCD Sync
  8. Wait for Rollout
  9. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 4c622be. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • kubectl
    • git
    • docker
    • gcloud
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • relay.staging.dvines.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLICKHOUSE_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Funnelcake Deployment Workflow loads about 3.6k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 554 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from divinevideo/divine-mobile at commit 4c622be, republished under its MPL-2.0 licence (© divinevideo). 554 words, ~3,558 tokens.

Download SKILL.mdSave it as .claude/skills/funnelcake-deployment-workflow/SKILL.md (or your agent's skills folder).
name
funnelcake-deployment-workflow
description
Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD. Use when: (1) Deploying new funnelcake commits, (2) Building Docker images for GKE (amd64), (3) Running ClickHouse migrations, (4) Troubleshooting ImagePullBackOff errors, (5) Syncing staging/poc after production deployment. Covers complete workflow with PRE-FLIGHT CHECKLIST to prevent common deployment failures.
author
Claude Code
version
2.0.0
date
2026-01-31

Funnelcake Deployment Workflow

Problem

Deploying funnelcake requires multiple coordinated steps across DIFFERENT environments, each with its own container registry and ArgoCD instance. Common failures:

  • Updating kustomization with image tags that don't exist in target registry
  • Assuming push to main auto-deploys to staging/poc (it doesn't)
  • Not verifying pods actually started (vs stuck in ImagePullBackOff)

Context / Trigger Conditions

  • User asks to deploy funnelcake to any environment
  • New commits need to be deployed
  • Migrations need to be run
  • Pods stuck in ImagePullBackOff or ErrImagePull
  • Staging/poc is behind production

CRITICAL: Multi-Environment Architecture

Each environment is ISOLATED - nothing is shared!

EnvironmentContainer RegistryArgoCDkubectl Context
Productionus-central1-docker.pkg.dev/dv-platform-prod/containers-production/In production clusterconnectgateway_dv-platform-prod_us-central1_gke-production-membership
Stagingus-central1-docker.pkg.dev/dv-platform-staging/containers-staging/In staging clusterconnectgateway_dv-platform-staging_us-central1_gke-staging-membership
POCus-central1-docker.pkg.dev/rich-compiler-479518-d2/containers-poc/In POC clusterconnectgateway_rich-compiler-479518-d2_us-central1_gke-poc-membership

Key Facts:

  • Images in production registry are NOT available to staging/poc
  • Pushing to main branch does NOT auto-sync staging/poc ArgoCD
  • Each environment's ArgoCD must be synced separately

PRE-FLIGHT CHECKLIST (DO THIS FIRST!)

Before deploying to ANY environment, verify:

1. Does the image exist in the TARGET registry?
bash
# Check what images exist
gcloud artifacts docker images list \
  us-central1-docker.pkg.dev/<PROJECT>/<REPO>/funnelcake-relay \
  --include-tags --limit=5

# Projects/repos by environment:
# - Production: dv-platform-prod/containers-production
# - Staging: dv-platform-staging/containers-staging
# - POC: rich-compiler-479518-d2/containers-poc

If image doesn't exist → BUILD AND PUSH IT FIRST!

2. Am I updating the correct overlay?
bash
# Staging overlay:
k8s/applications/funnelcake-relay/overlays/staging/kustomization.yaml

# POC overlay:
k8s/applications/funnelcake-relay/overlays/poc/kustomization.yaml

# Production overlay:
k8s/applications/funnelcake-relay/overlays/production/kustomization.yaml
3. What's currently deployed vs what's in git?
bash
# Check deployed image
kubectl --context <CONTEXT> get deployment funnelcake-relay -n funnelcake \
  -o jsonpath='{.spec.template.spec.containers[0].image}'

# Check git kustomization
cat k8s/applications/funnelcake-relay/overlays/<ENV>/kustomization.yaml | grep newTag

Complete Deployment Workflow

Step 1: Get Latest Code
bash
cd /Users/rabble/code/divine/divine-funnelcake
git pull
git log --oneline -3  # Note the commit hash (e.g., e02d3b1)
Step 2: Build Images for AMD64 (CRITICAL)

IMPORTANT: Mac builds arm64 by default. GKE runs amd64. You MUST specify --platform linux/amd64.

bash
# Build API image
docker buildx build --platform linux/amd64 --target api \
  -t us-central1-docker.pkg.dev/dv-platform-prod/containers-production/funnelcake-api:COMMIT_HASH \
  --push .

# Build Relay image
docker buildx build --platform linux/amd64 --target relay \
  -t us-central1-docker.pkg.dev/dv-platform-prod/containers-production/funnelcake-relay:COMMIT_HASH \
  --push .

If you get auth errors, run:

bash
gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
Step 3: Update Kustomize and Push
bash
cd /Users/rabble/code/divine/divine-iac-coreconfig

# Update image tags
sed -i '' 's/newTag: "OLD_HASH"/newTag: "NEW_HASH"/' \
  k8s/applications/funnelcake-api/overlays/production/kustomization.yaml
sed -i '' 's/newTag: "OLD_HASH"/newTag: "NEW_HASH"/' \
  k8s/applications/funnelcake-relay/overlays/production/kustomization.yaml

# Commit and push (handle potential conflicts)
git add k8s/applications/funnelcake-*/overlays/production/kustomization.yaml
git commit -m "deploy(production): funnelcake NEW_HASH - description"
git pull --rebase origin main && git push origin main
Step 4: Trigger ArgoCD Sync
bash
# Refresh to pick up git changes
kubectl patch application funnelcake-api -n argocd --type=merge \
  -p '{"metadata":{"annotations":{"argocd.argoproj.io/refresh":"hard"}}}'
kubectl patch application funnelcake-relay -n argocd --type=merge \
  -p '{"metadata":{"annotations":{"argocd.argoproj.io/refresh":"hard"}}}'

# Wait, then trigger sync
sleep 3
kubectl patch application funnelcake-api -n argocd --type=merge \
  -p '{"operation":{"sync":{"revision":"HEAD"}}}'
kubectl patch application funnelcake-relay -n argocd --type=merge \
  -p '{"operation":{"sync":{"revision":"HEAD"}}}'
Step 5: Wait for Rollout
bash
kubectl rollout status deploy/funnelcake-api deploy/funnelcake-relay \
  -n funnelcake --timeout=120s
Step 6: Verify
bash
kubectl get deploy funnelcake-api -n funnelcake \
  -o jsonpath='{.spec.template.spec.containers[0].image}'

Running Migrations

CRITICAL: Migration Entrypoint Has Two Modes

The database/entrypoint.sh detects ClickHouse connection mode from env vars:

  • Mode 1 (CLICKHOUSE_URL): Assumes ClickHouse Cloud — forces port 9440 with TLS. Use for production (ClickHouse Cloud at *.clickhouse.cloud).
  • Mode 2 (CLICKHOUSE_HOST + CLICKHOUSE_PORT): Direct host/port, no TLS assumption. Use for staging/poc (self-hosted ClickHouse on port 9000).

If you pass CLICKHOUSE_URL for self-hosted ClickHouse, migrations will fail with i/o timeout on port 9440 because the self-hosted instance listens on port 9000.

Build and Push Migration Image
bash
cd /Users/rabble/code/divine/divine-funnelcake/database
docker buildx build --platform linux/amd64 \
  -t us-central1-docker.pkg.dev/dv-platform-prod/containers-production/funnelcake-migrate:COMMIT_HASH \
  --push .
Run Migration Job — PRODUCTION (ClickHouse Cloud)
bash
kubectl delete job funnelcake-db-migrate -n funnelcake --ignore-not-found
cat <<'EOF' | kubectl apply -f -
apiVersion: batch/v1
kind: Job
metadata:
  name: funnelcake-db-migrate
  namespace: funnelcake
spec:
  ttlSecondsAfterFinished: 600
  backoffLimit: 3
  template:
    spec:
      restartPolicy: OnFailure
      containers:
        - name: migrate
          image: us-central1-docker.pkg.dev/dv-platform-prod/containers-production/funnelcake-migrate:COMMIT_HASH
          args: ["up"]
          env:
            - name: CLICKHOUSE_URL
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_URL
            - name: CLICKHOUSE_USER
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_USER
            - name: CLICKHOUSE_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_PASSWORD
            - name: CLICKHOUSE_DATABASE
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_DATABASE
EOF
Show full SKILL.md (223 more words)Show less
Run Migration Job — STAGING/POC (Self-hosted ClickHouse)
bash
# Use CLICKHOUSE_HOST + CLICKHOUSE_PORT instead of CLICKHOUSE_URL!
kubectl --context <STAGING_CONTEXT> delete job funnelcake-db-migrate -n funnelcake --ignore-not-found
cat <<'EOF' | kubectl --context <STAGING_CONTEXT> apply -f -
apiVersion: batch/v1
kind: Job
metadata:
  name: funnelcake-db-migrate
  namespace: funnelcake
spec:
  ttlSecondsAfterFinished: 600
  backoffLimit: 3
  template:
    spec:
      restartPolicy: OnFailure
      containers:
        - name: migrate
          image: us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-migrate:COMMIT_HASH
          args: ["up"]
          env:
            - name: CLICKHOUSE_HOST
              value: "funnelcake-funnelcake-clickhouse.funnelcake.svc.cluster.local"
            - name: CLICKHOUSE_PORT
              value: "9000"
            - name: CLICKHOUSE_USER
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_USER
            - name: CLICKHOUSE_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_PASSWORD
            - name: CLICKHOUSE_DATABASE
              valueFrom:
                secretKeyRef:
                  name: funnelcake-clickhouse-credentials
                  key: CLICKHOUSE_DATABASE
EOF
Check Migration Logs
bash
sleep 10 && kubectl logs job/funnelcake-db-migrate -n funnelcake
Handle "Dirty Database" Error

If you see error: Dirty database version X, a previous migration failed partway:

bash
# Force the version to clear dirty state
kubectl delete job funnelcake-db-migrate -n funnelcake --ignore-not-found
# Create job with args: ["force", "X"] instead of ["up"]
# Then run "up" again

Common Errors and Fixes

Error: "no match for platform in manifest: not found"

Cause: Image built for wrong architecture (arm64 on Mac, but GKE needs amd64) Fix: Rebuild with --platform linux/amd64

Error: "Unauthenticated request" when pushing

Cause: Docker not authenticated to Artifact Registry Fix: gcloud auth configure-docker us-central1-docker.pkg.dev --quiet

Error: "failed to push... fetch first"

Cause: Remote has new commits Fix: git pull --rebase origin main && git push origin main

Error: "Dirty database version X"

Cause: Previous migration failed midway Fix: Run force X to clear dirty state, then up again

Pods stuck in ImagePullBackOff

Causes:

  1. Wrong architecture (check with kubectl describe pod)
  2. Image doesn't exist (typo in tag)
  3. Auth issues (check imagePullSecrets)

Key Paths

  • Funnelcake repo: /Users/rabble/code/divine/divine-funnelcake
  • IaC repo: /Users/rabble/code/divine/divine-iac-coreconfig
  • API kustomization: k8s/applications/funnelcake-api/overlays/production/kustomization.yaml
  • Relay kustomization: k8s/applications/funnelcake-relay/overlays/production/kustomization.yaml
  • Migrations: /Users/rabble/code/divine/divine-funnelcake/database/migrations/

Deploying to Staging or POC

Full Workflow for Non-Production Environments
bash
# 1. Check what's in production that we want to deploy
cat k8s/applications/funnelcake-relay/overlays/production/kustomization.yaml | grep newTag
# e.g., newTag: "e7e79eb"

# 2. CHECK if that image exists in staging registry
gcloud artifacts docker images list \
  us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-relay \
  --include-tags --limit=10 | grep e7e79eb

# 3. If NOT found → BUILD AND PUSH
cd /Users/rabble/code/divine/divine-funnelcake
git checkout e7e79eb

docker build --platform linux/amd64 --target relay \
  -t us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-relay:e7e79eb .
docker push us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-relay:e7e79eb

docker build --platform linux/amd64 --target api \
  -t us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-api:e7e79eb .
docker push us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/funnelcake-api:e7e79eb

# For POC, tag and push to POC registry too
docker tag ...staging...:e7e79eb ...poc...:e7e79eb
docker push ...poc...:e7e79eb

git checkout main  # Return to main

# 4. Update kustomization (only AFTER images exist!)
cd /Users/rabble/code/divine/divine-iac-coreconfig
# Edit staging/poc overlays with new tags

# 5. Commit and push
git add -A && git commit -m "deploy(staging, poc): funnelcake @ e7e79eb" && git push

# 6. Sync ArgoCD (each environment has its own!)
kubectl --context connectgateway_dv-platform-staging_us-central1_gke-staging-membership \
  patch application funnelcake-relay -n argocd --type merge \
  -p '{"operation":{"initiatedBy":{"username":"claude"},"sync":{"syncStrategy":{"apply":{"force":false}}}}}'

# 7. VERIFY pods are actually running (not ImagePullBackOff!)
kubectl --context connectgateway_dv-platform-staging_us-central1_gke-staging-membership \
  get pods -n funnelcake
POST-DEPLOYMENT VERIFICATION CHECKLIST

Always run these after any deployment:

bash
# 1. Check pod status (should be Running, not ImagePullBackOff)
kubectl --context <CONTEXT> get pods -n funnelcake

# 2. Check actual deployed image matches expected
kubectl --context <CONTEXT> get deployment funnelcake-relay -n funnelcake \
  -o jsonpath='{.spec.template.spec.containers[0].image}'

# 3. Check the website actually works
curl -s https://relay.staging.dvines.org/ | grep -o "version.*" | head -1

Image Registry

  • Production: us-central1-docker.pkg.dev/dv-platform-prod/containers-production/
  • Staging: us-central1-docker.pkg.dev/dv-platform-staging/containers-staging/
  • POC: us-central1-docker.pkg.dev/rich-compiler-479518-d2/containers-poc/

Notes

  • Always use short commit hash (7 chars) for image tags
  • Dockerfile has multi-stage build: --target api or --target relay
  • Migration image is in database/Dockerfile
  • ClickHouse credentials are in funnelcake-clickhouse-credentials secret
  • ArgoCD needs BOTH refresh AND sync operations

© divinevideo, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/funnelcake-deployment-workflow of divinevideo/divine-mobile.

Open the folder on GitHubat commit 4c622be

Compare with similar skills

Funnelcake Deployment Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Funnelcake Deployment Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Funnelcake Deployment Workflow this skilldivinevideo/divine-mobile266—~3.6kAutomated safety check: PassMPL-2.0
Deployww-w-ai/bkit-claude-code601—~1.2kAutomated safety check: NotesApache-2.0
Cloud SaaS Modechmonitor/chmonitor299—~2.5kAutomated safety check: NotesGPL-3.0
LangBot Deployment Guidelangbot-app/LangBot18k—~1.2kAutomated safety check: NotesApache-2.0
Devopsnicepkg/auto-company1922 repos~814Automated safety check: PassMIT
Debug Openshell ClusterNVIDIA/OpenShell15k—~19kAutomated safety check: NotesApache-2.0

Similar skills

  • Deploy

    ww-w-ai/bkit-claude-code

    Deploy feature to target environment (dev/staging/prod) with level-based strategy.

    601 GitHub stars~1.2k tokensUpdated 11 days ago
    DevOps & CloudAuto-check: notes
  • Cloud SaaS Mode

    chmonitor/chmonitor

    Work on chmonitor's Cloud (SaaS) vs self-hosted (OSS) behaviour from ONE codebase.

    299 GitHub stars~2.5k tokensUpdated 2 days ago
    DatabasesAuto-check: notes
  • LangBot Deployment Guide

    langbot-app/LangBot

    Deploys and configures a LangBot instance with Docker Compose or Kubernetes, covering config.yaml, the Box sandbox runtime, the plugin runtime and the global API key.

    18k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Devops

    nicepkg/auto-company

    Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm).

    192 GitHub starsUsed in 2 repos~814 tokens
    DevOps & CloudAuto-check passed
  • Debug Openshell Cluster

    NVIDIA/OpenShell

    Official

    Debug why an OpenShell gateway deployment is unhealthy, unreachable, or unable to create sandboxes.

    15k GitHub stars~19k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Demo Local Rollout

    carverauto/serviceradar

    Build unpublished sha-... An agent skill from carverauto/serviceradar.

    921 GitHub stars~4.2k tokensUpdated today
    DevOps & CloudAuto-check passed

More from divinevideo/divine-mobile

All 103 skills in this repo
  • Fix ArgoCD ExternalSecret deployment failing with "namespace X is not permitted in project Y".

    266 GitHub stars~931 tokensUpdated today
    Auto-check passed
  • Art Direct

    divinevideo/divine-mobile

    Art direction for any content — reads text, PDF, Word, HTML, PPT, then proposes 2-3 creative directions with photography style, mood, and visual language.

    266 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Async Await Null Race Condition

    divinevideo/divine-mobile

    Fix "Null check operator used on a null value" errors when an object is set to null during an async await.

    266 GitHub stars~881 tokensUpdated today
    Auto-check passed
  • AWS V4 Signing Custom Headers Gcs

    divinevideo/divine-mobile

    Add custom metadata headers (x-amz-meta-) to AWS v4 signed requests for GCS S3-compatible API.

    266 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Bash Herestring Newline Secrets

    divinevideo/divine-mobile

    Fix password/secret authentication failures caused by trailing newlines when creating Google Cloud secrets (or similar) with bash here-strings.

    266 GitHub stars~791 tokensUpdated today
    Auto-check passed
  • Fix silent video/media processing failures caused by URL extraction code that filters on file extensions (.mp4, .webm, .webp).

    266 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Questions about Funnelcake Deployment Workflow

What does Funnelcake Deployment Workflow do?

Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD. Funnelcake Deployment Workflow is an agent skill from divinevideo/divine-mobile. Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD.

When should I use Funnelcake Deployment Workflow?

Funnelcake Deployment Workflow fits situations like: deploying new funnelcake commits; building Docker images for GKE (amd64); running ClickHouse migrations; troubleshooting ImagePullBackOff errors.

How do I install Funnelcake Deployment Workflow in Claude Code?

Run `npx skills add divinevideo/divine-mobile --skill funnelcake-deployment-workflow -a claude-code`. Or copy the skill folder (.agents/skills/funnelcake-deployment-workflow in divinevideo/divine-mobile) into .claude/skills/funnelcake-deployment-workflow in your project. Claude Code loads it when a task matches its description.

How do I install Funnelcake Deployment Workflow in Codex?

Run `npx skills add divinevideo/divine-mobile --skill funnelcake-deployment-workflow -a codex`. Or copy the skill folder (.agents/skills/funnelcake-deployment-workflow in divinevideo/divine-mobile) into .agents/skills/funnelcake-deployment-workflow in your project. Codex loads it when a task matches its description.

Can I use Funnelcake Deployment Workflow in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add divinevideo/divine-mobile --skill funnelcake-deployment-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/funnelcake-deployment-workflow, .gemini/skills/funnelcake-deployment-workflow, .github/skills/funnelcake-deployment-workflow and .opencode/skills/funnelcake-deployment-workflow in your project.

What does Funnelcake Deployment Workflow need to run?

Going by SKILL.md and its folder, Funnelcake Deployment Workflow needs the command-line tools its instructions call (kubectl, git, docker, gcloud and curl) and credentials named CLICKHOUSE_PASSWORD. Our summary lists: Docker.

Does Funnelcake Deployment Workflow access the network?

SKILL.md names 1 domain. In commands or code: relay.staging.dvines.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Funnelcake Deployment Workflow safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Funnelcake Deployment Workflow use?

Funnelcake Deployment Workflow is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Funnelcake Deployment Workflow use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Funnelcake Deployment Workflow?

Skills that share tags, products or a category with Funnelcake Deployment Workflow: Deploy (ww-w-ai/bkit-claude-code, 601 stars), Cloud SaaS Mode (chmonitor/chmonitor, 299 stars), LangBot Deployment Guide (langbot-app/LangBot, 18k stars) and Devops (nicepkg/auto-company, 192 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Funnelcake Deployment Workflow?

divinevideo (a GitHub organization) maintains it in divinevideo/divine-mobile, which has 266 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 8, 2026.

Source: divinevideo/divine-mobile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.