CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

migrate-pipeline

Migrate Harness pipelines from v0 to v1 simplified format via MCP tools. Converts expressions from angle-bracket to ${{ }} syntax, lowercases type names, simplifies structure, and preserves variables, failure strategies, and conditional logic. Use when asked to migrate a pipeline, convert v0 to v1, upgrade pipeline format, modernize pipeline syntax, or compare v0 vs v1. Trigger phrases: migrate pipeline, convert to v1, upgrade pipeline, v0 to v1, modernize pipeline, simplified format.

69

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

68%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.

A well-built, concrete migration skill: precise MCP tool calls, an exact expression mapping table, and before/after structure examples make it highly actionable. Its main weakness is workflow validation — the destructive update step and the batch-migration example lack explicit validate-before-write gates, capping workflow clarity at 3. Secondary issues are minor duplication between the checklist and Performance Notes and an unspecified list tool for the batch example.

Suggestions

Add an explicit validation step between conversion and the optional update: a numbered step that verifies expression conversion, checks the v0/v1 side-by-side comparison, and states 'only proceed to harness_update when validation passes' — and repeat the check per pipeline in the batch 'convert all pipelines' case.

Specify the MCP tool call (with parameters) used to list pipelines in the 'Convert all pipelines in the project' example, mirroring the concrete harness_get/harness_update parameter blocks.

De-duplicate the Migration Checklist and Performance Notes — e.g., 'Verify all expressions are converted' appears in both — and trim the v0 YAML example to only the fields that change in the v1 mapping.

DimensionReasoningScore

Conciseness

The body is efficient — no concept explanations Claude already knows, and every section (mapping table, v0/v1 YAML comparison, checklist, troubleshooting) serves the task. Minor trim opportunities: the 17-line v0 YAML block is longer than needed to demonstrate the mapping, and the checklist and Performance Notes overlap ('Verify all expressions are converted' restates the checklist item), so it falls just below the 'every token earns its place' anchor.

4 / 5

Actionability

Guidance is mostly executable: exact MCP tool calls with parameters ('harness_get'/'harness_update' with resource_type, resource_id, org_id, project_id), a concrete 8-row expression mapping table, and before/after YAML. Minor gaps keep it from 5: the batch example 'Convert all pipelines in the project - List all, convert each' never specifies the list tool or its parameters, and 'Complex failure strategies may need manual adjustment' gives no concrete handling.

4 / 5

Workflow Clarity

Steps 1–4 are clearly sequenced, but validation checkpoints are implicit rather than explicit: Step 3 'Present both v0 and v1 side-by-side for review' and the Performance Note 'Compare the v0 and v1 outputs to confirm no functionality was lost' are not a numbered validate-before-update gate on the destructive 'harness_update' call. The batch case ('Convert all pipelines in the project - List all, convert each') has no per-pipeline validation at all, and the rubric caps batch/destructive workflows lacking validation at 3, so 4 is not available despite the good sequencing.

3 / 5

Progressive Disclosure

Good structure: clear section headers, and the inline expression-mapping table and v0/v1 examples are core working content that legitimately belongs in SKILL.md. No bundle files exist to reference, and the body is well-organized. Not 5 because at ~130 lines the mapping table and troubleshooting details could plausibly live in one-level-deep reference files, and the under-50-line exception for a single self-contained file does not apply.

4 / 5

Total

15

/

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 exemplary: concrete third-person actions, an explicit 'Use when' clause with concrete trigger phrases, and comprehensive natural-language synonyms for the migration task. The only minor nit is that the trailing 'Trigger phrases:' list partially duplicates the 'Use when' clause, but no dimension is measurably weakened by it.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Converts expressions from angle-bracket to ${{ }} syntax, lowercases type names, simplifies structure, and preserves variables, failure strategies, and conditional logic' — covering the transformation mechanics comprehensively and in third person, matching the anchor for multiple specific concrete actions. Not 4 because no meaningful capability gaps remain unmentioned.

5 / 5

Completeness

Explicitly answers both: what — 'Migrate Harness pipelines from v0 to v1 simplified format via MCP tools' with concrete transformation details; when — 'Use when asked to migrate a pipeline, convert v0 to v1, upgrade pipeline format, modernize pipeline syntax, or compare v0 vs v1.' This mirrors the anchor-5 example structure exactly, so 4 would undervalue the explicit and concrete 'when' clause.

5 / 5

Trigger Term Quality

Natural phrases users would actually say are comprehensively listed with synonyms: 'migrate pipeline, convert to v1, upgrade pipeline, v0 to v1, modernize pipeline, simplified format', plus 'compare v0 vs v1'. Not 4 because the synonym coverage (migrate/convert/upgrade/modernize) spans the realistic phrasing space for this task; there are no relevant file extensions to include.

5 / 5

Distinctiveness Conflict Risk

The niche is highly specific (Harness v0→v1 pipeline migration via MCP) with distinct triggers that would not plausibly fire for unrelated skills. The narrow 'v0 to v1'/'simplified format' vocabulary ensures minimal 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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

harness/harness-ai

Path

plugins/claude/skills/migrate-pipeline/SKILL.md

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.