CtrlK
BlogDocsLog inGet started
Tessl Logo

migrate-from-model-serving

Migrate an MLflow ResponsesAgent from Databricks Model Serving to Databricks Apps. Use when: (1) User wants to migrate from Model Serving to Apps, (2) User has a ResponsesAgent with predict()/predict_stream() methods, (3) User wants to convert to @invoke/@stream decorators.

67

Quality

81%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

62%

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

This is a comprehensive and highly actionable migration guide with excellent workflow clarity and validation checkpoints throughout the multi-step process. However, it is significantly over-verbose — it explains basic concepts Claude already knows, repeats patterns across sync/async paths, and includes extensive inline content that would benefit from being split into referenced files. The token cost is high relative to the unique information density.

Suggestions

Reduce verbosity by removing explanations of basic concepts (what async/await does, what generators are, how cp works) and trust Claude's existing knowledge — focus only on domain-specific transformation rules.

Extract the Reference sections (Common Migration Patterns, Resource Type Mapping, File Structure) into separate referenced files to reduce the main skill's token footprint.

Consolidate the sync vs async paths — present the transformation rules as a concise diff or table rather than showing full code blocks for both paths in Steps 2 and 3.

Remove the task list management instructions (TaskCreate, status updates) — these are operational mechanics that don't need detailed per-step reminders and add significant token overhead.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~600+ lines. It explains concepts Claude already knows (what async/await is, what generators are, basic file copying with cp), includes extensive troubleshooting sections, repeats the same patterns multiple times (sync vs async shown redundantly), and has significant padding like explaining what deliverables are and what directory structures look like. The task list management instructions and tool usage (AskUserQuestion, TaskCreate) add operational overhead that inflates token count.

1 / 3

Actionability

The skill provides fully executable commands throughout — specific bash commands with proper flags, complete Python code blocks, curl commands for testing, and concrete databricks CLI invocations. The resource type mapping table and databricks.yml examples are copy-paste ready with clear placeholder conventions.

3 / 3

Workflow Clarity

The multi-step migration process is clearly sequenced (Steps 1-6) with explicit validation checkpoints: authenticate before proceeding, verify downloaded artifacts, test locally before deploying, validate bundle before deploy, and test deployed app. The checklist in 5.5 and the explicit 'only proceed when...' gates provide proper feedback loops for this complex, multi-step operation.

3 / 3

Progressive Disclosure

The content is largely monolithic — all migration patterns, troubleshooting, reference tables, and detailed examples are inline in a single massive document. The Reference sections at the bottom help somewhat, but the core migration steps (especially Step 2 and Step 3) contain extensive inline code examples that could be split into separate files. There are references to a 'deploy skill' but no other structured references to supporting files.

2 / 3

Total

9

/

12

Passed

Description

100%

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

This is an excellent skill description that clearly defines a narrow, specific task with concrete technical details. It uses proper third-person voice, includes natural trigger terms that users in this domain would use, and provides explicit 'Use when' guidance with three distinct trigger conditions. The description is concise yet comprehensive.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: migrating an MLflow ResponsesAgent, converting from Model Serving to Databricks Apps, converting predict()/predict_stream() methods to @invoke/@stream decorators. These are highly specific technical actions.

3 / 3

Completeness

Clearly answers both 'what' (migrate an MLflow ResponsesAgent from Model Serving to Apps) and 'when' with explicit numbered trigger conditions covering three distinct scenarios.

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'MLflow', 'ResponsesAgent', 'Databricks Model Serving', 'Databricks Apps', 'predict()', 'predict_stream()', '@invoke', '@stream', 'migrate'. These are the exact terms a user working in this domain would use.

3 / 3

Distinctiveness Conflict Risk

Extremely specific niche combining MLflow, ResponsesAgent, Databricks Model Serving, and Databricks Apps migration. This is unlikely to conflict with any other skill due to the highly specialized domain and specific technology stack.

3 / 3

Total

12

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (968 lines); consider splitting into references/ and linking

Warning

Total

10

/

11

Passed

Repository
databricks/app-templates
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.