From 0b07c4aeef6ba523ff2a32da0ec440c95f9e197f Mon Sep 17 00:00:00 2001 From: JeremyDev87 Date: Sat, 4 Apr 2026 09:50:55 +0900 Subject: [PATCH 1/2] fix(rules): backfill role.type for 18 agents missing routing metadata (#1245) Add role.type to 18 agent JSON files that were invisible to type-based routing. 14 specialists get type:"specialist", 4 mode agents get type:"utility". --- packages/rules/.ai-rules/agents/accessibility-specialist.json | 1 + packages/rules/.ai-rules/agents/act-mode.json | 1 + packages/rules/.ai-rules/agents/architecture-specialist.json | 1 + packages/rules/.ai-rules/agents/auto-mode.json | 1 + packages/rules/.ai-rules/agents/code-quality-specialist.json | 1 + packages/rules/.ai-rules/agents/code-reviewer.json | 1 + packages/rules/.ai-rules/agents/documentation-specialist.json | 1 + packages/rules/.ai-rules/agents/eval-mode.json | 1 + .../rules/.ai-rules/agents/event-architecture-specialist.json | 1 + packages/rules/.ai-rules/agents/i18n-specialist.json | 1 + packages/rules/.ai-rules/agents/integration-specialist.json | 1 + packages/rules/.ai-rules/agents/observability-specialist.json | 1 + packages/rules/.ai-rules/agents/performance-specialist.json | 1 + packages/rules/.ai-rules/agents/plan-mode.json | 1 + packages/rules/.ai-rules/agents/security-specialist.json | 1 + packages/rules/.ai-rules/agents/seo-specialist.json | 1 + packages/rules/.ai-rules/agents/test-strategy-specialist.json | 1 + packages/rules/.ai-rules/agents/ui-ux-designer.json | 1 + 18 files changed, 18 insertions(+) diff --git a/packages/rules/.ai-rules/agents/accessibility-specialist.json b/packages/rules/.ai-rules/agents/accessibility-specialist.json index 39692f8b..504e6837 100644 --- a/packages/rules/.ai-rules/agents/accessibility-specialist.json +++ b/packages/rules/.ai-rules/agents/accessibility-specialist.json @@ -4,6 +4,7 @@ "color": "#27AE60", "role": { "title": "Accessibility Engineer", + "type": "specialist", "expertise": [ "WCAG 2.1 AA compliance planning and verification", "ARIA attributes planning and verification", diff --git a/packages/rules/.ai-rules/agents/act-mode.json b/packages/rules/.ai-rules/agents/act-mode.json index 50c7809b..55a73eb5 100644 --- a/packages/rules/.ai-rules/agents/act-mode.json +++ b/packages/rules/.ai-rules/agents/act-mode.json @@ -4,6 +4,7 @@ "color": "#82B366", "role": { "title": "Act Mode Agent", + "type": "utility", "mode": "ACT", "purpose": "Mode Agent - delegates to Primary Developer Agent", "expertise": [ diff --git a/packages/rules/.ai-rules/agents/architecture-specialist.json b/packages/rules/.ai-rules/agents/architecture-specialist.json index 3890dd47..ddc57624 100644 --- a/packages/rules/.ai-rules/agents/architecture-specialist.json +++ b/packages/rules/.ai-rules/agents/architecture-specialist.json @@ -4,6 +4,7 @@ "color": "#2C3E80", "role": { "title": "Architecture Engineer", + "type": "specialist", "expertise": [ "Layer placement planning and verification", "Dependency direction design and verification", diff --git a/packages/rules/.ai-rules/agents/auto-mode.json b/packages/rules/.ai-rules/agents/auto-mode.json index b396091d..bd4e14d2 100644 --- a/packages/rules/.ai-rules/agents/auto-mode.json +++ b/packages/rules/.ai-rules/agents/auto-mode.json @@ -4,6 +4,7 @@ "color": "#B85450", "role": { "title": "Auto Mode Agent", + "type": "utility", "mode": "AUTO", "purpose": "Mode Agent - autonomously cycles through PLAN → ACT → EVAL, delegates to Primary Developer Agent", "expertise": [ diff --git a/packages/rules/.ai-rules/agents/code-quality-specialist.json b/packages/rules/.ai-rules/agents/code-quality-specialist.json index 63faa786..87a2d362 100644 --- a/packages/rules/.ai-rules/agents/code-quality-specialist.json +++ b/packages/rules/.ai-rules/agents/code-quality-specialist.json @@ -4,6 +4,7 @@ "color": "#8BC34A", "role": { "title": "Code Quality Engineer", + "type": "specialist", "expertise": [ "SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)", "DRY (Don't Repeat Yourself) principle", diff --git a/packages/rules/.ai-rules/agents/code-reviewer.json b/packages/rules/.ai-rules/agents/code-reviewer.json index 1953b494..0450b08b 100644 --- a/packages/rules/.ai-rules/agents/code-reviewer.json +++ b/packages/rules/.ai-rules/agents/code-reviewer.json @@ -4,6 +4,7 @@ "color": "#673AB7", "role": { "title": "Senior Code Reviewer / Quality Engineer", + "type": "specialist", "expertise": [ "Multi-dimensional code quality evaluation", "Architecture and design pattern analysis", diff --git a/packages/rules/.ai-rules/agents/documentation-specialist.json b/packages/rules/.ai-rules/agents/documentation-specialist.json index b697800e..dadf4847 100644 --- a/packages/rules/.ai-rules/agents/documentation-specialist.json +++ b/packages/rules/.ai-rules/agents/documentation-specialist.json @@ -4,6 +4,7 @@ "color": "#607D8B", "role": { "title": "Documentation Engineer", + "type": "specialist", "expertise": [ "Documentation planning and quality assessment", "Code comments planning and verification", diff --git a/packages/rules/.ai-rules/agents/eval-mode.json b/packages/rules/.ai-rules/agents/eval-mode.json index 245ae1fd..3af4c35b 100644 --- a/packages/rules/.ai-rules/agents/eval-mode.json +++ b/packages/rules/.ai-rules/agents/eval-mode.json @@ -4,6 +4,7 @@ "color": "#D4A843", "role": { "title": "Eval Mode Agent", + "type": "utility", "mode": "EVAL", "purpose": "Mode Agent - delegates to Code Reviewer Agent", "expertise": [ diff --git a/packages/rules/.ai-rules/agents/event-architecture-specialist.json b/packages/rules/.ai-rules/agents/event-architecture-specialist.json index 02bb1dab..3fcb00c1 100644 --- a/packages/rules/.ai-rules/agents/event-architecture-specialist.json +++ b/packages/rules/.ai-rules/agents/event-architecture-specialist.json @@ -4,6 +4,7 @@ "color": "#FF5722", "role": { "title": "Event Architecture Engineer", + "type": "specialist", "expertise": [ "Message Queue Selection and Configuration (RabbitMQ, Kafka, SQS, Azure Service Bus)", "Event Sourcing and Event Store Design", diff --git a/packages/rules/.ai-rules/agents/i18n-specialist.json b/packages/rules/.ai-rules/agents/i18n-specialist.json index 46040ca4..b462382a 100644 --- a/packages/rules/.ai-rules/agents/i18n-specialist.json +++ b/packages/rules/.ai-rules/agents/i18n-specialist.json @@ -4,6 +4,7 @@ "color": "#009688", "role": { "title": "Internationalization Engineer", + "type": "specialist", "expertise": [ "i18n library setup and configuration", "Translation key structure design", diff --git a/packages/rules/.ai-rules/agents/integration-specialist.json b/packages/rules/.ai-rules/agents/integration-specialist.json index 288b94ae..4f4f41c2 100644 --- a/packages/rules/.ai-rules/agents/integration-specialist.json +++ b/packages/rules/.ai-rules/agents/integration-specialist.json @@ -4,6 +4,7 @@ "color": "#00BCD4", "role": { "title": "Integration Engineer", + "type": "specialist", "expertise": [ "API Integration Patterns (retries, timeouts, circuit breakers)", "Webhook Security (HMAC, JWT signature verification)", diff --git a/packages/rules/.ai-rules/agents/observability-specialist.json b/packages/rules/.ai-rules/agents/observability-specialist.json index b0cdc598..cf7779c3 100644 --- a/packages/rules/.ai-rules/agents/observability-specialist.json +++ b/packages/rules/.ai-rules/agents/observability-specialist.json @@ -4,6 +4,7 @@ "color": "#795548", "role": { "title": "Observability Engineer", + "type": "specialist", "expertise": [ "OpenTelemetry instrumentation (traces, metrics, logs)", "Distributed tracing (Jaeger, Zipkin, Tempo, Grafana Tempo)", diff --git a/packages/rules/.ai-rules/agents/performance-specialist.json b/packages/rules/.ai-rules/agents/performance-specialist.json index a2756679..1dfb85ea 100644 --- a/packages/rules/.ai-rules/agents/performance-specialist.json +++ b/packages/rules/.ai-rules/agents/performance-specialist.json @@ -4,6 +4,7 @@ "color": "#E67E22", "role": { "title": "Performance Engineer", + "type": "specialist", "expertise": [ "Bundle size optimization planning and verification", "Code splitting strategy planning and verification", diff --git a/packages/rules/.ai-rules/agents/plan-mode.json b/packages/rules/.ai-rules/agents/plan-mode.json index 6991e245..db60f1b4 100644 --- a/packages/rules/.ai-rules/agents/plan-mode.json +++ b/packages/rules/.ai-rules/agents/plan-mode.json @@ -5,6 +5,7 @@ "systemPrompt": "You are a Plan Mode Agent that follows a structured reasoning process for every planning task.\n\n## Structured Reasoning Process (MANDATORY)\n\nBefore producing any plan, you MUST complete all five steps in order:\n\n### Step 0: Research\nRead relevant source code, configuration files, and documentation BEFORE planning.\n- NEVER plan from memory alone — always verify current state by reading files.\n- Identify existing patterns, conventions, and dependencies in the codebase.\n- Check recent git history for related changes.\n\n### Step 1: Decompose\nBreak the problem into discrete sub-problems.\n- Each sub-problem should be independently understandable.\n- Identify dependencies between sub-problems.\n- Order sub-problems by dependency (independent first, dependent last).\n\n### Step 2: Design\nCreate a concrete solution for each sub-problem.\n- Specify exact file paths, function names, and data structures.\n- Define the TDD approach: which tests to write first, expected failures, minimal implementations.\n- Ensure each solution is minimal — YAGNI applies.\n\n### Step 3: Devil's Advocate\nActively argue against your own plan.\n- What could go wrong? What edge cases are missed?\n- Are there simpler alternatives you overlooked?\n- Does the plan introduce unnecessary complexity or coupling?\n- Would this plan survive a critical code review?\n- Document weaknesses found and how the plan addresses them.\n\n### Step 4: Verify\nAll file paths and references in the plan MUST be verified against the actual codebase.\n- Confirmed paths: mark as-is.\n- Unconfirmed paths (not yet verified or file does not exist yet): mark with ⚠️ UNVERIFIED.\n- New files to be created: mark with 🆕 NEW.\n- NEVER assume a file exists without checking.", "role": { "title": "Plan Mode Agent", + "type": "utility", "mode": "PLAN", "purpose": "Mode Agent - delegates to Primary Developer Agent", "expertise": [ diff --git a/packages/rules/.ai-rules/agents/security-specialist.json b/packages/rules/.ai-rules/agents/security-specialist.json index c52619f2..08666c66 100644 --- a/packages/rules/.ai-rules/agents/security-specialist.json +++ b/packages/rules/.ai-rules/agents/security-specialist.json @@ -4,6 +4,7 @@ "color": "#C0392B", "role": { "title": "Security Engineer", + "type": "specialist", "expertise": [ "OAuth 2.0 / OIDC protocols", "JWT token management and security", diff --git a/packages/rules/.ai-rules/agents/seo-specialist.json b/packages/rules/.ai-rules/agents/seo-specialist.json index 0d35729f..d9b074fa 100644 --- a/packages/rules/.ai-rules/agents/seo-specialist.json +++ b/packages/rules/.ai-rules/agents/seo-specialist.json @@ -4,6 +4,7 @@ "color": "#16A085", "role": { "title": "SEO Engineer", + "type": "specialist", "expertise": [ "Next.js Metadata API planning and verification", "Structured data (JSON-LD) planning and verification", diff --git a/packages/rules/.ai-rules/agents/test-strategy-specialist.json b/packages/rules/.ai-rules/agents/test-strategy-specialist.json index 25083fc4..ecfb9d49 100644 --- a/packages/rules/.ai-rules/agents/test-strategy-specialist.json +++ b/packages/rules/.ai-rules/agents/test-strategy-specialist.json @@ -4,6 +4,7 @@ "color": "#F1C40F", "role": { "title": "Test Strategy Engineer", + "type": "specialist", "expertise": [ "TDD vs Test-After decision making and verification", "Test coverage planning and analysis (90%+ goal)", diff --git a/packages/rules/.ai-rules/agents/ui-ux-designer.json b/packages/rules/.ai-rules/agents/ui-ux-designer.json index 2296a850..a8de9089 100644 --- a/packages/rules/.ai-rules/agents/ui-ux-designer.json +++ b/packages/rules/.ai-rules/agents/ui-ux-designer.json @@ -4,6 +4,7 @@ "color": "#E91E63", "role": { "title": "UI/UX Design Specialist", + "type": "specialist", "expertise": [ "Visual Design Principles", "User Experience Patterns", From e3b00086a0a5beed7389ecbb03faacf5fc1157d3 Mon Sep 17 00:00:00 2001 From: JeremyDev87 Date: Sat, 4 Apr 2026 10:03:06 +0900 Subject: [PATCH 2/2] fix(rules): add "utility" to role.type enum in agent schema The schema only allowed ["primary", "specialist"], causing CI rules-validation to reject the 4 mode agents with type:"utility". --- packages/rules/.ai-rules/schemas/agent.schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rules/.ai-rules/schemas/agent.schema.json b/packages/rules/.ai-rules/schemas/agent.schema.json index 488cf25c..b80a372f 100644 --- a/packages/rules/.ai-rules/schemas/agent.schema.json +++ b/packages/rules/.ai-rules/schemas/agent.schema.json @@ -43,8 +43,8 @@ }, "type": { "type": "string", - "enum": ["primary", "specialist"], - "description": "Agent type: 'primary' uses top-level activation for PLAN/ACT workflow, 'specialist' uses modes for domain-specific guidance. RECOMMENDED: Always specify for new agents to ensure proper workflow integration." + "enum": ["primary", "specialist", "utility"], + "description": "Agent type: 'primary' uses top-level activation for PLAN/ACT workflow, 'specialist' uses modes for domain-specific guidance, 'utility' is for mode agents (PLAN/ACT/EVAL/AUTO). RECOMMENDED: Always specify for new agents to ensure proper workflow integration." }, "expertise": { "type": "array",