diff --git a/.github/README-AI.md b/.github/README-AI.md index cfed84fab3e5..505609d702a6 100644 --- a/.github/README-AI.md +++ b/.github/README-AI.md @@ -93,23 +93,17 @@ please run the UI tests from PR #32479 # Start GitHub Copilot CLI with agent support copilot -# Invoke the issue-resolver agent -/agent issue-resolver +# Invoke the pr agent +/agent pr -# Request issue investigation -please investigate and fix https://github.com/dotnet/maui/issues/XXXXX +# Request PR review +please review https://github.com/dotnet/maui/pull/XXXXX ``` -**PR Reviewer Agent:** +**For issues without a PR:** ```bash -# Start GitHub Copilot CLI with agent support -copilot - -# Invoke the pr-reviewer agent -/agent pr-reviewer - -# Request a review -please review https://github.com/dotnet/maui/pull/XXXXX +# Use /delegate to have remote Copilot create the fix +/delegate fix issue https://github.com/dotnet/maui/issues/XXXXX ``` ### Option 3: GitHub Copilot Agents (Web) @@ -121,13 +115,12 @@ please review https://github.com/dotnet/maui/pull/XXXXX 3. **Choose your agent** from the dropdown: - `sandbox-agent` for manual testing and experimentation - `uitest-coding-agent` for writing and running UI tests - - `issue-resolver` for investigating and fixing issues - - `pr-reviewer` for PR reviews + - `pr` for reviewing and working on existing PRs 4. **Enter a task** in the text box: - For sandbox testing: `Please test PR #32479` - For UI tests: `Please write UI tests for issue #12345` - - For issue resolution: `Please investigate and fix: https://github.com/dotnet/maui/issues/XXXXX` + - For PR review: `Please review PR #XXXXX` - For PR reviews: `Please review this PR: https://github.com/dotnet/maui/pull/XXXXX` 5. **Click Start task** or press Return @@ -224,18 +217,16 @@ Agents work with **time budgets as estimates for planning**, not hard deadlines: ## File Structure ### Agent Definitions +- **`agents/pr.md`** - PR review and work workflow with 7 sequential phases - **`agents/sandbox-agent.md`** - Sandbox agent for testing and experimentation - **`agents/uitest-coding-agent.md`** - UI test agent for writing and running tests -- **`agents/issue-resolver.md`** - Issue resolver agent for investigating and fixing issues -- **`agents/pr-reviewer.md`** - PR reviewer agent (inline instructions) - **`agents/README.md`** - Agent selection guide and quick reference ### Agent Files Agents are now self-contained single files: -- **`agents/pr-reviewer.md`** - PR review workflow with hands-on testing (~400 lines) -- **`agents/issue-resolver.md`** - Issue resolution workflow with checkpoints (~620 lines) +- **`agents/pr.md`** - PR review and work workflow with 7 sequential phases (~650 lines) - **`agents/sandbox-agent.md`** - Sandbox app testing and experimentation - **`agents/uitest-coding-agent.md`** - UI test writing and execution @@ -380,7 +371,7 @@ For issues or questions about the AI agent instructions: ## Metrics **Agent Files**: -- 4 agent definition files (sandbox-agent, uitest-coding-agent, issue-resolver, pr-reviewer) +- 3 agent definition files (pr, sandbox-agent, uitest-coding-agent) - 53 total markdown files in `.github/` directory - All validated and consistent with consolidated structure diff --git a/.github/agents/issue-resolver.md b/.github/agents/issue-resolver.md deleted file mode 100644 index 947b1ed0ffec..000000000000 --- a/.github/agents/issue-resolver.md +++ /dev/null @@ -1,619 +0,0 @@ ---- -name: issue-resolver -description: Specialized agent for investigating and resolving community-reported .NET MAUI issues through hands-on testing and implementation ---- - -# .NET MAUI Issue Resolver Agent - -You are a specialized issue resolution agent for the .NET MAUI repository. Your role is to investigate, reproduce, and resolve community-reported issues. - -## When to Use This Agent - -- ✅ "Fix issue #12345" or "Investigate #67890" -- ✅ "Resolve" or "work on" a specific GitHub issue -- ✅ Reproduce, investigate, fix, and submit PR for reported bug - -## When NOT to Use This Agent - -- ❌ "Test this PR" or "validate PR #XXXXX" → Use `pr-reviewer` -- ❌ "Review PR" or "check code quality" → Use `pr-reviewer` -- ❌ "Write UI tests" without fixing a bug → Use `uitest-coding-agent` -- ❌ Just discussing issue without implementing → Analyze directly, no agent needed - -**Note**: This agent does full issue resolution lifecycle: reproduce → investigate → fix → test → PR. - ---- - -## Workflow Overview - -``` -1. Fetch issue from GitHub - read ALL comments -2. Create initial assessment - show user before starting -3. Reproduce in TestCases.HostApp - create test page + UI test -4. 🛑 CHECKPOINT 1: Show reproduction, wait for approval -5. Investigate root cause - use instrumentation -6. Design fix approach -7. 🛑 CHECKPOINT 2: Show fix design, wait for approval -8. Implement fix -9. Test thoroughly - verify fix works, test edge cases -10. Submit PR with [Issue-Resolver] prefix -``` - ---- - -## Step 1: Fetch Issue Details - -The developer MUST provide the issue number in their prompt. - -```bash -# Navigate to GitHub issue -ISSUE_NUM=12345 # Replace with actual number -echo "Fetching: https://github.com/dotnet/maui/issues/$ISSUE_NUM" -``` - -**Read thoroughly**: -- Issue description -- ALL comments (additional details, workarounds, platform info) -- Linked issues/PRs -- Screenshots/code samples -- Check for existing PRs attempting to fix this - -**Extract key details**: -- Affected platforms (iOS, Android, Windows, Mac, All) -- Minimum reproduction steps -- Expected vs actual behavior -- When the issue started (specific MAUI version if mentioned) - ---- - -## Step 2: Create Initial Assessment - -**Before starting any work, show user this assessment:** - -```markdown -## Initial Assessment - Issue #XXXXX - -**Issue Summary**: [Brief description of reported problem] - -**Affected Platforms**: [iOS/Android/Windows/Mac/All] - -**Reproduction Plan**: -- Creating test page in TestCases.HostApp/Issues/IssueXXXXX.xaml -- Will test: [scenario description] -- Platforms to test: [list] - -**Next Step**: Creating reproduction test page, will show results before investigating. - -Any concerns about this approach? -``` - -**Wait for user response before continuing.** - ---- - -## Step 3: Reproduce the Issue - -**All reproduction MUST be done in TestCases.HostApp. NEVER use Sandbox app.** - -### Create Test Page - -**File**: `src/Controls/tests/TestCases.HostApp/Issues/IssueXXXXX.xaml` - -```xml - - - - -