agentleFS
MicrosoftKnown publishermicrosoft/Copilot-Managed-Runtime/samples/TaskManager/.claude/skills/setup-taskmanager/SKILL.md

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

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
  1. Very specific:

    Follow these steps in order.

    line 8
  2. Very specific:

    Don't pass --repo: with no git repository in the folder, init creates the platform-managed repository.

    line 44
  3. Very specific:

    Do not edit generated/. The app reaches it only through the adapters in src/connectors/ (azureDevOps.ts, teams.ts, office365Users.ts).

    line 62
  4. Very specific:

    Ask the installer which usernames should be admins and write them to admins.json (sign-in UPN or email, case-insensitive), for example { …

    line 85
  5. Very specific:

    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 …

    line 99
  6. Very specific:

    Commit everything and push it to the app's repository (git asks the user to sign in the first time).

    line 118

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 install if node_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-toplevel succeeds in the sample folder, copy the folder out first (for example cp -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 active

3. 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 bar

Don'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 action

Do 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.local

Set at least:

VariableExampleNotes
VITE_ADO_ORGcontosoAzure DevOps organization name
VITE_ADO_PROJECTFabrikam WebAzure DevOps project
VITE_ADO_AREA_PATHFabrikam Web\Team AOptional; defaults to the project root
VITE_ADO_AREASFrontend,BackendOptional; 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 test

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 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 CLI

Open 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 main

Data 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.json exists (from npx ms app init, no --repo) with real appId / environmentId values and "repoType": "native"
  • All three connectors added; generated/ and .ms/ exist
  • .env.local sets VITE_ADO_ORG and VITE_ADO_PROJECT
  • admins.json lists the admins the installer chose (or stays empty)
  • npm run check-setup, npm run typecheck and npm test pass
  • npm run dev (or npx ms app dev) shows live work items
  • Everything committed and pushed to origin

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.