jeremylongshore/claude-code-plugins-plus-skills
lindy-pack
plugins/saas-packs/lindy-pack/skills/lindy-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/lindy-pack/skills/lindy-ci-integration/SKILL.md -a claude-code --skill lindy-ci-integrationInstallation paths:
.claude/skills/lindy-ci-integration/# Lindy CI Integration
## Overview
Configure CI/CD pipelines for Lindy AI agent testing and deployment.
## Prerequisites
- GitHub repository with Actions enabled
- Lindy test API key
- npm/pnpm project configured
## Instructions
### Step 1: Create GitHub Actions Workflow
```yaml
# .github/workflows/lindy-ci.yml
name: Lindy CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
LINDY_API_KEY: ${{ secrets.LINDY_API_KEY }}
LINDY_ENVIRONMENT: test
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 linting
run: npm run lint
- name: Run type check
run: npm run typecheck
- name: Run unit tests
run: npm test
- name: Run Lindy integration tests
run: npm run test:integration
env:
LINDY_API_KEY: ${{ secrets.LINDY_TEST_API_KEY }}
- name: Upload coverage
uses: codecov/codecov-action@v3
with:
files: ./coverage/lcov.info
```
### Step 2: Configure Test API Key
```bash
# Add secret to GitHub repository
gh secret set LINDY_TEST_API_KEY --body "lnd_test_xxx"
# Verify secret is set
gh secret list
```
### Step 3: Create Integration Tests
```typescript
// tests/integration/lindy.test.ts
import { Lindy } from '@lindy-ai/sdk';
describe('Lindy Integration', () => {
let lindy: Lindy;
let testAgentId: string;
beforeAll(async () => {
lindy = new Lindy({ apiKey: process.env.LINDY_API_KEY });
// Create test agent
const agent = await lindy.agents.create({
name: 'CI Test Agent',
instructions: 'Respond with "OK" to any input.',
});
testAgentId = agent.id;
});
afterAll(async () => {
// Cleanup test agent
await lindy.agents.delete(testAgentId);
});
test('agent respon