Migrate a Microsoft InfoPath form (.xsn) to a Power Apps Canvas app. USE WHEN the user wants to convert, port, or migrate an InfoPath form/template to Canvas Apps, or asks for help moving off of InfoPath.
npx skills add https://github.com/microsoft/power-cat-skills --skill infopath-to-canvas
Migrate the InfoPath form described below:
$ARGUMENTS
A .xsn is a CAB archive containing manifest.xsf (rules, views, data connections),
schema*.xsd (data schema), template.xml (defaults), and XSL views. This skill runs three
phases: extract → inventory → hand off to generate-canvas-app. Pause for user approval
after the inventory.
From $ARGUMENTS, resolve a .xsn path. If the user gave a folder, Glob for *.xsn
inside; ask if there are multiple or none.
If a sibling xsn_extracted/ already contains manifest.xsf, reuse it. Otherwise extract to
<source_dir>/xsn_extracted/:
& "$env:SystemRoot\System32\expand.exe" "<form>.xsn" -F:* "<xsn_extracted>" via PowerShellcabextract -d <xsn_extracted> <form>.xsnVerify manifest.xsf and schema1.xsd exist; abort if not.
Spawn a general-purpose Agent to write infopath-inventory.md covering:
schema1.xsd + template.xml dfs:dataFields: decoded name, type(Text, Date, Number, Choice, multi-Choice, Person, NoteEnhanced/rich-text, Lookup, …),
constraints (maxLength, pattern, enumeration, minOccurs/nillable), default.
Decode URL-encoded names: _x0020_=space, _x0028_=(, _x0029_=), _x002d_=-,
_x0023_=#, _x0026_=&.
manifest.xsf: schema-required fields, xsf:errorCondition (field +XPath translated to plain English + message), xsf:ruleSet/xsf:domEventHandler (trigger,
condition, action), xsf:submit destination.
schema*.xsd schema: source name + columns used.After the agent returns, surface counts (fields / rules / connections / sections) and ask:
App.OnStart (default), or wire to real SharePoint?Wait for answers.
If the user wants to wire to real SharePoint, strongly suggest they add the SharePoint
list(s) as a data source in the app *before* generation — Canvas can't bind to a connection
that doesn't exist in the app. Tell them the steps (Power Apps Studio → Data → Add data →
SharePoint → pick site/list) and that this skill can verify the schema once it's done.
When they confirm, call mcp__canvas-authoring__list_data_sources to see what's connected,
then mcp__canvas-authoring__get_data_source_schema for each list. Diff against the
inventory: every InfoPath field should map to a SharePoint column of compatible type. Report
any missing columns, type mismatches (e.g. InfoPath Date vs. SP Text), or
extra-required columns the form doesn't populate. Pause and let the user reconcile
(rename columns, add missing ones, or trim the inventory) before Phase 2.
generate-canvas-appWrite canvas-app-prompt.md containing:
skill maps to Power Fx).
seeded from enumerations / lookup tables.
DisplayMode.Disabled on Save buttons) — an intentionalupgrade from InfoPath's flag-but-don't-block behavior; flag this as a deliberate change.
Then invoke generate-canvas-app via the Skill tool, passing the prompt as args. If
that skill isn't available, instruct the user to run /generate-canvas-app against
canvas-app-prompt.md.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Take microsoft/infopath-to-canvas from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.