ASD

Github Actions Templates

Crea workflows de GitHub Actions listos para producción para testear, construir y desplegar aplicaciones automáticamente.

Estrellas
38.8k

en todo el repo

Actividad
41

0–100, la ruta de este skill

Actualizado
hace 3 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1.8k tok

58 tok en reposo

Paquete
1 archivo

7 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill github-actions-templates --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests.

Qué hace

  • Genera workflows de GitHub Actions listos para producción para testing, build y despliegue
  • Provee patrones para builds Docker, despliegue en Kubernetes y matrix builds
  • Incluye plantillas de workflows reutilizables con `workflow_call`
  • Añade escaneo de seguridad con Trivy y Snyk, y despliegues con aprobación

Úsalo cuando

  • Automatizar testing y deployment
  • Construir imágenes Docker y subirlas a registries
  • Desplegar a clusters de Kubernetes
  • Implementar matrix builds para múltiples entornos

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Crea un workflow de GitHub Actions para testear mi app Node en cada push
    • Necesito un pipeline que construya y suba una imagen Docker a ghcr.io
    • Configura un despliegue a Kubernetes con GitHub Actions
    • Añade un escaneo de seguridad con Trivy a mi CI

    SKILL.md

    En inglés

    GitHub Actions Templates

    Production-ready GitHub Actions workflow patterns for testing, building, and deploying applications.

    Purpose

    Create efficient, secure GitHub Actions workflows for continuous integration and deployment across various tech stacks.

    When to Use

    • Automate testing and deployment
    • Build Docker images and push to registries
    • Deploy to Kubernetes clusters
    • Run security scans
    • Implement matrix builds for multiple environments

    Common Workflow Patterns

    Pattern 1: Test Workflow

    name: Test
    
    on:
      push:
        branches: [main, develop]
      pull_request:
        branches: [main]
    
    jobs:
      test:
        runs-on: ubuntu-latest
    
        strategy:
          matrix:
            node-version: [18.x, 20.x]
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Use Node.js ${{ matrix.node-version }}
            uses: actions/setup-node@v4
            with:
              node-version: ${{ matrix.node-version }}
              cache: "npm"
    
          - name: Install dependencies
            run: npm ci
    
          - name: Run linter
            run: npm run lint
    
          - name: Run tests
            run: npm test
    
          - name: Upload coverage
            uses: codecov/codecov-action@v4
            with:
              files: ./coverage/lcov.info
    

    Reference: See assets/test-workflow.yml

    Pattern 2: Build and Push Docker Image

    name: Build and Push
    
    on:
      push:
        branches: [main]
        tags: ["v*"]
    
    env:
      REGISTRY: ghcr.io
      IMAGE_NAME: ${{ github.repository }}
    
    jobs:
      build:
        runs-on: ubuntu-latest
        permissions:
          contents: read
          packages: write
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Log in to Container Registry
            uses: docker/login-action@v3
            with:
              registry: ${{ env.REGISTRY }}
              username: ${{ github.actor }}
              password: ${{ secrets.GITHUB_TOKEN }}
    
          - name: Extract metadata
            id: meta
            uses: docker/metadata-action@v5
            with:
              images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
              tags: |
                type=ref,event=branch
                type=ref,event=pr
                type=semver,pattern={{version}}
                type=semver,pattern={{major}}.{{minor}}
    
          - name: Build and push
            uses: docker/build-push-action@v5
            with:
              context: .
              push: true
              tags: ${{ steps.meta.outputs.tags }}
              labels: ${{ steps.meta.outputs.labels }}
              cache-from: type=gha
              cache-to: type=gha,mode=max
    

    Reference: See assets/deploy-workflow.yml

    Pattern 3: Deploy to Kubernetes

    name: Deploy to Kubernetes
    
    on:
      push:
        branches: [main]
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Configure AWS credentials
            uses: aws-actions/configure-aws-credentials@v4
            with:
              aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
              aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
              aws-region: us-west-2
    
          - name: Update kubeconfig
            run: |
              aws eks update-kubeconfig --name production-cluster --region us-west-2
    
          - name: Deploy to Kubernetes
            run: |
              kubectl apply -f k8s/
              kubectl rollout status deployment/my-app -n production
              kubectl get services -n production
    
          - name: Verify deployment
            run: |
              kubectl get pods -n production
              kubectl describe deployment my-app -n production
    

    Pattern 4: Matrix Build

    name: Matrix Build
    
    on: [push, pull_request]
    
    jobs:
      build:
        runs-on: ${{ matrix.os }}
    
        strategy:
          matrix:
            os: [ubuntu-latest, macos-latest, windows-latest]
            python-version: ["3.9", "3.10", "3.11", "3.12"]
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Set up Python
            uses: actions/setup-python@v5
            with:
              python-version: ${{ matrix.python-version }}
    
          - name: Install dependencies
            run: |
              python -m pip install --upgrade pip
              pip install -r requirements.txt
    
          - name: Run tests
            run: pytest
    

    Reference: See assets/matrix-build.yml

    Workflow Best Practices

    1. Use specific action versions (@v4, not @latest)
    2. Cache dependencies to speed up builds
    3. Use secrets for sensitive data
    4. Implement status checks on PRs
    5. Use matrix builds for multi-version testing
    6. Set appropriate permissions
    7. Use reusable workflows for common patterns
    8. Implement approval gates for production
    9. Add notification steps for failures
    10. Use self-hosted runners for sensitive workloads

    Reusable Workflows

    # .github/workflows/reusable-test.yml
    name: Reusable Test Workflow
    
    on:
      workflow_call:
        inputs:
          node-version:
            required: true
            type: string
        secrets:
          NPM_TOKEN:
            required: true
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with:
              node-version: ${{ inputs.node-version }}
          - run: npm ci
          - run: npm test
    

    Use reusable workflow:

    jobs:
      call-test:
        uses: ./.github/workflows/reusable-test.yml
        with:
          node-version: "20.x"
        secrets:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
    

    Security Scanning

    name: Security Scan
    
    on:
      push:
        branches: [main]
      pull_request:
        branches: [main]
    
    jobs:
      security:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Run Trivy vulnerability scanner
            uses: aquasecurity/trivy-action@0.28.0
            with:
              scan-type: "fs"
              scan-ref: "."
              format: "sarif"
              output: "trivy-results.sarif"
    
          - name: Upload Trivy results to GitHub Security
            uses: github/codeql-action/upload-sarif@v3
            with:
              sarif_file: "trivy-results.sarif"
    
          - name: Run Snyk Security Scan
            uses: snyk/actions/node@0.4.0
            env:
              SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
    

    Deployment with Approvals

    name: Deploy to Production
    
    on:
      push:
        tags: ["v*"]
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
        environment:
          name: production
          url: https://app.example.com
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Deploy application
            run: |
              echo "Deploying to production..."
              # Deployment commands here
    
          - name: Notify Slack
            if: success()
            uses: slackapi/slack-github-action@v1
            with:
              webhook-url: ${{ secrets.SLACK_WEBHOOK }}
              payload: |
                {
                  "text": "Deployment to production completed successfully!"
                }
    

    Related Skills

    • gitlab-ci-patterns - For GitLab CI workflows
    • deployment-pipeline-design - For pipeline architecture
    • secrets-management - For secrets handling

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere un repositorio en GitHub y, según el workflow, secretos configurados (AWS, NPM_TOKEN, SNYK_TOKEN, SLACK_WEBHOOK).

    Necesita en el PATH:awskubectlpython

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    Solo SKILL.md
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Configura Turborepo para builds de monorepo eficientes con caché local y remota. Útil al configurar Turborepo, optimizar pipelines de build o implementar caching distribuido.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    devops infraestructura

    Implementa observabilidad integral para service meshes, incluyendo tracing distribuido, métricas y visualización. Útil para monitoreo de mesh, depuración de latencia y SLOs.

    Costo de contexto al activarse
    708 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura

    Define e implementa Indicadores (SLI) y Objetivos (SLO) de nivel de servicio con error budgets y alertas, para establecer metas de fiabilidad y prácticas SRE.

    Costo de contexto al activarse
    1.8k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura