Back to Skills

juicebox-ci-integration

verified
View on GitHub

Marketplace

claude-code-plugins-plus

jeremylongshore/claude-code-plugins-plus-skills

Plugin

juicebox-pack

business-tools

Repository

jeremylongshore/claude-code-plugins-plus-skills
1.1kstars

plugins/saas-packs/juicebox-pack/skills/juicebox-ci-integration/SKILL.md

Last Verified

January 22, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/juicebox-pack/skills/juicebox-ci-integration/SKILL.md -a claude-code --skill juicebox-ci-integration

Installation paths:

Claude
.claude/skills/juicebox-ci-integration/
Powered by add-skill CLI

Instructions

# Juicebox CI Integration

## Overview
Configure CI/CD pipelines for Juicebox integration testing and deployment.

## Prerequisites
- GitHub repository with Actions enabled
- Juicebox test API key
- npm/pnpm project configured

## Instructions

### Step 1: Configure GitHub Secrets
```bash
# Add secrets via GitHub CLI
gh secret set JUICEBOX_API_KEY --body "jb_test_xxxx"
gh secret set JUICEBOX_API_KEY_PROD --body "jb_prod_xxxx"
```

### Step 2: Create Test Workflow
```yaml
# .github/workflows/juicebox-tests.yml
name: Juicebox Integration Tests

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

env:
  JUICEBOX_API_KEY: ${{ secrets.JUICEBOX_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 Juicebox tests
        run: npm run test:juicebox

      - name: Upload test results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: test-results
          path: coverage/
```

### Step 3: Add Integration Tests
```typescript
// tests/juicebox.integration.test.ts
import { describe, it, expect, beforeAll } from 'vitest';
import { JuiceboxClient } from '@juicebox/sdk';

describe('Juicebox Integration', () => {
  let client: JuiceboxClient;

  beforeAll(() => {
    if (!process.env.JUICEBOX_API_KEY) {
      throw new Error('JUICEBOX_API_KEY required for integration tests');
    }
    client = new JuiceboxClient({
      apiKey: process.env.JUICEBOX_API_KEY
    });
  });

  it('authenticates with valid API key', async () => {
    const user = await client.auth.me();
    expect(user.id).toBeDefined();
  });

  it('performs basic search', async () => {
    const results = await client.search.people({
      query: 'engineer',
      limit: 5
    });
    expect(results.profiles).to

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3380 chars