Skip to content

Agents

The agentic system uses three AI contexts with distinct domains. The base copilot handles IaC directly, Wingman manages productivity and strategy, and the OSDU agent handles platform operations.

Base Copilot

The default Claude Code context for this repository. Handles all infrastructure-as-code work without requiring an agent prefix:

  • Terraform modules, variables, and state management
  • Helm charts and Kustomize patches
  • AKS configuration and deployment safeguards
  • azd hooks and lifecycle scripts
  • Documentation and ADRs

The base copilot loads domain skills automatically based on context (e.g., the iac-terraform skill activates when discussing Terraform patterns).


Wingman

Purpose: Productivity, strategy, and learning partner. Doubles developer output by managing priorities, synthesizing information, and automating routine workflows.

Spec: .ai-wingman/AGENT.md

Operating Modes

Mode Purpose Example
Prioritize Order tasks by impact and urgency "What should I work on today?"
Decide Frame trade-offs with clear recommendations "Should we split this into two MRs?"
Draft Produce written artifacts "Draft the ADR for this change"
Coach Teach through questions, not answers "Help me understand the CNPG operator"
Synthesize Combine multiple sources into insight "Summarize this week's OSDU activity"
Explore Open-ended research "What's the state of OSDU on GCP?"
Briefing Daily OSDU status report /gm or /briefing
Tasks Manage and track work items "What are my open tasks?"

Data Sources

Wingman pulls from:

  • Obsidian vault (.ai-brain/) — goals, decisions, reports, knowledge
  • GitLab APIs — MRs, pipelines, issues across OSDU projects
  • CLI toolsosdu-activity, osdu-engagement, osdu-quality
  • Repository state — git log, worktree status, file contents

Always-On Responsibilities

  • Time and focus prioritization
  • Deep work execution support
  • Strategic synthesis across contexts
  • Context discipline (stay relevant, avoid rabbit holes)

OSDU Agent

Purpose: Analytics and operations assistant for OSDU platform services. Queries CI/CD pipelines, test reliability, and contributions across 30+ services.

Spec: .ai-osdu/AGENT.md

Service Coverage

Category Count Examples
Core 13 Partition, Entitlements, Storage, Search, Indexer
Reference 3 Wellbore, Well-delivery, Seismic
Domain 3 Reservoir, Well-planning, Dataset
Libraries 5 os-core-common, os-core-lib-azure, os-oqm
Ingestion 3 Ingestion-workflow, CSV-parser, Manifest-ingestion

QA Sub-Agents

The OSDU agent can spawn specialized sub-agents for quality analysis:

Sub-Agent Role
Runner Execute Maven/Node/Python test commands
Analyzer Parse test results and identify patterns
Comparator Compare results across providers (Azure/AWS/GCP/IBM/CIMPL)
Reporter Generate structured QA reports for the vault

Output Format

The OSDU agent produces structured JSON output for programmatic analysis, making it suitable for automated pipelines and report generation.


Delegation Model

Agent Delegation

Delegation flows one direction: Wingman → OSDU. The reverse is not permitted.

┌─────────────────────────────────────┐
│           Wingman                    │
│  Productivity · Strategy · Learning  │
│                                      │
│   Can delegate to OSDU agent ──────────► ┌──────────────────────┐
│                                      │   │     OSDU Agent       │
│                                      │   │  Pipelines · Tests   │
│                                      │   │  Dependencies · MRs  │
└─────────────────────────────────────┘   └──────────────────────┘

         │                                           │
         ▼                                           ▼
┌─────────────────────────────────────────────────────────────┐
│                    Shared Skills (13+)                       │
│  brain · glab · iac-terraform · iac-debug · iac-verify      │
│  learn · send · osdu-activity · osdu-engagement · osdu-quality│
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────┐
│         Obsidian Vault              │
│   Goals · Decisions · Reports       │
│   Knowledge · Daily Notes           │
└─────────────────────────────────────┘

Why one-way? Wingman has the broader context (goals, priorities, deadlines) and can frame OSDU queries with the right scope. The OSDU agent focuses on data retrieval and analysis without needing strategic context.

Routing

Tasks are routed to agents based on signal keywords in the user's request. The routing table (.github/routing.md) maps 48+ signals to the appropriate agent:

Signal Category Routes To Examples
Environment setup Wingman "set up my workspace", "validate tools"
Briefings, goals Wingman "good morning", "briefing", "priorities"
Writing, strategy Wingman "draft", "summarize", "decide"
Pipelines, builds OSDU "pipeline status", "build failures"
Tests, quality OSDU "test reliability", "flaky tests"
Dependencies OSDU "dependency scan", "vulnerabilities"
IaC (no prefix) Base Copilot "terraform", "helm", "kustomize"

See also