Files
dotnet__skills/docs/agentic-workflows.md
Jan Krivanek 1f02fab51f [Infra] Improve the daily health check (#215)
* Improve the daily health check

* Reflect PR comments
2026-03-05 10:23:47 +01:00

4.0 KiB
Raw Permalink Blame History

DevOps Agentic Workflows

Cross-cutting GitHub Agentic Workflow workflows for repository-wide DevOps automation.

The workflow source files live in .github/workflows/ and are compiled with gh aw compile to generate .lock.yml files (standard GitHub Actions YAML with security hardening). These workflows monitor the entire repo (all components, all pipelines, all PRs), unlike the component-specific workflows under /agentic-workflows.

Available Workflows

Workflow Description Trigger
devops-health-check Daily orchestrator that collects repo health signals (pipelines, skill quality, PRs, infrastructure), computes a fingerprint-based diff against the previous run, and updates a pinned health dashboard issue cron: 0 3 * * * (03:00 UTC daily), workflow_dispatch
devops-health-investigate Worker agent dispatched by the health check orchestrator to perform deep root-cause analysis on individual findings workflow_dispatch (dispatched by orchestrator via dispatch-workflow)
devops-health-groom Runs ~3h after the health check to link investigation results into the issue body, hide stale comments (>7 days), and clean up resolved investigations cron: 0 6 * * * (06:00 UTC daily), workflow_dispatch

Architecture

devops-health-check (Orchestrator) ─── runs daily
  ├─ Collects health signals from 5 categories:
  │   Pipeline · Quality · PRs · Infrastructure · Resources
  ├─ Fingerprints each finding for stable diff tracking
  ├─ Classifies: 🆕 NEW · 📌 EXISTING · ✅ RESOLVED
  ├─ Updates pinned health dashboard issue
  └─ Dispatches investigation workers (up to 10)
       │
       ▼
devops-health-investigate (Worker × N) ─── dispatched
  ├─ Investigates ONE finding with fresh context
  ├─ Follows category-specific playbook
  ├─ Determines root cause + remediation
  └─ Posts investigation results as a comment on the health issue
       │
       ▼  (~3 hours later)
devops-health-groom (Groomer) ─── runs daily
  ├─ Links investigation comments into the issue body
  │   (updates 🔄 Dispatched → ✅ Done with summary + link)
  ├─ Marks resolved investigations as ✅ Resolved
  ├─ Hides (collapses) daily overview comments older than 7 days
  └─ Hides (collapses) investigation comments for resolved findings

Setup

  1. Install the gh aw CLI extension: gh extension install github/gh-aw
  2. Compile: gh aw compile (from the repo root — this compiles all .md files in .github/workflows/)
  3. Commit both the .md and generated .lock.yml files
  4. The health check runs daily, or on-demand via workflow_dispatch

Local Development

# Compile workflows (generates .lock.yml from .md frontmatter)
gh aw compile

# Compile with validation
gh aw compile --strict

# Dry-run (validates without triggering on GitHub Actions)
gh aw run devops-health-check --dry-run

# Run on GitHub Actions (from a pushed branch)
gh aw run devops-health-check --push --ref <branch>

File Structure

.github/
├── workflows/
│   ├── devops-health-check.md              # Orchestrator workflow
│   ├── devops-health-check.lock.yml        # Compiled workflow (generated by gh aw compile)
│   ├── devops-health-investigate.md        # Worker workflow
│   ├── devops-health-investigate.lock.yml  # Compiled workflow (generated by gh aw compile)
│   ├── devops-health-groom.md              # Grooming workflow
│   └── devops-health-groom.lock.yml        # Compiled workflow (generated by gh aw compile)
└── aw/
    └── shared/
        ├── devops-health.lock.md       # Health check catalog & fingerprinting rules
        └── devops-investigate.lock.md  # Investigation playbooks & remediation templates