Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions .github/workflows/capture.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Capture store assets

# Regenerates the CWS listing assets (5 scenes + promo tile + demo webm +
# description.md) from the BUILT bundle entirely in CI — no local browser
# needed: Actions tab → "Capture store assets" → Run workflow → download the
# `store-assets` artifact. shotkit runs build:bundle first and drives the
# shipped bundle, so a green run doubles as a real-bundle smoke test.

on:
workflow_dispatch:
inputs:
scene:
description: 'Only this scene/tile/demo (comma-separated; empty = all)'
required: false
default: ''
video:
description: 'Record the demo screencast (webm)'
type: boolean
default: true
headless:
description: 'Run headless instead of under xvfb (experimental)'
type: boolean
default: false

permissions:
contents: read

jobs:
capture:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22
cache: 'npm'

- name: Install dependencies
run: npm ci

# Cache the Chromium binary so re-runs skip the ~120MB download.
# Same key scheme as ci.yml's e2e job.
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
playwright-${{ runner.os }}-

- name: Install xvfb (always) + Playwright Chromium (conditional)
run: |
sudo apt-get update
sudo apt-get install -y xvfb
if [ "${{ steps.playwright-cache.outputs.cache-hit }}" != "true" ]; then
npx playwright install --with-deps chromium
else
npx playwright install-deps chromium
fi

# Inputs flow via env (never interpolated into the script) — workflow-
# injection-safe per GitHub's guidance.
- name: Capture
env:
SCENE: ${{ inputs.scene }}
VIDEO: ${{ inputs.video }}
HEADLESS: ${{ inputs.headless }}
run: |
ARGS=()
if [ -n "$SCENE" ]; then ARGS+=(--scene "$SCENE"); fi
if [ "$VIDEO" != "true" ]; then ARGS+=(--no-video); fi
if [ "$HEADLESS" = "true" ]; then
HEADED=0 npx shotkit --json "${ARGS[@]}" | tee shotkit-result.json
else
xvfb-run -a npx shotkit --json "${ARGS[@]}" | tee shotkit-result.json
fi
{ echo "### shotkit assets"
node -e "const r=require('./shotkit-result.json'); console.log(r.produced.map(p=>'- \`'+p.split('/').pop()+'\`').join('\n'))"
} >> "$GITHUB_STEP_SUMMARY"

