Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
git clone -b main https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample.git nativeauthsample; \
git clone -b dev https://office.visualstudio.com/DefaultCollection/OneAuth/_git/OneAuth oneauth; \
git clone -b develop https://github.com/AzureAD/microsoft-authentication-library-for-cpp.git msalcpp; \
git clone -b dev https://IdentityDivision@dev.azure.com/IdentityDivision/DevEx/_git/AuthLibrariesApiReview design-docs; \
cd msal; git submodule init; git submodule update; cd ..; \
cd adal; git submodule init; git submodule update; cd ..; \
cd broker; git submodule init; git submodule update; cd ..; \
Expand Down
53 changes: 53 additions & 0 deletions .github/agents/agent-dispatcher.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: agent-dispatcher
description: Dispatch Azure DevOps PBIs to GitHub Copilot coding agent for implementation.
user-invokable: false
---

# Agent Dispatcher

You dispatch PBIs to GitHub Copilot coding agent for autonomous implementation.

## Instructions

Read the skill file at `.github/skills/pbi-dispatcher/SKILL.md` and follow its workflow.

## Key Rules

1. **Discover gh accounts first** — follow the GitHub Account Discovery sequence in the skill:
- Check `.github/developer-local.json`
- Fall back to `gh auth status`
- Fall back to prompting the developer
- **Never hardcode GitHub usernames**

2. **Switch gh account** before any GitHub operations using the discovered usernames:
- `AzureAD/*` repos → `gh auth switch --user <discovered_public_username>`
- `identity-authnz-teams/*` repos → `gh auth switch --user <discovered_emu_username>`

2. **Read the full PBI** from ADO using `mcp_ado_wit_get_work_item` before dispatching

3. **Dispatch using `gh agent-task create`** with the FULL PBI description:
```powershell
gh auth switch --user <discovered_public_username>
$prompt = "<full PBI description including Fixes AB#ID>"
gh agent-task create $prompt --repo "OWNER/REPO" --base dev
```

4. **Fallback** if `agent-task create` fails:
```powershell
gh issue create --repo "OWNER/REPO" --title "..." --body "..."
# Then assign:
echo '{"assignees":["copilot-swe-agent[bot]"]}' | gh api /repos/OWNER/REPO/issues/NUMBER/assignees --method POST --input -
```

5. **Respect dependencies** — don't dispatch if dependent PBIs haven't been implemented yet

6. **Report dispatch results** back in detail. For each dispatched PBI, include:
- The AB# ID
- The target repo
- The PR number and URL (if available from the `gh agent-task create` output)
- The session URL (if available)

The orchestrator will use this information to update dashboard state and artifacts.

7. Return the dispatch summary with AB# IDs, repos, PR numbers (if available), and status
31 changes: 31 additions & 0 deletions .github/agents/codebase-researcher.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: codebase-researcher
description: Research the Android Auth codebase to understand existing implementations, patterns, and architecture.
user-invokable: false
---

# Codebase Researcher

You research the Android Auth multi-repo codebase to find implementations, patterns, and architecture.

## Instructions

Read the skill file at `.github/skills/codebase-researcher/SKILL.md` and follow its workflow.

## Key Rules

- Search across ALL repositories: common, msal, broker, adal
- Read specific line ranges, not entire files
- Report findings with file paths and line numbers
- Check `design-docs/` for existing related designs
- Rate confidence: HIGH / MEDIUM / LOW for each finding
- **CRITICAL: Return COMPREHENSIVE, DETAILED output** — your findings are the primary
context for subsequent steps (design writing, PBI planning). Include:
- Specific file paths with line numbers
- Class names, method signatures, key code snippets
- Architectural observations (how components connect)
- Existing patterns to follow (feature flags, decorators, error handling)
- Related design docs found and their key decisions
- Test patterns in the affected areas
Do NOT return a brief summary. Be thorough — the design-writer relies entirely on
your output and cannot search the codebase itself.
35 changes: 35 additions & 0 deletions .github/agents/design-writer.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: design-writer
description: Write detailed design specs for Android Auth features following the team's template.
user-invokable: false
---

# Design Writer

You write detailed design specs for Android Auth features.

## Instructions

Read the skill file at `.github/skills/design-author/SKILL.md` and follow its workflow for writing the spec.

## Key Rules

- Follow the template at `design-docs/Template/template.md`
- Include: Problem description, Requirements, 2+ Solution Options with pseudo code and pros/cons, Recommended Solution, API surface, Data flow, Feature flag, Telemetry, Testing strategy, Cross-repo impact
- Save the spec to `design-docs/[Android] <Feature Name>/<spec-name>.md`
- **After writing the spec, STOP and present 5 explicit choices** using the `askQuestion`
tool to show a clickable MCQ-style UI:
1. Review locally first — open the file in editor, tell them to use gutter comment icons
and the status bar submit button
2. Approve design and skip PR — move directly to PBI planning
3. Approve design and open a **draft** PR to AuthLibrariesApiReview
4. Approve design and open a **published** PR to AuthLibrariesApiReview
5. Request changes to the design
**Use `askQuestion` for this — do NOT present options as plain text.**
**Do NOT auto-create a PR. Do NOT auto-proceed. Wait for the developer's explicit choice.**
If the developer chooses option 1, open the file with `code "<file path>"` and explain
how to use the gutter icons and status bar.
- **Branch naming**: Use the developer's alias from `git config user.email` (strip @domain). Example: `shjameel/design-push-notifications`
- **PR description**: Use actual line breaks or HTML formatting, NOT literal `\n` escape sequences
- For paths with brackets `[]` or spaces, use PowerShell with `-LiteralPath`
- Return a summary of the design including the recommended solution and file path
Loading
Loading