Skip to content

Latest commit

 

History

History
472 lines (383 loc) · 22.4 KB

File metadata and controls

472 lines (383 loc) · 22.4 KB

Ignite UI for Angular Agent Guide

This document describes the custom AI agents used in this repository, what each one is responsible for, how they work together, and how to use them effectively.


Table of Contents


Purpose

The agent system keeps AI-assisted work modular, consistent, and reviewable.

Instead of one general agent doing everything, work is split into two roles:

  • Orchestrators analyze scope, decide follow-through, and route work.
  • Specialists handle one focused responsibility well, such as tests, implementation, theming/styles, demo updates, docs, migrations, or changelog updates.

Agent System at a Glance

┌──────────────────────────────┐
│         User Request         │
└──────────────┬───────────────┘
               │
      ┌────────┴────────┐
      │                 │
      ▼                 ▼
┌──────────────────┐  ┌──────────────────┐
│ Feature workflow │  │   Bug workflow   │
└────────┬─────────┘  └────────┬─────────┘
         │                     │
         ▼                     ▼
┌──────────────────────────┐  ┌──────────────────────────┐
│ feature-orchestrator-    │  │ bug-fixing-orchestrator- │
│ agent                    │  │ agent                    │
└──────────────┬───────────┘  └──────────────┬───────────┘
               │                             │
               └──────────────┬──────────────┘
                              │
                              ▼
                 ┌──────────────────────────┐
                 │ tdd-test-writer-agent    │
                 └──────────────┬───────────┘
                                │
                 ┌──────────────┴──────────────┐
                 │                             │
                 ▼                             ▼
      ┌──────────────────────────┐  ┌──────────────────────────┐
      │ feature-implementer-     │  │ bug-fixing-implementer-  │
      │ agent                    │  │ agent                    │
      └──────────────┬───────────┘  └──────────────┬───────────┘
                     │                             │
                     └──────────────┬──────────────┘
                                    │
                                    ▼
                    ┌──────────────────────────────┐
                    │ theming-styles-agent         │
                    │ (if needed)                  │
                    └──────────────┬───────────────┘
                                   │
                                   ▼
                    ┌──────────────────────────────┐
                    │ demo-sample-agent            │
                    │ (if explicitly requested)    │
                    └──────────────┬───────────────┘
                                   │
                                   ▼
                    ┌───────────────────────────┐
                    │ Optional when needed      │
                    └──────────────┬────────────┘
                                   │
                                   ▼
┌──────────────────────────┐  ┌──────────────────┐  ┌──────────────────┐
│ component-readme-agent   │  │ migration-agent  │  │ changelog-agent  │
└──────────────────────────┘  └──────────────────┘  └──────────────────┘
  • one core workflow is selected: feature or bug
  • TDD tests come first
  • implementation follows
  • theming/style work follows implementation when needed
  • demo/sample work happens only when explicitly requested
  • README, migration, and changelog work are optional follow-through

Agent List

Agent Role Use it for
feature-orchestrator-agent Orchestrator New features, enhancements, broader feature work
bug-fixing-orchestrator-agent Orchestrator Bug reports, regressions, investigation-first work
tdd-test-writer-agent Specialist Small failing tests before production code
feature-implementer-agent Specialist Feature implementation and refactor
bug-fixing-implementer-agent Specialist Minimum safe bug fix
theming-styles-agent Specialist Component theming, structural SCSS, theme wiring, and style validation
demo-sample-agent Specialist Demo/sample updates in src/app/ for explicitly requested user-visible changes
component-readme-agent Specialist Component README updates
migration-agent Specialist ng update migration for breaking changes
changelog-agent Specialist CHANGELOG.md updates

How the System Is Structured

1. Orchestrators

Orchestrators are responsible for:

  • understanding the request at a high level
  • identifying affected components and files
  • mapping impact such as breaking changes, docs impact, changelog impact, accessibility, i18n, theming/styles impact, or demo/sample follow-through
  • deciding which specialist agents are needed
  • routing work in the correct order
  • verifying that nothing important was missed

Orchestrators do not act as detailed spec writers. They should pass minimal context and avoid over-constraining downstream agents.

Orchestrators also decide whether optional follow-through is needed after implementation or bug fixing.

2. Specialists

Specialist agents own a single focused responsibility.

Examples:

  • the TDD agent writes failing tests
  • implementer agents write production code
  • the theming agent handles SCSS, theme wiring, and style validation
  • the demo agent updates demo/sample pages in src/app/ when a demo is explicitly requested
  • the README agent updates component docs
  • the migration agent handles ng update migrations for breaking changes
  • the changelog agent updates release notes in the correct section

