Skip to content

Add issue-resolver agent with multi-model analysis and reusable skills#334

Merged
PaulAndersonS merged 21 commits into
mainfrom
custom-build-agent
Mar 5, 2026
Merged

Add issue-resolver agent with multi-model analysis and reusable skills#334
PaulAndersonS merged 21 commits into
mainfrom
custom-build-agent

Conversation

@sheiksyedm
Copy link
Copy Markdown
Contributor

Description of Change

No automated issue-resolution workflow existed for this repository. Each issue required manual investigation, branch setup, implementation, and reporting — with no enforced structure, no reusable patterns, and no safeguards against mistakes like committing to main or adding unwanted tests.

Introduces a custom GitHub Copilot agent (issue-resolver) and two reusable skills to automate end-to-end issue resolution in a structured, safe, and repeatable way. The reference is taken from the maui repo.

New files added:

.github/agents/issue-resolver.md -> 3-phase agent: Pre-Flight → Fix → Report
.github/skills/multi-model-analysis/SKILL.md -> Reusable skill: runs 3 AI models in parallel to pick the best fix approach
.github/skills/testing-guide/SKILL.md -> Reusable skill: guides test writing, naming conventions, and build/run verification
.github/copilot-instructions.md -> Repo-level Copilot context (project structure, coding style, Git rules)

Agent highlights:

  • Phase 1 (Pre-Flight): Gathers issue/PR context, reviewer feedback, edge cases, and file classification — strictly no code analysis until Phase 2
  • Phase 2 (Fix): Default model analysis first; optional multi-model review (user permission required); implements the fix; builds and verifies existing tests pass
  • Phase 3 (Report): Writes a final structured report to the state file — no commits, pushes, or PRs without explicit user approval
  • 13 Critical Rules enforce safe defaults: no direct commits to main, no test additions by default, no git destructive ops, and explicit user approval required before any commit/push/PR

Skills are standalone-invocable — they can be called directly or from any future agent (e.g., a PR review agent or test agent).

sheiksyedm and others added 2 commits March 3, 2026 17:07
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 11:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a structured, reusable GitHub Copilot “issue-resolver” agent plus two standalone skills (multi-model analysis and testing guidance), and adds repo-level Copilot instructions tailored to the Syncfusion .NET MAUI Toolkit workflow and conventions.

Changes:

  • Added an end-to-end 3-phase issue-resolver agent definition (Pre-flight → Fix → Report) with safety rules and a state-file workflow.
  • Added two reusable skills: multi-model-analysis (parallel model proposals + rubric selection) and testing-guide (test guidance + verification steps).
  • Added .github/copilot-instructions.md documenting repo structure, build/test workflow, style, and PR/git rules for Copilot.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
.github/agents/issue-resolver.md Defines the issue-resolver agent workflow, rules, and state-file reporting format.
.github/skills/multi-model-analysis/SKILL.md Adds a reusable skill to run parallel analyses and select an approach via rubric.
.github/skills/testing-guide/SKILL.md Adds a reusable skill describing test location, naming, “what to test”, and verification commands.
.github/copilot-instructions.md Adds repository-wide Copilot context: structure, build/test commands, style, git/PR rules, and delegation policy.
Comments suppressed due to low confidence (1)

.github/skills/testing-guide/SKILL.md:55

  • The recommended test naming convention (MethodOrProperty_Scenario_ExpectedBehavior) doesn’t match existing test patterns in this repo (e.g., IsVisible_SetValue_ReturnsExpectedValue in maui/tests/.../ChartAxisUnitTests.cs). Consider updating the guidance to match the established convention so new tests stay consistent.
**Naming convention**: `MethodOrProperty_Scenario_ExpectedBehavior`


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/skills/testing-guide/SKILL.md Outdated
Comment thread .github/agents/issue-resolver.md Outdated
2. **Never commit directly to `main`** — Always work on a feature branch.
3. **Never skip a phase** — Each phase must complete before the next begins.
4. **Never stop and ask the user** — Use best judgment to skip blocked steps and continue autonomously. Only ask if you hit a genuine blocker that cannot be resolved or bypassed.
5. **Never run `git checkout`, `git switch`, `git stash`, `git reset`** — Create a new branch or use `gh pr checkout`. The agent is always on the correct branch.
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical Rule #5 forbids running git checkout / git switch, but Phase 1 Step 5 instructs git checkout -b .... This is internally inconsistent and will cause the agent to violate its own rules. Either allow branch creation as an explicit exception (e.g., permit git checkout -b / git switch -c only for creating the feature branch) or update the Step 5 command to match the allowed git operations.

