[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X05M106TQDYN4BKEPBYPFN":3,"skill-same:01M6X05M106TQDYN4BKEPBYPFN":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":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6X05M106TQDYN4BKEPBYPFN","add-backend",null,"Add an app backend with `ms app add backend --provider rayfin`. Currently covers database entities and client integration. Use only when the user explicitly requests a database, \u002Fadd-backend, or Rayfin.","microsoft\u002FCopilot-Managed-Runtime","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6X05E4HRJ1306KAFJJ9MASV",5,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fplugins\u002Fcopilot-managed-runtime\u002Fskills\u002Fadd-backend\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"add backend","backend","add","rayfin","database","integration","user","use","ms","only","provider","app","client","with","requests","when","2026-11-10 10:12:30",false,"---\nname: add-backend\ndescription: Add an app backend with `ms app add backend --provider rayfin`. Currently covers database entities and client integration. Use only when the user explicitly requests a database, \u002Fadd-backend, or Rayfin.\n---\n\n**Shared instructions: [shared-instructions.md](..\u002F..\u002Fshared\u002Fshared-instructions.md)**\n\n# Add an app backend\n\n**Required first:** pass the [Rayfin feature gate](..\u002F..\u002Fshared\u002Fshared-instructions.md#rayfin-feature-gate).\n\n## 1. Set up the database\n\nIf `rayfin\u002Frayfin.yml` exists, use the existing configuration. Otherwise, run:\n\n```bash\nms app add backend --provider rayfin --json\n```\n\nThis creates the backend configuration, TypeScript configuration and `rayfin\u002Fdata\u002F`.\nKeep the existing app layout and exclude `rayfin\u002F.temp\u002F` from version control.\n\nThis prepares the app's backend definitions; it does not provision a database.\nRayfin is the app backend, not an existing database to select or connect to.\n\n## 2. Install dependencies\n\nRun from the app root before continuing so the declared dependencies and their\nversion-matched docs are available in `node_modules`:\n\n```bash\nnpm install\n```\n\nUse the app's existing package manager and lockfile if it does not use npm.\nReport installation or peer-dependency errors; do not force-install or downgrade\nthe app to bypass them. Add missing direct dependencies only as required by the\nimplementation described in the references.\n\n## 3. Implement and check the app\n\nRead the installed package docs identified in these references, then follow them\nin order:\n\n- [Data modeling](.\u002Freferences\u002Frayfin-data-modeling.md): entities, permissions and required [Copilot Managed Runtime host initialization](.\u002Freferences\u002Frayfin-data-modeling.md#step-4-initialize-through-copilot-managed-runtime).\n- [CRUD UI](.\u002Freferences\u002Frayfin-crud-ui.md): lists, forms, mutations and persistence checks.\n\nWhen invoked from `\u002Fcreate-app`, complete data modeling in Step 9 and return the\nentity\u002Fclient paths; that workflow handles UI implementation and checks in\nSteps 10-11. Standalone use continues through both references.\n\n## 4. Follow the app lifecycle\n\nUse the normal [app build and deploy workflow](..\u002F..\u002Fshared\u002Fdevelopment-standards.md#build--deploy),\nnot a separate Rayfin provisioning workflow.","**Shared instructions: [shared-instructions.md](..\u002F..\u002Fshared\u002Fshared-instructions.md)**\n\n# Add an app backend\n\n**Required first:** pass the [Rayfin feature gate](..\u002F..\u002Fshared\u002Fshared-instructions.md#rayfin-feature-gate).\n\n## 1. Set up the database\n\nIf `rayfin\u002Frayfin.yml` exists, use the existing configuration. Otherwise, run:\n\n```bash\nms app add backend --provider rayfin --json\n```\n\nThis creates the backend configuration, TypeScript configuration and `rayfin\u002Fdata\u002F`.\nKeep the existing app layout and exclude `rayfin\u002F.temp\u002F` from version control.\n\nThis prepares the app's backend definitions; it does not provision a database.\nRayfin is the app backend, not an existing database to select or connect to.\n\n## 2. Install dependencies\n\nRun from the app root before continuing so the declared dependencies and their\nversion-matched docs are available in `node_modules`:\n\n```bash\nnpm install\n```\n\nUse the app's existing package manager and lockfile if it does not use npm.\nReport installation or peer-dependency errors; do not force-install or downgrade\nthe app to bypass them. Add missing direct dependencies only as required by the\nimplementation described in the references.\n\n## 3. Implement and check the app\n\nRead the installed package docs identified in these references, then follow them\nin order:\n\n- [Data modeling](.\u002Freferences\u002Frayfin-data-modeling.md): entities, permissions and required [Copilot Managed Runtime host initialization](.\u002Freferences\u002Frayfin-data-modeling.md#step-4-initialize-through-copilot-managed-runtime).\n- [CRUD UI](.\u002Freferences\u002Frayfin-crud-ui.md): lists, forms, mutations and persistence checks.\n\nWhen invoked from `\u002Fcreate-app`, complete data modeling in Step 9 and return the\nentity\u002Fclient paths; that workflow handles UI implementation and checks in\nSteps 10-11. Standalone use continues through both references.\n\n## 4. Follow the app lifecycle\n\nUse the normal [app build and deploy workflow](..\u002F..\u002Fshared\u002Fdevelopment-standards.md#build--deploy),\nnot a separate Rayfin provisioning workflow.",{"name":5,"description":7},"main","7c7ee71b1937858ba4ab6ca265967958c602d5ea","plugins\u002Fcopilot-managed-runtime\u002Fskills\u002Fadd-backend",0,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-11 02:57:53",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add microsoft\u002FCopilot-Managed-Runtime --skill add-backend",{"tool":60,"command":61},"bunx","bunx skills add microsoft\u002FCopilot-Managed-Runtime --skill add-backend",{"tool":63,"command":64},"pnpm","pnpm dlx skills add microsoft\u002FCopilot-Managed-Runtime --skill add-backend","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fplugins\u002Fcopilot-managed-runtime\u002Fskills\u002Fadd-backend\u002FSKILL.md",true,[68,74],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Frayfin-crud-ui.md","REFERENCE","参考文档",4773,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fplugins\u002Fcopilot-managed-runtime\u002Fskills\u002Fadd-backend\u002Freferences\u002Frayfin-crud-ui.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Frayfin-data-modeling.md",4411,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fplugins\u002Fcopilot-managed-runtime\u002Fskills\u002Fadd-backend\u002Freferences\u002Frayfin-data-modeling.md",[79,103,129,134,141,161],{"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":40},"01M6X0AET142GRSQ2EJ6M25MZK","setup-taskmanager","Sets up the Task Manager template for a new owner - copies the sample into its own folder, signs in to the `ms` CLI, creates the app and its platform-managed git repository on Copilot Managed Runtime, adds the Azure DevOps, Teams and Office 365 Users connectors, writes .env.local and admins.json, verifies with npm run check-setup, and commits and pushes to the app's repository. Use when someone has just cloned this template, when `npm run dev` or `npm run build` stops at check-setup, or when ms.config.json is missing.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.github\u002Fskills\u002Fsetup-taskmanager\u002FSKILL.md",[],[86,87,88,89,90,91,92,93,94,95,32,96,97,98,99,35,100,101,102,39],"setup","setup taskmanager","cli","azure devops","config","copilot","run","git","repository","template","up","run build","local","sample","manager","at","managed",{"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":115,"publishedAt":40},"01M6X0A8B189RCJYK3NWQSVEMD","add-data-source","Moves this app's data from browser-local storage to a shared backend (SharePoint lists, Dataverse tables, a REST API, or any other store) by adding a storage provider. Use when the user wants app data shared between people or devices, kept outside the browser, or stored in a specific system.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.github\u002Fskills\u002Fadd-data-source\u002FSKILL.md",[109,110],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[116,117,26,118,119,120,121,122,123,124,31,25,34,98,125,126,35,127,128,39],"add data source","data","source","dataverse","browser","REST","devices","api","system","shared","rest api","store","people",{"skillNo":130,"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":131,"categories":132,"keywords":133,"publishedAt":40},"01M6X0A13K1CXG92DXMZZ2NWXK","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.claude\u002Fskills\u002Fsetup-taskmanager\u002FSKILL.md",[],[86,87,88,89,90,91,92,93,94,95,32,96,97,98,99,35,100,101,102,39],{"skillNo":135,"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":136,"categories":137,"keywords":140,"publishedAt":40},"01M6X09W1D8XCY20N6H9QS9WCH","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.claude\u002Fskills\u002Fadd-data-source\u002FSKILL.md",[138,139],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},[116,117,26,118,119,120,121,122,123,124,31,25,34,98,125,126,35,127,128,39],{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":40},"01M6X09PVHY12C6WBP0KVEJ6NZ","setup-learninghub","Set up the Learning Hub sample after cloning it - copy it into its own folder, install dependencies, sign in with the ms CLI, create the app and its platform-managed git repository with ms app init (writes ms.config.json), hide the host header, add the Office 365 Users connector, configure .env.local, verify with check-setup, start local development, and commit and push to the app's repository. Use when someone asks to set up, configure, run or deploy this app for the first time, or when `npm run dev`\u002F`npm run build` stops with \"Learning Hub is not set up yet\".","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FLearningHub\u002F.github\u002Fskills\u002Fsetup-learninghub\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[86,151,88,152,153,154,155,156,157,32,96,158,97,159,98,99,35,160,102,39],"setup learninghub","init","commit","create","SET","configure","commit and push","Connector","time","host",{"skillNo":162,"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":163,"categories":164,"keywords":167,"publishedAt":40},"01M6X09JNRAH0SKYXGM3JTMP2M","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FLearningHub\u002F.github\u002Fskills\u002Fadd-data-source\u002FSKILL.md",[165,166],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},[116,117,26,118,119,120,121,122,123,124,31,25,34,98,125,126,35,127,128,39]]