Comprehensive Apollo.io migration strategies. Use when migrating from other CRMs to Apollo, consolidating data sources, or executing large-scale data migrations. Trigger with phrases like "apollo migration", "migrate to apollo", "apollo data import", "crm to apollo", "apollo migration strategy".
81
78%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/saas-packs/apollo-pack/skills/apollo-migration-deep-dive/SKILL.mdQuality
Discovery
79%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 excels at trigger term coverage, completeness of when-to-use guidance, and distinctiveness due to its narrow Apollo.io migration focus. However, it is notably weak on specificity—it never describes concrete actions the skill performs, relying on the vague phrase 'comprehensive migration strategies' instead of listing specific capabilities like field mapping, data transformation, or deduplication handling.
Suggestions
Replace 'Comprehensive Apollo.io migration strategies' with specific concrete actions, e.g., 'Maps CRM fields to Apollo.io schema, transforms and deduplicates contact data, generates migration plans, and validates imported records.'
Add mention of specific source CRMs (e.g., Salesforce, HubSpot) to further improve specificity and trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'Comprehensive Apollo.io migration strategies' but never lists concrete actions. It doesn't specify what the skill actually does—no mention of mapping fields, transforming data, handling deduplication, creating migration plans, etc. 'Migration strategies' is abstract. | 1 / 3 |
Completeness | It explicitly answers both 'what' (migration strategies for Apollo.io) and 'when' (migrating from other CRMs, consolidating data sources, large-scale data migrations) with a clear 'Use when' clause and explicit trigger phrases. | 3 / 3 |
Trigger Term Quality | The description includes a good set of natural trigger terms: 'apollo migration', 'migrate to apollo', 'apollo data import', 'crm to apollo', 'apollo migration strategy'. These are phrases users would naturally say when needing this skill. | 3 / 3 |
Distinctiveness Conflict Risk | The skill is clearly scoped to Apollo.io migrations specifically, which is a narrow niche. The trigger terms are highly specific to Apollo and CRM migration, making conflicts with other skills unlikely. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured, highly actionable migration skill with clear step-by-step workflows, validation gates, error handling, and rollback procedures. Its main weakness is length—the fully inline code makes it token-heavy, and some content (like dual CRM mappings and the mysterious `npm list` command) could be trimmed or externalized. Progressive disclosure would benefit from bundle files to offload the detailed implementations.
Suggestions
Remove the `## Current State` section with `npm list`—it adds no migration-specific value and wastes tokens.
Consider extracting the Salesforce and HubSpot field mappings into a separate reference file (e.g., FIELD_MAPPINGS.md) and referencing it from the main skill to reduce inline bulk.
Split the detailed TypeScript implementations (assessment, batch-worker, reconciliation, rollback) into bundle files and keep only the pipeline orchestration example inline.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly long with extensive code blocks that are mostly justified, but there's some redundancy (e.g., both Salesforce and HubSpot mappings are spelled out in full when the pattern is obvious, and the `!npm list` current state section adds no value). The interface definitions and inline comments are reasonable but could be tighter. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code for every step of the migration pipeline—field mapping, assessment, batch migration, reconciliation, and rollback—with specific API endpoints, concrete data structures, and a complete end-to-end pipeline example. | 3 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced with explicit validation checkpoints: pre-migration assessment with a 10% invalid threshold gate, batch processing with fallback on failure, post-migration reconciliation, and a rollback procedure. The error handling table and feedback loops (bulk fail → individual create fallback) are well-defined. | 3 / 3 |
Progressive Disclosure | The content is largely monolithic—all code is inline in a single file with no bundle files to offload detail into. The Resources section links to external Apollo docs, but the field mappings, assessment logic, and batch worker code could be split into referenced files. For a skill of this length (~200+ lines of code), better separation would improve navigability. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
3a2d27d
Table of Contents
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.