Agent skill

Lindy CI Integration

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Configure CI/CD pipelines for testing Lindy AI agent integrations.

MITAuto-check passedDevOps & Cloud

Install Lindy CI Integration

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-ci-integration -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace lindy-ci-integration --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/lindy-ci-integration .claude/skills/lindy-ci-integration && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lindy-ci-integration
GitHub stars
2.8k
Token cost
~1.8k tokens
SKILL.md length
294 words
Files
2 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Configure CI/CD pipelines for testing Lindy AI agent integrations.

  • Works in 5 steps: Store Secrets in GitHub → Create GitHub Actions Workflow → Write Webhook Handler Tests → …
  • Setting up automated testing
  • SKILL.md covers Overview, Prerequisites, Instructions and Test Categories, plus 5 more sections
  • Calls gh; reaches public.lindy.ai; needs LINDY_WEBHOOK_SECRET and VALID_SECRET

What it does

Lindy CI Integration is an agent skill from jeremylongshore/tons-of-skills-marketplace. Configure CI/CD pipelines for testing Lindy AI agent integrations. Use when setting up automated testing, configuring GitHub Actions for webhook receiver tests, or validating agent connectivity in CI. Trigger with phrases like "lindy CI", "lindy GitHub Actions", "lindy automated tests", "CI lindy pipeline".

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/implementation-guide.md`). Compatibility notes: Designed for Claude Code

It sits in DevOps & Cloud, covering CI/CD and Webhooks. It works with GitHub Actions and GitHub. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Setting up automated testing
  • Configuring GitHub Actions for webhook receiver tests
  • Validating agent connectivity in CI
  • With phrases like lindy CI

Example prompts

  • “lindy CI”
  • “lindy GitHub Actions”
  • “lindy automated tests”
  • “/lindy-ci-integration”

Requirements

  • Node.js
  • A credential in LINDY_API_KEY
  • A credential in LINDY_WEBHOOK_SECRET
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(gh:*), Bash(npm:*)

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Store Secrets in GitHub
  2. Create GitHub Actions Workflow
  3. Write Webhook Handler Tests
  4. Add Smoke Test for Live Connectivity
  5. PR Status Check

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(gh:*)
    • Bash(npm:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • public.lindy.ai

    Also links to:

    • docs.github.com
    • vitest.dev
    • docs.lindy.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LINDY_WEBHOOK_SECRET
    • VALID_SECRET
    • LINDY_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Lindy CI Integration loads about 1.8k tokens when it runs, and up to ~2.9k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 294 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 294 words, ~1,829 tokens.

Download SKILL.mdSave it as .claude/skills/lindy-ci-integration/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
lindy-ci-integration
description
Configure CI/CD pipelines for testing Lindy AI agent integrations. Use when setting up automated testing, configuring GitHub Actions for webhook receiver tests, or validating agent connectivity in CI. Trigger with phrases like "lindy CI", "lindy GitHub Actions", "lindy automated tests", "CI lindy pipeline".
allowed-tools
Read, Write, Edit, Bash(gh:*), Bash(npm:*)
compatibility
Designed for Claude Code
version
1.20.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, lindy, testing, ci-cd

Lindy CI Integration

Overview

Lindy agents run on Lindy's managed platform — CI/CD tests your integration code: webhook receivers, callback handlers, and application logic that interacts with Lindy agents. Test webhook signature verification, payload processing, and error handling without hitting live Lindy endpoints.

Prerequisites

  • GitHub repository with Actions enabled
  • Lindy API key and webhook secret stored as GitHub secrets
  • Node.js project with webhook receiver code
  • Completed lindy-install-auth setup

Instructions

Step 1: Store Secrets in GitHub
bash
gh secret set LINDY_API_KEY --body "lnd_live_xxxxxxxxxxxx"
gh secret set LINDY_WEBHOOK_SECRET --body "whsec_xxxxxxxxxxxx"
Step 2: Create GitHub Actions Workflow
yaml
# .github/workflows/lindy-integration.yml
name: Lindy Integration Tests

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

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'

      - run: npm ci

      - name: Run unit tests
        run: npm test
        env:
          LINDY_WEBHOOK_SECRET: ${{ secrets.LINDY_WEBHOOK_SECRET }}

      - name: Validate webhook handler
        run: npm run test:webhook

      - name: Connectivity check (non-blocking)
        continue-on-error: true
        run: |
          curl -s -o /dev/null -w "%{http_code}" \
            -X POST "https://public.lindy.ai/api/v1/webhooks/health" \
            -H "Authorization: Bearer ${{ secrets.LINDY_API_KEY }}"
Step 3: Write Webhook Handler Tests
typescript
// __tests__/webhook-handler.test.ts
import { describe, it, expect, vi } from 'vitest';
import request from 'supertest';
import { app } from '../src/server';

describe('Lindy Webhook Handler', () => {
  const VALID_SECRET = process.env.LINDY_WEBHOOK_SECRET || 'test-secret';

  it('rejects requests without auth header', async () => {
    const res = await request(app)
      .post('/lindy/callback')
      .send({ event: 'test' });
    expect(res.status).toBe(401);
  });

  it('rejects requests with wrong auth token', async () => {
    const res = await request(app)
      .post('/lindy/callback')
      .set('Authorization', 'Bearer wrong-token')
      .send({ event: 'test' });
    expect(res.status).toBe(401);
  });

  it('accepts requests with valid auth token', async () => {
    const res = await request(app)
      .post('/lindy/callback')
      .set('Authorization', `Bearer ${VALID_SECRET}`)
      .set('Content-Type', 'application/json')
      .send({
        taskId: 'task_123',
        status: 'completed',
        result: { summary: 'Test result' },
      });
    expect(res.status).toBe(200);
    expect(res.body.received).toBe(true);
  });

  it('handles malformed payload gracefully', async () => {
    const res = await request(app)
      .post('/lindy/callback')
      .set('Authorization', `Bearer ${VALID_SECRET}`)
      .set('Content-Type', 'application/json')
      .send('not-json');
    expect(res.status).toBeLessThan(500);
  });

  it('processes webhook payload fields correctly', async () => {
    const payload = {
      taskId: 'task_456',
      status: 'completed',
      result: {
        classification: 'billing',
        sentiment: 'neutral',
        summary: 'Customer asks about invoice #789',
      },
    };

    const res = await request(app)
      .post('/lindy/callback')
      .set('Authorization', `Bearer ${VALID_SECRET}`)
      .set('Content-Type', 'application/json')
      .send(payload);

    expect(res.status).toBe(200);
  });
});
Step 4: Add Smoke Test for Live Connectivity
typescript
// __tests__/connectivity.test.ts
import { describe, it, expect } from 'vitest';

describe('Lindy Connectivity (smoke)', () => {
  it('can reach Lindy webhook endpoint', async () => {
    const webhookUrl = process.env.LINDY_WEBHOOK_URL;
    if (!webhookUrl) {
      console.warn('LINDY_WEBHOOK_URL not set, skipping connectivity test');
      return;
    }

    const response = await fetch(webhookUrl, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.LINDY_WEBHOOK_SECRET}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ test: true, ci: true }),
    });

    expect(response.ok).toBe(true);
  });
});
Step 5: PR Status Check
yaml
# Add to existing workflow
      - name: Post test results
        if: always()
        uses: actions/github-script@v7
        with:
          script: |
            const status = '${{ job.status }}' === 'success' ? 'Passed' : 'Failed';
            if (context.payload.pull_request) {
              github.rest.issues.createComment({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: context.payload.pull_request.number,
                body: `Lindy Integration Tests: **${status}**`
              });
            }

Test Categories

CategoryWhat It TestsRequires Live Lindy?
Auth verificationWebhook signature checkingNo
Payload processingData extraction and transformationNo
Error handlingMalformed input, edge casesNo
ConnectivityWebhook endpoint reachabilityYes (non-blocking)
End-to-endFull trigger -> callback cycleYes

Error Handling

IssueCauseSolution
Secret not found in CINot configuredgh secret set LINDY_WEBHOOK_SECRET
Connectivity test failsLindy endpoint unreachable in CIMark as continue-on-error: true
Tests timeoutNetwork latencySet timeout-minutes: 10 on job
Flaky live testsLindy processing delayAdd retry logic or mock external calls

Output

Produce a CI integration record containing the workflow trigger, test fixtures, required secrets by name only, failure ownership, and the command or dashboard evidence proving that the automation ran against a non-production agent.

Examples

For a pull request, trigger a disposable Lindy test agent with fixed fixture input, wait for its terminal status, and fail the workflow when the expected action is absent or the agent reports an error. Keep the production agent ID out of the workflow and promote only after the fixture result is reviewed.

Resources

Next Steps

Proceed to lindy-deploy-integration for deployment automation.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/.curated/lindy-ci-integration of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation-guide.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Lindy CI Integration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lindy CI Integration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lindy CI Integration this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.8kAutomated safety check: PassMIT
Omh GitHub Event Opsrlaope/oh-my-hermes3.2k—~1.7kAutomated safety check: PassMIT
GitHub Actions Patbifrost-proxy/bifrost161—~2kAutomated safety check: PassMIT
Nushellccusage/ccusage19k—~938Automated safety check: PassCustom licence
Make GitHub Actions Workflowdotnet/efcore15k—~2.1kAutomated safety check: PassMIT
AI News RadarLearnPrompt/ai-news-radar1.8k—~2.5kAutomated safety check: NotesMIT

Similar skills

  • Omh GitHub Event Ops

    rlaope/oh-my-hermes

    [omh] Incoming GitHub PR, issue, or CI event: GitHub event operations: route PR, issue, CI, and review webhook events into triage, review, or fix handoff cards.

    3.2k GitHub stars~1.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • GitHub Actions Pat

    bifrost-proxy/bifrost

    用 Personal Access Token 通过 GitHub REST API 分析 Actions CI 的失败 run/job/step、拉取日志、轮询运行状态、做 PR code review,并驱动 fix → push → watch → iterate 的闭环。Token 只从 GITHUBTOKEN 环境变量读取,不落盘、不回显。适合在 bifrost remote /…

    161 GitHub stars~2k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Nushell

    ccusage/ccusage

    Guides ccusage Nushell scripts. An agent skill from ccusage/ccusage.

    19k GitHub stars~938 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Official

    Create GitHub Actions workflows for CI, automation, or PR management.

    15k GitHub stars~2.1k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • AI News Radar

    LearnPrompt/ai-news-radar

    A skill your agent uses when working on AI News Radar, 24 小时 AI 更新雷达, AI 更新雷达, 伯乐Skill, or Scout Skill: finding high-signal AI/tech sources, adding RSS/OPML/GitHub feeds, checking source health…

    1.8k GitHub stars~2.5k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Clawsweeper

    openclaw/openclaw

    A skill your agent uses for all ClawSweeper work: OpenClaw issue/PR sweep reports, repair jobs, cloud fix PRs, @clawsweeper maintainer mention commands, trusted ClawSweeper-reviewed…

    392k GitHub stars~3k tokensUpdated today
    DevOps & CloudAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Lindy CI Integration

What does Lindy CI Integration do?

Configure CI/CD pipelines for testing Lindy AI agent integrations. Lindy CI Integration is an agent skill from jeremylongshore/tons-of-skills-marketplace. Configure CI/CD pipelines for testing Lindy AI agent integrations.

When should I use Lindy CI Integration?

Lindy CI Integration fits situations like: setting up automated testing; configuring GitHub Actions for webhook receiver tests; validating agent connectivity in CI; with phrases like lindy CI.

How do I install Lindy CI Integration in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-ci-integration -a claude-code`. Or copy the skill folder (skills/.curated/lindy-ci-integration in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/lindy-ci-integration in your project. Claude Code loads it when a task matches its description.

How do I install Lindy CI Integration in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-ci-integration -a codex`. Or copy the skill folder (skills/.curated/lindy-ci-integration in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/lindy-ci-integration in your project. Codex loads it when a task matches its description.

Can I use Lindy CI Integration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lindy-ci-integration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lindy-ci-integration, .gemini/skills/lindy-ci-integration, .github/skills/lindy-ci-integration and .opencode/skills/lindy-ci-integration in your project.

What does Lindy CI Integration need to run?

Going by SKILL.md and its folder, Lindy CI Integration needs the command-line tools its instructions call (gh) and credentials named LINDY_WEBHOOK_SECRET, VALID_SECRET and LINDY_API_KEY. Our summary lists: Node.js; A credential in LINDY_API_KEY; A credential in LINDY_WEBHOOK_SECRET. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(gh:*), Bash(npm:*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Lindy CI Integration access the network?

SKILL.md names 4 domains. In commands or code: public.lindy.ai; the agent is likely to contact it when it follows the instructions. As links in the text: docs.github.com, vitest.dev and docs.lindy.ai. This is read from the text; nothing was executed.

Is Lindy CI Integration safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lindy CI Integration use?

Lindy CI Integration is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lindy CI Integration use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.

What are the alternatives to Lindy CI Integration?

Skills that share tags, products or a category with Lindy CI Integration: Omh GitHub Event Ops (rlaope/oh-my-hermes, 3.2k stars), GitHub Actions Pat (bifrost-proxy/bifrost, 161 stars), Nushell (ccusage/ccusage, 19k stars) and Make GitHub Actions Workflow (dotnet/efcore, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lindy CI Integration?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.