migrate-to-dataverse

Lire les fichiers YAML d’une application Canvas existante et remplacer les appels de source de données Power FX par des appels équivalents aux tables Dataverse. À utiliser lorsque l’utilisateur souhaite migrer,…

npx skills add https://github.com/microsoft/power-cat-skills --skill migrate-to-dataverse

Migrate Canvas App Data Sources to Dataverse

Read the YAML files of the current Canvas App and replace all Power FX data source calls with Dataverse equivalents for the following requirements:

$ARGUMENTS

CRITICAL: Review Guidance First

Before making any changes, you MUST read and internalize the technical reference document:

  • ${CLAUDE_PLUGIN_ROOT}/references/TechnicalGuide.md — Technical best practices, control selection, validation workflow, formulas, layout strategies

Read this file before planning any edits.

CRITICAL: Sync the Canvas App First

Before reading or editing any YAML files, call the sync_canvas MCP tool to ensure a local copy of the canvas app YAML is present and up to date. This pulls the current app state from the coauthoring session into local .pa.yaml files.

Only proceed after sync_canvas completes successfully.

Migration Workflow

1. Discover Available Data Sources

Call list_data_sources to enumerate all data sources connected to the current authoring session. This is the authoritative list of Dataverse tables (and other connectors) available for mapping.

After the call completes, share a discovery summary with the user:

Discovery complete. Available data sources ([N] total):

NameTypeKey Columns
[Table Name]Dataverse / SharePoint / …[column names]

For each Dataverse table identified, call get_data_source_schema to retrieve the full column list and Power Fx types. This information is required to map source columns to destination columns accurately.

2. Read the YAML Files

Read every .pa.yaml file produced by sync_canvas. For each file:

  • Identify every Power Fx formula that references a non-Dataverse data source (e.g. SharePoint.GetItems, Filter('MyList', …), Patch('MyList', …), LookUp, Collect, ClearCollect, etc.).
  • Note the source table/list name, the columns referenced, and the operation type (Filter, Patch, LookUp, Collect, etc.).

3. Build a Column Mapping Plan

Using the schemas retrieved in step 1, produce a mapping table for every data source call found:

Proposed Mapping Plan

Source ExpressionSource ColumnDataverse TableDataverse ColumnNotes
Filter('Orders List', Status = "Open")Statuscr123_orderscr123_statusType match: Text

Rules for column selection:

  • Prefer an exact name match (case-insensitive).
  • Fall back to a semantic name match (e.g. Titlecr123_name).
  • Flag any column with no clear match as ⚠ needs manual review.
  • Respect Power Fx type compatibility — do not map a Text column to a Choices column without an explicit conversion formula.

Present the plan to the user and ask for approval before making any changes:

Does this mapping plan look correct?

  • Approve and apply changes
  • I'd like to adjust the mapping first

If adjustments are requested, update the mapping plan accordingly and re-present.

4. Apply the Replacements

Once the plan is approved, update every affected .pa.yaml file:

  • Replace each source data-call expression with the equivalent Dataverse Power Fx expression using the approved column mapping.
  • Keep all UI properties, layout, and non-data formulas unchanged.
  • Follow the formula conventions in ${CLAUDE_PLUGIN_ROOT}/references/TechnicalGuide.md (use = prefix, wrap multi-line formulas correctly, etc.).
  • Preserve OnVisible initialization patterns — replace collection sources but keep the collection/variable structure if it exists.

Announce progress for each file:

Updating [filename].pa.yaml ([N] of [Total])…

5. Validate

Call compile_canvas after updating all files. Fix any compilation errors before finishing. Report the result:

  • On success: > Compilation successful — all replacements are valid.
  • On failure: > [N] error(s) found — fixing before finishing. [brief description of each error]

Repeat validate → fix until all files compile clean.

6. Complete

When all files pass validation, present a final summary:

Migration complete.

FileExpressions ReplacedStatus
[filename].pa.yaml[N]Compiled

Source replaced: [original data source names] Target: [Dataverse table names used] Columns requiring manual review: [list any ⚠ flagged columns, or "none"]

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
agent-framework-azure-ai-py
microsoft
Créez des agents Azure AI Foundry à l’aide du SDK Python Microsoft Agent Framework (agent-framework-azure-ai). À utiliser lors de la création d’agents persistants avec AzureAIAgentsProvider, de l’utilisation d’outils hébergés (interpréteur de code, recherche de fichiers, recherche web), de l’intégration de serveurs MCP, de la gestion de fils de conversation ou de l’implémentation de réponses en streaming. Couvre les outils de fonction, les sorties structurées et les agents multi-outils.
development
airunway-aks-setup
microsoft
Configurez AI Runway sur AKS — du cluster nu au modèle en cours d'exécution. Couvre la vérification du cluster, l'installation du contrôleur, l'évaluation GPU, la configuration du fournisseur et le premier déploiement. QUAND : « configurer AI Runway », « intégrer un cluster AKS », « installer AI Runway », « configuration airunway », « déployer un modèle sur AKS », « inférence GPU sur AKS », « configuration KAITO sur AKS », « exécuter LLM sur AKS », « vLLM sur AKS », « configurer le service de modèles sur AKS », « contrôleur AI Runway ».
devops
appinsights-instrumentation
microsoft
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
devops
applicationinsights-web-ts
microsoft
Instrumentez les applications navigateur/web avec le SDK JavaScript Application Insights (@microsoft/applicationinsights-web). Utilisez-le pour la surveillance des utilisateurs réels (RUM) — vues de page, clics, dépendances AJAX/fetch, exceptions, événements personnalisés et traces d’agents GenAI côté navigateur corrélées aux traces OpenTelemetry backend. Couvre le script de chargement du SDK et la configuration npm, les extensions de framework (React, React Native, Angular), Click Analytics, les initialiseurs de télémétrie et les conventions sémantiques OTel GenAI pour les spans d’agents/outils/modèles émises depuis le navigateur.
devops
azure-ai-anomalydetector-java
microsoft
Créez des applications de détection d'anomalies avec le SDK Azure AI Anomaly Detector pour Java. Utilisez-le lors de l'implémentation de la détection d'anomalies univariées/multivariées, de l'analyse de séries temporelles ou de la surveillance basée sur l'IA.
development
azure-ai-language-conversations-py
microsoft
Implémentez la compréhension du langage conversationnel (CLU) à l’aide du SDK Python azure-ai-language-conversations. Utilisez-le lorsque vous travaillez avec ConversationAnalysisClient pour analyser l’intention et les entités d’une conversation, créer des fonctionnalités de NLP ou intégrer la compréhension du langage dans des applications.
development
azure-ai-ml-py
microsoft
SDK v2 d’Azure Machine Learning pour Python. Utiliser pour les espaces de travail ML, les tâches, les modèles, les jeux de données, le calcul et les pipelines. Déclencheurs : « azure-ai-ml », « MLClient », « espace de travail », « registre de modèles », « tâches d’entraînement », « jeux de données ».
development