CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-openai-to-responses

Migrate Python apps from Azure OpenAI Chat Completions to the Responses API. Covers AzureOpenAI/AsyncAzureOpenAI client migration to the v1 endpoint, streaming, tools, structured output, multi-turn, EntraID auth, and model compatibility checks. Python-focused, Azure OpenAI-specific. USE FOR: migrate to responses API, switch from chat completions, openai responses, upgrade openai SDK, responses API migration, move from completions to responses, gpt-5 migration, azure openai python migration, chat completions to responses, AzureOpenAI to OpenAI client, python azure openai upgrade. DO NOT USE FOR: building new apps from scratch (start with responses directly), Node/TypeScript/C#/Java/Go migrations (this skill is Python-only), Azure infrastructure setup (use azure-prepare), deploying models (use microsoft-foundry).

72

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a dense, highly actionable migration guide with concrete code, search commands, and validation gates, structured with clear references to supporting bundle files. Its main weakness is repetition of the same parameter/content-item mappings across multiple sections, which adds tokens without adding information.

Suggestions

Consolidate the content-item and image_url flattening rules into the single parameter-mapping table and reference it from Step 1/Step 2 instead of restating the rules three times.

Move the framework migration (MAF/LangChain) and frontend migration sections into a dedicated reference file, keeping only the trigger conditions and a pointer inline in SKILL.md.

Drop or trim the 'Why migrate' rationale in Step 2 — Claude already understands why Responses is the unified API — and let the model-compatibility and acceptance-criteria sections carry the justification.

DimensionReasoningScore

Conciseness

Largely information-dense (tables, code, before/after mappings), but several mappings are repeated across sections — content-item and image_url flattening rules appear in Step 1 heuristics, Step 2 migration notes, and the parameter mapping table — and the 'Why migrate' rationale explains concepts Claude already knows.

3 / 5

Actionability

Provides copy-paste executable guidance throughout — a runnable smoke-test script, concrete `rg` search commands, exact before→after heuristics, and a full parameter-mapping table — covering the common migration cases with specific replacements.

5 / 5

Workflow Clarity

A clear sequenced workflow (model-compat CHECK FIRST → Step 0 client migration → Step 1 detect → Step 2 apply) with an explicit acceptance-criteria checklist (rg zero-match gates, pytest) and a smoke-test feedback checkpoint, though validation is end-loaded rather than interleaved per step.

4 / 5

Progressive Disclosure

Well-organized with clear one-level-deep references to real bundle files (cheat-sheet.md, test-migration.md, troubleshooting.md, detect_legacy.py) and a consolidated References section; however substantial detail (framework migration, frontend migration, o-series constraints) is inlined that could arguably live in references.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is concrete, trigger-rich, and tightly scoped: it states what the skill does, when to use it, and when not to, with natural keywords and explicit boundary guidance. It is a strong, low-conflict description.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'AzureOpenAI/AsyncAzureOpenAI client migration to the v1 endpoint, streaming, tools, structured output, multi-turn, EntraID auth, and model compatibility checks' — giving comprehensive coverage of the migration domain.

5 / 5

Completeness

Explicitly answers both 'what' (migrate Python apps from Chat Completions to Responses API, covering the listed capabilities) and 'when' (concrete USE FOR triggers plus a DO NOT USE FOR boundary), each stated with concrete trigger phrases.

5 / 5

Trigger Term Quality

The USE FOR list provides comprehensive natural trigger phrases with synonyms and variations — 'migrate to responses API', 'switch from chat completions', 'gpt-5 migration', 'AzureOpenAI to OpenAI client', 'python azure openai upgrade'.

5 / 5

Distinctiveness Conflict Risk

A clear niche ('Python-focused, Azure OpenAI-specific') with distinct triggers, and the DO NOT USE FOR clause explicitly distinguishes it from azure-prepare and microsoft-foundry and excludes non-Python stacks, minimizing conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
microsoft/ai-agents-for-beginners
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.