Agent skill

Deployment Patterns

by affaan-m in affaan-m/ECC

Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones…

MITAuto-check passedDevOps & Cloud

Install Deployment Patterns

skills CLI
$ npx skills add affaan-m/ECC --skill deployment-patterns -a claude-code

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

GitHub CLI
$ gh skill install affaan-m/ECC deployment-patterns --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/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/es/skills/deployment-patterns .claude/skills/deployment-patterns && 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
deployment-patterns
GitHub stars
275k
Token cost
~3k tokens
SKILL.md length
460 words
Files
1
Skills in repo
645
Repo updated
First seen
Licence
MIT

At a glance

Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones…

  • Tasks that involve Deployment
  • SKILL.md covers Cuándo Activar, Estrategias de Despliegue, Docker and Pipeline CI/CD, plus 4 more sections
  • Calls kubectl, vercel and railway; needs API_KEY and GITHUB_TOKEN
  • Tasks that involve Containers

What it does

Deployment Patterns is an agent skill from affaan-m/ECC. Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones web.

Its SKILL.md is about 3k 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 Deployment, Containers and CI/CD. It works with Docker. The repository describes itself as: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond. The licence is MIT.

When your agent uses it

  • Tasks that involve Deployment
  • Tasks that involve Containers
  • Tasks that involve CI/CD

Example prompts

  • “Use the deployment-patterns skill to flujo de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks…”
  • “/deployment-patterns”

Requirements

  • Python 3
  • Node.js
  • Docker
  • A credential in GITHUB_TOKEN
  • A credential in API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit ef648e0. 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
    • vercel
    • railway
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use kubectl, vercel and npx, which can reach the network depending on how they are called.

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

  • Credentials

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

    • API_KEY
    • GITHUB_TOKEN
    • JWT_SECRET

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

Context cost

Deployment Patterns loads about 3k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 460 words of instructions outside code blocks.

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

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 affaan-m/ECC at commit ef648e0, republished under its MIT licence (© affaan-m). 460 words, ~2,959 tokens.

Download SKILL.mdSave it as .claude/skills/deployment-patterns/SKILL.md (or your agent's skills folder).
name
deployment-patterns
description
Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones web.
origin
ECC

Patrones de Despliegue

Flujos de trabajo de despliegue en producción y buenas prácticas de CI/CD.

Cuándo Activar

  • Configurar pipelines de CI/CD
  • Contenedorizar una aplicación con Docker
  • Planificar estrategia de despliegue (blue-green, canary, rolling)
  • Implementar health checks y readiness probes
  • Preparar un lanzamiento a producción
  • Configurar ajustes específicos por entorno

Estrategias de Despliegue

Rolling Deployment (Por Defecto)

Reemplazar instancias gradualmente — las versiones vieja y nueva se ejecutan simultáneamente durante el despliegue.

Instancia 1: v1 → v2  (actualizar primero)
Instancia 2: v1        (aún ejecutando v1)
Instancia 3: v1        (aún ejecutando v1)

Instancia 1: v2
Instancia 2: v1 → v2  (actualizar segundo)
Instancia 3: v1

Instancia 1: v2
Instancia 2: v2
Instancia 3: v1 → v2  (actualizar último)

Pros: Zero downtime, despliegue gradual Contras: Dos versiones se ejecutan simultáneamente — requiere cambios compatibles hacia atrás Usar cuando: Despliegues estándar, cambios compatibles hacia atrás

Blue-Green Deployment

Ejecutar dos entornos idénticos. Cambiar el tráfico de forma atómica.

Blue  (v1) ← tráfico
Green (v2)   inactivo, ejecutando nueva versión

# Después de la verificación:
Blue  (v1)   inactivo (se convierte en standby)
Green (v2) ← tráfico

Pros: Rollback instantáneo (cambiar de vuelta a blue), corte limpio Contras: Requiere 2x infraestructura durante el despliegue Usar cuando: Servicios críticos, tolerancia cero a problemas

Canary Deployment

Enrutar un pequeño porcentaje del tráfico a la nueva versión primero.

v1: 95% del tráfico
v2:  5% del tráfico  (canary)

# Si las métricas se ven bien:
v1: 50% del tráfico
v2: 50% del tráfico

# Final:
v2: 100% del tráfico

Pros: Detecta problemas con tráfico real antes del despliegue completo Contras: Requiere infraestructura de división de tráfico, monitoreo Usar cuando: Servicios de alto tráfico, cambios arriesgados, feature flags

Docker

Dockerfile Multi-Stage (Node.js)
dockerfile
# Etapa 1: Instalar dependencias
FROM node:22-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --production=false

# Etapa 2: Build
FROM node:22-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
RUN npm prune --production

# Etapa 3: Imagen de producción
FROM node:22-alpine AS runner
WORKDIR /app

RUN addgroup -g 1001 -S appgroup && adduser -S appuser -u 1001
USER appuser

COPY --from=builder --chown=appuser:appgroup /app/node_modules ./node_modules
COPY --from=builder --chown=appuser:appgroup /app/dist ./dist
COPY --from=builder --chown=appuser:appgroup /app/package.json ./

ENV NODE_ENV=production
EXPOSE 3000

HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1

CMD ["node", "dist/server.js"]
Dockerfile Multi-Stage (Go)
dockerfile
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /server ./cmd/server

FROM alpine:3.19 AS runner
RUN apk --no-cache add ca-certificates
RUN adduser -D -u 1001 appuser
USER appuser

COPY --from=builder /server /server

EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://localhost:8080/health || exit 1
CMD ["/server"]
Dockerfile Multi-Stage (Python/Django)
dockerfile
FROM python:3.12-slim AS builder
WORKDIR /app
RUN pip install --no-cache-dir uv
COPY requirements.txt .
RUN uv pip install --system --no-cache -r requirements.txt

FROM python:3.12-slim AS runner
WORKDIR /app

RUN useradd -r -u 1001 appuser
USER appuser

COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin
COPY . .

ENV PYTHONUNBUFFERED=1
EXPOSE 8000

HEALTHCHECK --interval=30s --timeout=3s CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health/')" || exit 1
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "4"]
Buenas Prácticas de Docker
# Buenas prácticas
- Usar etiquetas de versión específicas (node:22-alpine, no node:latest)
- Builds multi-stage para minimizar el tamaño de imagen
- Ejecutar como usuario no-root
- Copiar archivos de dependencias primero (cache de capas)
- Usar .dockerignore para excluir node_modules, .git, tests
- Agregar instrucción HEALTHCHECK
- Establecer límites de recursos en docker-compose o k8s

# Malas prácticas
- Ejecutar como root
- Usar etiquetas :latest
- Copiar todo el repositorio en una sola capa COPY
- Instalar dependencias de desarrollo en imagen de producción
- Almacenar secretos en la imagen (usar variables de entorno o gestor de secretos)

Pipeline CI/CD

GitHub Actions (Pipeline Estándar)
yaml
name: CI/CD

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: npm
      - run: npm ci
      - run: npm run lint
      - run: npm run typecheck
      - run: npm test -- --coverage
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: coverage
          path: coverage/

  build:
    needs: test
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'
    steps:
      - uses: actions/checkout@v4
      - uses: docker/setup-buildx-action@v3
      - uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - uses: docker/build-push-action@v5
        with:
          push: true
          tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
          cache-from: type=gha
          cache-to: type=gha,mode=max

  deploy:
    needs: build
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'
    environment: production
    steps:
      - name: Deploy to production
        run: |
          # Comando de despliegue específico de plataforma
          # Railway: railway up
          # Vercel: vercel --prod
          # K8s: kubectl set image deployment/app app=ghcr.io/${{ github.repository }}:${{ github.sha }}
          echo "Deploying ${{ github.sha }}"
Etapas del Pipeline
PR abierto:
  lint → typecheck → pruebas unitarias → pruebas de integración → despliegue preview

Merge a main:
  lint → typecheck → pruebas unitarias → pruebas de integración → build imagen → desplegar staging → smoke tests → desplegar producción

Health Checks

Endpoint de Health Check
typescript
// Health check simple
app.get("/health", (req, res) => {
  res.status(200).json({ status: "ok" });
});

// Health check detallado (para monitoreo interno)
app.get("/health/detailed", async (req, res) => {
  const checks = {
    database: await checkDatabase(),
    redis: await checkRedis(),
    externalApi: await checkExternalApi(),
  };

  const allHealthy = Object.values(checks).every(c => c.status === "ok");

  res.status(allHealthy ? 200 : 503).json({
    status: allHealthy ? "ok" : "degraded",
    timestamp: new Date().toISOString(),
    version: process.env.APP_VERSION || "unknown",
    uptime: process.uptime(),
    checks,
  });
});

