Source profileQuality 83/100Review permissions

vellum-ai/vellum-assistant/skills/assistant-migration/SKILL.md

assistant-migration

Migrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum primitives. Handles single-source and multi-source migrations with a unified, deduplicated inventory.

Source repository stars
1,002
Declared platforms
0
Static risk flags
1
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Help the creator migrate from another AI assistant into Vellum. Preserve as much of the source assistant as can be understood safely. Non-Vellum systems (OpenClaw, Hermes, Manus, and others) evolve quickly, so never assume their internals follow a fixed schema: inspect the actua…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/vellum-ai/vellum-assistant --skill "skills/assistant-migration"
    Safe inspection promptEditorial

    Inspect the Agent Skill "assistant-migration" from https://github.com/vellum-ai/vellum-assistant/blob/32b93fb5c0f5e77d2a15e2f214d3726208c9d208/skills/assistant-migration/SKILL.md at commit 32b93fb5c0f5e77d2a15e2f214d3726208c9d208. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Migration Workflow

      Ask only for missing essentials:

      Source assistant and artifact location: export file, workspace directory, repository, archive, screenshots, or copied text.Desired fidelity: quick usable migration, careful review-first migration, or exhaustive salvage.Source path or origin.
    2. 02

      3. Present a Review Surface

      Prefer a rich checklist when an interactive surface is available. The checklist should let the creator mark each item as:

      Port: bring it into Vellum now.Review: inspect in more depth before importing.Re-setup: recreate through Vellum setup flows because direct import is unsafe or impossible.
    3. 03

      2. Review with the creator

      Present the candidate inventory (the parsers' stderr census plus the items themselves) in conversation and let the creator decide what survives. Drop stale, inferred, speculative, or emotionally loaded items unless the creator explicitly keeps them. Never bulk-dump raw parser ou…

      Present the candidate inventory (the parsers' stderr census plus the items themselves) in conversation and let the creator decide what survives. Drop stale, inferred, speculative, or emotionally loaded items unless the…
    4. 04

      Core Posture

      Migrate internals opportunistically: prompts, memory exports, skill definitions, tool manifests, schedules, app code, workflow docs, MCP configs, browser/computer-use preferences, and integration metadata can often be p…

      Migrate internals opportunistically: prompts, memory exports, skill definitions, tool manifests, schedules, app code, workflow docs, MCP configs, browser/computer-use preferences, and integration metadata can often be p…Do not pretend opaque runtime state is portable. If a file, database row, binary blob, or generated artifact cannot be confidently understood, mark it for review or rebuild.Never import secrets from chat, logs, config dumps, browser profiles, or exported files. Secrets must be reconnected through Vellum's credential vault, OAuth flows, or setup skills.
    5. 05

      Getting Access to Source Internals

      The creator may not know where their other assistant stores its internals. Help them find the safest available source of truth before asking them to upload or paste data.

      Ask whether the source assistant offers an official export, backup, workspace folder, settings page, or CLI command.If the source runs locally, help locate likely workspace/config directories, but avoid scraping browser profiles or secret stores.If the source is on another machine, walk the creator through a safe access path such as an archive, read-only share, or temporary SSH access. Make clear that source-machine work is for inspection and copying only: do n…

    Permission review

    Static risk signals and limitations

    Runs scripts

    medium · line 171

    The documentation asks the agent to run terminal commands or scripts.

    bun run {baseDir}/scripts/parse-chatgpt-memory.ts --file /path/to/chatgpt-export.zip

    Runs scripts

    medium · line 177

    The documentation asks the agent to run terminal commands or scripts.

    bun run {baseDir}/scripts/parse-agent-memory-db.ts --file /path/to/memory.db.snapshot --source hermes

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score83/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars1,002SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    vellum-ai/vellum-assistant
    Skill path
    skills/assistant-migration/SKILL.md
    Commit
    32b93fb5c0f5e77d2a15e2f214d3726208c9d208
    License
    MIT
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    Assistant Migration

    Help the creator migrate from another AI assistant into Vellum. Preserve as much of the source assistant as can be understood safely. Non-Vellum systems (OpenClaw, Hermes, Manus, and others) evolve quickly, so never assume their internals follow a fixed schema: inspect the actual source artifacts in front of you and map them into Vellum primitives. The bundled memory parsers in scripts/ follow the same rule; they introspect whatever artifact they are given instead of hardcoding a layout, and everything they emit is a review candidate, never a finished import.

    Core Posture

    • Migrate internals opportunistically: prompts, memory exports, skill definitions, tool manifests, schedules, app code, workflow docs, MCP configs, browser/computer-use preferences, and integration metadata can often be preserved.
    • Do not pretend opaque runtime state is portable. If a file, database row, binary blob, or generated artifact cannot be confidently understood, mark it for review or rebuild.
    • Never import secrets from chat, logs, config dumps, browser profiles, or exported files. Secrets must be reconnected through Vellum's credential vault, OAuth flows, or setup skills.
    • Do not write new ad-hoc scripts that encode assumptions about another assistant's private filesystem or database schema. For memory extraction, use the bundled parsers in scripts/: they avoid schema assumptions by design (ZIP entries matched by name/content heuristics, SQLite tables discovered via sqlite_master introspection) and their output always goes through creator review before anything is saved.
    • Be inviting. Migration can feel sensitive because the creator may have a real relationship with the source assistant; acknowledge that directly, move at the creator's pace, and keep them in control of what is inspected, imported, reviewed, or left alone.
    • Treat every source assistant, source machine, and source export as read-only unless the creator explicitly authorizes a specific write. Before accessing a source machine, say plainly that you will not modify anything there.
    • Be transparent with the creator: identify what will be ported, what needs review, what should be disregarded, and what must be re-set up from scratch.

    Getting Access to Source Internals

    The creator may not know where their other assistant stores its internals. Help them find the safest available source of truth before asking them to upload or paste data.

    Start with low-risk discovery:

    • Ask whether the source assistant offers an official export, backup, workspace folder, settings page, or CLI command.
    • If the source runs locally, help locate likely workspace/config directories, but avoid scraping browser profiles or secret stores.
    • If the source is on another machine, walk the creator through a safe access path such as an archive, read-only share, or temporary SSH access. Make clear that source-machine work is for inspection and copying only: do not install packages, change config, stop services, delete files, write marker files, or run source-assistant commands that mutate state without explicit approval.
    • If the source is hosted, guide the creator toward official data export, account settings, project download, repository access, or support-provided archive paths.
    • If there is no export path, ask the source assistant to produce portable summaries of its memory, instructions, active workflows, skills, apps, contacts, and integration setup.
    • If access requires admin privileges, organization approval, or another person's account, stop and tell the creator what permission they need rather than trying to bypass it.

    When internals are hard to access, fall back to an interview-style migration: ask the creator and source assistant for high-signal summaries, then rebuild in Vellum with review.

    Before copying large folders or attachments, estimate source size and check available space in the current Vellum workspace. Use available storage diagnostics or shell filesystem probes when available, migrate large assets in batches, and pause for the creator if the import could crowd the workspace or trigger disk-pressure cleanup.

    Per-assistant references

    Once the source assistant is identified, consult the matching reference for the exact data-directory layout, a bundling recipe with explicit --exclude flags for secret-bearing paths, and the after-import rebind checklist:

    For ChatGPT conversation history specifically, do not parse export ZIPs here — invoke the chatgpt-import skill, which owns the export-and-parse flow. The ChatGPT reference covers only the non-conversation material (custom instructions, saved memories, GPT configs).

    These are reconnaissance notes, not adapters. They tell you where to look and what to leave behind. The preferred flow is a single tar archive that the creator uploads to the conversation as a chat attachment. Never run curl, wget, or any other fetcher against a URL the creator pastes in chat — a chat-supplied URL substituted into a shell command is a confused-deputy surface (shell substitution inside double quotes, SSRF against private networks, and a bypass of the platform's structured URL-safety checks). See references/README.md for the shared tar-and-transport model and the rules each per-assistant reference must follow.

    Migration Workflow

    1. Establish the Source and Migration Goal

    Ask only for missing essentials:

    • Source assistant and artifact location: export file, workspace directory, repository, archive, screenshots, or copied text.
    • Desired fidelity: quick usable migration, careful review-first migration, or exhaustive salvage.

    If the user already provided enough context, start inspecting.

    2. Inventory Before Importing

    Build an inventory grouped by Vellum primitive. For each candidate item, capture:

    • Source path or origin.
    • What it appears to be.
    • Suggested Vellum destination.
    • Confidence: high, medium, or low.
    • Recommended action: port, review first, re-setup, or disregard.
    • Reason for the recommendation.

    Do not mutate Vellum state until the creator has reviewed the inventory unless they explicitly asked for an immediate best-effort migration.

    Multi-source migrations

    When the creator names more than one source ("I used ChatGPT and Claude", "ChatGPT plus my old OpenClaw box"), build one unified inventory, not one per source. Each inventory row gains a Source attribution column alongside the existing fields (source path/origin, what-it-is, Vellum destination, confidence, action, reason).

    Dedupe and reconcile across sources:

    • When the same fact, memory, identity trait, contact, or skill appears from multiple sources, collapse it to a single Vellum item.
    • Record all contributing sources in the item's provenance notes so the creator can audit where it came from.
    • On conflict, prefer the higher-confidence or more-recent source. Surface genuine conflicts to the creator rather than silently picking one.
    • Credentials from every source are never imported; they rebind through the vault regardless of which source they came from.

    The unified inventory drives per-source rebind/import routing — each row's action resolves against the source it came from:

    • ChatGPT conversation archives → the chatgpt-import skill (see below; do not parse ZIPs here).
    • Claude exports / self-summaries → references/claude.md.
    • OpenClaw / Hermes / Manus and other local-workspace assistants → their existing references.
    • ChatGPT non-conversation material (custom instructions, saved memories, GPT configs) → references/chatgpt.md.

    Keep the existing Review Surface and Port / Review / Re-setup / Disregard flow. Multi-source just means one combined checklist with source labels, not a separate pass per source.

    3. Present a Review Surface

    Prefer a rich checklist when an interactive surface is available. The checklist should let the creator mark each item as:

    • Port: bring it into Vellum now.
    • Review: inspect in more depth before importing.
    • Re-setup: recreate through Vellum setup flows because direct import is unsafe or impossible.
    • Disregard: leave it behind.

    If a rich UI is not available on the current channel, present the same information as a concise markdown table and ask for the creator's choices.

    Suggested checklist groups:

    • Identity and personality
    • Memory and relationship knowledge
    • Conversations and attachments
    • Skills, tools, MCP, browser, and computer-use capabilities
    • Apps, widgets, dashboards, and custom UIs
    • Channels, clients, contacts, and guardian verification
    • Integrations, OAuth apps, credentials, and secrets
    • Trust rules, approvals, and permission expectations
    • Schedules, heartbeats, watchers, followups, and task queues
    • Workspace files, projects, notes, and persistent artifacts
    • Inference profiles and provider connections

    4. Port What Maps Cleanly

    Use the most native Vellum primitive available. Prefer existing Vellum setup/import flows over custom conversion. Keep source provenance in notes when useful so the creator can audit where migrated material came from.

    For each migrated group, report what changed and what remains pending. If an item is skipped, say why.

    5. Rebuild What Cannot Be Safely Ported

    Some internals should be rebuilt instead of copied:

    • API keys, tokens, cookies, and browser sessions.
    • Provider-specific OAuth refresh tokens.
    • Foreign approval policies whose semantics do not match Vellum trust rules.
    • Opaque vector stores, caches, embeddings, hidden chain-of-thought, or model traces.
    • Runtime-specific process state, queues, locks, or binary databases that are not documented.
    • Capabilities that depend on a foreign tool runtime unavailable in Vellum.

    When rebuilding, explain the Vellum equivalent and ask whether the creator wants to re-set it up now.

    Vellum Primitive Map

    Source assistant conceptVellum primitiveMigration guidance
    Name, persona, tone, identity docs, system promptsIdentity, Personality, Avatar, SOUL.md, user persona filesPreserve explicit creator-approved identity/personality material. Convert brittle prompt hacks into plain behavioral guidance.
    Current focus, scratchpads, working notesNOW.md, Workspace notes, MemoryPreserve active projects and open loops. Avoid importing stale scratch state as permanent truth.
    Memory databases, summaries, profiles, user factsMemoryExtract candidates with the bundled parsers, review with the creator, then follow the Memory Import Guidance flow below. Provenance frontmatter (source:, origin_date:) preserves attribution and original chronology.
    Conversation historyConversations and MemoryImport supported structured exports when available. Otherwise summarize useful history into memory candidates rather than dumping logs blindly.
    Tools, skills, commands, plugins, playbooksSkillsRecreate as Vellum skills when the capability is still useful. Keep instructions portable; avoid foreign runtime assumptions.
    MCP serversMCPRecreate server registrations and required environment through Vellum's MCP setup flow. Reconnect secrets through the credential vault.
    Browser automation state, browsing tasksBrowser capabilityRecreate workflows and permissions. Do not import cookies or browser profile secrets directly.
    Computer-use automationsComputer Use capabilityRecreate task intent and permission expectations. Verify host-computer access through Vellum's own consent model.
    Custom dashboards, tools, visual workflowsApps or WidgetsPersistent interactive tools should become Apps. Transient conversation UI should become Widgets or normal chat flows.
    Slack, Telegram, email, phone, webhooksChannels and IntegrationsReconnect channels through Vellum setup skills. Expect some providers, especially Slack, to need fresh setup.
    Friends, coworkers, allowed usersContacts and Trusted ContactsMap relationships into Contacts. Grant channel access through trusted-contact and guardian flows, not direct database edits.
    Owner/admin identity, approval authorityGuardian VerificationVerify the creator/guardian on each channel needed for secure access and approvals.
    Secrets, API keys, tokens, OAuth refresh tokensCredential Vault and OAuth IntegrationsNever paste or import raw secrets. Rebind through secure prompts, OAuth connect flows, or provider setup skills.
    Autonomy settings, allowlists, deny rulesTrust Rules and PermissionsTranslate intent, not syntax. Start conservative when semantics are unclear.
    Timed jobs and remindersSchedulesRecreate one-shot and recurring tasks using Vellum schedules. Preserve the user-visible intent and delivery channel.
    Autonomous monitors and polling jobsWatchersRebuild as watchers when the source monitors external events. Reconnect provider credentials first.
    Periodic self-checksHeartbeatsUse Vellum heartbeats for agenda-free self-checking, not for specific timed jobs.
    Pending replies or nudgesFollowupsPreserve expected-response workflows as followups when the source tracks sent messages awaiting replies.
    Reusable action templates and queuesTask QueueRecreate repeatable work as tasks or queued work items when the creator expects review before completion.
    Model routing, fast/quality/cost modes, provider keysInference Profiles and Provider ConnectionsMap source behavior to named profiles such as balanced, quality, or cost/speed variants. Reconnect provider credentials safely.
    Files, projects, notes, attachmentsWorkspaceCopy useful, non-secret artifacts into the Vellum workspace with clear organization. Leave local worktree artifacts and foreign caches behind.

    Memory Import Guidance

    Memory import is a review-first pipeline: extract candidates deterministically, review every item with the creator, shape the approved items into v3 article pages, ingest them as a batch, then verify. Nothing is saved unreviewed at any step.

    1. Extract candidates

    Use the bundled parsers to pull candidates out of the source artifacts. Both emit MemoryImportItem[] JSON ({ text, source, origin_date?, context? }) on stdout and a human-readable inventory on stderr, and both redact credential-shaped values before anything reaches stdout:

    • ChatGPT non-conversation material (saved memories, custom instructions):

      bun run {baseDir}/scripts/parse-chatgpt-memory.ts --file /path/to/chatgpt-export.zip
      
    • Hermes / OpenClaw memory.db snapshots (always a .backup snapshot, never a live DB; see the provider references):

      bun run {baseDir}/scripts/parse-agent-memory-db.ts --file /path/to/memory.db.snapshot --source hermes
      

      (or --source openclaw)

    • Claude has no deterministic importer. Fall back to the interview flow: invite the source assistant to produce a portable self-summary and treat its items as the candidate list. Ask for comprehensive but reviewable output: identity and background; preferences and communication style; important relationships; active projects and open loops; durable instructions the creator gave it; meaningful history from recent conversations; uncertainties and low-confidence inferences clearly labeled.

    The self-summary is worth collecting for any source assistant that can still answer questions; it complements parser output with material no export captures.

    2. Review with the creator

    Present the candidate inventory (the parsers' stderr census plus the items themselves) in conversation and let the creator decide what survives. Drop stale, inferred, speculative, or emotionally loaded items unless the creator explicitly keeps them. Never bulk-dump raw parser output into memory: parsers produce candidates, not memories.

    3. Shape approved items into v3 article pages

    Write the approved items as concept pages in a staging directory (for example .mv3/staging/), one .md file per page. Follow the vellum-memory-v3-migration skill's references/v3-wiki-principles.md for the article shape rather than improvising; the essentials are:

    • The lead paragraph is the summary (there is no summary: field; the lead is the retrieval card).
    • Detail lives in ## sections with names that work as navigation.
    • Flat kebab-case slug; the staged filename minus .md becomes the slug.
    • links: entries annotated with why-notes: each entry names a target slug plus one line on why the link exists, in the exact format the principles doc shows.
    • Provenance frontmatter on every imported page: source: import:<provider> (e.g. import:chatgpt). Add origin_date: (ISO 8601) when the source material carries a date (a parser-emitted origin_date, or a date the creator confirms); it drives the page's effective recency, so imported pages rank by when their content originally dates from, not by import time. When the original date is unknown, omit the field rather than inventing one; the page then ranks by its write time like any other new page.

    4. Ingest

    assistant memory ingest --dir .mv3/staging --dry-run
    

    Review the per-page dry-run results (written / skipped / invalid) with the creator, fix any invalid pages, then run the same command without --dry-run. Existing slugs are skipped unless --overwrite is passed. If the command fails because the consolidation lock is held, wait for consolidation to finish and retry; do not work around the lock.

    5. Verify

    • Check the summary counts: written, skipped, invalid.
    • Spot-check retrieval on two or three imported facts; that spot-check is the verification. (assistant memory v3 eval does not apply here: it compares two complete corpora, and an import's staging directory holds only the new pages, not a corpus.)

    Small volumes

    A handful of approved facts does not need the staging pipeline; save them through the normal remember tool instead.

    Warning: never bulk-append imported facts to memory/buffer.md. Bulk appends share one minute-stamp and force consolidation to process the whole buffer in a single run; assistant memory ingest exists precisely to bypass that hazard.

    Internals Salvage Guidance

    When source files are available, inspect them directly and classify them:

    • High-confidence portable: markdown, JSON/YAML config with clear labels, prompt files, skill docs, app source, workflow docs, schedules, contact lists, exported conversations.
    • Medium-confidence portable: SQLite tables with obvious names, tool manifests, MCP configs, integration metadata without secrets, memory summaries with unclear provenance.
    • Low-confidence or non-portable: embeddings, vector indexes, binary stores, caches, encrypted blobs, cookies, refresh tokens, queue state, process supervision files, undocumented schema fragments.

    For medium- and low-confidence items, ask before importing and prefer converting into reviewed notes or setup tasks.

    Final Migration Report

    End with a concise report:

    • Ported successfully.
    • Needs creator review.
    • Needs re-setup in Vellum.
    • Disregarded or intentionally left behind.
    • Residual risk: anything uncertain, sensitive, or not yet verified.

    If the migration created follow-up work, offer the next concrete step rather than claiming the migration is complete.

    Alternatives

    Compare before choosing

    Computed 10023,781

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 10014,225

    wanshuiyin/Auto-claude-code-research-in-sleep

    citation-audit

    Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

    Computed 1004,922

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

    Computed 1002,504

    aaron-he-zhu/aaron-marketing-skills

    social-selling-planner

    Use when the user asks to "set up my founder social-selling routine", "build a daily engagement block for target accounts", or "turn funding / hiring signals into selling plays"; produces the founder/seller daily operating block — a time-boxed engagement-block spec (substantive value-add comments on target-account posts, never a pitch), warm-touch-before-ask cadence rules, trigger-response plays consuming the social-pulse-monitor B2B trigger watchlist (funding / hiring / launch signals), and a q