ad8b82449a
Adds a new skill that provisions ephemeral Playwright MCP browser sessions as Kubernetes Jobs for E2E testing. Includes provision and teardown scripts, K8s Job/Service YAML templates, and agent-facing SKILL.md documentation. Co-Authored-By: Paperclip <noreply@paperclip.ing>
1.8 KiB
1.8 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
This is a Claude Code skills repository. Skills are reusable tools that extend Claude Code's capabilities. Each skill lives in its own top-level directory.
Skill Structure
Each skill follows this convention:
<skill-name>/SKILL.md— Required. Contains YAML frontmatter (name,description) and usage documentation. This is the entry point Claude Code reads when invoking the skill.<skill-name>/scripts/— Implementation scripts (bash). Scripts useset -euo pipefailand thedie()pattern for error handling.
Current Skills
github-app-token— Generates short-lived GitHub App installation access tokens. RequiresGITHUB_APP_ID,GITHUB_APP_INSTALLATION_ID, andGITHUB_APP_PEM_FILEenv vars. Use--rawflag to get the token value directly (recommended for agents), or omit for legacyeval-basedexport GH_TOKEN=...output.playwright-ephemeral— Provisions ephemeral Playwright MCP browser sessions as Kubernetes Jobs for E2E testing. Creates a Job + Service pair in a dedicated namespace, waits for readiness, and returns the MCP endpoint URL. Requireskubectland appropriate RBAC.
Key Patterns
- Scripts are pure bash with no external dependencies beyond standard Unix tools (
openssl,curl,jq,kubectl). - The
--rawoutput pattern (preferred): scripts with--rawprint only the value to stdout for easy$(...)capture. The legacyevalpattern (no flag) prints shell commands likeexport VAR="value"for backward compatibility. - The
die()function prints errors to stderr and exits non-zero.
No Build/Test/Lint System
There is no centralized build, test, or lint tooling. Each skill is self-contained.