jeremylongshore/claude-code-plugins-plus-skills
gamma-pack
plugins/saas-packs/gamma-pack/skills/gamma-ci-integration/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/gamma-pack/skills/gamma-ci-integration/SKILL.md -a claude-code --skill gamma-ci-integrationInstallation paths:
.claude/skills/gamma-ci-integration/# Gamma CI Integration
## Overview
Set up continuous integration for Gamma-powered applications with automated testing and deployment.
## Prerequisites
- GitHub repository with Actions enabled
- Gamma test API key
- npm/pnpm project configured
## Instructions
### Step 1: Create GitHub Actions Workflow
```yaml
# .github/workflows/gamma-ci.yml
name: Gamma CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
env:
GAMMA_API_KEY: ${{ secrets.GAMMA_API_KEY }}
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm test
- name: Run Gamma integration tests
run: npm run test:gamma
env:
GAMMA_MOCK: ${{ github.event_name == 'pull_request' }}
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: ./coverage/lcov.info
```
### Step 2: Create Test Scripts
```json
// package.json
{
"scripts": {
"test": "vitest run",
"test:gamma": "vitest run --config vitest.gamma.config.ts",
"test:gamma:live": "GAMMA_MOCK=false vitest run --config vitest.gamma.config.ts"
}
}
```
### Step 3: Gamma Test Configuration
```typescript
// vitest.gamma.config.ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
include: ['tests/gamma/**/*.test.ts'],
testTimeout: 60000, // Gamma API can be slow
hookTimeout: 30000,
setupFiles: ['./tests/gamma/setup.ts'],
},
});
```
### Step 4: Test Setup with Mocking
```typescript
// tests/gamma/setup.ts
import { beforeAll, afterAll } from 'vitest';
import { GammaClient } from '@gamma/sdk';
const useMock = process.env.GAMMA_MOCK === 'true';
export let gamma: GammaClient;
beforeAll(() => {
if (useMock) {
gamma = create