[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X091M929VWDCTH7CXQFZWS":3,"skill-same:01M6X091M929VWDCTH7CXQFZWS":67},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6X091M929VWDCTH7CXQFZWS","setup-codeflow",null,"Sets up a fresh copy of the CodeFlow sample so it runs as an app hosted on Copilot Managed Runtime — copies the sample into its own folder, signs in with the ms CLI, creates the app and its platform-managed git repository (which writes ms.config.json), applies its settings, adds the GitHub connector, configures .env.local, starts local development, and commits and pushes to the app's repository. Use when someone has just cloned CodeFlow, or when `npm run dev` \u002F `npm run build` stops at \"CodeFlow setup is incomplete\".","microsoft\u002FCopilot-Managed-Runtime","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6X05E4HRJ1306KAFJJ9MASV",9,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FCodeFlow\u002F.github\u002Fskills\u002Fsetup-codeflow\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"setup codeflow","setup","run build","when","managed","at","which","fresh","app","sample","local","cli","Connector","up","ms","repository","git","run","copilot","config","2026-11-10 10:12:30",false,"---\nname: setup-codeflow\ndescription: Sets up a fresh copy of the CodeFlow sample so it runs as an app hosted on Copilot Managed Runtime — copies the sample into its own folder, signs in with the ms CLI, creates the app and its platform-managed git repository (which writes ms.config.json), applies its settings, adds the GitHub connector, configures .env.local, starts local development, and commits and pushes to the app's repository. Use when someone has just cloned CodeFlow, or when `npm run dev` \u002F `npm run build` stops at \"CodeFlow setup is incomplete\".\n---\n\n# Set up CodeFlow\n\nCodeFlow ships **without** `ms.config.json`, **without** connector code and **without** any\nenvironment identifiers. This skill creates them for the user's own environment. Run every\ncommand from the sample folder (the one that contains `package.json`).\n\nThe app gets its own platform-managed git repository. Commit `ms.config.json`, `generated\u002F` and\n`.ms\u002F` to it with the rest of the app; only `.env.local` stays local (it is gitignored).\n\nBackground: Quickstart https:\u002F\u002Fgo.microsoft.com\u002Ffwlink\u002F?LinkId=2368962 and documentation\nhttps:\u002F\u002Fgo.microsoft.com\u002Ffwlink\u002F?LinkId=2372842 for Copilot Managed Runtime (public preview).\n\n## Prerequisites\n\n- Node.js 24.11 or later, npm and git.\n- Access to a Power Platform environment where the user can create apps on Copilot Managed\n  Runtime.\n- A GitHub account the app will act as (the GitHub connector signs in with it).\n- The sample must be in **its own folder**, not inside a clone of the samples repository: that\n  folder becomes the app's repository. If `git rev-parse --show-toplevel` succeeds in the sample\n  folder, copy the folder out first (for example `cp -r Copilot-Managed-Runtime\u002Fsamples\u002FCodeFlow my-codeflow`;\n  PowerShell: `Copy-Item -Recurse`) and continue from the copy.\n- Install dependencies once: `npm install`.\n\nCheck the installed CLI before using any command below, because flags change between versions:\n\n```bash\nnpx ms --help\nnpx ms app init --help\nnpx ms app add data-source --help\n```\n\n## Step 1: Sign in\n\n```bash\nnpx ms auth login\n```\n\n`npx ms auth status` shows cached accounts. Ask the user which environment to use if they have\nmore than one, and note its environment id.\n\n## Step 2: Create the app\n\n```bash\nnpx ms app init --display-name \"CodeFlow\" --icon-path .\u002Fpublic\u002Fcodeflow-logo.png\n```\n\nDon't pass `--repo`: with no git repository in the folder, `init` creates the app's\nplatform-managed git repository and sets it up as `origin`. Add `--environment-id \u003Cid>` to pick\nthe environment without a prompt. Leave `--build-path` (`.\u002Fdist`) and `--build-command`\n(`npm run build`) at their defaults.\n\nThis writes `ms.config.json`. Confirm it contains an `appId`, an `environmentId` and\n`\"repoType\": \"native\"` (`npx ms app info` shows the app).\n\n## Step 3: Apply app settings\n\nCodeFlow draws its own header, so hide the host header:\n\n```bash\nnpx ms app set-setting --show-header false\n```\n\n## Step 4: Add the GitHub connector (always required)\n\nCodeFlow reads and writes pull requests only through the public **GitHub** connector\n(`shared_github`). Add it as an action data source; the CLI prompts for (or creates) a GitHub\nconnection and generates `generated\u002F`:\n\n```bash\nnpx ms app add data-source --connector shared_github --as action\n```\n\nIf the CLI reports actions \"skipped due to your organization's connector policy\", continue:\n`npm run check-setup` (Step 6) reports any operation CodeFlow needs that is missing.\n\nNo other connectors are needed. The app uses exactly these GitHub connector operations (least\nprivilege — do not add others): `GetUser`, `GetPullRequest`, `GetPullRequests`,\n`MergePullRequest`, `SearchIssues`, `CompareRepositoryCommits`, `ListCollaborators`,\n`checkCollaborator`, `CreateReference`, `CreatePullRequest` and `SearchGithubWithQuery`\n(GraphQL queries and mutations for comments, reviews, files, branches and cherry-pick commits).\n\nIf the generated service or method names differ from what `src\u002Fconnectors\u002Fgithub.ts` expects,\nadapt **only** that file (it is the single module that imports `generated\u002F`), then run\n`npm run typecheck`.\n\n## Step 5: Local configuration\n\n```bash\ncp .env.example .env.local\n```\n\nAll values are optional. Leave `VITE_GITHUB_HOST` at `https:\u002F\u002Fgithub.com`: the public GitHub\nconnector this app uses talks to github.com. Set `VITE_APP_URL` to the deployed app URL (from\n`npx ms app play`) once the app is deployed, so shared deep links point at it.\n\n## Step 6: Verify and run\n\n```bash\nnpm run check-setup   # must print \"CodeFlow setup looks complete.\"\nnpm run typecheck\nnpm test\nnpm run dev           # or: npx ms app dev — open the \"Local Play\" URL it prints\n```\n\n## Step 7: Commit and push\n\nCommit everything (including `ms.config.json`, `generated\u002F` and `.ms\u002F`) and push to the app's\nrepository. Git asks the user to sign in the first time.\n\n```bash\ngit fetch origin\ngit reset origin\u002Fmain   # start from the new repository's initial commit; your files stay as they are\ngit branch -M main\ngit add -A\ngit commit -m \"Set up CodeFlow\"\ngit push -u origin main\n```\n\nDeploy only when the user asks, from a pushed commit: `npm run build`, then `npx ms app deploy`.\n\n## Storage\n\nBy default CodeFlow keeps its own data (seen marks, review notes, app-only approvals,\nnotes\u002Ffeedback, settings) in the **browser** (`VITE_STORAGE_PROVIDER=local`), and shows\n\"Local mode: data stays in this browser\". Nothing else is needed for local mode.\n\nTo share that data between people or devices (SharePoint lists, Dataverse, your own API), follow\n`.github\u002Fskills\u002Fadd-data-source\u002FSKILL.md`. Users can move existing data with\n**Settings → Data → Export \u002F Import**.\n\n## Done checklist\n\n- [ ] Sample in its own folder; `ms.config.json` created by `npx ms app init` (no `--repo`), with\n  `appId`, `environmentId` and `\"repoType\": \"native\"`\n- [ ] Host header hidden (`npx ms app set-setting --show-header false`)\n- [ ] GitHub connector added; `npm run check-setup` passes\n- [ ] `.env.local` created (optional values reviewed)\n- [ ] `npm run typecheck` and `npm test` pass\n- [ ] `npm run dev` opens the app and the dashboard loads pull requests\n- [ ] Everything committed and pushed to `origin`\n","# Set up CodeFlow\n\nCodeFlow ships **without** `ms.config.json`, **without** connector code and **without** any\nenvironment identifiers. This skill creates them for the user's own environment. Run every\ncommand from the sample folder (the one that contains `package.json`).\n\nThe app gets its own platform-managed git repository. Commit `ms.config.json`, `generated\u002F` and\n`.ms\u002F` to it with the rest of the app; only `.env.local` stays local (it is gitignored).\n\nBackground: Quickstart https:\u002F\u002Fgo.microsoft.com\u002Ffwlink\u002F?LinkId=2368962 and documentation\nhttps:\u002F\u002Fgo.microsoft.com\u002Ffwlink\u002F?LinkId=2372842 for Copilot Managed Runtime (public preview).\n\n## Prerequisites\n\n- Node.js 24.11 or later, npm and git.\n- Access to a Power Platform environment where the user can create apps on Copilot Managed\n  Runtime.\n- A GitHub account the app will act as (the GitHub connector signs in with it).\n- The sample must be in **its own folder**, not inside a clone of the samples repository: that\n  folder becomes the app's repository. If `git rev-parse --show-toplevel` succeeds in the sample\n  folder, copy the folder out first (for example `cp -r Copilot-Managed-Runtime\u002Fsamples\u002FCodeFlow my-codeflow`;\n  PowerShell: `Copy-Item -Recurse`) and continue from the copy.\n- Install dependencies once: `npm install`.\n\nCheck the installed CLI before using any command below, because flags change between versions:\n\n```bash\nnpx ms --help\nnpx ms app init --help\nnpx ms app add data-source --help\n```\n\n## Step 1: Sign in\n\n```bash\nnpx ms auth login\n```\n\n`npx ms auth status` shows cached accounts. Ask the user which environment to use if they have\nmore than one, and note its environment id.\n\n## Step 2: Create the app\n\n```bash\nnpx ms app init --display-name \"CodeFlow\" --icon-path .\u002Fpublic\u002Fcodeflow-logo.png\n```\n\nDon't pass `--repo`: with no git repository in the folder, `init` creates the app's\nplatform-managed git repository and sets it up as `origin`. Add `--environment-id \u003Cid>` to pick\nthe environment without a prompt. Leave `--build-path` (`.\u002Fdist`) and `--build-command`\n(`npm run build`) at their defaults.\n\nThis writes `ms.config.json`. Confirm it contains an `appId`, an `environmentId` and\n`\"repoType\": \"native\"` (`npx ms app info` shows the app).\n\n## Step 3: Apply app settings\n\nCodeFlow draws its own header, so hide the host header:\n\n```bash\nnpx ms app set-setting --show-header false\n```\n\n## Step 4: Add the GitHub connector (always required)\n\nCodeFlow reads and writes pull requests only through the public **GitHub** connector\n(`shared_github`). Add it as an action data source; the CLI prompts for (or creates) a GitHub\nconnection and generates `generated\u002F`:\n\n```bash\nnpx ms app add data-source --connector shared_github --as action\n```\n\nIf the CLI reports actions \"skipped due to your organization's connector policy\", continue:\n`npm run check-setup` (Step 6) reports any operation CodeFlow needs that is missing.\n\nNo other connectors are needed. The app uses exactly these GitHub connector operations (least\nprivilege — do not add others): `GetUser`, `GetPullRequest`, `GetPullRequests`,\n`MergePullRequest`, `SearchIssues`, `CompareRepositoryCommits`, `ListCollaborators`,\n`checkCollaborator`, `CreateReference`, `CreatePullRequest` and `SearchGithubWithQuery`\n(GraphQL queries and mutations for comments, reviews, files, branches and cherry-pick commits).\n\nIf the generated service or method names differ from what `src\u002Fconnectors\u002Fgithub.ts` expects,\nadapt **only** that file (it is the single module that imports `generated\u002F`), then run\n`npm run typecheck`.\n\n## Step 5: Local configuration\n\n```bash\ncp .env.example .env.local\n```\n\nAll values are optional. Leave `VITE_GITHUB_HOST` at `https:\u002F\u002Fgithub.com`: the public GitHub\nconnector this app uses talks to github.com. Set `VITE_APP_URL` to the deployed app URL (from\n`npx ms app play`) once the app is deployed, so shared deep links point at it.\n\n## Step 6: Verify and run\n\n```bash\nnpm run check-setup   # must print \"CodeFlow setup looks complete.\"\nnpm run typecheck\nnpm test\nnpm run dev           # or: npx ms app dev — open the \"Local Play\" URL it prints\n```\n\n## Step 7: Commit and push\n\nCommit everything (including `ms.config.json`, `generated\u002F` and `.ms\u002F`) and push to the app's\nrepository. Git asks the user to sign in the first time.\n\n```bash\ngit fetch origin\ngit reset origin\u002Fmain   # start from the new repository's initial commit; your files stay as they are\ngit branch -M main\ngit add -A\ngit commit -m \"Set up CodeFlow\"\ngit push -u origin main\n```\n\nDeploy only when the user asks, from a pushed commit: `npm run build`, then `npx ms app deploy`.\n\n## Storage\n\nBy default CodeFlow keeps its own data (seen marks, review notes, app-only approvals,\nnotes\u002Ffeedback, settings) in the **browser** (`VITE_STORAGE_PROVIDER=local`), and shows\n\"Local mode: data stays in this browser\". Nothing else is needed for local mode.\n\nTo share that data between people or devices (SharePoint lists, Dataverse, your own API), follow\n`.github\u002Fskills\u002Fadd-data-source\u002FSKILL.md`. Users can move existing data with\n**Settings → Data → Export \u002F Import**.\n\n## Done checklist\n\n- [ ] Sample in its own folder; `ms.config.json` created by `npx ms app init` (no `--repo`), with\n  `appId`, `environmentId` and `\"repoType\": \"native\"`\n- [ ] Host header hidden (`npx ms app set-setting --show-header false`)\n- [ ] GitHub connector added; `npm run check-setup` passes\n- [ ] `.env.local` created (optional values reviewed)\n- [ ] `npm run typecheck` and `npm test` pass\n- [ ] `npm run dev` opens the app and the dashboard loads pull requests\n- [ ] Everything committed and pushed to `origin`\n",{"name":5,"description":7},"main","7c7ee71b1937858ba4ab6ca265967958c602d5ea","samples\u002FCodeFlow\u002F.github\u002Fskills\u002Fsetup-codeflow",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-14 03:29:15",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add microsoft\u002FCopilot-Managed-Runtime --skill setup-codeflow",{"tool":59,"command":60},"bunx","bunx skills add microsoft\u002FCopilot-Managed-Runtime --skill setup-codeflow",{"tool":62,"command":63},"pnpm","pnpm dlx skills add microsoft\u002FCopilot-Managed-Runtime --skill setup-codeflow","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FCodeFlow\u002F.github\u002Fskills\u002Fsetup-codeflow\u002FSKILL.md",true,[],[68,79,113,118,125,144],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":39},"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",[],[20,75,30,76,38,37,36,35,34,77,33,32,21,29,28,27,78,24,23,22],"setup taskmanager","azure devops","template","manager",{"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":95,"publishedAt":39},"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",[85,90],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[96,97,98,99,100,101,102,103,104,105,106,107,108,29,109,110,27,111,112,22],"add data source","data","add","source","dataverse","browser","REST","devices","api","system","use","backend","provider","shared","rest api","store","people",{"skillNo":114,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":39},"01M6X0A13K1CXG92DXMZZ2NWXK","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.claude\u002Fskills\u002Fsetup-taskmanager\u002FSKILL.md",[],[20,75,30,76,38,37,36,35,34,77,33,32,21,29,28,27,78,24,23,22],{"skillNo":119,"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":120,"categories":121,"keywords":124,"publishedAt":39},"01M6X09W1D8XCY20N6H9QS9WCH","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FTaskManager\u002F.claude\u002Fskills\u002Fadd-data-source\u002FSKILL.md",[122,123],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[96,97,98,99,100,101,102,103,104,105,106,107,108,29,109,110,27,111,112,22],{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":134,"publishedAt":39},"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",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000011","运维与部署",[20,135,30,136,137,138,139,140,141,33,32,31,21,142,29,28,27,143,23,22],"setup learninghub","init","commit","create","SET","configure","commit and push","time","host",{"skillNo":145,"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":146,"categories":147,"keywords":150,"publishedAt":39},"01M6X09JNRAH0SKYXGM3JTMP2M","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FCopilot-Managed-Runtime\u002Fblob\u002Fmain\u002Fsamples\u002FLearningHub\u002F.github\u002Fskills\u002Fadd-data-source\u002FSKILL.md",[148,149],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[96,97,98,99,100,101,102,103,104,105,106,107,108,29,109,110,27,111,112,22]]