migrating-motoko-actors
Migrate Motoko Actors With Enhanced Migration Chains
Motoko canister upgrades can fail or lose data when state changes do not match migration inputs and outputs. This skill guides compatible changes, self-contained migrations, and validation for enhanced migration chains.
Installer avec mon Agent
Copiez cette demande dans votre Agent. Elle contient la page Skill de référence et le manifeste.
Review the Skillstore skill "migrating-motoko-actors" from https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors.md and its manifest at https://skillstore.io/api/skills/caffeinelabs-migrating-motoko-actors/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.Votre Agent doit toujours présenter son plan et demander toute confirmation exigée par la politique de sécurité.
Ressources lisibles par les agents
Utilisez ces liens lorsquâun Agent IA, un crawler ou un script a besoin dâun contexte propre au lieu de lire toute la page.
Tester
Utilisation de « migrating-motoko-actors ». An enhanced migration project adds an optional assignee field to every stored task.
Résultat attendu:
Use an explicit migration that preserves existing task values and initializes each assignee as absent. Extend the pending migration if one already exists.
Utilisation de « migrating-motoko-actors ». A canister changes a stable numeric field from Nat to Int.
Résultat attendu:
This is usually a stable-compatible widening and does not need an explicit migration. Confirm the deployed signature and run the compatibility check.
Utilisation de « migrating-motoko-actors ». A canister renames artist to artists and changes the value from text to a set.
Résultat attendu:
Transform the old text value into a single-item set for the renamed field. Inline both state types and preserve all unrelated fields.
Audit de sécurité
SûrAll 77 static findings are false positives involving Markdown formatting, legitimate mops validation commands, official documentation links, and Motoko type notation. The relative import example explicitly prohibits project imports rather than performing path traversal. No evidence found of prompt injection, credential access, unauthorized data transmission, or malicious migration intent in the two reviewed files.
Facteurs de risque
âïž Commandes externes (50)
đ AccĂšs rĂ©seau (2)
đ AccĂšs au systĂšme de fichiers (1)
Partager et citer ce rapport
Partagez le rapport dâĂ©valuation versionnĂ©, le badge neutre, la carte intĂ©grable et les citations. Skillstore prĂ©sente les preuves sans dĂ©cider si ce Skill est sĂ»r.
Copier le lien du rapport
https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportBadge Markdown
[](https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors?utm_source=security_passport_badge)Badge HTML
<a href="https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/caffeinelabs-migrating-motoko-actors/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Carte intégrable
<iframe src="https://skillstore.io/embed/skills/caffeinelabs-migrating-motoko-actors.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Citations académiques (APA · BibTeX · CFF)
Citation APA
caffeinelabs. (2026). migrating-motoko-actors security audit report (audit version 1) [Author version 0.2.6]. Skillstore. https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors/audits/1Citation BibTeX
@techreport{caffeinelabs-caffeinelabs-migrating-motoko-actors-2026,
author = {caffeinelabs},
title = {migrating-motoko-actors security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors/audits/1},
note = {Author version 0.2.6}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "migrating-motoko-actors security audit report (audit version 1)"
version: "0.2.6"
type: report
authors:
- name: "caffeinelabs"
date-released: "2026-10-02"
url: "https://skillstore.io/skills/caffeinelabs-migrating-motoko-actors/audits/1"
identifiers:
- type: other
value: "skillstore:caffeinelabs-migrating-motoko-actors:audit:1"
description: "Skillstore immutable audit report identifier"
Score Skillstore
Pourquoi ce score Niveau de confiance des preuves: MoyenCe que vous pouvez créer
Understand stable state changes
Classify proposed field changes and identify when an enhanced migration file is necessary.
Write a migration module
Draft self-contained state transformations while preserving unchanged fields and using the existing pending migration.
Review upgrade readiness
Check chain ordering, deployed signatures, intentional data removal, and validation steps before releasing an upgrade.
Essayez ces prompts
My project uses enhanced Motoko migrations. Classify these stable field changes as implicit or explicit: [changes]. Explain each decision.
Add this stable field in my enhanced migration project: [field and type]. Review [existing chain] and propose initialization without modifying applied migrations.
Using [old fields], [new fields], and [business rules], draft a self-contained Motoko migration. Preserve unchanged state and explain every default and discarded field.
Review [migration plan], [deployed signature], and [mops configuration]. Check stable compatibility, chain ordering, pending limits, fresh installation, and data preservation. Propose validation steps.
Bonnes pratiques
- Derive old state from the preceding migration; use empty state only for a new chain, not a legacy conversion.
- Keep applied migrations unchanged and fold new work into the pending file.
- Run compatibility checks before building and test the upgrade with representative state.
Ăviter
- Do not add a migration for a stable-compatible change or an identity transformation.
- Do not apply the enhanced-chain initializer rules to plain actors without a migration chain.
- Do not import project types into frozen migration files or discard fields unintentionally.
Foire aux questions
When is an explicit migration required?
Can I change field mutability without a migration?
Where should migration files live?
Why must migration types be inlined?
How do I initialize a new stable field?
Does this skill deploy my canister?
Détails du développeur
Auteur
caffeinelabsLicence
MIT
Version de lâauteur
v0.2.6
Révision Skillstore
r1
Réf
4a2784fa51569d7e1be060d54def4cdfd352ac62
Récence de maintenance
02/10/2026
Utilisation
0 téléchargements · 0 vues
Structure de fichiers
đ examples.md
đ SKILL.md