CtrlK
BlogDocsLog inGet started
Tessl Logo

migrate-cocoapods-to-spm

Migrate KMP projects from CocoaPods (kotlin("native.cocoapods")) to Swift Package Manager (swiftPMDependencies DSL) — replaces pod() with swiftPackage(), transforms cocoapods.* imports to swiftPMImport.*, and reconfigures the Xcode project.

67

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

85%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 content is a well-structured, actionable migration runbook with strong workflow sequencing, validation checkpoints, and clean progressive disclosure into real reference files. The main slack is minor: a few documented placeholders and some rationale that could be tightened.

DimensionReasoningScore

Conciseness

The body is dense and actionable with little generic padding — it avoids explaining what CocoaPods/KMP are and focuses on novel migration specifics — though some embedded rationale and caveats could be trimmed further.

4 / 5

Actionability

Provides concrete, runnable commands (grep, ./gradlew, xcodebuild, sed, pod deintegrate, rm) and Kotlin DSL snippets; the templated placeholders (<kotlin-version>, <custom-repo-url>, moduleName) are clearly documented but keep it just short of copy-paste-ready.

4 / 5

Workflow Clarity

Eight phases are explicitly sequenced with an overview table and real validation checkpoints — pre-migration build check (1.0), git status verification before destructive deletes (5.3), Phase 7 verification — plus feedback loops like 'if integrateEmbedAndSign is skipped, remove disablers then re-run'.

5 / 5

Progressive Disclosure

SKILL.md is a clear overview of the phased workflow; detailed material (DSL reference, pod-to-SPM mapping, troubleshooting, extras patterns, report template) is split into five real, one-level-deep reference files that are clearly signaled inline and indexed in 'Additional Resources'.

5 / 5

Total

18

/

20

Passed

Description

75%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 specific, distinctive, and lists concrete migration actions, but it lacks an explicit "Use when…" trigger clause, which caps its completeness. Adding a trigger sentence would lift the completeness and trigger_term_quality dimensions.

Suggestions

Add a 'Use when…' clause naming the trigger, e.g. 'Use when migrating a KMP project from kotlin("native.cocoapods") to the swiftPMDependencies DSL, or when the user mentions moving off CocoaPods to SPM.'

Include the common abbreviation 'SPM' alongside 'Swift Package Manager' to capture how users most often phrase the request.

DimensionReasoningScore

Specificity

Names the domain and lists multiple concrete actions — "replaces pod() with swiftPackage()", "transforms cocoapods.* imports to swiftPMImport.*", "reconfigures the Xcode project" — giving comprehensive coverage of what the migration does.

5 / 5

Completeness

Has a clear "what" (migrate KMP projects from CocoaPods to SwiftPM with named actions) but no "Use when…" clause or equivalent explicit trigger guidance, so per the rubric cap completeness is held at 3.

3 / 5

Trigger Term Quality

Strong natural keywords ("KMP", "CocoaPods", "Swift Package Manager", "Xcode project") that users would actually say, but it omits common synonyms/abbreviations such as "SPM" and lacks explicit trigger phrasing.

4 / 5

Distinctiveness Conflict Risk

Highly specific niche — KMP projects moving off kotlin("native.cocoapods") to the swiftPMDependencies DSL — with distinct triggers and minimal overlap with other skills.

5 / 5

Total

17

/

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
Kotlin/kmp-cocoapods-to-spm-migration
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.