| name | evernote-migration-deep-dive |
| description | Deep dive into Evernote data migration strategies.
Use when migrating to/from Evernote, bulk data transfers,
or complex migration scenarios.
Trigger with phrases like "migrate to evernote", "migrate from evernote",
"evernote data transfer", "bulk evernote migration".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Grep |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","evernote","migration"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Evernote Migration Deep Dive
Current State
!npm list 2>/dev/null | head -5
Overview
Comprehensive guide for migrating data to and from Evernote, including ENEX export/import, bulk API operations, format conversions (ENML to Markdown, HTML to ENML), and data integrity verification.
Prerequisites
- Understanding of Evernote data model (Notes, Notebooks, Tags, Resources)
- Source/target system access credentials
- Sufficient API quota for migration volume
- Backup strategy in place before starting
Instructions
Step 1: Migration Planning
Assess the migration scope: count notes, notebooks, tags, and total resource size. Estimate API call count and quota consumption. Plan for rate limits (add delays between operations).
async function assessMigration(noteStore) {
const notebooks = await noteStore.listNotebooks();
const tags = await noteStore.listTags();
let totalNotes = 0;
for (const nb of notebooks) {
const filter = new Evernote.NoteStore.NoteFilter({ notebookGuid: nb.guid });
const spec = new Evernote.NoteStore.NotesMetadataResultSpec({});
const result = await noteStore.findNotesMetadata(filter, 0, 1, spec);
totalNotes += result.totalNotes;
}
return {
: notebooks.,
: tags.,
totalNotes,
: totalNotes * + notebooks. + tags.,
: .((totalNotes * * ) / )
};
}