setup-taskmanager
Skill4 starsChanged 8 days agoMITView on GitHub
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.
- Reads credentials
- Commits and pushes
In this repository38 other files it gives its agents.
- github-actions/AGENTS.mdAGENTS.md
- plugins/copilot-managed-runtime/AGENTS.mdAGENTS.md
- samples/CodeFlow/AGENTS.mdAGENTS.md
- samples/LearningHub/AGENTS.mdAGENTS.md
- samples/TaskManager/AGENTS.mdAGENTS.md
- add-azuredevopsSkill
- add-backendSkill
- add-data-sourceSkill
- add-dataverseSkill
- add-excelSkill
- add-mcscopilotSkill
- add-office365Skill
- add-office365-usersSkill
- add-onedriveSkill
- add-sharepointSkill
- add-teamsSkill
- add-workiqSkill
- create-appSkill
- delete-appSkill
- deploySkill
- devSkill
- list-appsSkill
- list-connectorsSkill
- playSkill
- share-linkSkill
- shareSkill
- stateSkill
- add-data-sourceSkill
- setup-codeflowSkill
- add-data-sourceSkill
- setup-codeflowSkill
- add-data-sourceSkill
- setup-learninghubSkill
- add-data-sourceSkill
- setup-learninghubSkill
- add-data-sourceSkill
- add-data-sourceSkill
- setup-taskmanagerSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 0 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 8
Follow these steps in order.
- Very specific: line 44
Don't pass --repo: with no git repository in the folder, init creates the platform-managed repository.
- Very specific: line 62
Do not edit generated/. The app reaches it only through the adapters in src/connectors/ (azureDevOps.ts, teams.ts, office365Users.ts).
- Very specific: line 85
Ask the installer which usernames should be admins and write them to admins.json (sign-in UPN or email, case-insensitive), for example { …
- Very specific: line 99
If check-setup reports a missing service or operation, re-run the matching npx ms app add data-source command (or npx ms app refresh …
- Very specific: line 118
Commit everything and push it to the app's repository (git asks the user to sign in the first time).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Set up Task Manager
Follow these steps in order. Run every command from this sample's folder (the one that contains
package.json), not from the root of the samples repository. Ask the user for values you
don't know (environment, Azure DevOps organization/project); never invent them.
1. Prerequisites
- Node.js 24.11 or later, npm and git. Run
npm installifnode_modules/is missing. - The sample in its own folder, not inside a clone of the samples repository: that folder
becomes the app's repository. If
git rev-parse --show-toplevelsucceeds in the sample folder, copy the folder out first (for examplecp -r Copilot-Managed-Runtime/samples/TaskManager my-taskmanager; PowerShell:Copy-Item -Recurse) and continue from the copy. - A Power Platform environment where the user may create apps on Copilot Managed Runtime (public preview), and its environment ID (from the Power Platform admin center or maker portal URL).
- An Azure DevOps organization and project the user can read (and write, to edit work items).
- The Azure DevOps, Teams and Office 365 Users connectors must be allowed in that environment.
2. Sign in and pick the account
npx ms auth login # opens a browser sign-in
npx ms auth status # shows cached accounts; the active one is marked
npx ms auth switch # only if the wrong account is active3. Create the app (writes ms.config.json)
The template ships without ms.config.json. ms app init creates the app, its platform-managed
git repository (set up as origin) and ms.config.json with the new app's appId,
environmentId and "repoType": "native":
npx ms app init --display-name "Task Manager" --environment-id <ENVIRONMENT_ID> --icon-path ./public/task-manager-icon.png
npx ms app set-setting --show-header false # the app draws its own 95 title barDon't pass --repo: with no git repository in the folder, init creates the platform-managed
repository. If the user already has an app for this template, work in a clone of that app's
repository instead of running init. Commit ms.config.json, generated/ and .ms/ to the
app's repository; only .env.local stays local (gitignored).
4. Add ALL three connectors
The app needs every one of these. Each command creates or reuses a connection and generates
TypeScript into generated/ (commit it with the app). Add --use-sso where the connector
supports single sign-on and the user prefers it; run npx ms app add data-source --help if a flag is
rejected (older CLIs call the command ms app add connector).
npx ms app add data-source --connector shared_visualstudioteamservices --as action
npx ms app add data-source --connector shared_teams --as action
npx ms app add data-source --connector shared_office365users --as actionDo not edit generated/. The app reaches it only through the adapters in src/connectors/
(azureDevOps.ts, teams.ts, office365Users.ts).
5. Configure .env.local
cp .env.example .env.localSet at least:
| Variable | Example | Notes |
VITE_ADO_ORG | contoso | Azure DevOps organization name |
VITE_ADO_PROJECT | Fabrikam Web | Azure DevOps project |
VITE_ADO_AREA_PATH | Fabrikam Web\Team A | Optional; defaults to the project root |
VITE_ADO_AREAS | Frontend,Backend | Optional; sub-areas shown as backlog columns |
Other options (work item types, states, team roster, app URL, issue tracker base URL, Teams message
template, storage provider) are documented in .env.example and the README.
5b. Choose admins
Ask the installer which usernames should be admins and write them to admins.json (sign-in UPN or
email, case-insensitive), for example { "admins": ["avery@contoso.example"] }. Admins see the
Completed, Retrospective, Tags and Bulk edit tabs; an empty list means nobody does. This only hides
UI; Azure DevOps permissions still control what anyone can change. Never add names the installer
didn't give you.
6. Verify
npm run check-setup # must print "check-setup: ... look good."
npm run typecheck
npm testIf check-setup reports a missing service or operation, re-run the matching
npx ms app add data-source command (or npx ms app refresh data-source). If the CLI reported
actions "skipped due to your organization's connector policy" (for example the Azure DevOps
HttpRequest action), the environment's data policy removed them: ask an admin to allow them, or
use an environment whose policy allows them, then refresh.
7. Run
npm run dev # Vite dev server; prints a "Local Play" URL
npx ms app dev # same thing through the CLIOpen the Local Play URL to run the app inside the Copilot Managed Runtime player with live connectors. Check that My Work and Board load work items, and that the title bar shows the signed-in user.
8. Commit and push
Commit everything and push it to the app's repository (git asks the user to sign in the first
time). Deploy only when the user asks, from a pushed commit: npm run build, then
npx ms app deploy.
git fetch origin
git reset origin/main # start from the new repository's initial commit; your files stay as they are
git branch -M main
git add -A
git commit -m "Set up Task Manager"
git push -u origin mainData and storage
App-owned data (retro notes, trackers, tags, work-item notes, feedback) uses the local storage
provider by default: it stays in each user's browser and is not shared. The title bar says
"Local mode: data stays in this browser". To share it through SharePoint, Dataverse or another
backend, follow .github/skills/add-data-source/SKILL.md. Work items always stay in Azure DevOps.
Done checklist
- Sample in its own folder;
ms.config.jsonexists (fromnpx ms app init, no--repo) with realappId/environmentIdvalues and"repoType": "native" - All three connectors added;
generated/and.ms/exist .env.localsetsVITE_ADO_ORGandVITE_ADO_PROJECTadmins.jsonlists the admins the installer chose (or stays empty)npm run check-setup,npm run typecheckandnpm testpassnpm run dev(ornpx ms app dev) shows live work items- Everything committed and pushed to
origin
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

