Skip to content

feat(agentcontrol): add legacy-sdk-migrate skill for moving to the handler-based AI SDKs - #250

Open
tracisiebel wants to merge 6 commits into
mainfrom
devin/1794003309-legacy-ai-sdk-migration
Open

tracisiebel wants to merge 6 commits into
mainfrom
devin/1794003309-legacy-ai-sdk-migration

Conversation

@tracisiebel

@tracisiebel tracisiebel commented Nov 6, 2026 •

Copy link
Copy Markdown

Summary

Adds agentcontrol/legacy-sdk-migrate, an agent skill version of Migrate from the legacy AI SDKs, so customers can have an agent move them from launchdarkly-server-sdk-ai / @launchdarkly/server-sdk-ai to the current handler-based SDKs.

  • Explore → Assess → Execute → Verify workflow: inventory legacy calls (LDAIClient, initAi, completion_config, agent_config, trackers, judges, graphs), map each to a convenience function, config().invoke(), or graph(), then confirm no legacy references remain
  • Covers packages, lazy init / init_client(), tools and Registry, streaming and history, async judges (skip_judges + run_judge()), graphs (graph(), resolve_graph() + native runners)
  • Fallbacks: there's no fallback argument and invoke() raises when the variation is disabled, so the skill ports enabled=False branches to error handling and inspect_config() / inspectConfig()
  • references/api-mapping.md: before/after code in Python and Node.js
  • README row, CHANGELOG entry, regenerated skills.json

Testing

  • Not applicable
  • Manual (describe below)

python3 scripts/validate_skills.py, python3 -m unittest discover -s tests, python3 scripts/generate_catalog.py --check, and (cd evals && npm test) all pass. API and package names checked against launchdarkly/python-ai-sdk and launchdarkly/js-ai-sdk source.

Notes

Details
  • Doc discrepancy: the migration page uses createOpenAIHandler, createOpenAIAgentHandler, and create_openai_agent_handler, which aren't exported. The SDKs export createOpenAIMessagesHandler, createOpenAIAgentsHandler, and create_openai_agents_handler. The skill uses the exported names and warns agents about the mismatch. The docs page should be fixed separately.
  • Not covered by the guide: the current SDKs have no track_feedback / trackFeedback equivalent, so the skill tells the agent to flag the gap to the user instead of deleting those calls.
  • Separate from agentcontrol/migrate, which moves hardcoded prompts into AgentControl. Related open PRs fix(migrate): roll forward to the new AI SDK #218, fix(built-in-metrics): roll forward to the new AI SDK #219, and fix(tools): roll forward to the new AI SDK #221 update other skills to the new SDK and don't overlap with this one.
  • Not added to the curated .claude-plugin/plugin.json list, matching migrate. Codex and Cursor pick it up from the directory.
  • No evals suite in this PR.

Link to Devin session: https://app.devin.ai/sessions/d950e07d53954b9880874f06e845ac40
Open in Devin Desktop: https://app.devin.ai/desktop/session/d950e07d53954b9880874f06e845ac40?variant=devin
Requested by: @tracisiebel


Note

Overview
Introduces agentcontrol/legacy-sdk-migrate (0.1.0), an agent skill that walks through upgrading apps from the legacy Python/Node AI SDKs (ldai, @launchdarkly/server-sdk-ai) to the handler-based SDKs via Explore → Assess → Execute → Verify.

The skill and references/api-mapping.md spell out package swaps, config().invoke() / convenience functions / graph(), registries and tools, streaming/history, replacing trackers with automatic metrics, inspect_config fallbacks instead of enabled=False, background judges with explicit track(), and graph telemetry/key changes. README and skills.json register the skill; agentcontrol/migrate is clarified as for hardcoded prompts (not legacy SDK upgrades). tests/test_legacy_sdk_migrate.py locks in judge-tracking guidance in the docs.

Reviewed by Cursor Bugbot for commit 784614a. Bugbot is set up for automated code reviews on this repo. Configure here.

…ndler-based AI SDKs

Co-Authored-By: Traci Siebel <traci@launchdarkly.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Skill eval results

Skill Before After Δ
agentcontrol/configs-create 100/100 (4/4) 100/100 (4/4) no change
agentcontrol/configs-update 80/100 (4/5) 80/100 (4/5) no change
agentcontrol/configs-variations 80/100 (4/5) 80/100 (4/5) no change
agentcontrol/tools 75/100 (3/4) 75/100 (3/4) no change
aws-devops-agent/experiment-orchestration - 100/100 (9/9) new
experiments/launchdarkly-experiment-guide - 100/100 (5/5) new
experiments/launchdarkly-experiment-hypothesis-builder - 100/100 (13/13) new
experiments/launchdarkly-experiment-setup - 100/100 (8/8) new
feature-flags/flag-and-release-change - 100/100 (4/4) new
feature-flags/flag-release - 80/100 (4/5) new
feature-flags/launchdarkly-flag-command - 100/100 (3/3) new
feature-flags/launchdarkly-flag-create 100/100 (3/3) 100/100 (4/4) no change
feature-flags/launchdarkly-flag-drift - 100/100 (4/4) new
feature-flags/should-flag-change - 100/100 (17/17) new
onboarding - 86/100 (6/7) new
release-autopilot/launchdarkly-release-autopilot-onboarding - 100/100 (25/25) new

Only suites whose source actually changed since their last recorded score were re-run. Soft-failing while we stabilise the baseline.

devin-ai-integration Bot and others added 3 commits November 9, 2026 17:20
…cy-ai-sdk-migration

Co-Authored-By: Ben Woskow <bwoskow@launchdarkly.com>

# Conflicts:
#	CHANGELOG.md
…, and tool/template details

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@sattensil
sattensil marked this pull request as ready for review November 9, 2026 19:05

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d7c0bf3. Configure here.

sattensil and others added 2 commits November 9, 2026 11:32
…ack re-raise, and judge track_data

Co-authored-by: Cursor <cursoragent@cursor.com>
…, custom graph walks, and content capture

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants