Problem
Going live today requires the user to manually run ~5 azd env set commands and hunt down:
MAILBOX_OWNER_EMAIL – their own UPN
TEAMS_TEAM_ID – from the channel link's groupId=
TEAMS_CHANNEL_ID – the 19:...@thread.tacv2 segment of the channel link
TEAMS_MENTION_USER_ID – their AAD object id (az ad signed-in-user show)
TEAMS_MENTION_NAME – their display name
We have infra/scripts/discover-teams-ids.{sh,ps1} and a doc block in README.md §5, but the user still has to:
- Know the script exists.
- Paste a Teams channel URL from their browser.
- Glue the outputs together.
- Re-run
azd provision / azd up.
This is the #1 friction point right after azd up.
Proposal
Add a Copilot skill (under .github/skills/ or wherever this repo registers skills — see skills/) named something like configure-go-live that:
- Detects current
azd env get-values and reports which of the 5 vars are unset / placeholder.
- Prompts the user for a Teams channel URL and extracts
TEAMS_TEAM_ID + TEAMS_CHANNEL_ID via regex.
- Runs
az ad signed-in-user show to auto-fill TEAMS_MENTION_USER_ID + TEAMS_MENTION_NAME (and offers MAILBOX_OWNER_EMAIL from userPrincipalName).
- Shows the diff (old → new) and asks for confirmation before issuing the
azd env set calls.
- Offers to run
azd provision (or azd up) afterward, and reminds the user to run ./infra/scripts/authorize-connectors.sh the first time.
Acceptance
- A user with a fresh clone +
azd up already run can go from DRY RUN → LIVE in a single skill invocation.
- Skill is idempotent (re-running it just re-confirms / updates whatever's stale).
- Works on both bash and PowerShell hosts.
Related
README.md §5 (Go live)
docs/configuration.md (Go live with real M365)
infra/scripts/discover-teams-ids.{sh,ps1}
skills/teams-channels.md
Problem
Going live today requires the user to manually run ~5
azd env setcommands and hunt down:MAILBOX_OWNER_EMAIL– their own UPNTEAMS_TEAM_ID– from the channel link'sgroupId=TEAMS_CHANNEL_ID– the19:...@thread.tacv2segment of the channel linkTEAMS_MENTION_USER_ID– their AAD object id (az ad signed-in-user show)TEAMS_MENTION_NAME– their display nameWe have
infra/scripts/discover-teams-ids.{sh,ps1}and a doc block inREADME.md§5, but the user still has to:azd provision/azd up.This is the #1 friction point right after
azd up.Proposal
Add a Copilot skill (under
.github/skills/or wherever this repo registers skills — seeskills/) named something likeconfigure-go-livethat:azd env get-valuesand reports which of the 5 vars are unset / placeholder.TEAMS_TEAM_ID+TEAMS_CHANNEL_IDvia regex.az ad signed-in-user showto auto-fillTEAMS_MENTION_USER_ID+TEAMS_MENTION_NAME(and offersMAILBOX_OWNER_EMAILfromuserPrincipalName).azd env setcalls.azd provision(orazd up) afterward, and reminds the user to run./infra/scripts/authorize-connectors.shthe first time.Acceptance
azd upalready run can go from DRY RUN → LIVE in a single skill invocation.Related
README.md§5 (Go live)docs/configuration.md(Go live with real M365)infra/scripts/discover-teams-ids.{sh,ps1}skills/teams-channels.md