[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69BGCB7FEGF1Q2G9A3918AD":3,"skill-same:01M69BGCB7FEGF1Q2G9A3918AD":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":62,"ownerDescription":63,"updatedAt":64,"install":65,"resources":77},"01M69BGCB7FEGF1Q2G9A3918AD","rayfin",null,"Use 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, sendMagicLink, handleMagicLinkCallback, ensureSignedInWithFabric, Fabric SSO, Entra ID, rayfin up db apply, rayfin up staticapp deploy, schema.ts, OpaqueSession, onSessionChange, GraphQL select, GraphQL create, GraphQL update, GraphQL delete, findById, executePaginated, RLS policy, row-level security, claims.sub, claims.email, TC39 decorators, config generation, dialect, mssql, postgresql","microsoft\u002Fawesome-rayfin","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69BFJTNT39H6W8XT2H1BZDN",112,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Ftodo-local-experimental\u002F.agents\u002Fskills\u002Frayfin\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,9,46,47],"fabric","when","api builder","anonymous","rls","decorators","db","mssql","scaffolding","builder","up","select","text","api","SET","postgresql","cli","update","delete","create","deployment","entra id","setup","deploy","config","init","auth","policy","security","2026-11-10 10:12:30",false,"---\nname: rayfin\ndescription: \"Use 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, sendMagicLink, handleMagicLinkCallback, ensureSignedInWithFabric, Fabric SSO, Entra ID, rayfin up db apply, rayfin up staticapp deploy, schema.ts, OpaqueSession, onSessionChange, GraphQL select, GraphQL create, GraphQL update, GraphQL delete, findById, executePaginated, RLS policy, row-level security, claims.sub, claims.email, TC39 decorators, config generation, dialect, mssql, postgresql\"\nmetadata:\n  author: microsoft\n  version: 0.3.0\nrayfin-managed: true\n---\n# Rayfin\n\n## Rayfin Docs\n\nRayfin's documentation is available via MCP tools and the `rayfin docs` CLI.\nUse these for code examples, API details, and troubleshooting — not this skill.\nDocs are version-locked to the Rayfin packages installed in the user's project.\nRun MCP and CLI lookups from the project root so local `node_modules` wins whether the CLI\u002FMCP package is installed locally, globally, or through `npx`.\n\n**MCP tools** (if the `rayfin` MCP server is connected):\n\n- `search_docs(query: '\u003Ctopic>', module: 'guide')` — builder guides and tutorials\n- `search_docs(query: '\u003Ctopic>', module: 'ts-sdk')` — TypeScript SDK API reference\n- `get_doc(symbol: '\u003Cdecorator or class>')` — resolve a symbol to its docs\n- `discover_packages(query: '\u003Ctopic>')` — find missing or too-old Rayfin packages when installed docs do not cover the task\n\n**CLI fallback** (when MCP is unavailable):\n\n- `rayfin docs search '\u003Ctopic>' --module guide` — builder guides and tutorials\n- `rayfin docs search '\u003Ctopic>' --module ts-sdk` — TypeScript SDK API reference\n- `rayfin docs get --symbol '\u003Cdecorator or class>'` — resolve a symbol to its docs\n- `rayfin docs discover '\u003Ctopic>'` — find a Rayfin package when installed docs do not cover the task\n\nIf `rayfin` is not on `PATH`, use `npx -y @microsoft\u002Frayfin-cli docs ...` from the project root.\n\nKey doc topics:\n\n- Known limitations — FK naming, constraint limits, relationship rules\n- Data permissions — `@role` decorator, policy DSL, field visibility\n- GraphQL data access — RayfinClient setup, query chain, mutations\n- Auth overview — auth methods, session handling\n- Fabric deployment — workspace and static app deployment workflow\n\n**Before creating entities or writing queries**, check known limitations:\n\n```text\nsearch_docs(query: 'known limitations', module: 'guide')\n# or: npx -y @microsoft\u002Frayfin-cli docs search 'known limitations' --module guide\n```\n\n## Rules\n\n### Platform\n\n- Rayfin uses TC39 Stage 3 decorators — never enable `experimentalDecorators` or `emitDecoratorMetadata`.\n- Include `ESNext.Decorators` in the tsconfig `lib` array.\n- Two deployment targets: Rayfin Local (Docker, MSSQL or PostgreSQL) and Fabric Apps (managed, MSSQL only).\n- Prefer `npm create @microsoft\u002Frayfin@latest` for new projects — it generates correct tsconfig and schema boilerplate.\n\n### Security\n\n- Every entity must have an explicit permission decorator (`@role`, `@anonymous`, `@authenticated`) — entities without one are inaccessible.\n- Add `policy: (claims, item) => claims.sub.eq(item.user_id)` for row-level filtering on user-scoped data.\n- Use `exclude` in role options to hide sensitive fields (e.g., `exclude: ['secret']`).\n- Publishable keys (`pk-*`) are safe for client-side code — never expose service secrets or connection strings.\n- Keep `allowedRedirectUris` in `rayfin.yml` tightly scoped to your app's origin.\n- Email\u002Fpassword auth is local development only — deployed Fabric apps support Fabric SSO (Entra ID) exclusively.\n- Fabric SSO only works inside the Fabric Portal — do not attempt it in local development.\n\n### Data Modeling\n\n- Define entities with `@entity()` in `rayfin\u002Fdata\u002F` and register them in `rayfin\u002Fdata\u002Fschema.ts` as `type AppSchema = { Name: Name }`.\n- Every field needs exactly one decorator: `@uuid`, `@text`, `@int`, `@decimal`, `@boolean`, `@date`, `@email`, `@set`.\n- Fields are required by default — use `{ optional: true }` and `?` together for nullable fields.\n- `@text()` length option is `max` (not `maxLength`) — e.g., `@text({ max: 200 })`.\n- Use `@one(() => Target)` with lazy arrow functions for relationships — Rayfin auto-generates FK columns named `{property}_id`.\n- Use `import` (not `import type`) for entity classes referenced in `@one()`\u002F`@many()` arrow functions — decorators need the runtime class value.\n- FK columns referencing another entity (`{property}_id`) must use `@uuid()` to match the PK type. Auth-based fields like `user_id` from `claims.sub` use `@text()`.\n- Many-to-many requires an explicit join entity with two `@one()` fields.\n- Use `@many(() => Target)` for the inverse side of relationships.\n\n### Querying\n\n- Query chain: `.select()` → `.where()` → `.orderBy()` → `.execute()`.\n- Single record by ID: `client.data.Entity.findById('uuid-here')` — not `findByPk`.\n- Filter by FK columns using `{property}_id` (e.g., `customer_id`), not dot-path (e.g., `customer.id`).\n- Dot-paths are for `.select()` only (e.g., `customer.companyName`).\n- Use `.first(n).executePaginated()` for cursor-based pagination.\n- Sort directions must be lowercase: `'asc'` or `'desc'`.\n\n### Schema\n\n- **For Fabric:** `rayfin up` is the canonical command for \"deploy this change,\" \"apply this schema change,\" or \"push my entity update\" — it deploys the app and applies pending schema migrations in a single step. Recommend it on every deploy, including incremental schema changes after the initial deploy.\n- `rayfin up db apply` is a narrow advanced subcommand that applies schema-only without touching the static build — only recommend it when the user explicitly asks to skip the static deploy step.\n- `--force` permits destructive changes (drop table, drop column, alter type) — never use without review.\n- `--gen-config-only` generates the underlying API config without applying — use to inspect before applying.\n\n### Deployment\n\n- When the user asks to \"build and deploy,\" \"make it live,\" or \"deploy this change\" (including schema-only changes like adding a column), execute the full workflow — do not present steps as instructions for the user to run manually.\n- Workflow: `rayfin login` → `rayfin up` → `rayfin up status`. `rayfin up` builds the static app, deploys it, and applies any pending schema migrations.\n- `rayfin up status` checks endpoint health — run after deployment to verify.\n- Deployment metadata is written to `rayfin\u002F.deployments.json` (per-workspace record: `fabricItemId`, `hostingUrl`, `publishableKey`, etc.). The deploy also appends the live hosting URL to `allowedRedirectUris` in `rayfin.yml`.\n\n## Anti-Patterns\n\n- Never use raw `fetch()` or hand-built GraphQL for data operations — always use `client.data.\u003CEntity>` (provides type-safe queries and automatic auth).\n- Never omit permission decorators on entities — always add an explicit `@permissions(...)`. Forgetting silently applies `authenticated: *` (full CRUD for any signed-in user), which is usually too permissive for production data.\n- Never use `@text()` without `max` on MSSQL — always set `@text({ max: N })` (e.g. `max: 200` for typical strings). `NVARCHAR(MAX)` breaks GraphQL schema generation and cannot be uniquely indexed.\n- Never use `@text()` for FK columns that reference another entity's `@uuid()` PK — use `@uuid()` to match types. (`user_id` from `claims.sub` is `@text()`, not a FK.)\n- Never skip `search_docs('known limitations')` before implementing entities — always run it first to surface platform constraints (text length caps, supported scalar types, MSSQL-specific gotchas) that affect entity design.\n\n## CLI Quick Reference\n\n```bash\n# Scaffold\nnpm create @microsoft\u002Frayfin@latest \u003Cname>   # Create from template\nnpx rayfin init [directory]                   # Interactive setup\n\n# Deploy to Fabric (default workflow)\nnpx rayfin login                              # Sign in with Entra ID\nnpx rayfin up                                 # Deploy app + apply schema (canonical)\nnpx rayfin up status                          # Check deployment health\nnpx rayfin up db apply                        # Schema-only, skip static deploy (advanced)\nnpx rayfin up staticapp deploy                # Redeploy static content\n```\n","# Rayfin\n\n## Rayfin Docs\n\nRayfin's documentation is available via MCP tools and the `rayfin docs` CLI.\nUse these for code examples, API details, and troubleshooting — not this skill.\nDocs are version-locked to the Rayfin packages installed in the user's project.\nRun MCP and CLI lookups from the project root so local `node_modules` wins whether the CLI\u002FMCP package is installed locally, globally, or through `npx`.\n\n**MCP tools** (if the `rayfin` MCP server is connected):\n\n- `search_docs(query: '\u003Ctopic>', module: 'guide')` — builder guides and tutorials\n- `search_docs(query: '\u003Ctopic>', module: 'ts-sdk')` — TypeScript SDK API reference\n- `get_doc(symbol: '\u003Cdecorator or class>')` — resolve a symbol to its docs\n- `discover_packages(query: '\u003Ctopic>')` — find missing or too-old Rayfin packages when installed docs do not cover the task\n\n**CLI fallback** (when MCP is unavailable):\n\n- `rayfin docs search '\u003Ctopic>' --module guide` — builder guides and tutorials\n- `rayfin docs search '\u003Ctopic>' --module ts-sdk` — TypeScript SDK API reference\n- `rayfin docs get --symbol '\u003Cdecorator or class>'` — resolve a symbol to its docs\n- `rayfin docs discover '\u003Ctopic>'` — find a Rayfin package when installed docs do not cover the task\n\nIf `rayfin` is not on `PATH`, use `npx -y @microsoft\u002Frayfin-cli docs ...` from the project root.\n\nKey doc topics:\n\n- Known limitations — FK naming, constraint limits, relationship rules\n- Data permissions — `@role` decorator, policy DSL, field visibility\n- GraphQL data access — RayfinClient setup, query chain, mutations\n- Auth overview — auth methods, session handling\n- Fabric deployment — workspace and static app deployment workflow\n\n**Before creating entities or writing queries**, check known limitations:\n\n```text\nsearch_docs(query: 'known limitations', module: 'guide')\n# or: npx -y @microsoft\u002Frayfin-cli docs search 'known limitations' --module guide\n```\n\n## Rules\n\n### Platform\n\n- Rayfin uses TC39 Stage 3 decorators — never enable `experimentalDecorators` or `emitDecoratorMetadata`.\n- Include `ESNext.Decorators` in the tsconfig `lib` array.\n- Two deployment targets: Rayfin Local (Docker, MSSQL or PostgreSQL) and Fabric Apps (managed, MSSQL only).\n- Prefer `npm create @microsoft\u002Frayfin@latest` for new projects — it generates correct tsconfig and schema boilerplate.\n\n### Security\n\n- Every entity must have an explicit permission decorator (`@role`, `@anonymous`, `@authenticated`) — entities without one are inaccessible.\n- Add `policy: (claims, item) => claims.sub.eq(item.user_id)` for row-level filtering on user-scoped data.\n- Use `exclude` in role options to hide sensitive fields (e.g., `exclude: ['secret']`).\n- Publishable keys (`pk-*`) are safe for client-side code — never expose service secrets or connection strings.\n- Keep `allowedRedirectUris` in `rayfin.yml` tightly scoped to your app's origin.\n- Email\u002Fpassword auth is local development only — deployed Fabric apps support Fabric SSO (Entra ID) exclusively.\n- Fabric SSO only works inside the Fabric Portal — do not attempt it in local development.\n\n### Data Modeling\n\n- Define entities with `@entity()` in `rayfin\u002Fdata\u002F` and register them in `rayfin\u002Fdata\u002Fschema.ts` as `type AppSchema = { Name: Name }`.\n- Every field needs exactly one decorator: `@uuid`, `@text`, `@int`, `@decimal`, `@boolean`, `@date`, `@email`, `@set`.\n- Fields are required by default — use `{ optional: true }` and `?` together for nullable fields.\n- `@text()` length option is `max` (not `maxLength`) — e.g., `@text({ max: 200 })`.\n- Use `@one(() => Target)` with lazy arrow functions for relationships — Rayfin auto-generates FK columns named `{property}_id`.\n- Use `import` (not `import type`) for entity classes referenced in `@one()`\u002F`@many()` arrow functions — decorators need the runtime class value.\n- FK columns referencing another entity (`{property}_id`) must use `@uuid()` to match the PK type. Auth-based fields like `user_id` from `claims.sub` use `@text()`.\n- Many-to-many requires an explicit join entity with two `@one()` fields.\n- Use `@many(() => Target)` for the inverse side of relationships.\n\n### Querying\n\n- Query chain: `.select()` → `.where()` → `.orderBy()` → `.execute()`.\n- Single record by ID: `client.data.Entity.findById('uuid-here')` — not `findByPk`.\n- Filter by FK columns using `{property}_id` (e.g., `customer_id`), not dot-path (e.g., `customer.id`).\n- Dot-paths are for `.select()` only (e.g., `customer.companyName`).\n- Use `.first(n).executePaginated()` for cursor-based pagination.\n- Sort directions must be lowercase: `'asc'` or `'desc'`.\n\n### Schema\n\n- **For Fabric:** `rayfin up` is the canonical command for \"deploy this change,\" \"apply this schema change,\" or \"push my entity update\" — it deploys the app and applies pending schema migrations in a single step. Recommend it on every deploy, including incremental schema changes after the initial deploy.\n- `rayfin up db apply` is a narrow advanced subcommand that applies schema-only without touching the static build — only recommend it when the user explicitly asks to skip the static deploy step.\n- `--force` permits destructive changes (drop table, drop column, alter type) — never use without review.\n- `--gen-config-only` generates the underlying API config without applying — use to inspect before applying.\n\n### Deployment\n\n- When the user asks to \"build and deploy,\" \"make it live,\" or \"deploy this change\" (including schema-only changes like adding a column), execute the full workflow — do not present steps as instructions for the user to run manually.\n- Workflow: `rayfin login` → `rayfin up` → `rayfin up status`. `rayfin up` builds the static app, deploys it, and applies any pending schema migrations.\n- `rayfin up status` checks endpoint health — run after deployment to verify.\n- Deployment metadata is written to `rayfin\u002F.deployments.json` (per-workspace record: `fabricItemId`, `hostingUrl`, `publishableKey`, etc.). The deploy also appends the live hosting URL to `allowedRedirectUris` in `rayfin.yml`.\n\n## Anti-Patterns\n\n- Never use raw `fetch()` or hand-built GraphQL for data operations — always use `client.data.\u003CEntity>` (provides type-safe queries and automatic auth).\n- Never omit permission decorators on entities — always add an explicit `@permissions(...)`. Forgetting silently applies `authenticated: *` (full CRUD for any signed-in user), which is usually too permissive for production data.\n- Never use `@text()` without `max` on MSSQL — always set `@text({ max: N })` (e.g. `max: 200` for typical strings). `NVARCHAR(MAX)` breaks GraphQL schema generation and cannot be uniquely indexed.\n- Never use `@text()` for FK columns that reference another entity's `@uuid()` PK — use `@uuid()` to match types. (`user_id` from `claims.sub` is `@text()`, not a FK.)\n- Never skip `search_docs('known limitations')` before implementing entities — always run it first to surface platform constraints (text length caps, supported scalar types, MSSQL-specific gotchas) that affect entity design.\n\n## CLI Quick Reference\n\n```bash\n# Scaffold\nnpm create @microsoft\u002Frayfin@latest \u003Cname>   # Create from template\nnpx rayfin init [directory]                   # Interactive setup\n\n# Deploy to Fabric (default workflow)\nnpx rayfin login                              # Sign in with Entra ID\nnpx rayfin up                                 # Deploy app + apply schema (canonical)\nnpx rayfin up status                          # Check deployment health\nnpx rayfin up db apply                        # Schema-only, skip static deploy (advanced)\nnpx rayfin up staticapp deploy                # Redeploy static content\n```\n",{"name":5,"metadata":53,"description":7,"rayfin-managed":55},{"author":9,"version":54},"0.3.0",true,"main","6007598ad84bc06f9d584f0d2ba6af970422a9fe","templates\u002Ftodo-local-experimental\u002F.agents\u002Fskills\u002Frayfin",70,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-13 21:12:07",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":55},[67,70,73],{"tool":68,"command":69},"npx","npx skills add microsoft\u002Fawesome-rayfin --skill rayfin",{"tool":71,"command":72},"bunx","bunx skills add microsoft\u002Fawesome-rayfin --skill rayfin",{"tool":74,"command":75},"pnpm","pnpm dlx skills add microsoft\u002Fawesome-rayfin --skill rayfin","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Ftodo-local-experimental\u002F.agents\u002Fskills\u002Frayfin\u002FSKILL.md",[],[79,103,129,134,169,200],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":48},"01M70HMXK23DA6CE0T9R4DNDA9","visuals","Use 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 DataTable input, formatting, theme, and interactivity. Covers the onInteraction selection\u002Fclick events host apps consume, named multi-table data input for layered overlays and reference lines, and Vega-Lite native selections.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Fvisuals\u002FSKILL.md",[],[81,86,87,88,89,90,91,92,93,94,95,96,20,97,98,99,100,38,101,102],"shared","click","theme","Charts","for","overlays","project","selection","host","use","apps","visual","components","grid","multi","layered","native",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":48},"01M70HMVE4BANY7VVP0JR2GQ92","schema-discovery","Explore Power BI semantic model schemas using DAX INFO functions. Progressive metadata discovery strategy, scope estimation, and narrowing techniques for tables, columns, measures, and relationships.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Fschema-discovery\u002FSKILL.md",[],[110,111,112,113,114,115,90,116,117,118,119,120,121,122,123,124,125,126,127,128],"discovery","schema discovery","schema","power","scope","model","explore","techniques","strategy","estimation","power bi","functions","info","bi","relationships","columns","dax","tables","semantic",{"skillNo":130,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":48},"01M70HMQD0PKCKWCY2NQ8VCCYH","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Frayfin\u002FSKILL.md",[],[5,28,33,24,22,45,25,27,30,29,44,40,21,20,23,32,31,26,34,38],{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":150,"publishedAt":48},"01M70HMFPA9WXWY5X7C14XB11D","rayfin-connectors","Use for Rayfin connectors that wire existing Fabric SQL data sources (Lakehouse, Warehouse, SQL Database) into an app as GraphQL-backed entities. Triggers: rayfin connector, rayfin up connector apply, connectors:, fabric-sqlanalytics, fabric-warehouse, fabric-sqldatabase, kusto, kql, eventhouse, workspaceId, itemId, operations:, AppConnectorsSchema, ConnectorsSchema, rayfin\u002Fconnectors\u002F, metadata.json, connector @role policy, connector claims.sub filter, connector claims.email filter, ConnectorsRayfinClient, rayfin-client.ts, client.connectors, connectorConfig, GraphQLBackedConnector, RestrictedDataApi, schema.ts aggregate, generate entities from metadata, add a use case on specific entities, wire connector into client, call a connector from the SDK, rayfin connector inspect, inspect connector data, sample connector rows, fabric-semanticmodel, --entity, --query, DAX EVALUATE, read-only sample query, rayfin connector search, discover connectable sources, find fabric sources to add, --all-workspaces, --workspace-id, connector search interactive picker, rayfin connector invoke, invoke a connector operation, run executeQuery, --input, --file, RAYFIN_FEATURE_FLAGS, resultSetRowCountLimit, limit rows, row limit, cap rows, too many rows, overflow","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Frayfin-connectors\u002FSKILL.md",[140,145],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":146,"categoryName":147,"taxonomyType":148,"taxonomyTypeDesc":149},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[151,5,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,90],"rayfin connectors","connectors","app","inspect","workspaces","search","invoke","filter","cap","generate","data sources","run","read","input","as","kql","limit","email",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":184,"publishedAt":48},"01M70HMD71TMHM9NEZV0870V9B","query-design","Separates 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, cross-filtering and cross-highlight subset\u002Foverlay queries, and format strings.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Fquery-design\u002FSKILL.md",[175,178,181],{"categoryNo":176,"categoryName":177,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":179,"categoryName":180,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":182,"categoryName":183,"taxonomyType":148,"taxonomyTypeDesc":149},"01JBSEEDCAT000000000000032","设计师",[185,186,187,188,90,189,190,95,20,191,100,192,193,194,195,196,197,198,199,126],"query design","design","query","overlay","strings","filtering","guides","queries","grain","aggregation","format","typescript","data-fetching","data","when to use",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":209,"publishedAt":48},"01M70HMAX3MRJWF62P8PAYF1R3","playwright-cli","Automate browser interactions, test web pages and work with Playwright tests.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fawesome-rayfin\u002Fblob\u002Fmain\u002Ftemplates\u002Fcaldova-reorder\u002F.agents\u002Fskills\u002Fplaywright-cli\u002FSKILL.md",[206],{"categoryNo":207,"categoryName":208,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000008","测试与质量",[210,211,35,202,212,213,68,214,215,216,217,218,219,220,221,222],"playwright cli","playwright","pages","tests","Bash","browser","with","test","work","web","test web","npm","automate"]