Skip to content
Documentation
Command

/start-11-5.en

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-5.en

Context preview

What this command does when you run it.

Lesson command

Command definition

start-11-5.en.md
description: "Lesson command"
chapter: "courses/aiagent/lesson03-core/module11-github-actions"
duration: "~25 min"
prerequisites: ["start-11-1"]
level: "intermediate"
tags: ["github-actions", "deploy", "artifact", "release", "vercel", "github-pages"]
nonInteractiveMode: deferred

๐ŸŽ“ Lesson 11-5: Deploy & File Generation with GitHub Actions

๐Ÿ“ What You'll Do

**Lesson 11-5: Deploy & File Generation with GitHub Actions**!

| Item | Details | |------|------| | Goal | Generate build artifacts, deploy to GitHub Pages / Vercel, and auto-generate release notes with GitHub Actions | | Duration | ~25 min | | Skills used | GitHub Actions, GitHub Pages, Vercel CLI, gh CLI | | Prerequisites | Lesson 11-1 completed (understanding of workflow basics) |

**Session flow:** 1. Build artifact generation script 2. Upload and save as artifacts 3. Deploy to GitHub Pages 4. Vercel auto-deploy 5. Auto-generate release notes

By the end of this session, you'll have an automated build โ†’ deploy โ†’ release pipeline.

> **๐Ÿ’ก Hint**: If the AI response stops midway, type "please continue" or "keep going" to resume.

---

๐ŸŽฏ Readiness Check

**AskQuestion configuration:**

{
  "title": "๐ŸŽฏ Pre-session check",
  "questions": [{
    "id": "readiness",
    "prompt": "Are you ready?",
    "options": [
      {"id": "ready", "label": "Ready! Let's start"},
      {"id": "check_prereq", "label": "Check prerequisites"},
      {"id": "different_lesson", "label": "Go to a different lesson"}
    ]
  }]
}

(ready โ†’ Go to Step 1) (check_prereq โ†’ Verify Lesson 11-1 completion) (different_lesson โ†’ Display module list)

---

๐Ÿš€ Step 1: Generate Build Artifacts

{
  "title": "๐Ÿš€ Step 1: Build Artifact Generation",
  "questions": [{
    "id": "step_action",
    "prompt": "Create a step that generates static files using a Python / Node script.",
    "options": [
      {"id": "practice", "label": "Proceed"},
      {"id": "review", "label": "Review types of build artifacts"},
      {"id": "skip", "label": "Skip"}
    ]
  }]
}

**Guidance after selection:**

Create `tools/build_site.py` (a simple static site generator):

#!/usr/bin/env python3
"""Simple static site generator"""
import os
import json
from datetime import datetime

def build():
    os.makedirs("dist", exist_ok=True)
    
    # Generate index.html
    html = f"""<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>AI Agent Camp โ€” Build Artifact</title>
  <style>
    body {{ font-family: sans-serif; max-width: 800px; margin: 2rem auto; padding: 0 1rem; }}
    .meta {{ color: #666; font-size: 0.9rem; }}
  </style>
</head>
<body>
  <h1>AI Agent Camp</h1>
  <p class="meta">Built at: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}</p>
  <p>This page was auto-generated by GitHub Actions.</p>
</body>
</html>"""
    
    with open("dist/index.html", "w") as f:
        f.write(html)
    
    # Generate build-info.json
    info = {
        "built_at": datetime.utcnow().isoformat(),
        "commit": os.environ.get("GITHUB_SHA", "local"),
        "ref": os.environ.get("GITHUB_REF", "local"),
    }
    with open("dist/build-info.json", "w") as f:
        json.dump(info, f, indent=2)
    
    print("Build complete: artifacts generated in the dist/ directory")

if __name__ == "__main__":
    build()
python tools/build_site.py && ls -la dist/

**Expected result:** `index.html` and `build-info.json` are generated in the `dist/` directory.

---

๐Ÿš€ Step 2: Upload and Save Artifacts

{
  "title": "๐Ÿš€ Step 2: Artifact Management",
  "questions": [{
    "id": "step_action",
    "prompt": "Create a workflow that saves build artifacts as GitHub Actions artifacts.",
    "options": [
      {"id": "practice", "label": "Proceed"},
      {"id": "review", "label": "Review how artifacts work"},
      {"id": "skip", "label": "Skip"}
    ]
  }]
}

**Guidance after selection:**

Create `.github/workflows/build-and-deploy.yml`:

name: Build and Deploy
on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

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

      - name: Build site
        run: python tools/build_site.py

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: site-build-${{ github.run_number }}
          path: dist/
          retention-days: 30

      - name: Build summary
        run: |
          echo "## Build Artifacts" >> $GITHUB_STEP_SUMMARY
          echo "| File | Size |" >> $GITHUB_STEP_SUMMARY
          echo "|---------|-------|" >> $GITHUB_STEP_SUMMARY
          for f in dist/*; do
            SIZE=$(wc -c < "$f" | tr -d ' ')
            echo "| $(basename $f) | ${SIZE} bytes |" >> $GITHUB_STEP_SUMMARY
          done

**Key points:**

  • Use `actions/upload-artifact@v4` to save build artifacts
  • Specify retention period with `retention-days` (default is 90 days)
  • Display build info in the workflow summary using `$GITHUB_STEP_SUMMARY`

**Expected result:** After workflow execution, an artifact download link appears in the Summary on the Actions tab.

---

๐Ÿš€ Step 3: Deploy to GitHub Pages

{
  "title": "๐Ÿš€ Step 3: GitHub Pages Deploy",
  "questions": [{
    "id": "step_action",
    "prompt": "Deploy build artifacts to GitHub Pages.",
    "options": [
      {"id": "practice", "label": "Proceed"},
      {"id": "review", "label": "Review how to configure GitHub Pages"},
      {"id": "skip", "label": "Skip"}
    ]
  }]
}

**Guidance after selection:**

Add a Pages deploy job to the workflow:

  deploy-pages:
    needs: build
    runs-on: ubuntu-latest
    permissions:
      pages: write
      id-token: write
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-python@v5
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