Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
3482e43
[main] Update dependencies from dotnet/xharness (#25282)
dotnet-maestro[bot] May 5, 2026
5d7f728
[workflows] Adjust the inter-branch merge flow to run daily + manuall…
rolfbjarne May 5, 2026
b3948e1
[github] Recompile macios-reviewer workflow with gh-aw v0.71.2 (#25289)
rolfbjarne May 5, 2026
90c27c8
[tests] Fix flaky SecureTransportTest.Tls12 by ignoring network timeo…
rolfbjarne May 5, 2026
5a4d75c
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 5, 2026
69ef15b
Change DtdProcessing.Parse to DtdProcessing.Prohibit in XML loading h…
rolfbjarne May 5, 2026
211364c
[devops] Show "(Publish failed)" instead of broken VSDrops link when …
rolfbjarne May 5, 2026
8f5e478
[dotnet] Disable trimming when using CoreCLR in the simulator. (#25315)
rolfbjarne May 5, 2026
75bcfbf
[apidiff] Update reference/stable versions to latest .NET 10 / Xcode …
rolfbjarne May 5, 2026
ad8bc79
[dotnet] Remove some outdated code only applicable to .NET 6 (and not…
rolfbjarne May 5, 2026
82c362f
[docs] Fix reference to the ReferenceNativeSymbol item. (#25324)
rolfbjarne May 5, 2026
ff737f7
[FSKit] Update the cref target in an xml comment. (#25328)
rolfbjarne May 5, 2026
60edd7c
Fix broken links in source files and XML API docs (#25329)
rolfbjarne May 5, 2026
c133be8
[tests] Fix flaky CtorIPAddressPair test. Fixes #25242 (#25308)
rolfbjarne May 5, 2026
ab1fe6f
[main] Update dependencies from dotnet/macios (#25342)
dotnet-maestro[bot] May 6, 2026
d0878f8
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 6, 2026
4ca4441
[src] Fix typo in src/Simd/README.md: "43-bit" → "32-bit" for NVector…
rolfbjarne May 6, 2026
92eebd0
[docs] Fix stale .NET 6 framing and update archived xamarin-android l…
rolfbjarne May 6, 2026
7ed1ea8
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 6, 2026
021897d
[msbuild] Use shared SimctlOutputParser from Xamarin.MacDev for simct…
rmarinho May 7, 2026
93434fe
[github] Fix reviewer skill to submit COMMENT on re-reviews to clear …
rolfbjarne May 7, 2026
b4a70d2
[tools/msbuild] Add InlineDlfcnMethodsStep as an opt-in custom linker…
rolfbjarne May 7, 2026
7d8c985
[msbuild] Introduce SdkIsDesktop and SdkIsMobile properties (#25326)
rolfbjarne May 7, 2026
7c82a54
[msbuild] Add com.apple.developer.payment-pass-provisioning to known …
rolfbjarne May 7, 2026
4f6df60
[github] Add code-radiator agentic workflow (#25349)
rolfbjarne May 7, 2026
c4445b1
[tests] Fix underlying type for BrowserEngineKit enums. (#25348)
rolfbjarne May 7, 2026
d9c700c
[tests] Using the strict dlfcn mode only works if monotouch-test is t…
rolfbjarne May 7, 2026
6f1dde2
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 7, 2026
346810a
Fix @(XcodeProjet) typo in docs/native-library-interop.md
rolfbjarne May 7, 2026
71b76a8
Enable nullability and warnings-as-errors globally (#25292)
rolfbjarne May 7, 2026
8ef0edc
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 7, 2026
69aee64
[msbuild] Fix building apps with extensions remotely. (#23509)
rolfbjarne May 8, 2026
0d19b01
[github] Fix agentic workflows based on gh-aw guide (#25364)
rolfbjarne May 11, 2026
36d0c31
[docs] Improve docs on updating API docs. (#25366)
rolfbjarne May 11, 2026
0194000
[src] Add [Un]SupportedSimulator attributes. (#25347)
rolfbjarne May 11, 2026
4026917
[tests] Fix introspection TypoTest not being discovered by NUnit
rolfbjarne May 11, 2026
88ed2ed
Revert "[tests] Fix introspection TypoTest not being discovered by NU…
rolfbjarne May 11, 2026
3921c92
Add git branch safety instructions to copilot-instructions.md (#25391)
rolfbjarne May 12, 2026
081547d
[tools] Use the new UnsupportedSimulator attribute to determine wheth…
rolfbjarne May 12, 2026
8a13387
[apidiff] Fix nullability errors in mono-api-html and mono-api-info (…
rolfbjarne May 12, 2026
f1b3d3b
Merge remote-tracking branch 'origin/xcode26.5' into main
dalexsoto May 5, 2026
6181392
[tests] Fix introspection TypoTest and improve allowed word managemen…
rolfbjarne May 12, 2026
34f8250
[main] Update dependencies from dotnet/macios (#25370)
dotnet-maestro[bot] May 12, 2026
14108e8
[main] Merge xcode26.5 into main (#25400)
dalexsoto May 12, 2026
b3e1f3c
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 12, 2026
0d30381
[macios-devtools] Bump devtools (#25402)
dalexsoto May 13, 2026
6915c8c
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 13, 2026
55b19c2
[aw] Harden Code Radiator safe-outputs for scheduled runs (#25371)
Copilot May 13, 2026
2daba49
[tests] Treat missing expected cookie as transient network failure in…
Copilot May 13, 2026
ae1375a
[src] Attempt to fix a race condition with NSObject.GetData. Fixes #2…
rolfbjarne May 13, 2026
4d19356
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 13, 2026
3c5f6c6
[xharness] Honor system dark mode in xharness web UI (#25401)
rolfbjarne May 13, 2026
672b410
[tools] Fix IL2009 warning for generic types in linker XML descriptor…
rolfbjarne May 13, 2026
75040af
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 13, 2026
d230e9b
[tests] Treat unexpected cookie values as transient network failures …
Copilot May 13, 2026
e67eb98
[main] Keep using the desktop MSBuild assemblies when building from w…
rolfbjarne May 13, 2026
a082c0b
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 14, 2026
b5ef771
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs May 14, 2026
4e6c9b2
[aw] Allow dotted Xcode branches in Code Radiator PR base policy (#25…
Copilot May 14, 2026
18a22fd
[main] Update dependencies from dotnet/macios (#25433)
dalexsoto May 14, 2026
e8b342b
[main] Update dependencies from dotnet/xharness (#25436)
dotnet-maestro[bot] May 15, 2026
44c6b88
[tests] Upgrade tests/msbuild to NUnit v4 Assert.That syntax (#25431)
rolfbjarne May 15, 2026
66ef21c
[ObjCRuntime] Improve super calls - Fixes #25362 (#25376)
rolfbjarne May 18, 2026
1d20309
[docs] Fix broken link in native-library-interop.md (#25439)
rolfbjarne May 18, 2026
c91db64
[tests] Upgrade tests/introspection to NUnit v4 Assert.That syntax (#…
rolfbjarne May 18, 2026
1ac68e4
Delete old NuGet.config feeds. (#25449)
rolfbjarne May 18, 2026
78aab6d
Fix docs/bindas.md links pointing to personal fork instead of dotnet/…
rolfbjarne May 18, 2026
3d65141
[tests] Fix flaky NSPasteboardTests.DetectMetadataTests on macOS (#25…
rolfbjarne May 18, 2026
8302f79
[main] Update dependencies from dotnet/macios (#25460)
dotnet-maestro[bot] May 19, 2026
7015f6a
[msbuild/tools] Add netstandard2.0 helper string functions. (#25375)
rolfbjarne May 19, 2026
a2e5df8
Add option to build (partially) without Xcode. (#25429)
rolfbjarne May 19, 2026
ca36f53
[tests] Fix transient TLS/network failures in MessageHandlerTest test…
rolfbjarne May 19, 2026
881aad6
[tools] Fix marking generated block code when not using any of the st…
rolfbjarne May 19, 2026
6f67cf9
[apidiff] Update reference/stable versions to latest .NET 10 / Xcode …
dalexsoto May 19, 2026
f5b5402
[github] Simplify the yaml lint action to not post a comment. (#25467)
rolfbjarne May 19, 2026
2b66dc0
[github] Remove unused workflows. (#25466)
rolfbjarne May 19, 2026
49f6b83
[github] Use/require fewer permissions in the 'Bump global.json' work…
rolfbjarne May 19, 2026
e70475b
[github] Enable cooldown for dependabot. (#25470)
rolfbjarne May 19, 2026
cdb7987
[github] Remove the backport trigger workflow. (#25471)
rolfbjarne May 19, 2026
b973ea4
[github] Harden 'Maestro changelog' workflow permissions and pin acti…
rolfbjarne May 19, 2026
3fbea17
[tests] Fix actool warnings in test icon asset catalogs (#25475)
rolfbjarne May 20, 2026
77b4057
[tests] Ignore the AppSize tests for now. (#25480)
rolfbjarne May 20, 2026
d30dc13
[copilot] Add CI postmortem skill and weekly agentic workflow (#25303)
rolfbjarne May 20, 2026
9ca66ba
[tests] Upgrade tests/monotouch-test to NUnit v4 Assert.That syntax (…
rolfbjarne May 20, 2026
0cc8fc0
[tools] Fix a nullability issue in the create-dotnet-linker-launch-js…
rolfbjarne May 20, 2026
9b951d2
Add *.lscache to .gitignore. (#25455)
rolfbjarne May 20, 2026
0a948ea
[mtouch] Remove unused code from mtouch (#25428)
rolfbjarne May 20, 2026
e6b123e
[devops] Fan the linker tests out per platform. (#25486)
rolfbjarne May 20, 2026
f34f090
[msbuild] Bump Xamarin.MacDev and use PDictionary.[Try]OpenFile. (#25…
rolfbjarne May 21, 2026
bb9101c
[main] Update dependencies from dotnet/dotnet (#25230)
dotnet-maestro[bot] May 21, 2026
8cf6be2
[tests] Upgrade tests/linker to NUnit v4 Assert.That syntax (#25484)
rolfbjarne May 21, 2026
4fe3735
[tools] Keep track of removed/unavailable frameworks in our list of f…
rolfbjarne May 21, 2026
ca2449d
[sharpie] Show a helpful error message when installed on x64 (#25359)
rolfbjarne May 21, 2026
a3720d3
[tests] Upgrade tests/dotnet to NUnit v4 Assert.That syntax (#25487)
rolfbjarne May 21, 2026
79ec998
[NSUrlSessionHandler] Reject unsupported auth methods to allow fallba…
rolfbjarne May 22, 2026
4176951
[NSObject] Store the super handle in a ConditionalWeakTable. (#25454)
rolfbjarne May 22, 2026
7717e7b
[mtouch] Make mtouch work without Xcode, since we don't really need X…
rolfbjarne May 22, 2026
c56223b
[main] Update dependencies from dotnet/macios (#25499)
dotnet-maestro[bot] May 22, 2026
97204e7
Fix 'dotnet checkout' typos in docs/guides/HowToBranch.md (#25500)
rolfbjarne May 22, 2026
3c6edce
[tests] Upgrade remaining tests to NUnit v4 Assert.That syntax. (#25501)
rolfbjarne May 22, 2026
e3f0f38
[Foundation] Simplify memory management of NSObjectData for CoreCLR. …
rolfbjarne May 25, 2026
c284e3e
[devops] Remove the fix to avoid using a leaked GitHub ssh key. (#25504)
rolfbjarne May 25, 2026
97a86d5
[tests] Upload expected app size files as artifacts on test failure (…
rolfbjarne May 25, 2026
26af1ee
[msbuild] Improve how we handle the path to Xcode. (#24021)
rolfbjarne May 25, 2026
58f44c5
Fix missing 'don't' in docs/os-onboarding.md that reverses sentence m…
rolfbjarne May 26, 2026
ff427e0
[github] Update to gh aw v0.74.8 (#25514)
rolfbjarne May 26, 2026
c7e3139
[github] Add autoformat-v2.yml: single zizmor-clean workflow (#25510)
rolfbjarne May 26, 2026
181d135
[dotnet-linker] Add a trimmer step to inline calls to Class.GetHandle…
rolfbjarne May 26, 2026
9dc9c38
Make NSUrlSessionHandler handle redirects like the .NET handlers do (…
dalexsoto May 27, 2026
7a656b3
[bgen] Remove support for ZeroCopyStrings (#25515)
rolfbjarne May 27, 2026
fc4f229
[main] Update dependencies from dotnet/dotnet (#25533)
dotnet-maestro[bot] May 27, 2026
b8e66aa
[tests] Improve new BasicAuthWorksWhenBearerIsAdvertisedFirst test. (…
rolfbjarne May 27, 2026
90f96d5
[main] Update dependencies from dotnet/macios (#25520)
dotnet-maestro[bot] May 27, 2026
04c0a31
[devops] If SYSTEM_PULLREQUEST_PULLREQUESTNUMBER is set, always use t…
rolfbjarne May 27, 2026
70bac4a
[aw] Align Code Radiator base-branch policy with safe-output glob mat…
Copilot May 27, 2026
3a676cc
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 27, 2026
0ab164c
[src] NSBindingSelectionMarker is in AppKit. (#25523)
rolfbjarne May 27, 2026
ca43e4a
[bgen] Replace XPath lookups with Dictionary in DocumentationManager …
rolfbjarne May 27, 2026
5092c58
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 27, 2026
9be4da4
[tests] Misc improvements to the app size tests (#25522)
rolfbjarne May 27, 2026
963bc34
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 27, 2026
90bc033
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 27, 2026
eeb0a42
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 May 27, 2026
1becd48
[dotnet] Don't enable InlineClassGetHandle if we're using the static …
rolfbjarne May 27, 2026
8eb8f4b
Bump actions/upload-artifact from 4.6.2 to 7.0.1 (#25550)
dependabot[bot] May 27, 2026
1605355
[runtime] Show the error code if calling coreclr_initialize fails. (#…
rolfbjarne May 27, 2026
cad4a4b
[github] Fix workflows to pin actions & drop credentials when possibl…
rolfbjarne May 27, 2026
b2159ab
[CI] Add retry count on task failure for AzureCLI step in provision.y…
dalexsoto May 28, 2026
52b5249
[github] Add zizmor GitHub Actions security linter workflow (#25560)
rolfbjarne May 28, 2026
a584d6e
[github] Fix Code Radiator: prevent upstream unsetting that breaks sa…
Copilot May 28, 2026
05a0941
[main] Update dependencies from dotnet/dotnet (#25557)
dotnet-maestro[bot] May 29, 2026
32352a1
[tools] Make csproj.inc generation parallel-safe. (#25547)
rolfbjarne May 29, 2026
ed01fc2
[msbuild] Fix Content items with PublishFolderType losing files that …
rolfbjarne Jun 1, 2026
4381948
[msbuild] Improve diagnostics when simulator runtimes aren't availabl…
rolfbjarne Jun 1, 2026
67b8de6
Add support for Composer Icons (#24722)
rolfbjarne Jun 1, 2026
75e59fc
[docs] Fix reference to the ReferenceNativeSymbol item group. (#25579)
rolfbjarne Jun 1, 2026
53ffc72
[github] Raise Code Radiator PR patch-file limit to 1000 for inter-br…
Copilot Jun 1, 2026
1fb4e7e
[src] Add opt-in to build the platform assemblies serially. (#25546)
rolfbjarne Jun 2, 2026
957df39
[src] Remove NSPrintPreviewGraphicsContext. (#25527)
rolfbjarne Jun 2, 2026
56ffb2f
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs Jun 2, 2026
d3a1bda
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs Jun 2, 2026
151a329
Localized file check-in by OneLocBuild Task: Build definition ID 1441…
vs-mobiletools-engineering-service2 Jun 2, 2026
9d4392d
[docs] Minor update to docs about how to update api docs. (#25595)
rolfbjarne Jun 2, 2026
18077ca
[tests] Fix flaky BasicAuthWorksWhenBearerIsAdvertisedFirst test. Fix…
rolfbjarne Jun 2, 2026
47eb243
LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_…
csigs Jun 2, 2026
58bb1f6
[main] Update dependencies from dotnet/dotnet (#25587)
dotnet-maestro[bot] Jun 2, 2026
194f285
[bgen] Cache raw GetCustomAttributesData() results per provider (#25564)
rolfbjarne Jun 2, 2026
a6b6c3c
[tools] Use instance-based Log methods. (#25566)
rolfbjarne Jun 2, 2026
d1a9361
[devops] yaml-templates go back to use main (#25600)
dalexsoto Jun 2, 2026
c3564ff
[tests] Update NUnit packages to latest stable versions (#25516)
rolfbjarne Jun 2, 2026
5c525a5
[make] Serialize AppleDocReader doc injection (#25568)
dalexsoto Jun 2, 2026
7d44c0f
[github] Update & recompile agentic workflows. (#25608)
rolfbjarne Jun 2, 2026
dbc04b5
[make] Allow configuring the Xcode path (#25622)
dalexsoto Jun 2, 2026
4fa8644
[sharpie] Ignore warnings about long paths when packaging sharpie. (#…
rolfbjarne Jun 3, 2026
e39f97b
[src] Mark MKDistanceFormatter as thread-safe. Fixes #25617. (#25620)
rolfbjarne Jun 3, 2026
621547e
[github] Disable signed-commit replay in Code Radiator merge PR pushe…
Copilot Jun 3, 2026
bb47971
[sharpie] Fix a parallel build issue by building before packing. (#25…
rolfbjarne Jun 3, 2026
ad81f10
[apidiff] Add nullability support to mono-api-info and mono-api-html …
rolfbjarne Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
727 changes: 727 additions & 0 deletions .agents/skills/macios-ci-postmortem/SKILL.md

Large diffs are not rendered by default.

95 changes: 95 additions & 0 deletions .agents/skills/macios-ci-postmortem/references/azure-devops-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Azure DevOps CLI Reference for macios CI

## Authentication

The `az devops` CLI must be authenticated. Typically this is done via:
```bash
az devops configure --defaults organization=https://devdiv.visualstudio.com project=DevDiv
```

Or by passing `--org` and `--project` on each command.

## Key Commands

### Build metadata
```bash
az pipelines build show --id <buildId> -o json
```
Returns: result, status, sourceBranch, definition, requestedFor, startTime, finishTime.

### Build timeline (jobs and tasks)
```bash
az devops invoke --area build --resource timeline \
--route-parameters project=DevDiv buildId=<buildId> \
--org https://devdiv.visualstudio.com -o json
```
Returns: records array with type (Stage/Job/Task), name, result, state, log.id, parentId.

**Important:** `az pipelines build log list` is NOT a valid command. Use the `az devops invoke` approach above.

### Task logs
```bash
az devops invoke --area build --resource logs \
--route-parameters project=DevDiv buildId=<buildId> logId=<logId> \
--org https://devdiv.visualstudio.com -o json
```
Returns: value array of log line strings.

### Artifact listing
```bash
az pipelines runs artifact list --run-id <buildId> -o json
```

### Artifact download
```bash
az pipelines runs artifact download \
--artifact-name "<name>" \
--path /tmp/ci-artifacts/ \
--run-id <buildId>
```

## Common Pipeline Names

- `xamarin-macios-sim-pr-tests` — PR validation with simulator tests
- Other pipeline names may vary; check `definition.name` from build show.

## Common Job Names in Timeline

- `T: monotouch_ios` — iOS monotouch tests
- `T: monotouch_tvos` — tvOS monotouch tests
- `macOS tests` — macOS and Mac Catalyst tests
- `Reserve macOS bot for tests` — bot provisioning
- Various build/packaging jobs

## JSON Parsing Caveat

`az devops invoke` output may include trailing non-JSON text. Always parse with:
```python
import json
with open('file.json', 'r') as f:
content = f.read()
data = json.JSONDecoder().raw_decode(content)[0]
```

Do NOT use `json.loads(content)` directly — it will fail on the trailing text.

## Test Artifact Names

TestSummary and HtmlReport artifacts follow a naming convention:
- `TestSummary-simulator_tests<jobname>-1` — Markdown summary with pass/fail counts and failure details
- `HtmlReport-simulator_tests<jobname>-1` — ZIP containing HTML report and NUnit XML files

Common job names:
- `monotouch_ios`, `monotouch_tvos`, `monotouch_macos`, `monotouch_maccatalyst`
- `dotnettests_ios`, `dotnettests_tvos`, `dotnettests_macos`, `dotnettests_maccatalyst`
- `cecil`, `framework`, `xtro`, `msbuild`, `generator`, `sharpie`, `fsharp`, `linker`
- `introspection`, `xcframework`, `interdependent_binding_projects`

**Important:** Each artifact download overwrites `TestSummary.md` in the target directory. Always download to separate subdirectories named after the artifact.

## Key Investigation Strategy

1. **Start with TestSummary artifacts** — they are the fastest way to identify what failed and why. Raw task logs are 40K+ lines and don't contain standard NUnit patterns inline.
2. **For test failures (not build failures)**, download HtmlReport artifacts and parse the NUnit XML files inside for exact test names, assertions, and stack traces.
3. **Only use raw task logs** when you need build error details (MSB/CS/NU errors) or infrastructure error context.
4. **Map timeline logIds to jobs** using the `parentId` field to trace task → job relationships.
236 changes: 236 additions & 0 deletions .github/agents/agentic-workflows.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
---
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
disable-model-invocation: true
---

# GitHub Agentic Workflows Agent

This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.

## What This Agent Does

This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:

- **Creating new workflows**: Routes to `create` prompt
- **Updating existing workflows**: Routes to `update` prompt
- **Debugging workflows**: Routes to `debug` prompt
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
- **Rendering ASCII charts in markdown**: Routes to `asciicharts` guide — consult this whenever the workflow needs compact charts that render reliably in GitHub issues, comments, or discussions
- **CLI commands and triggering workflows**: Routes to `cli-commands` guide — consult this whenever the user asks how to run, compile, debug, or manage workflows from the command line, or when they need the MCP tool equivalent of a `gh aw` command
- **Reducing token consumption / cost optimization**: Routes to `token-optimization` guide — consult this whenever the user asks how to reduce token usage, lower costs, speed up workflows, or measure the impact of prompt changes with experiments
- **Choosing workflow architectures and design patterns**: Routes to `patterns` guide — consult this whenever the user asks for strategy, architecture, operating models, or pattern selection for agentic workflows

> [!IMPORTANT]
> For architecture/pattern-selection requests, load `https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/patterns.md` first.

Workflows may optionally include:

- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)

## Files This Applies To

- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
- Workflow lock files: `.github/workflows/*.lock.yml`
- Shared components: `.github/workflows/shared/*.md`
- Configuration: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/github-agentic-workflows.md

## Problems This Solves

- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
- **Component Design**: Create reusable shared workflow components that wrap MCP servers

## How to Use

When you interact with this agent, it will:

1. **Understand your intent** - Determine what kind of task you're trying to accomplish
2. **Route to the right prompt** - Load the specialized prompt file for your task
3. **Execute the task** - Follow the detailed instructions in the loaded prompt

## Available Prompts

### Create New Workflow
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/create-agentic-workflow.md

**Use cases**:
- "Create a workflow that triages issues"
- "I need a workflow to label pull requests"
- "Design a weekly research automation"

### Update Existing Workflow
**Load when**: User wants to modify, improve, or refactor an existing workflow

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/update-agentic-workflow.md

**Use cases**:
- "Add web-fetch tool to the issue-classifier workflow"
- "Update the PR reviewer to use discussions instead of issues"
- "Improve the prompt for the weekly-research workflow"

### Debug Workflow
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/debug-agentic-workflow.md

**Use cases**:
- "Why is this workflow failing?"
- "Analyze the logs for workflow X"
- "Investigate missing tool calls in run #12345"

### Upgrade Agentic Workflows
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/upgrade-agentic-workflows.md

**Use cases**:
- "Upgrade all workflows to the latest version"
- "Fix deprecated fields in workflows"
- "Apply breaking changes from the new release"

### Create a Report-Generating Workflow
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/report.md

**Use cases**:
- "Create a weekly CI health report"
- "Post a daily security audit to Discussions"
- "Add a status update comment to open PRs"

### Create Shared Agentic Workflow
**Load when**: User wants to create a reusable workflow component or wrap an MCP server

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/create-shared-agentic-workflow.md

**Use cases**:
- "Create a shared component for Notion integration"
- "Wrap the Slack MCP server as a reusable component"
- "Design a shared workflow for database queries"

### Fix Dependabot PRs
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/dependabot.md

**Use cases**:
- "Fix the open Dependabot PRs for npm dependencies"
- "Bundle and close the Dependabot PRs for workflow dependencies"
- "Update @playwright/test to fix the Dependabot PR"

### Analyze Test Coverage
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.

**Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/test-coverage.md

**Use cases**:
- "Create a workflow that comments coverage on PRs"
- "Analyze coverage trends over time"
- "Add a coverage gate that blocks PRs below a threshold"

### Render ASCII Charts in Markdown
**Load when**: The workflow needs in-markdown charts (sparklines, bars, table+trend views) that must align cleanly and render reliably across GitHub surfaces, including mobile.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/asciicharts.md

**Use cases**:
- "Show a compact trend chart in an issue comment"
- "Render a dashboard table with sparkline trends"
- "Generate aligned ASCII bars for service metrics"

### CLI Commands Reference
**Load when**: The user asks how to run, compile, debug, or manage workflows from the command line; needs the MCP tool equivalent of a `gh aw` command; or is in a restricted environment (e.g., Copilot Cloud) without direct CLI access.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/cli-commands.md

**Use cases**:
- "How do I trigger workflow X on the main branch?"
- "What's the MCP equivalent of `gh aw logs`?"
- "I'm in Copilot Cloud — how do I compile a workflow?"
- "Show me all available gh aw commands"

### Token Consumption Optimization
**Load when**: The user asks how to reduce token usage, lower workflow costs, make a workflow faster or cheaper, or measure the impact of prompt or configuration changes.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/token-optimization.md

**Use cases**:
- "How do I reduce the token cost of this workflow?"
- "My workflow is too expensive — how do I optimize it?"
- "How do I compare token usage between two runs?"
- "Should I use gh-proxy or the MCP server?"
- "How do I use sub-agents to reduce costs?"
- "How do I measure the impact of a prompt change?"

### Workflow Pattern Selection
**Load when**: The user asks for architecture, strategy, operating model selection, or pattern recommendations for building agentic workflows.

**Reference file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/patterns.md

**Use cases**:
- "Which pattern should I use for multi-repo rollout?"
- "How should I structure this workflow architecture?"
- "What pattern fits slash-command triage?"
- "Should this be DispatchOps or DailyOps?"

## Instructions

When a user interacts with you:

1. **Identify the task type** from the user's request
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
3. **Follow the loaded prompt's instructions** exactly
4. **If uncertain**, ask clarifying questions to determine the right prompt

## Quick Reference

```bash
# Initialize repository for agentic workflows
gh aw init

# Generate the lock file for a workflow
gh aw compile [workflow-name]

# Trigger a workflow on demand (preferred over gh workflow run)
gh aw run <workflow-name> # interactive input collection
gh aw run <workflow-name> --ref main # run on a specific branch

# Debug workflow runs
gh aw logs [workflow-name]
gh aw audit <run-id>

# Upgrade workflows
gh aw fix --write
gh aw compile --validate
```

## Key Features of gh-aw

- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
- **Safe Outputs**: Structured communication between AI and GitHub API
- **Strict Mode**: Security-first validation and sandboxing
- **Shared Components**: Reusable workflow building blocks
- **Repo Memory**: Persistent git-backed storage for agents
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default

## Important Notes

- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/github-agentic-workflows.md for complete documentation
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
- Follow security best practices: minimal permissions, explicit network access, no template injection
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
- **Triggering runs**: Always use `gh aw run <workflow-name>` to trigger a workflow on demand — not `gh workflow run <file>.lock.yml`. `gh aw run` handles workflow resolution by short name, input parsing and validation, and correct run-tracking for agentic workflows. Use `--ref <branch>` to run on a specific branch.
- **CLI commands reference**: For a complete guide on all `gh aw` commands and their MCP tool equivalents (for restricted environments), see https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/cli-commands.md
41 changes: 38 additions & 3 deletions .github/aw/actions-lock.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,52 @@
{
"entries": {
"actions/checkout@v6.0.2": {
"repo": "actions/checkout",
"version": "v6.0.2",
"sha": "de0fac2e4500dabe0009e67214ff5f5447ce83dd"
},
"actions/download-artifact@v8.0.1": {
"repo": "actions/download-artifact",
"version": "v8.0.1",
"sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
},
"actions/github-script@v9.0.0": {
"repo": "actions/github-script",
"version": "v9.0.0",
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
},
"github/gh-aw-actions/setup@v0.71.1": {
"actions/setup-node@v6.4.0": {
"repo": "actions/setup-node",
"version": "v6.4.0",
"sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
},
"actions/upload-artifact@v7.0.1": {
"repo": "actions/upload-artifact",
"version": "v7.0.1",
"sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
},
"github/gh-aw-actions/setup@v0.77.5": {
"repo": "github/gh-aw-actions/setup",
"version": "v0.71.1",
"sha": "239aec45b78c8799417efdd5bc6d8cc036629ec1"
"version": "v0.77.5",
"sha": "3ea13c02d765410340d533515cb31a7eef2baaf0"
}
},
"containers": {
"ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
"image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
"digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
"pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
},
"ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
"image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
"digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
"pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
},
"ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
"image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
"digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
"pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
},
"ghcr.io/github/gh-aw-mcpg:v0.3.0": {
"image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
"digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
Expand Down
Loading
Loading