Suggested change
5. **Never run `git checkout`, `git switch`, `git stash`, `git reset`**Create a new branch or use `gh pr checkout`. The agent is always on the correct branch.
5. **Never run `git checkout`, `git switch`, `git stash`, `git reset`**except when explicitly instructed to create a new feature branch using `git checkout -b ...` or `git switch -c ...`. Otherwise, create a new branch via other allowed means or use `gh pr checkout`. The agent is always on the correct branch.

Copilot uses AI. Check for mistakes.
Comment thread .github/agents/issue-resolver.md Outdated
Comment thread .github/agents/issue-resolver.md
Comment thread .github/copilot-instructions.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 11:47
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 5, 2026

@PaulAndersonS I've opened a new pull request, #335, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 3 commits March 5, 2026 11:49
Co-authored-by: PaulAndersonS <42271912+PaulAndersonS@users.noreply.github.com>
Clarify Critical Rule #4 scope to resolve conflict with Rule #13 approval gate
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 5, 2026

@PaulAndersonS I've opened a new pull request, #336, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/skills/testing-guide/SKILL.md
Comment thread .github/copilot-instructions.md
Comment thread .github/agents/issue-resolver.md Outdated
Copilot AI and others added 3 commits March 5, 2026 11:52
Co-authored-by: PaulAndersonS <42271912+PaulAndersonS@users.noreply.github.com>
Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 13:53
Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/skills/testing-guide/SKILL.md Outdated
Comment thread .github/copilot-instructions.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 15:12
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/copilot-instructions.md Outdated
Comment thread .github/copilot-instructions.md Outdated
Comment thread .github/skills/testing-guide/SKILL.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 15:16
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 5, 2026

@PaulAndersonS I've opened a new pull request, #337, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 5, 2026

@PaulAndersonS I've opened a new pull request, #338, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: PaulAndersonS <42271912+PaulAndersonS@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

.github/agents/issue-resolver.md:91

  • The state file template is written in an issue-centric format (# Issue Resolver State — #XXXXX, issue URL, Number: #XXXXX). Earlier you allow user-prompt driven tasks with a slug instead of an issue number, but the template doesn’t say what to put in these issue-specific fields for that case. Consider adding a short note (or alternative template) for non-issue tasks (e.g., set Number/URL to N/A and adjust the header) to prevent inconsistent state files.
```markdown
# Issue Resolver State — #XXXXX

## Status
| Phase | Status |
|-------|--------|
| 0 — State File | ✅ CREATED |
| 1 — Pre-flight | ⏳ IN PROGRESS |
| 2 — Fix | ⏳ PENDING |
| 3 — Report | ⏳ PENDING |

## Issue
- **Number**: #XXXXX
- **Title**: (fill after fetch)
- **URL**: https://github.com/syncfusion/maui-toolkit/issues/XXXXX
- **Labels**: (fill after fetch)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/copilot-instructions.md
Copilot AI and others added 3 commits March 5, 2026 15:20
Co-authored-by: PaulAndersonS <42271912+PaulAndersonS@users.noreply.github.com>
docs: remove MauiVersion flag requirement from test/build commands
Remove MauiVersion from build/test commands in docs and skill
Copilot AI review requested due to automatic review settings March 5, 2026 15:21
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 5, 2026

@PaulAndersonS I've opened a new pull request, #339, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/copilot-instructions.md
Comment thread .github/skills/testing-guide/SKILL.md
Comment on lines +48 to +52
7. **Stop on environment blockers** — Retry once. If it still fails, skip that step, document the blocker in `## Blocker Log`, and continue autonomously.
8. **Always reference the issue number** in commit messages (`Fixes #XXXXX`).
9. **Use hard tabs** for indentation (project style).
10. **Do NOT use the `private` keyword** — It is the default accessibility in C#.
11. **Do NOT add tests** — Tests are not part of this workflow unless explicitly requested by the user. Only verify that existing tests still pass after the fix.
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical Rule #8 requires always including an issue number in commit messages (e.g., Fixes #XXXXX), but the agent also explicitly supports user-prompt-driven tasks with no issue number (state file uses a kebab-case slug). Please clarify the commit message rule for non-issue work (e.g., allow omitting Fixes # or using a Refs: line with the slug).

Copilot uses AI. Check for mistakes.
Comment thread .github/copilot-instructions.md
@PaulAndersonS PaulAndersonS merged commit ce68554 into main Mar 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants