Skip to content
Documentation
Command

/start-11-2.es

Lesson command

From plugin
ai-agent-camp
345200 skills8 agents200 commands
Install
$ npx -y skills add minicoohei/ai-agent-camp --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/start-11-2.es

Context preview

What this command does when you run it.

Lesson command

Command definition

start-11-2.es.md
description: "Lesson command"
chapter: "courses/aiagent/lesson03-core/module11-github-actions"
prerequisites: ["start-11-1"]
duration: "~35 min"
level: "intermediate"
tags: ["github-actions", "secrets", "google-api"]
nonInteractiveMode: incompatible

🎓 Lesson 11-2: Pruebas automatizadas y despliegue

📍 Lo que hara en esta sesion

**Lección 11-2: GitHub Actions e integración con API**!

| Elemento | Contenido | |------|------| | Objetivo | Construir pipelines de obtencion y procesamiento automatico de datos usando Secrets en GitHub Actions para integracion con Google API | | Duracion | ~35 min | | Habilidades utilizadas | GitHub Actions, Repository Secrets, Google API | | Requisitos previos | Leccion 11-1 completada, repositorio GitHub | | Pagina del curso | [Module 11: GitHub Actions](https://ai-agent.camp/es/course/module-11) como referencia paralela |

**Flujo de la sesion:** 1. Configurar Repository Secrets 2. Llamar APIs desde flujos de trabajo 3. Ejecutar obtención y procesamiento automático de datos

Al final de esta sesion, tendra un pipeline seguro de integracion API usando Secrets.

> **💡 Consejo**: Si la respuesta de la IA se detiene a mitad de camino, escriba "por favor continue" o "siga adelante" para reanudar. Este es un comportamiento de Cursor, no un mal funcionamiento.

---

🎯 Verificacion de preparacion

Primero verifiquemos que todo este listo.

**Configuracion de AskQuestion:**

{
  "title": "🎯 Verificacion previa a la sesion",
  "questions": [{
    "id": "readiness",
    "prompt": "Esta listo/a?",
    "options": [
      {"id": "ready", "label": "Listo! Comencemos"},
      {"id": "check_prereq", "label": "Verificar requisitos previos"},
      {"id": "view_html", "label": "Ver primero la pagina del curso"},
      {"id": "different_lesson", "label": "Ir a otra leccion"}
    ]
  }]
}

(ready → Ir al Step 1) (check_prereq → Ejecutar verificacion de requisitos previos) (view_html → Mostrar ruta de la pagina del curso) (different_lesson → Mostrar lista de modulos)

---

🚀 Step 1: Configure Repository Secrets

Utilice AskQuestion para elegir "Continuar / Solo ver el ejemplo / Omitir".

**Configuracion de AskQuestion:**

{
  "title": "🚀 Step 1: Configuración de Repository Secrets",
  "questions": [{
    "id": "step_action",
    "prompt": "Que desea hacer con este paso?",
    "options": [
      {"id": "practice", "label": "Continuar"},
      {"id": "review", "label": "Solo ver el ejemplo"},
      {"id": "skip", "label": "Omitir"}
    ]
  }]
}

**Indicaciones tras la seleccion:** Entrada:

Por favor, explique el procedimiento de configuración de GitHub Repository Secrets.
Ubicación de configuración: Repositorio > Settings > Secrets and variables > Actions
Se configurarán los siguientes Secrets:
- GOOGLE_CREDENTIALS (clave de cuenta de servicio)
- SLACK_WEBHOOK (para notificaciones)

**Resultado esperado:** Se explican los pasos de configuracion de Secrets. La configuracion real se realiza en la interfaz web de GitHub.

---

🚀 Step 2: Google Authentication Workflow

Utilice AskQuestion para elegir "Continuar / Solo ver el ejemplo / Omitir".

**Configuracion de AskQuestion:**

{
  "title": "🚀 Step 2: Flujo de trabajo de autenticación de Google",
  "questions": [{
    "id": "step_action",
    "prompt": "Que desea hacer con este paso?",
    "options": [
      {"id": "practice", "label": "Continuar"},
      {"id": "review", "label": "Solo ver el ejemplo"},
      {"id": "skip", "label": "Omitir"}
    ]
  }]
}

**Indicaciones tras la seleccion:** Entrada:

> **Recomendación**: Si es posible, priorice Workload Identity Federation (OIDC). > Al usar claves de cuenta de servicio, minificar el JSON en una sola línea antes de guardarlo en Secrets lo hace menos propenso a errores.

Por favor, cree el archivo .github/workflows/google-auth.yml con el siguiente contenido:

name: Google API Integration

on:
  workflow_dispatch:
    inputs:
      operation:
        description: 'Operación a ejecutar'
        required: true
        default: 'test'
        type: choice
        options:
          - test
          - fetch_data
          - update_sheet

jobs:
  google-operation:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install dependencies
        run: |
          uv add google-auth google-auth-oauthlib google-api-python-client

      - name: Create credentials file
        run: |
          printf '%s' '${{ secrets.GOOGLE_CREDENTIALS }}' > credentials.json
          chmod 600 credentials.json

      - name: Test Google auth
        if: github.event.inputs.operation == 'test'
        run: |
          python -c "
          from google.oauth2 import service_account
          import json

          try:
              creds = service_account.Credentials.from_service_account_file('credentials.json')
              print('¡Autenticación de Google exitosa!')
              print(f'Cuenta de servicio: {creds.service_account_email}')
          except Exception as e:
              print(f'Error de autenticación: {e}')
              exit(1)
          "

      - name: Cleanup credentials
        if: always()
        run: rm -f credentials.json

**Resultado esperado:** Se crea un flujo de trabajo para autenticacion segura de Google.

---

🚀 Step 3: Data Retrieval Pipeline

Utilice AskQuestion para elegir "Continuar / Solo ver el ejemplo / Omitir".

**Configuracion de AskQuestion:**

{
  "title": "🚀 Step 3: Pipeline de obtención de datos",
  "questions": [{
    "id": "step_action",
    "prompt": "Que desea hacer con este paso?",
    "options": [
      {"id": "practice", "label": "Continuar"},
      {"id": "review", "label": "Solo ver el ejemplo"},
      {"id": "skip", "label": "Omitir"}
    ]
  }]
}

**Indicaciones tras la seleccio

Read more
Ships withai-agent-camp

AI Agent Training for Non-Engineers - Complete Guide to Claude Code / Cursor / Codex ### ⚠️ Before you clone Official repository (maintained by the authors): Running AI agents from this repo grants them shell, file-write, and external-API permissions on your

Get the whole plugin