Quick Start

Goal Start with
Add or expand a feature feature-orchestrator-agent
Investigate and fix a bug bug-fixing-orchestrator-agent
Write failing tests first tdd-test-writer-agent
Implement a known feature feature-implementer-agent
Implement a known bug fix bug-fixing-implementer-agent
Style or theme a component theming-styles-agent
Update demo for an explicitly requested user-visible change demo-sample-agent
Update docs after public change component-readme-agent
Add migration for breaking change migration-agent
Add release-note coverage changelog-agent

Feature Workflow

What it is for

Use the feature flow when the task is about new behavior, new public API, enhancements, refactors tied to a feature, or deprecation follow-through.

Main entry point

  • feature-orchestrator-agent

Flow

┌──────────────────────────────┐
│       Feature request        │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ feature-orchestrator-agent   │
├──────────────────────────────┤
│ - discovers scope            │
│ - identifies affected areas  │
│ - checks follow-through      │
│ - routes the work            │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ tdd-test-writer-agent        │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ feature-implementer-agent    │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ theming-styles-agent         │
│ (if needed)                  │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ demo-sample-agent            │
│ (if explicitly requested)    │
└──────────────┬───────────────┘
               │
               ▼
      ┌────────────────────────┐
      │ Optional follow-through│
      └───────────┬────────────┘
                  │
     ┌────────────┼────────────┐
     │            │            │
     ▼            ▼            ▼
┌──────────────┐ ┌───────────┐ ┌──────────────┐
│ component-   │ │ migration-│ │ changelog-   │
│ readme-agent │ │ agent     │ │ agent        │
└──────────────┘ └───────────┘ └──────────────┘
            │
            ▼
┌──────────────────────────────┐
│ feature-orchestrator-agent   │
│ verifies completeness        │
└──────────────────────────────┘

Orchestrator checks before routing:

  • affected files and components
  • deprecations or API changes
  • accessibility and i18n impact
  • whether theming/style follow-through is needed
  • whether a demo/sample update was explicitly requested
  • whether README, migration, or changelog work is needed
  • smallest relevant test suite

Why this order exists

The order keeps the workflow grounded:

  1. Tests first — define the missing behavior.
  2. Implementation second — satisfy the real feature contract, not just the tests literally.
  3. Theming/style follow-through — handle SCSS and theme-system work when needed.
  4. Demo follow-through — update samples only when explicitly requested.
  5. Documentation follow-through — reflect actual public changes.
  6. Migration follow-through — automate breaking changes.
  7. Changelog follow-through — record notable release information.

Bug-Fix Workflow

What it is for

Use the bug-fix flow when the task is about broken existing behavior, regressions, unexpected runtime behavior, or incorrect output caused by an existing implementation.

Main entry point

  • bug-fixing-orchestrator-agent

Flow

┌──────────────────────────────┐
│         Bug report           │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ bug-fixing-orchestrator-     │
│ agent                        │
├──────────────────────────────┤
│ - investigates reproduction  │
│ - finds affected areas       │
│ - performs root-cause review │
│ - checks follow-through      │
│ - routes the work            │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ tdd-test-writer-agent        │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ bug-fixing-implementer-agent │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ theming-styles-agent         │
│ (if needed)                  │
└──────────────┬───────────────┘
               │
               ▼
┌──────────────────────────────┐
│ demo-sample-agent            │
│ (if explicitly requested)    │
└──────────────┬───────────────┘
               │
               ▼
      ┌────────────────────────┐
      │ Optional follow-through│
      └───────────┬────────────┘
                  │
     ┌────────────┼────────────┐
     │            │            │
     ▼            ▼            ▼
┌──────────────┐ ┌───────────┐ ┌──────────────┐
│ component-   │ │ migration-│ │ changelog-   │
│ readme-agent │ │ agent     │ │ agent        │
└──────────────┘ └───────────┘ └──────────────┘
                  │
                  ▼
┌──────────────────────────────┐
│ bug-fixing-orchestrator-     │
│ agent verifies completeness  │
└──────────────────────────────┘

Bug flow differs because it emphasizes: Compared with feature work, bug fixing adds stronger emphasis on:

  • root-cause analysis before routing
  • reproduction-first testing
  • minimal fixes rather than scope expansion
  • theming/style separation when the required fix belongs in SCSS or theme wiring
  • multi-branch handling when the bug affects release branches
  • edge-case escalation when the issue is not reproducible, is by design, or is caused by a third party

When to Use Which Agent

Use this quick decision guide:

Situation Best starting agent
New feature or enhancement feature-orchestrator-agent
Bug report or regression bug-fixing-orchestrator-agent
Only need failing tests first tdd-test-writer-agent
Already have failing tests and need implementation feature-implementer-agent or bug-fixing-implementer-agent
Styling or theming a component theming-styles-agent
Demo update explicitly requested for a user-visible change demo-sample-agent
Public behavior changed and docs must be updated component-readme-agent
Breaking change needs ng update support migration-agent
User-visible change needs release-note coverage changelog-agent

Rule of thumb

If the task is broad or uncertain, start with an orchestrator.

If the task is narrow and clearly scoped, start directly with the specialist that owns that responsibility.


Using Agents Individually

Agent Call directly when Avoid when
feature-orchestrator-agent the task is a feature and scope still needs analysis you already only need one narrow follow-up task
bug-fixing-orchestrator-agent the task is a bug and root cause is not yet confirmed root cause is already known and you only need the fix
tdd-test-writer-agent you need RED-phase tests or a failing repro you need production code
feature-implementer-agent feature scope is known and implementation is next the task is really a bug fix
bug-fixing-implementer-agent the bug is understood and needs the smallest safe fix the task is actually a feature
theming-styles-agent SCSS, theme wiring, or style validation is needed no styling impact exists
demo-sample-agent a demo is explicitly requested for a user-visible change the change has no UI impact or no demo/sample was requested
component-readme-agent public API or documented behavior changed no docs impact exists
migration-agent a breaking change needs migration support the change is additive only
changelog-agent the change deserves release-note coverage the change is too minor for changelog

Repository Areas the Agents Care About

These paths appear repeatedly in the workflow and are worth knowing:

projects/igniteui-angular/<component>/src/        source + tests
projects/igniteui-angular/<component>/index.ts    public barrel
projects/igniteui-angular/<component>/README.md   component documentation
projects/igniteui-angular/test-utils/             shared test helpers
projects/igniteui-angular/migrations/             migration schematics
projects/igniteui-angular/core/src/core/styles/   theming and shared style infrastructure
CHANGELOG.md                                      root changelog
src/app/<component>/                              demo pages

The system also relies on repository-specific guidance and internal operational skills in:

.github/copilot-instructions.md
skills/igniteui-angular-components/SKILL.md
skills/igniteui-angular-grids/SKILL.md
skills/igniteui-angular-theming/SKILL.md
.github/skills/igniteui-angular-build/SKILL.md
.github/skills/igniteui-angular-testing/SKILL.md
.github/skills/igniteui-angular-linting/SKILL.md

Repository-specific skills for implementation guidance:

  • igniteui-angular-components — shared guidance for general component patterns, structure, and repository conventions.
  • igniteui-angular-grids — shared guidance for grid architecture, patterns, and grid-specific implementation work.
  • igniteui-angular-theming — shared guidance for SCSS structure, theme wiring, and style-system conventions.

The internal operational skills are shared references for repository commands and validation flow:

  • igniteui-angular-build — build command reference for full and partial builds such as library, schematics, migrations, elements, i18n, and related repo build targets.
  • igniteui-angular-testing — test suite selection guide, Karma config mapping, and command reference for choosing the smallest relevant test run.
  • igniteui-angular-linting — lint command reference, ESLint and Stylelint config locations, and lint expectations before work is considered complete.

Orchestrators should use these skills for command selection instead of repeating command lists inline.


Maintenance Notes

When adding a new agent, update these places:

  1. Agent List
  2. Agent System at a Glance
  3. When to Use Which Agent
  4. Using Agents Individually

Good additions to document immediately

Whenever you add a new agent, document:

  • its exact name
  • its one-sentence purpose
  • whether it is an orchestrator or specialist
  • where it fits in the workflow
  • when to call it directly
  • what it explicitly should not do

Naming guideline

Use names that make role and scope obvious, for example:

  • <domain>-orchestrator-agent
  • <domain>-implementer-agent
  • <responsibility>-agent

That naming pattern makes the workflow easier to understand at a glance.


Final Summary

This agent system is built around a clear separation of concerns:

  • Orchestrators think in scope, impact, and routing
  • Specialists think in focused execution
  • Optional follow-through agents keep release quality high

That structure makes feature delivery and bug fixing more predictable, easier to review, and more aligned with repository conventions.