Backend-as-a-Service with built-in auth, data, and more
Install
npx skills add microsoft/rayfingh skill install microsoft/rayfingit clone --depth 1 https://github.com/microsoft/rayfinSkills in this collection
- AnalyticsMicrosoftOfficialUse when the app reads an existing Power BI semantic model — a dashboard, report, KPI, or any view over data the app does not own. Turns on the Fabric data client and the semantic-model query hook, then covers the whole workflow: pick a model, discover its schema, write and test DAX, and render it. A chart over data the app already has needs the visuals skill instead, not this one.
- App DeploymentMicrosoftOfficialValidate and remotely deploy a Universal App through the installed, version-matched Rayfin CLI. Use before deploying to run local checks, confirm the target workspace, preview the operation, deploy, and validate the live app. This skill orchestrates existing executables; it does not implement deployment.
- App DesignMicrosoftOfficialUse when building or modifying the app layout, creating UI components, or making any visual design decisions. Ensures consistency, accessibility, and a polished, unique app.
- App ValidationMicrosoftOfficialWhat to validate and how to drive Playwright for this template's app. Use alongside the playwright-cli skill — playwright-cli covers the tool's commands; this skill covers performance rules, the required validation checklist, the Fabric portal embed flow, and spec file guidance.
- App ValidationMicrosoftOfficialRun focused checks while implementing and one final static, browser, and persistence validation sequence before calling a Universal App complete.
- Capability RouterMicrosoftOfficialStart here for build and feature requests. Resolve the intended data source, select only the required Universal App capabilities, and hand the implementation to one owning skill per capability.
- ConnectorsMicrosoftOfficialConnect a Universal App to existing Fabric data sources: a Warehouse, SQL database, Lakehouse SQL analytics endpoint, or Power BI semantic model. Use whenever the user says "connect to", names an existing Fabric item, asks to query data that already exists, or needs to discover available sources.
- Crud UIMicrosoftOfficialUse when a data-backed app needs a working interface — a list people can add to, edit, and delete from, with the states that make it feel finished. Pairs with data-modeling, which defines the entities; this covers the React side: optimistic updates, forms, loading / empty / error states, and delete confirmation.
- Data ModelingMicrosoftOfficialUse when the app needs to store or read data — records, a database, entities, CRUD, lists, "save/remember X", or per-user data with row-level security. This app's data layer is Rayfin's: you declare entities as TypeScript classes with decorators in packages/data/src/, register them in the schema, and read/write them through the typed rayfin-client.
- Dax AuthoringMicrosoftOfficialWrite and test DAX queries against Power BI semantic models. Covers DAX syntax rules, query patterns, time intelligence, and an iterative test workflow using the Fabric CLI query command.
- Dax AuthoringMicrosoftOfficialWrite and test DAX queries against Power BI semantic models. Covers DAX syntax rules, query patterns, time intelligence, and an iterative test workflow using `npx rayfin connector invoke`.
- External API WorkflowsMicrosoftOfficialBuild a Universal App workflow that calls a third-party API or custom model endpoint through a server-side function. Use for API keys, webhooks, Azure OpenAI-compatible endpoints, payment, messaging, or any provider credential that must stay out of the browser.
- Fabric CliMicrosoftOfficialHow to use fabric-app-data CLI to manage Fabric data source connections. Maintain workspace/item IDs in a fabric.yaml file with profiles, add connections by ID or Fabric portal URL, and generate TypeScript config for use with @microsoft/fabric-app-data.
- Fabric Data AgentMicrosoftOfficialCall a published Fabric data agent from a Universal App through a Rayfin function using application auth and MCP streamable HTTP. Use when the request names a Fabric data agent, data-agent MCP endpoint, or asks to chat with governed Fabric data through an app.
- Fabric SdkMicrosoftOfficialHow to use @microsoft/fabric-app-data to connect web applications to Fabric data sources at runtime. Build browser-based apps that query semantic models via DAX using the FabricClient API.
- Fabric SdkMicrosoftOfficialHow to query Fabric data from a running app through the Rayfin connectors client. Use getRayfinClient().connectors.<name>.executeQuery to run DAX against a semantic model, and toQueryResult to normalize the response.
- Functions CapabilityMicrosoftOfficialApply and build the Universal App functions capability. Use for trusted server-side logic, secrets, external APIs, custom model endpoints, published Fabric data agents, webhooks, or privileged operations.
- Hotfix ReleaseMicrosoftOfficialCreate a hotfix release branch, cherry-pick commits, bump the version, and open a draft PR. Use when: hotfix, patch release, cherry-pick to release, hotfix nuget, hotfix npm, release branch fix, backport fix.
- Launch Vscode ExtensionMicrosoftOfficialLaunch and automate VS Code Insiders with the Copilot Chat extension using agent-browser via Chrome DevTools Protocol. Use when you need to interact with the VS Code UI, automate the chat panel, test the extension UI, or take screenshots. Triggers include 'automate VS Code', 'interact with chat', 'test the UI', 'take a screenshot', 'launch with debugging'.
- Openspec Apply ChangeMicrosoftOfficialImplement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
- Openspec Archive ChangeMicrosoftOfficialArchive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
- Openspec Bulk Archive ChangeMicrosoftOfficialArchive multiple completed changes at once. Use when archiving several parallel changes.
- Openspec Continue ChangeMicrosoftOfficialContinue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.
- Openspec ExploreMicrosoftOfficialEnter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
- Openspec Ff ChangeMicrosoftOfficialFast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.
- Openspec New ChangeMicrosoftOfficialStart a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.
- Openspec OnboardMicrosoftOfficialGuided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
- Openspec Sync SpecsMicrosoftOfficialSync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
- Openspec Verify ChangeMicrosoftOfficialVerify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
- Privacy DfdMicrosoftOfficialCreate or update Microsoft privacy compliance Data Flow Diagrams (DFDs) and data inventory tables for services. Use when: privacy review, data flow diagram, DFD, data inventory, GDPR, data classification, privacy compliance, 1CS privacy artifact, data handling attestation.
- Query DesignMicrosoftOfficialSeparates DAX data-fetching from TypeScript presentation. Guides when to use DAX vs. TypeScript vs. Vega-Lite for aggregation, total rows, FORMAT(), SELECTCOLUMNS, BLANK handling, filtering, multi-grain queries, and format strings.
- RayfinMicrosoftOfficialUse when doing ANY task involving Rayfin — scaffolding, data models, decorators, auth, deployment, CLI commands, or client setup. Triggers: rayfin, rayfin init, rayfin up, rayfin login, RayfinClient, @entity, @role, @anonymous, @authenticated, @text, @uuid, @int, @decimal, @boolean, @date, @email, @set, @one, @many, DAB, Data API Builder, rayfin.yml, publishableKey, signUp, signIn, signOut…
- Rayfin Cli UXMicrosoftOfficialMandatory for Rayfin CLI UX work. Load before designing, speccing, implementing, or reviewing CLI commands, flags, output, or errors.
- Rayfin ConnectorsMicrosoftOfficialConnect existing Fabric data sources (Lakehouse, Warehouse, SQL Database, semantic model, KQL Database/Eventhouse) to Rayfin apps; not app-owned data models. Use for connector discovery, setup, entity generation, authorization, SDK wiring, inspecting rows, invoking queries, and troubleshooting.
- Rayfin FunctionsMicrosoftOfficialUse when writing Rayfin user-defined functions (UDFs), invoking functions from frontend code, or using functions CLI commands. Triggers: rayfin functions, udf.func, UserDataFunctions, RayfinContext, FabricContext, AppFunctionsSchema, functions init, dev functions apply, client.functions, invoke, func start, function_app.ts, types.ts, rayfin/functions/, FunctionClient, FunctionsSchema…
- Rayfin Getting StartedMicrosoftOfficialUse when starting or creating a NEW Rayfin app, or when a Rayfin task comes up and you are not yet inside a Rayfin project. Gets you into a project with the Rayfin CLI, then hands off to the authoritative, version-locked in-project rayfin skill/docs that own all in-project work.
- Rayfin StorageMicrosoftOfficialUse only when the user explicitly requests experimental Rayfin Storage or the project already enables it. Triggers: Rayfin Storage, @microsoft/rayfin-storage, @blob, StorageObject, StorageClient, StorageFolderClient, createStorageClient, rayfin/storage, rayfin dev storage apply, rayfin up storage apply
- React Clean ArchitectureMicrosoftOfficialArchitectural principles for scalable, maintainable React applications. Use when designing component hierarchies, organizing directories, choosing state management patterns, decomposing large components, applying composition patterns (slots, compound components), enforcing colocation, creating custom hooks, setting up Feature-Sliced Design layers, reviewing component structure, or refactoring…
- Run Cli E2e LocallyMicrosoftOfficialRun the CLI E2E tests locally using your own user credentials instead of a service principal. Use when: run e2e locally, run cli tests, test with my credentials, local e2e, e2e user auth, run fabric tests locally.
- Schema DiscoveryMicrosoftOfficialExplore Power BI semantic model schemas using DAX INFO functions. Progressive metadata discovery strategy, scope estimation, and narrowing techniques for tables, columns, measures, and relationships.
- VisualsMicrosoftOfficialUse when user wants to incorporate charts, graphs, data grid, or other visual representations of data into their project. Use VegaVisual and DataGrid components to create these visuals, utilizing the shared data types, formatting, theme, and interactivity hooks.
- Vscode React Webview ArchitectureMicrosoftOfficialArchitecture patterns for React-based webviews in the Rayfin VS Code extension (packages/tools/vscode). Use when creating new webview components, working with state management (Context API), integrating Fluent UI components, solving stale closure bugs with refs, or debugging webview rendering issues. Does NOT cover tRPC messaging (see vscode-webview-trpc-messaging skill).
- Vscode Webview Trpc MessagingMicrosoftOfficialImplements tRPC-based communication between the Rayfin VS Code extension host and React webviews (packages/tools/vscode). Use when creating new webview procedures (queries, mutations, subscriptions), adding a new webview router, wiring up a webview controller, using the tRPC client from React components, applying telemetry middleware (trpcToTelemetry), or supporting AbortSignal-based…