async function checkDatabase(): Promise<HealthCheck> {
  try {
    await db.query("SELECT 1");
    return { status: "ok", latency_ms: 2 };
  } catch (err) {
    return { status: "error", message: "Database unreachable" };
  }
}
Probes de Kubernetes
yaml
livenessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 10
  periodSeconds: 30
  failureThreshold: 3

readinessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 5
  periodSeconds: 10
  failureThreshold: 2

startupProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 0
  periodSeconds: 5
  failureThreshold: 30    # 30 * 5s = 150s tiempo máximo de inicio

Configuración de Entorno

Patrón Twelve-Factor App
bash
# Toda la configuración mediante variables de entorno — nunca en el código
DATABASE_URL=postgres://user:pass@host:5432/db
REDIS_URL=redis://host:6379/0
API_KEY=${API_KEY}           # inyectado por el gestor de secretos
LOG_LEVEL=info
PORT=3000

# Comportamiento específico por entorno
NODE_ENV=production          # o staging, development
APP_ENV=production           # entorno de app explícito
Validación de Configuración
typescript
import { z } from "zod";

const envSchema = z.object({
  NODE_ENV: z.enum(["development", "staging", "production"]),
  PORT: z.coerce.number().default(3000),
  DATABASE_URL: z.string().url(),
  REDIS_URL: z.string().url(),
  JWT_SECRET: z.string().min(32),
  LOG_LEVEL: z.enum(["debug", "info", "warn", "error"]).default("info"),
});

// Validar al inicio — fallar rápido si la configuración es incorrecta
export const env = envSchema.parse(process.env);

Estrategia de Rollback

Rollback Instantáneo
bash
# Docker/Kubernetes: apuntar a imagen anterior
kubectl rollout undo deployment/app

# Vercel: promover despliegue anterior
vercel rollback

# Railway: volver a desplegar commit anterior
railway up --commit <previous-sha>

# Base de datos: revertir migración (si es reversible)
npx prisma migrate resolve --rolled-back <migration-name>
Lista de Verificación de Rollback
  • La imagen/artefacto anterior está disponible y etiquetado
  • Las migraciones de base de datos son compatibles hacia atrás (sin cambios destructivos)
  • Los feature flags pueden deshabilitar nuevas funciones sin despliegue
  • Alertas de monitoreo configuradas para picos de tasa de error
  • Rollback probado en staging antes del lanzamiento a producción
Show full SKILL.md (189 more words)Show less

Lista de Verificación de Preparación para Producción

Antes de cualquier despliegue a producción:

Aplicación
  • Todas las pruebas pasan (unitarias, integración, E2E)
  • Sin secretos hardcodeados en código o archivos de configuración
  • El manejo de errores cubre todos los casos límite
  • El logging es estructurado (JSON) y no contiene PII
  • El endpoint de health check retorna estado significativo
Infraestructura
  • La imagen Docker se construye de forma reproducible (versiones fijadas)
  • Las variables de entorno están documentadas y validadas al inicio
  • Límites de recursos establecidos (CPU, memoria)
  • Escalado horizontal configurado (instancias mín/máx)
  • SSL/TLS habilitado en todos los endpoints
Monitoreo
  • Métricas de aplicación exportadas (tasa de requests, latencia, errores)
  • Alertas configuradas para tasa de error > umbral
  • Agregación de logs configurada (logs estructurados, con búsqueda)
  • Monitoreo de uptime en endpoint de health
Seguridad
  • Dependencias escaneadas en busca de CVEs
  • CORS configurado solo para orígenes permitidos
  • Rate limiting habilitado en endpoints públicos
  • Autenticación y autorización verificadas
  • Headers de seguridad establecidos (CSP, HSTS, X-Frame-Options)
Operaciones
  • Plan de rollback documentado y probado
  • Migración de base de datos probada contra datos de tamaño de producción
  • Runbook para escenarios de fallo comunes
  • Rotación de on-call y ruta de escalación definida

© affaan-m, MIT. 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 docs/es/skills/deployment-patterns of affaan-m/ECC.

Open the folder on GitHubat commit ef648e0

Compare with similar skills

Deployment Patterns 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.

Deployment Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Deployment Patterns this skillaffaan-m/ECC275k—~3kAutomated safety check: PassMIT
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2606 repos~1.1kAutomated safety check: NotesCustom licence
DDNS Build and Release MaintenanceNewFuture/DDNS4.7k—~444Automated safety check: PassMIT
Devops EngineerYikai-Liao/symusic1891 repos~1.5kAutomated safety check: PassMIT
Devops InfrastructureCloudAI-X/claude-workflow-v21.4k—~2.7kAutomated safety check: NotesMIT
CI/CD Pipeline Principlesirahardianto/awesome-agv157—~2.7kAutomated safety check: NotesMIT

