Automated summary
A step-by-step guide for upgrading the Lindy SDK to a new version and migrating existing code while handling breaking changes.
Strengths
- Provides concrete old-to-new mappings for initialization, the run signature, and renamed events
- Includes a full migration checklist from backup through production monitoring
- Ships a bash migration script with automatic rollback when tests fail
- Offers ready-made TypeScript smoke tests to validate the migration
Limitations
- Explicitly covers only the v1.x to v2.x upgrade path
- Assumes the changelog has been reviewed and a test environment is already available
- npm commands and file paths are generic and need adapting to the actual project
Use it when you need to bump the Lindy SDK version and update imports, client setup, and call signatures without breaking production.
Avoid it for a first-time SDK install or for general API usage questions unrelated to a version change.
Security analysis
CautionThe skill is legitimate SDK upgrade guidance and does not appear to exfiltrate secrets, use obfuscated payloads, or disable safety controls. However, it authorizes npm installs that may run arbitrary package scripts and includes rm -rf-based rollback logic plus live API tests, so it warrants caution rather than safe.
- •Uses Bash(npm:*) and npm install @lindy-ai/sdk@latest, which can execute package lifecycle/postinstall scripts from the registry, creating a supply-chain risk.
- •The example migration script performs destructive filesystem operations (rm -rf src, src.backup, package.json.backup) and rollback depends on correct working directory and backup state.
- •Tests call the external Lindy API using LINDY_API_KEY, so live credentials and network access are involved.
Examples
Upgrade our project to the latest @lindy-ai/sdk and walk me through the breaking changes I need to fix.Our code uses new Lindy(apiKey) and client.runAgent(...). Migrate it to the v2 API and show the updated patterns.Write migration tests for the upgraded Lindy SDK covering client init, agent listing, and agent run, then run them.name: lindy-upgrade-migration description: | Guide for upgrading Lindy SDK and migrating between versions. Use when upgrading SDK versions, migrating agents, or handling breaking changes. Trigger with phrases like "upgrade lindy", "lindy migration", "lindy breaking changes", "update lindy SDK". allowed-tools: Read, Write, Edit, Bash(npm:*) version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io compatible-with: claude-code, codex, openclaw
Lindy Upgrade & Migration
Overview
Guide for safely upgrading Lindy SDK versions and migrating configurations.
Prerequisites
- Current SDK version identified
- Changelog reviewed for target version
- Backup of current configuration
- Test environment available
Instructions
Step 1: Check Current Version
# Check installed version
npm list @lindy-ai/sdk
# Check latest available
npm view @lindy-ai/sdk version
# View changelog
npm view @lindy-ai/sdk changelog
Step 2: Review Breaking Changes
// Common breaking changes by version
// v1.x -> v2.x
// - Client initialization changed
// Before: new Lindy(apiKey)
// After: new Lindy({ apiKey })
// - Agent.run() signature changed
// Before: agent.run(input)
// After: lindy.agents.run(agentId, { input })
// - Events renamed
// Before: 'complete'
// After: 'completed'
Step 3: Update Dependencies
# Update to latest
npm install @lindy-ai/sdk@latest
# Or specific version
npm install @lindy-ai/sdk@2.0.0
# Check for peer dependency warnings
npm ls @lindy-ai/sdk
Step 4: Update Code
// Migration script for v1 -> v2
// Old code (v1)
import Lindy from '@lindy-ai/sdk';
const client = new Lindy(process.env.LINDY_API_KEY);
const result = await client.runAgent('agt_123', 'Hello');
// New code (v2)
import { Lindy } from '@lindy-ai/sdk';
const client = new Lindy({ apiKey: process.env.LINDY_API_KEY });
const result = await client.agents.run('agt_123', { input: 'Hello' });
Step 5: Run Migration Tests
// tests/migration.test.ts
import { Lindy } from '@lindy-ai/sdk';
describe('SDK Migration', () => {
const lindy = new Lindy({ apiKey: process.env.LINDY_API_KEY });
test('client initialization works', async () => {
const user = await lindy.users.me();
expect(user.email).toBeDefined();
});
test('agent operations work', async () => {
const agents = await lindy.agents.list();
expect(Array.isArray(agents)).toBe(true);
});
test('run operations work', async () => {
const result = await lindy.agents.run('agt_test', {
input: 'Test migration',
});
expect(result.output).toBeDefined();
});
});
Migration Checklist
[ ] Backup current configuration
[ ] Review changelog for breaking changes
[ ] Update package.json
[ ] Run npm install
[ ] Update import statements
[ ] Update client initialization
[ ] Update method calls
[ ] Run test suite
[ ] Test in staging environment
[ ] Deploy to production
[ ] Monitor for issues
Output
- Updated SDK to target version
- Migrated code patterns
- Passing test suite
- Documented changes
Error Handling
| Issue | Cause | Solution | |-------|-------|----------| | Import error | Named exports changed | Check new import syntax | | Type error | Interface changed | Update TypeScript types | | Runtime error | Method signature changed | Check new API |
Examples
Automated Migration Script
#!/bin/bash
# migrate-lindy.sh
echo "Starting Lindy SDK migration..."
# Backup
cp package.json package.json.backup
cp -r src src.backup
# Update
npm install @lindy-ai/sdk@latest
# Run tests
npm test
if [ $? -eq 0 ]; then
echo "Migration successful!"
rm -rf src.backup package.json.backup
else
echo "Migration failed. Rolling back..."
mv package.json.backup package.json
rm -rf src && mv src.backup src
npm install
exit 1
fi
Resources
Next Steps
Proceed to Pro tier skills for advanced features.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/lindy-sdk-upgrade-migration-mmlj2nvh/download' --output '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md.part' && mv '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md.part' '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read, Write, Edit, Bash(npm:*)
Original excerpt: Prerequisites
- Current SDK version identified
- Changelog reviewed for target version
- Backup of current configuration
- Test environment available
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md' && test -s '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/lindy-upgrade-migration' && cp -R '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh' '.claude/skills/lindy-upgrade-migration'Codex
test -f '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md' && test -s '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/lindy-upgrade-migration' && cp -R '.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh' '.agents/skills/lindy-upgrade-migration'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh'openskills read 'lindy-sdk-upgrade-migration-mmlj2nvh'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.