- name: Upload assets
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: store-assets
path: |
store-assets/*.png
store-assets/*.webm
store-assets/description.md
if-no-files-found: error
9 changes: 8 additions & 1 deletion claude-plugin/skills/academy-terms/data/terms.de.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"sourceVersion": "3.5.40",
"sourceLastUpdated": "2026-04-02",
"generatedFrom": "src/data/de.json",
"termCount": 999
"termCount": 1006
},
"protected": {
"Claude Code": [
Expand Down Expand Up @@ -89,6 +89,13 @@
"Learn how to use and create sub-agents in Claude Code to manage context, delegate tasks, and build specialized workflows that keep your main conversation clean and focused.": "Lernen Sie, wie Sie Sub-Agents in Claude Code verwenden und erstellen, um Kontext zu verwalten, Aufgaben zu delegieren und spezialisierte Workflows zu erstellen, die Ihre Hauptkonversation sauber und fokussiert halten.",
"AI Capabilities and Limitations": "AI-Fähigkeiten und -Grenzen",
"Understand how modern generative AI systems behave, identify types of unexpected outputs, and implement targeted fixes.": "Verstehen Sie das Verhalten moderner generativer AI-Systeme, identifizieren Sie Arten unerwarteter Ausgaben und implementieren Sie gezielte Korrekturen.",
"Claude Platform 101": "Claude Platform 101",
"This course teaches developers to build on the Claude Developer Platform from the ground up, whether you've made a few API calls or have only used Claude through a chat window.": "Dieser Kurs bringt Entwicklern von Grund auf bei, auf der Claude Developer Platform zu entwickeln — egal, ob Sie schon ein paar API-Aufrufe gemacht oder Claude bisher nur im Chat-Fenster genutzt haben.",
"There's a wide gap between chatting with Claude in a browser tab and building Claude into something you ship. A chat answers a question and the thread ends there. An application sends Claude structured requests, hands it tools, lets it act on real systems, and runs that loop for one user or a million. The Claude Developer Platform exists to close that gap, and it's a different skill from prompting. Getting value out of it means understanding what's in a request, how an agent decides what to do, and where the costs and limits live.": "Zwischen dem Chatten mit Claude im Browser-Tab und dem Einbauen von Claude in ein Produkt, das Sie ausliefern, liegt eine große Lücke. Ein Chat beantwortet eine Frage, und dort endet der Faden. Eine Anwendung schickt Claude strukturierte Anfragen, gibt ihm Werkzeuge an die Hand, lässt ihn auf echten Systemen handeln und betreibt diese Schleife für einen Nutzer oder eine Million. Die Claude Developer Platform existiert, um diese Lücke zu schließen — und das ist eine andere Fähigkeit als Prompting. Wert daraus zu ziehen heißt zu verstehen, was in einer Anfrage steckt, wie ein Agent entscheidet, was zu tun ist, und wo Kosten und Grenzen liegen.",
"This course teaches developers to build on the Claude Developer Platform from the ground up, whether you've made a few API calls or have only used Claude through a chat window. We start from first principles: what an API request contains, what an agent loop is, how the context window bounds what Claude can see, and how tools and permissions decide what it can do. The techniques later in the course then land as understanding instead of a list of calls to copy.": "Dieser Kurs bringt Entwicklern von Grund auf bei, auf der Claude Developer Platform zu entwickeln — egal, ob Sie schon ein paar API-Aufrufe gemacht oder Claude bisher nur im Chat-Fenster genutzt haben. Wir beginnen bei den Grundprinzipien: was eine API-Anfrage enthält, was eine Agenten-Schleife ist, wie das Kontextfenster begrenzt, was Claude sehen kann, und wie Werkzeuge und Berechtigungen entscheiden, was er tun darf. Die späteren Techniken des Kurses setzen sich dann als Verständnis fest statt als Liste von Aufrufen zum Abschreiben.",
"You'll send your first request and read the response, then choose the right model for a job (Opus, Sonnet, or Haiku) and weigh the cost-and-latency trade-off on your own examples instead of guessing. From there you'll build the agent loop by hand to see how Claude acts, observes, and decides, then collapse that hand-written loop with the SDK's Tool Runner once you understand what it does for you. You'll give Claude reach through tool use, let it reason through hard problems with extended thinking, and keep spend predictable with workspaces, limits, and the Console Workbench.": "Sie senden Ihre erste Anfrage und lesen die Antwort, wählen dann das richtige Modell für die Aufgabe (Opus, Sonnet oder Haiku) und wägen den Kosten-Latenz-Kompromiss an eigenen Beispielen ab, statt zu raten. Danach bauen Sie die Agenten-Schleife von Hand, um zu sehen, wie Claude handelt, beobachtet und entscheidet — und ersetzen diese handgeschriebene Schleife durch den Tool Runner des SDK, sobald Sie verstanden haben, was er Ihnen abnimmt. Sie geben Claude über Tool-Nutzung Reichweite, lassen ihn mit Extended Thinking schwierige Probleme durchdenken und halten die Ausgaben mit Workspaces, Limits und der Console Workbench planbar.",
"The middle of the course extends an agent beyond your own code: Anthropic's built-in tools (web search, code execution, web fetch) that run on Anthropic's infrastructure, Skills that package a procedure once and reuse it across calls, MCP servers that connect Claude to third-party tools without writing a schema, and the context-management patterns that keep a long-running agent inside the window and affordable past turn ten.": "Der mittlere Teil des Kurses erweitert einen Agenten über Ihren eigenen Code hinaus: Anthropics integrierte Werkzeuge (Websuche, Code-Ausführung, Web-Abruf), die auf Anthropics Infrastruktur laufen; Fähigkeiten, die einen Ablauf einmal verpacken und über Aufrufe hinweg wiederverwenden; MCP-Server, die Claude ohne Schema-Schreiben mit Drittanbieter-Werkzeugen verbinden; und die Kontext-Verwaltungsmuster, die einen langlaufenden Agenten im Fenster halten und auch nach dem zehnten Zug bezahlbar machen.",
"The final section hands work off. You'll learn when to run your own loop and when to let Anthropic run a sandboxed, managed agent for you, then build one end to end, consuming the event stream as Anthropic runs the loop and reports back. A standalone lesson shows you how to build with the API using Claude Code itself, which is also why the rest of the course matters: you need to know what good code looks like to review what an agent writes for you. Every lesson ends with a runnable demo, so you finish each one with working code.": "Der letzte Abschnitt gibt Arbeit ab. Sie lernen, wann Sie Ihre eigene Schleife betreiben und wann Sie Anthropic einen sandboxed Managed Agent für sich laufen lassen — und bauen dann einen von Anfang bis Ende, wobei Sie den Ereignisstrom konsumieren, während Anthropic die Schleife ausführt und berichtet. Eine eigenständige Lektion zeigt, wie man mit der API über Claude Code selbst entwickelt — auch deshalb zählt der Rest des Kurses: Sie müssen wissen, wie guter Code aussieht, um zu prüfen, was ein Agent für Sie schreibt. Jede Lektion endet mit einer lauffähigen Demo, sodass Sie jede mit funktionierendem Code abschließen.",
"Meet Claude": "Treffen Sie Claude",
"What is Claude?": "Was ist Claude?",
"Your first conversation with Claude": "Ihr erstes Gespräch mit Claude",
Expand Down
9 changes: 8 additions & 1 deletion claude-plugin/skills/academy-terms/data/terms.es.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"sourceVersion": "3.5.40",
"sourceLastUpdated": "2026-04-02",
"generatedFrom": "src/data/es.json",
"termCount": 999
"termCount": 1006
},
"protected": {
"Claude Code": [
Expand Down Expand Up @@ -92,6 +92,13 @@
"Learn how to use and create sub-agents in Claude Code to manage context, delegate tasks, and build specialized workflows that keep your main conversation clean and focused.": "Aprende a usar y crear sub-agentes en Claude Code para gestionar el contexto, delegar tareas y construir flujos de trabajo especializados que mantengan tu conversación principal limpia y enfocada.",
"AI Capabilities and Limitations": "Capacidades y limitaciones de AI",
"Understand how modern generative AI systems behave, identify types of unexpected outputs, and implement targeted fixes.": "Comprende cómo se comportan los sistemas modernos de AI generativa, identifica tipos de resultados inesperados e implementa correcciones específicas.",
"Claude Platform 101": "Claude Platform 101",
"This course teaches developers to build on the Claude Developer Platform from the ground up, whether you've made a few API calls or have only used Claude through a chat window.": "Este curso enseña a los desarrolladores a construir sobre la Claude Developer Platform desde cero, tanto si has hecho algunas llamadas a la API como si solo has usado Claude a través de una ventana de chat.",
"There's a wide gap between chatting with Claude in a browser tab and building Claude into something you ship. A chat answers a question and the thread ends there. An application sends Claude structured requests, hands it tools, lets it act on real systems, and runs that loop for one user or a million. The Claude Developer Platform exists to close that gap, and it's a different skill from prompting. Getting value out of it means understanding what's in a request, how an agent decides what to do, and where the costs and limits live.": "Hay una gran brecha entre chatear con Claude en una pestaña del navegador y construir Claude dentro de algo que vas a lanzar. Un chat responde una pregunta y el hilo termina ahí. Una aplicación envía a Claude solicitudes estructuradas, le entrega herramientas, le permite actuar sobre sistemas reales y ejecuta ese bucle para un usuario o para un millón. La Claude Developer Platform existe para cerrar esa brecha, y es una habilidad distinta del prompting. Sacarle valor significa entender qué contiene una solicitud, cómo decide un agente qué hacer y dónde están los costos y los límites.",
"This course teaches developers to build on the Claude Developer Platform from the ground up, whether you've made a few API calls or have only used Claude through a chat window. We start from first principles: what an API request contains, what an agent loop is, how the context window bounds what Claude can see, and how tools and permissions decide what it can do. The techniques later in the course then land as understanding instead of a list of calls to copy.": "Este curso enseña a los desarrolladores a construir sobre la Claude Developer Platform desde cero, tanto si has hecho algunas llamadas a la API como si solo has usado Claude a través de una ventana de chat. Empezamos desde los primeros principios: qué contiene una solicitud a la API, qué es un bucle de agente, cómo la ventana de contexto delimita lo que Claude puede ver y cómo las herramientas y los permisos deciden lo que puede hacer. Así, las técnicas posteriores del curso se asientan como comprensión y no como una lista de llamadas para copiar.",
"You'll send your first request and read the response, then choose the right model for a job (Opus, Sonnet, or Haiku) and weigh the cost-and-latency trade-off on your own examples instead of guessing. From there you'll build the agent loop by hand to see how Claude acts, observes, and decides, then collapse that hand-written loop with the SDK's Tool Runner once you understand what it does for you. You'll give Claude reach through tool use, let it reason through hard problems with extended thinking, and keep spend predictable with workspaces, limits, and the Console Workbench.": "Enviarás tu primera solicitud y leerás la respuesta; luego elegirás el modelo adecuado para cada tarea (Opus, Sonnet o Haiku) y sopesarás el equilibrio entre costo y latencia con tus propios ejemplos en lugar de adivinar. Después construirás el bucle del agente a mano para ver cómo Claude actúa, observa y decide, y luego lo reemplazarás con el Tool Runner del SDK una vez que entiendas lo que hace por ti. Le darás alcance a Claude mediante el uso de herramientas, le permitirás razonar problemas difíciles con el pensamiento extendido y mantendrás el gasto predecible con espacios de trabajo, límites y el Console Workbench.",
"The middle of the course extends an agent beyond your own code: Anthropic's built-in tools (web search, code execution, web fetch) that run on Anthropic's infrastructure, Skills that package a procedure once and reuse it across calls, MCP servers that connect Claude to third-party tools without writing a schema, and the context-management patterns that keep a long-running agent inside the window and affordable past turn ten.": "La parte central del curso extiende el agente más allá de tu propio código: las herramientas integradas de Anthropic (búsqueda web, ejecución de código, obtención de páginas web) que corren en la infraestructura de Anthropic, las Habilidades que empaquetan un procedimiento una vez y lo reutilizan entre llamadas, los servidores MCP que conectan Claude con herramientas de terceros sin escribir un esquema, y los patrones de gestión del contexto que mantienen a un agente de larga ejecución dentro de la ventana y asequible más allá del turno diez.",
"The final section hands work off. You'll learn when to run your own loop and when to let Anthropic run a sandboxed, managed agent for you, then build one end to end, consuming the event stream as Anthropic runs the loop and reports back. A standalone lesson shows you how to build with the API using Claude Code itself, which is also why the rest of the course matters: you need to know what good code looks like to review what an agent writes for you. Every lesson ends with a runnable demo, so you finish each one with working code.": "La sección final delega el trabajo. Aprenderás cuándo ejecutar tu propio bucle y cuándo dejar que Anthropic ejecute por ti un agente gestionado y aislado en sandbox, y luego construirás uno de principio a fin, consumiendo el flujo de eventos mientras Anthropic ejecuta el bucle e informa. Una lección independiente muestra cómo construir con la API usando el propio Claude Code, que es también la razón por la que importa el resto del curso: necesitas saber cómo luce el buen código para revisar lo que un agente escribe por ti. Cada lección termina con una demo ejecutable, así que terminas cada una con código que funciona.",
"Meet Claude": "Conoce a Claude",
"What is Claude?": "¿Qué es Claude?",
"Your first conversation with Claude": "Tu primera conversación con Claude",
Expand Down
Loading
Loading