Similar skills

  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • Maintains the DDNS project's GitHub Actions, Docker and Nuitka builds, packaging and release preparation without touching publishing credentials.

    4.7k GitHub stars~444 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Devops Engineer

    Yikai-Liao/symusic

    Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates.

    189 GitHub starsUsed in 1 repo~1.5k tokens
    DevOps & CloudAuto-check passed
  • Devops Infrastructure

    CloudAI-X/claude-workflow-v2

    Guides Docker, CI/CD pipelines, deployment strategies, infrastructure as code, and observability setup.

    1.4k GitHub stars~2.7k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • CI/CD Pipeline Principles

    irahardianto/awesome-agv

    Rules for designing CI/CD pipelines in layers: universal lint, test and scan stages, container builds with SBOM attestation, and GitOps for orchestrated deployments.

    157 GitHub stars~2.7k tokensUpdated 3 days ago
    DevOps & CloudAuto-check: notes
  • Frontmcp Deployment

    agentfront/frontmcp

    A skill your agent uses when deploying, building for production, packaging, or shipping a FrontMCP server.

    146 GitHub stars~9.2k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes

More from affaan-m/ECC

All 645 skills in this repo
  • Videodb

    affaan-m/ECC

    Ingest, index, search, edit, and monitor video and audio with the VideoDB Python SDK — upload from files, URLs, or RTSP feeds, build spoken and scene indexes with timestamped search and playable…

    275k GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check: notes
  • Rules Distillation

    affaan-m/ECC

    Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.

    275k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.

    275k GitHub stars~2.9k tokensUpdated 3 days ago
    Auto-check passed
  • Measures whether agents actually follow a skill, rule or agent definition by generating scenarios at three strictness levels and scoring tool-call traces.

    275k GitHub starsUsed in 1 repo~623 tokens
    Auto-check passed
  • Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.

    275k GitHub stars~3.5k tokensUpdated 3 days ago
    Auto-check passed
  • Adds one optional external Codex critique that tries to break a council's decision draft, sent to OpenAI only after you consent.

    275k GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Deployment Patterns

What does Deployment Patterns do?

Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones…. Deployment Patterns is an agent skill from affaan-m/ECC. Flujos de trabajo de despliegue, patrones de pipeline CI/CD, contenedorización Docker, health checks, estrategias de rollback y listas de verificación de preparación para producción de aplicaciones web.

When should I use Deployment Patterns?

Deployment Patterns fits situations like: tasks that involve Deployment; tasks that involve Containers; tasks that involve CI/CD.

How do I install Deployment Patterns in Claude Code?

Run `npx skills add affaan-m/ECC --skill deployment-patterns -a claude-code`. Or copy the skill folder (docs/es/skills/deployment-patterns in affaan-m/ECC) into .claude/skills/deployment-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Deployment Patterns in Codex?

Run `npx skills add affaan-m/ECC --skill deployment-patterns -a codex`. Or copy the skill folder (docs/es/skills/deployment-patterns in affaan-m/ECC) into .agents/skills/deployment-patterns in your project. Codex loads it when a task matches its description.

Can I use Deployment Patterns 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 affaan-m/ECC --skill deployment-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deployment-patterns, .gemini/skills/deployment-patterns, .github/skills/deployment-patterns and .opencode/skills/deployment-patterns in your project.

What does Deployment Patterns need to run?

Going by SKILL.md and its folder, Deployment Patterns needs the command-line tools its instructions call (kubectl, vercel, railway and npx) and credentials named API_KEY, GITHUB_TOKEN and JWT_SECRET. Our summary lists: Python 3; Node.js; Docker; A credential in GITHUB_TOKEN; A credential in API_KEY.

Does Deployment Patterns access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Deployment Patterns 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 Deployment Patterns use?

Deployment Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Deployment Patterns use?

About 3k tokens (SKILL.md is roughly 12k 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 Deployment Patterns?

Skills that share tags, products or a category with Deployment Patterns: Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), DDNS Build and Release Maintenance (NewFuture/DDNS, 4.7k stars), Devops Engineer (Yikai-Liao/symusic, 189 stars) and Devops Infrastructure (CloudAI-X/claude-workflow-v2, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Deployment Patterns?

affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 275,023 GitHub stars. The repository holds 645 skills in this directory. The repository was last updated on October 5, 2026.

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