Synthèse automatique
Guide pas à pas pour mettre à niveau le SDK Lindy vers une nouvelle version et migrer le code existant en gérant les changements incompatibles.
Points forts
- Fournit des correspondances concrètes entre les anciennes et nouvelles syntaxes (initialisation du client, signature de run, noms d'événements)
- Inclut une liste de contrôle de migration complète, du backup à la surveillance en production
- Propose un script bash de migration avec rollback automatique en cas d'échec des tests
- Donne des tests de fumée TypeScript prêts à l'emploi pour valider la migration
Limites
- Ne couvre explicitement que le passage v1.x vers v2.x du SDK
- Suppose que le changelog et la disponibilité de l'environnement de test sont déjà acquis
- Les commandes npm et les chemins de fichiers sont génériques et doivent être adaptés au projet
À utiliser lorsqu'on doit changer de version du SDK Lindy et mettre à jour le code, les imports et les signatures d'appels sans casser la production.
À éviter pour une première installation du SDK ou pour des questions d'utilisation courante de l'API hors contexte de changement de version.
Analyse de sécurité
PrudenceThe 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.
Exemples
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.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
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. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Bash(npm:*)
Extrait original : Prerequisites
- Current SDK version identified
- Changelog reviewed for target version
- Backup of current configuration
- Test environment available
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh'openskills read 'lindy-sdk-upgrade-migration-mmlj2nvh'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/lindy-sdk-upgrade-migration-mmlj2nvh/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.