Skip to content

Reduce scheduled evaluation from every 3h to daily, skip if no changes - #362

Merged
danmoseley merged 6 commits into
mainfrom
reduce-eval-schedule
Mar 14, 2026
Merged

Reduce scheduled evaluation from every 3h to daily, skip if no changes#362
danmoseley merged 6 commits into
mainfrom
reduce-eval-schedule

Conversation

@danmoseley

@danmoseley danmoseley commented Mar 14, 2026

Copy link
Copy Markdown
Contributor

(This keeps 5 iterations to get "stable" data. If we only wanted to check infrastructure health we would do 1 iteration. I'm assuming we're looking at https://dotnet.github.io/skills, where all this goes, and it's important to have stable measurements there.)

Reduce scheduled evaluation frequency to save tokens

Problem

Scheduled evaluation runs are the dominant consumer of AI tokens. At 8 runs/day
(every 3 hours), each evaluating all plugins and scenarios with 5 iterations,
the schedule generates a very large number of Copilot sessions per day.

Additionally, on quiet days with no commits, every scheduled run re-evaluates
identical code, producing no new signal while consuming the same tokens.

Changes

  1. Cron reduced from every 3h to once daily (08:00 UTC). This saves ~87%
    of scheduled evaluation token consumption while still providing daily
    benchmark data on active days.

  2. Skip-if-no-changes guard: Before checkout/discovery, scheduled runs
    query the GitHub API for the most recent completed scheduled evaluation run.
    The guard only skips when that run was successful and at the same SHA
    as the current run. If the last run failed or was cancelled, the evaluation
    proceeds (retry). This means on days with no new commits and a prior
    successful run, the evaluation is skipped entirely (no new signal to capture).

    Hardening:

    • actions: read scoped to the discover job only (least-privilege)
    • All API calls are non-fatal — failures fall back to running the evaluation
    • Compare API call is best-effort (logging only)
    • Manual reruns (run_attempt > 1) bypass the guard

Impact

  • Scheduled runs reduced from ~8/day to ~1/day (87% reduction)
  • On days with no commits and a prior successful run, zero tokens consumed
  • Transient failures are automatically retried on the next daily run
  • PR evaluation behavior is completely unchanged

The evaluation schedule was consuming ~/5 days in Copilot premium
requests from scheduled runs alone (~/month pace). This change:

1. Reduces the cron schedule from every 3 hours (8 runs/day) to once
   daily at 08:00 UTC. This alone saves ~87% of scheduled evaluation
   cost.

2. Adds a check-for-changes guard that skips the scheduled run entirely
   if there have been no new commits to main since the last successful
   scheduled evaluation. This avoids wasting tokens re-evaluating
   identical code.

The PR trigger and all PR evaluation behavior is unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 14, 2026 00:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts the evaluation workflow schedule and adds an early-exit guard to reduce unnecessary scheduled evaluation runs (and associated token usage) when the repository hasn’t changed since the last successful scheduled evaluation.

Changes:

  • Reduced the scheduled evaluation cron from every 3 hours to once daily (08:00 UTC).
  • Added a scheduled-run guard step that checks the last successful scheduled run’s HEAD SHA and skips checkout/discovery when unchanged.
  • Gated checkout and discovery steps on the guard result for scheduled runs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml Outdated
Comment thread .github/workflows/evaluation.yml Outdated
Comment thread .github/workflows/evaluation.yml Outdated
- Add actions: read permission so the workflow run lookup succeeds
- Use status=completed with jq conclusion filter instead of status=success
- Make all gh api calls non-fatal (fallback to has_changes=true on error)
- Make compare API call best-effort for logging only

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the scheduled evaluation workflow to reduce routine token spend by running less frequently and skipping scheduled runs when the repo hasn’t changed since the last successful scheduled evaluation.

Changes:

  • Reduced cron schedule from every 3 hours to once daily (08:00 UTC).
  • Added a pre-check on scheduled runs that compares the current github.sha to the last successful scheduled evaluation’s head_sha and skips the heavy steps when unchanged.
  • Added actions: read permission to support querying workflow runs via the GitHub API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml
Comment thread .github/workflows/evaluation.yml Outdated
@danmoseley

Copy link
Copy Markdown
Contributor Author

Ironically this kicked off a full evaluation of everything...

- Move actions:read from workflow-level to discover job permissions
  for least-privilege (only the schedule guard needs it)
- Increase per_page from 10 to 100 so the skip guard finds the last
  successful run even after long failure streaks

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the main evaluation workflow to reduce scheduled benchmark token usage by running less frequently and short-circuiting when the repository HEAD hasn’t changed since the last evaluation.

Changes:

  • Reduce scheduled evaluation cron from every 3 hours to once daily (08:00 UTC).
  • Add a scheduled-run “skip if no new commits” guard using the GitHub API via gh.
  • Gate checkout and discovery steps on the guard result to avoid running evaluation/publishing when unchanged.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml Outdated
Only skip when the most recent completed scheduled run was successful
AND at the same SHA. If it failed/cancelled at the current SHA, proceed
to retry. This prevents the guard from skipping indefinitely after a
transient failure.

Also simplifies to per_page=1 since we only inspect the latest run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the scheduled evaluation workflow to reduce token usage by running less frequently and skipping scheduled evaluations when the repository SHA hasn’t changed since the last successful scheduled run.

Changes:

  • Reduced the scheduled cron trigger from every 3 hours to once daily at 08:00 UTC.
  • Added a schedule-only “skip if no changes” guard that checks the most recent completed scheduled run’s SHA/conclusion via GitHub’s API and conditionally skips checkout/discovery.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml Outdated
Comment thread .github/workflows/evaluation.yml Outdated
Use // empty to guard against null when workflow_runs array is empty,
preventing 'null null' from leaking into LAST_SHA/LAST_CONCLUSION.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the main evaluation workflow schedule and adds a pre-check to avoid running scheduled evaluations when the repository HEAD hasn’t changed since the last successful scheduled run, reducing token usage on quiet days.

Changes:

  • Reduce scheduled evaluation cadence from every 3 hours to once daily (08:00 UTC).
  • Add a “skip if no changes” guard for scheduled runs by querying the latest completed scheduled run and comparing SHA + conclusion.
  • Scope actions: read permissions to the discover job to support the GitHub API query with least privilege.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml
When a maintainer clicks 'Re-run jobs' on a scheduled run, the event
is still schedule with the same SHA. Without this check, the guard
would skip the rerun if the previous attempt succeeded. Now reruns
always proceed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reduces token usage from scheduled evaluations by running them once daily and skipping the scheduled evaluation when the last completed scheduled run already succeeded on the same commit SHA. This keeps PR-triggered evaluations unchanged while reducing redundant scheduled runs on quiet days.

Changes:

  • Reduce the evaluation.yml schedule from every 3 hours to once daily (08:00 UTC).
  • Add a scheduled-only “skip if no changes” guard that queries GitHub Actions API for the latest completed scheduled run and skips when it already succeeded at the current SHA.
  • Scope actions:read/contents:read permissions to the discover job for least-privilege API access.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@adityamandaleeka

Copy link
Copy Markdown
Member

I think we should run once daily even if there are no changes. We're probably going to have quiet days or even weeks in this repo soon and it would be good to catch any ambient changes that break the infrastructure.

@danmoseley

danmoseley commented Mar 14, 2026

Copy link
Copy Markdown
Contributor Author

@adityamandaleeka in such cases, ideally we'd do 1 iteration not 5, right?

edit: but then it would mess up your dashboard. OK for now I'll just change the cron timing.

@adityamandaleeka

Copy link
Copy Markdown
Member

If you're suggesting a job that runs once a day to make sure the machinery works with 1 run (maybe even on a subset of evals) that seems reasonable. And we can keep this one the way you have it.

@danmoseley
danmoseley force-pushed the reduce-eval-schedule branch from 07ddb7d to 0e5e995 Compare March 14, 2026 01:27
@danmoseley danmoseley changed the title Reduce scheduled evaluation from every 3h to daily, skip if no changes Reduce scheduled evaluation from every 3h to daily Mar 14, 2026
@danmoseley

Copy link
Copy Markdown
Contributor Author

Oh nuts I already changed it how you said. Let me change it back

@adityamandaleeka

Copy link
Copy Markdown
Member

haha either way works.

@danmoseley
danmoseley force-pushed the reduce-eval-schedule branch from 0e5e995 to 07ddb7d Compare March 14, 2026 01:28
Copilot AI review requested due to automatic review settings March 14, 2026 01:28
@danmoseley
danmoseley enabled auto-merge (squash) March 14, 2026 01:29
@danmoseley danmoseley changed the title Reduce scheduled evaluation from every 3h to daily Reduce scheduled evaluation from every 3h to daily, skip if no changes Mar 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts the evaluation GitHub Actions workflow scheduling to reduce token usage from scheduled benchmark runs, and adds logic to avoid running full scheduled evaluations when nothing has changed.

Changes:

  • Reduce the scheduled cron trigger from every 3 hours to once daily at 08:00 UTC.
  • Add a scheduled-run “skip guard” that avoids checkout/discovery (and therefore evaluation) when the last completed scheduled run at the same SHA succeeded.
  • Restrict the discover job token permissions to read-only (actions: read, contents: read).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/evaluation.yml
@danmoseley

Copy link
Copy Markdown
Contributor Author

If you're suggesting a job that runs once a day to make sure the machinery works with 1 run (maybe even on a subset of evals) that seems reasonable. And we can keep this one the way you have it.

We can add that later when things get quiet. For now this will run every day and we don't need yet more runs to confuse...

@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality (Isolated) Quality (Plugin) Skills Loaded Overfit Verdict
csharp-scripts Test a C# language feature with a script 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ csharp-scripts; tools: skill, create / ✅ csharp-scripts; tools: skill, create, edit 🟡 0.32
nuget-trusted-publishing Set up trusted publishing for a new NuGet library 1.0/5 ⏰ → 3.0/5 🟢 1.0/5 ⏰ → 4.0/5 🟢 ✅ nuget-trusted-publishing; tools: skill, task, bash, create / ✅ nuget-trusted-publishing; tools: skill, task, bash, create ✅ 0.11
nuget-trusted-publishing Set up NuGet publishing without mentioning trusted publishing 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ nuget-trusted-publishing; tools: report_intent, skill, task, view, glob, bash, create / ✅ nuget-trusted-publishing; tools: skill, report_intent, view, glob ✅ 0.11
nuget-trusted-publishing Migrate existing workflow from API key to trusted publishing 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ nuget-trusted-publishing; tools: skill, view / ✅ nuget-trusted-publishing; tools: skill, view ✅ 0.11
dotnet-pinvoke Generate LibraryImport declaration from C header (.NET 8+) 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-pinvoke; tools: skill / ✅ dotnet-pinvoke; tools: skill ✅ 0.05
dotnet-pinvoke Generate LibraryImport declaration from C header (.NET Framework) 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-pinvoke; tools: skill / ✅ dotnet-pinvoke; tools: skill ✅ 0.05
dotnet-trace-collect High CPU in Kubernetes on Linux (.NET 8) 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect .NET Framework on Windows without admin privileges 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill ✅ 0.12
dotnet-trace-collect .NET 10 on Linux with root access and native call stacks 1.0/5 → 4.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill ✅ 0.12
dotnet-trace-collect Memory leak on Linux (.NET 8) 3.0/5 → 3.0/5 3.0/5 → 3.0/5 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill ✅ 0.12
dotnet-trace-collect Slow requests on Windows with PerfView 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Excessive GC on Linux (.NET 8) 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill ✅ 0.12
dotnet-trace-collect Hang or deadlock diagnosis on Linux 4.0/5 → 3.0/5 🔴 4.0/5 → 2.0/5 🔴 ✅ dotnet-trace-collect; tools: skill / ⚠️ NOT ACTIVATED ✅ 0.12
dotnet-trace-collect Windows container high CPU with PerfView 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Long-running intermittent issue with PerfView triggers 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Linux pre-.NET 10 needing native call stacks 4.0/5 → 4.0/5 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Windows modern .NET with admin high CPU 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Memory leak on .NET Framework Windows 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Kubernetes with console access prefers console tools 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Container installation without .NET SDK 3.0/5 → 2.0/5 🔴 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill ✅ 0.12
dotnet-trace-collect HTTP 500s from downstream service on Linux (.NET 8) 5.0/5 → 5.0/5 5.0/5 → 4.0/5 🔴 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12 [1]
dotnet-trace-collect Networking timeouts on Windows with admin (.NET 8) 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
dotnet-trace-collect Assembly loading failure on Linux (.NET 8) 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view, bash / ✅ dotnet-trace-collect; tools: skill, report_intent, view ✅ 0.12
microbenchmarking Investigate runtime upgrade performance impact 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ microbenchmarking; tools: skill / ✅ microbenchmarking; tools: skill ✅ 0.15
clr-activation-debugging Diagnose unexpected FOD dialog from native build tool 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill ✅ 0.08 [2]
clr-activation-debugging Diagnose FOD suppressed but activation still failing 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ clr-activation-debugging; tools: skill, glob / ✅ clr-activation-debugging; tools: skill ✅ 0.08 [3]
clr-activation-debugging Explain why same binary behaves differently under different launch methods 1.0/5 → 4.0/5 🟢 1.0/5 → 4.0/5 🟢 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill ✅ 0.08
clr-activation-debugging Analyze healthy managed EXE activation 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ clr-activation-debugging; tools: skill / ⚠️ NOT ACTIVATED ✅ 0.08 [4]
clr-activation-debugging Identify multiple activation sequences in a single log 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill ✅ 0.08 [5]
clr-activation-debugging Explain useLegacyV2RuntimeActivationPolicy in activation log 2.0/5 → 4.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill ✅ 0.08
clr-activation-debugging Decline non-CLR-activation issue 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ clr-activation-debugging; tools: skill, glob / ℹ️ not activated (expected) ✅ 0.08
analyzing-dotnet-performance Detects compiled regex startup budget and regex chain allocations 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ analyzing-dotnet-performance; tools: skill / ⚠️ NOT ACTIVATED ✅ 0.14 [6]
analyzing-dotnet-performance Detects CurrentCulture comparer and compiled regex budget in inflection rules 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [7]
analyzing-dotnet-performance Finds per-call Dictionary allocation not hoisted to static 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [8]
analyzing-dotnet-performance Catches compound allocations in recursive number converter with ToLower 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [9]
analyzing-dotnet-performance Finds StringComparison.Ordinal missing and FrozenDictionary opportunities 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [10]
analyzing-dotnet-performance Detects Aggregate+Replace chain and struct missing IEquatable 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [11]
analyzing-dotnet-performance Finds branched Replace chain in format string manipulation 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [12]
analyzing-dotnet-performance Catches LINQ on hot-path string processing and All(char.IsUpper) 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ analyzing-dotnet-performance; tools: skill, glob / ⚠️ NOT ACTIVATED ✅ 0.14 [13]
analyzing-dotnet-performance Detects LINQ pipeline in TimeSpan formatting and collection processing 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [14]
analyzing-dotnet-performance Flags Span inconsistencies and compound method chains in truncation library 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14
analyzing-dotnet-performance Identifies unsealed leaf classes and locale hierarchy patterns 1.0/5 → 2.0/5 🟢 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.14 [15]
android-tombstone-symbolication Symbolicate .NET frames in an Android tombstone 3.0/5 → 5.0/5 🟢 3.0/5 → 3.0/5 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill 🟡 0.22 [16]
android-tombstone-symbolication Recognize tombstone with no .NET frames 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ android-tombstone-symbolication; tools: skill, bash / ✅ android-tombstone-symbolication; tools: skill 🟡 0.22 [17]
android-tombstone-symbolication Symbolicate CoreCLR frames in an Android tombstone 4.0/5 → 4.0/5 4.0/5 → 3.0/5 🔴 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill 🟡 0.22
android-tombstone-symbolication Recognize NativeAOT tombstone with app binary and libSystem.Native.so 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ android-tombstone-symbolication; tools: skill, bash / ✅ android-tombstone-symbolication; tools: skill, bash 🟡 0.22
android-tombstone-symbolication Symbolicate multi-thread tombstone 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill 🟡 0.22
android-tombstone-symbolication Handle .NET frames with no BuildId metadata 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ android-tombstone-symbolication; tools: skill, bash / ✅ android-tombstone-symbolication; tools: skill, bash 🟡 0.22
android-tombstone-symbolication Symbolicate tombstone with multiple .NET libraries and different BuildIds 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill 🟡 0.22 [18]
android-tombstone-symbolication Reject iOS crash log as wrong format 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ℹ️ not activated (expected) / ℹ️ not activated (expected) 🟡 0.22 [19]
dump-collect Configure automatic crash dumps for CoreCLR app on Linux 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ dump-collect; tools: report_intent, skill, view, bash / ✅ dump-collect; tools: skill, report_intent, view ✅ 0.17 [20]
dump-collect Set up NativeAOT crash dumps with createdump in Kubernetes 3.0/5 → 2.0/5 🔴 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Recover crash dump from macOS NativeAOT without createdump 4.0/5 → 3.0/5 🔴 4.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: report_intent, skill, view, bash / ✅ dump-collect; tools: skill, report_intent, view ✅ 0.17
dump-collect Configure CoreCLR dump collection in Alpine Docker as non-root 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Advisory: macOS NativeAOT crash dump recovery steps 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Advisory: CoreCLR Alpine Docker non-root configuration 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Advisory: NativeAOT Kubernetes dump collection setup 3.0/5 → 2.0/5 🔴 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Detect runtime and configure crash dumps for unknown .NET app on Linux 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill ✅ 0.17
dump-collect Decline dump analysis request 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ℹ️ not activated (expected) / ℹ️ not activated (expected) ✅ 0.17
optimizing-ef-core-queries Optimize bulk operations with EF Core 7+ ExecuteUpdate and ExecuteDelete 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ optimizing-ef-core-queries; tools: skill / ✅ optimizing-ef-core-queries; tools: report_intent, skill 🟡 0.26 [21]
build-parallelism Analyze build parallelism bottlenecks 1.0/5 ⏰ → 5.0/5 🟢 1.0/5 ⏰ → 5.0/5 🟢 ✅ build-parallelism; tools: skill, task / ✅ build-parallelism; tools: skill, task ✅ 0.15
including-generated-files Diagnose generated file inclusion failure 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ including-generated-files; tools: skill / ✅ including-generated-files; tools: skill 🟡 0.26
msbuild-antipatterns Review MSBuild files for anti-patterns and style issues 5.0/5 → 4.0/5 🔴 5.0/5 → 5.0/5 ✅ msbuild-antipatterns; tools: skill, glob / ✅ msbuild-antipatterns; tools: skill, task, glob ✅ 0.07 [22]
build-perf-baseline Establish build performance baseline and recommend optimizations 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ build-perf-baseline; tools: skill / ✅ binlog-generation; build-perf-baseline; build-perf-diagnostics; msbuild-antipatterns; binlog-failure-analysis; tools: skill, read_agent, edit 🟡 0.26
msbuild-modernization Modernize legacy project to SDK-style 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ msbuild-modernization; tools: skill / ✅ msbuild-modernization; tools: skill ✅ 0.06 [23]
directory-build-organization Organize build infrastructure for a multi-project repo 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ directory-build-organization; tools: skill, task, create, edit, bash / ✅ directory-build-organization; msbuild-antipatterns; tools: task, bash, skill ✅ 0.18 [24]
check-bin-obj-clash Diagnose bin/obj output path clashes 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ check-bin-obj-clash; tools: skill / ✅ binlog-generation; check-bin-obj-clash; tools: skill, edit ✅ 0.15 [25]
incremental-build Analyze incremental build issues 3.0/5 → 3.0/5 3.0/5 → 4.0/5 🟢 ✅ incremental-build; tools: skill / ✅ incremental-build; tools: skill ✅ 0.14
eval-performance Analyze MSBuild evaluation performance issues 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ eval-performance; tools: skill / ✅ eval-performance; tools: skill ✅ 0.12
build-perf-diagnostics Analyze analyzer performance impact on builds 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ build-perf-diagnostics; tools: skill / ✅ binlog-generation; build-perf-diagnostics; tools: skill 🟡 0.22 [26]
binlog-generation Build project with /bl flag 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill / ✅ binlog-generation; tools: skill ✅ 0.00
binlog-generation Build with /bl in PowerShell 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill / ✅ binlog-generation; tools: skill ✅ 0.00
binlog-generation Build multiple configurations with unique binlogs 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill / ✅ binlog-generation; tools: skill ✅ 0.00
binlog-failure-analysis Diagnose build failures from binlog only (no source files) 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ binlog-failure-analysis; tools: skill / ✅ binlog-failure-analysis; tools: skill ✅ 0.04 [27]
dotnet-maui-doctor Plan macOS MAUI setup with Xcode 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill 🟡 0.23
dotnet-maui-doctor Plan Linux MAUI environment for Android 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill, view / ✅ dotnet-maui-doctor; tools: skill, view 🟡 0.23
dotnet-maui-doctor Guardrail against workload update and repair 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ dotnet-maui-doctor; tools: report_intent, skill / ✅ dotnet-maui-doctor; tools: report_intent, skill 🟡 0.23
dotnet-maui-doctor Diagnose non-Microsoft JDK causing build failure 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill 🟡 0.23
dotnet-maui-doctor Plan complete MAUI setup on Windows 4.0/5 → 2.0/5 🔴 4.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill, web_fetch / ✅ dotnet-maui-doctor; tools: skill 🟡 0.23
dotnet-maui-doctor Prevent incorrect JAVA_HOME configuration 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill 🟡 0.23
dotnet-maui-doctor Determine required Android SDK packages for specific .NET version 2.0/5 → 5.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ dotnet-maui-doctor; tools: report_intent, skill, view, bash / ✅ dotnet-maui-doctor; tools: report_intent, skill, view 🟡 0.23
dotnet-maui-doctor Fix stale MAUI workloads after SDK update 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill, glob, web_fetch / ✅ dotnet-maui-doctor; tools: skill 🟡 0.23
technology-selection ML.NET classification on tabular data 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ technology-selection; tools: skill, read_bash, stop_bash / ✅ technology-selection; tools: skill, read_bash, stop_bash 🟡 0.36
technology-selection LLM integration with MEAI abstraction 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill 🟡 0.36
technology-selection Reject LLM for tabular classification 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill, create 🟡 0.36
technology-selection Agentic workflow with guardrails 3.0/5 → 1.0/5 ⏰ 🔴 3.0/5 → 1.0/5 ⏰ 🔴 ✅ technology-selection; tools: skill, task / ✅ technology-selection; tools: skill, task, create 🟡 0.36
technology-selection Natural-language scenario decomposition — RAG chatbot 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill 🟡 0.36 [28]
technology-selection RAG pipeline with vector search 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill 🟡 0.36
migrate-dotnet9-to-dotnet10 Console app with System.Linq.Async, SIGTERM, and BufferedStream 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view [29]
migrate-dotnet9-to-dotnet10 Expression tree code broken by C# 14 span overload resolution 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, bash, glob, view / ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view [30]
migrate-dotnet9-to-dotnet10 ASP.NET Core app with WebHostBuilder, OpenAPI, and forwarded headers 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 ASP.NET Core app with OpenAPI transformers using Microsoft.OpenApi v1 APIs 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view [31]
migrate-dotnet9-to-dotnet10 EF Core app with Azure SQL JSON columns and parameterized collections 3.0/5 → 3.0/5 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 EF Core app with dynamic ExecuteUpdate and complex types 5.0/5 → 2.0/5 🔴 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view
migrate-dotnet9-to-dotnet10 SQLite app with DateTimeOffset timezone handling 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view [32]
migrate-dotnet9-to-dotnet10 Worker service with config null array binding and ProviderAlias assembly change 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill, stop_bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 Cryptography app with OpenSSL, X.509, and Rfc2898DeriveBytes 5.0/5 → 4.0/5 🔴 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view
migrate-dotnet9-to-dotnet10 SDK and NuGet obscure tooling changes 5.0/5 → 3.0/5 🔴 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 JSON polymorphism with conflicting property names and XmlSerializer 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 WinForms and WPF desktop app with System.Drawing and DynamicResource 5.0/5 → 3.0/5 🔴 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill
migrate-dotnet9-to-dotnet10 Containerized single-file app with P/Invoke and IDispatchEx 3.0/5 → 3.0/5 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill [33]
migrate-dotnet9-to-dotnet10 App using SslStream properties and SystemEvents 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view [34]
migrate-dotnet9-to-dotnet10 Library with NuGet auditing, transitive deps, and InlineArray 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view [35]
migrate-dotnet9-to-dotnet10 C# 14 compiler breaking changes — field keyword, extension keyword, disposal 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view
migrate-dotnet9-to-dotnet10 Blazor WASM app with generic math shift masking and tar operations 5.0/5 → 3.0/5 🔴 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view, bash / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view
migrate-dotnet8-to-dotnet9 App with empty environment variables, ZIP encoding, and keyed DI services 2.0/5 → 2.0/5 2.0/5 → 4.0/5 🟢 ℹ️ not activated (expected) / ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash ✅ 0.04 [36]
migrate-dotnet8-to-dotnet9 C# 13 compiler breaking changes — InlineArray on record, iterator safe context, collection expressions 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: report_intent, skill, view, bash / ✅ migrate-dotnet8-to-dotnet9; tools: skill, report_intent, view ✅ 0.04
migrate-dotnet8-to-dotnet9 ASP.NET Core app with DI validation, forwarded headers, and HttpClientFactory casting 2.0/5 → 3.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill, create / ✅ migrate-dotnet8-to-dotnet9; tools: skill, grep ✅ 0.04
migrate-dotnet8-to-dotnet9 EF Core app with migration patterns and Cosmos DB discriminator 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04
migrate-dotnet8-to-dotnet9 EF Core Cosmos DB app with existing documents and composite id format 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04
migrate-dotnet8-to-dotnet9 App with JsonDocument null deserialization and BinaryFormatter fallback 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04 [37]
migrate-dotnet8-to-dotnet9 CI pipeline with Terminal Logger parsing and version constraints 3.0/5 → 2.0/5 🔴 3.0/5 → 5.0/5 🟢 ℹ️ not activated (expected) / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04
migrate-dotnet8-to-dotnet9 WinForms app with custom UserControls and PictureBox URL loading 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash, create / ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash ✅ 0.04
migrate-dotnet8-to-dotnet9 Containerized app with zlib dependency and runtime configuration 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04 [38]
migrate-dotnet8-to-dotnet9 EF Core Cosmos DB app with discriminator and sync I/O 4.0/5 → 2.0/5 🔴 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash / ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash ✅ 0.04
migrate-dotnet8-to-dotnet9 Library with String.Trim span overload, keyed services, and InlineArray 5.0/5 → 3.0/5 🔴 5.0/5 → 3.0/5 🔴 ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash / ✅ migrate-dotnet8-to-dotnet9; tools: skill, grep, bash ✅ 0.04
migrate-dotnet8-to-dotnet9 Containerized app with env var precedence reversal and zlib removal 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill ✅ 0.04 [39]
thread-abort-migration Worker thread with abort-based cancellation 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ thread-abort-migration; tools: skill / ✅ thread-abort-migration; tools: skill ✅ 0.09 [40]
thread-abort-migration Timeout enforcement via Thread.Abort 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ thread-abort-migration; tools: skill / ✅ thread-abort-migration; tools: skill ✅ 0.09
thread-abort-migration Blocking WaitHandle with Thread.Interrupt 4.0/5 → 5.0/5 🟢 4.0/5 → 3.0/5 🔴 ✅ thread-abort-migration; tools: skill / ✅ thread-abort-migration; tools: report_intent, skill ✅ 0.09 [41]
thread-abort-migration ASP.NET Response.End and Response.Redirect with Thread.Abort 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ thread-abort-migration; tools: skill, report_intent, create / ✅ thread-abort-migration; tools: report_intent, skill ✅ 0.09
thread-abort-migration Thread.Join and Thread.Sleep only — should not migrate 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.09
migrate-nullable-references Enable NRT in a small library with mixed nullability 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-nullable-references; tools: skill / ✅ migrate-nullable-references; tools: skill ✅ 0.15 [42]
migrate-nullable-references File-by-file migration: only modify the targeted file 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.15 [43]
migrate-nullable-references Enable NRT in ASP.NET Core Web API with EF Core 5.0/5 → 3.0/5 🔴 5.0/5 → 3.0/5 🔴 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED ✅ 0.15
dotnet-aot-compat Make Azure.ResourceManager AOT-compatible 1.0/5 ⏰ → 1.0/5 ⏰ 1.0/5 ⏰ → 2.0/5 ⏰ 🟢 ✅ dotnet-aot-compat; tools: skill / ✅ dotnet-aot-compat; tools: skill, read_agent ✅ 0.18
migrate-dotnet10-to-dotnet11 Console app with compression and TAR operations 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ migrate-dotnet10-to-dotnet11; tools: skill / ✅ migrate-dotnet10-to-dotnet11; tools: skill ✅ 0.05 [44]
migrate-dotnet10-to-dotnet11 C# 15 compiler breaking changes — Span safe-context, nameof, with() 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view, bash / ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view ✅ 0.05
migrate-dotnet10-to-dotnet11 EF Core app with Cosmos DB provider using sync APIs 4.0/5 → 4.0/5 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill / ✅ migrate-dotnet10-to-dotnet11; tools: skill ✅ 0.05
migrate-dotnet10-to-dotnet11 Deployment to older hardware with minimum requirement changes 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view, bash / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view ✅ 0.05
migrate-dotnet10-to-dotnet11 Cryptography app using DSA on macOS 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view, bash / ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view ✅ 0.05
migrate-dotnet10-to-dotnet11 Basic TFM update with Docker and global.json 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill / ✅ migrate-dotnet10-to-dotnet11; tools: skill ✅ 0.05
migrate-dotnet10-to-dotnet11 C# 15 dynamic operator and ref readonly delegate issues 2.0/5 → 4.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view, bash / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view ✅ 0.05
run-tests Run tests in a VSTest MSTest project 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED 🟡 0.30 [45]
run-tests Run tests with trx reporting on MTP project (SDK 9) 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ run-tests; tools: skill, bash / ✅ run-tests; tools: skill, bash 🟡 0.30
run-tests Run tests with blame-hang on MTP project (SDK 10) 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED 🟡 0.30 [46]
run-tests Run tests in a multi-TFM project targeting a specific framework 1.0/5 → 3.0/5 🟢 1.0/5 → 2.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ run-tests; tools: skill 🟡 0.30
run-tests Filter MSTest tests by category on VSTest 2.0/5 → 3.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill 🟡 0.30 [47]
run-tests Filter NUnit tests by class name on VSTest 2.0/5 → 2.0/5 2.0/5 → 2.0/5 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill, bash 🟡 0.30
run-tests Filter xUnit v3 tests by class on MTP 1.0/5 → 1.0/5 1.0/5 → 2.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill, glob 🟡 0.30
run-tests Filter xUnit v3 tests by trait on MTP 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill 🟡 0.30
run-tests Filter TUnit tests by class using treenode-filter 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill, glob / ✅ run-tests; tools: skill 🟡 0.30
run-tests Combine multiple filter criteria on VSTest MSTest 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill, glob 🟡 0.30
run-tests MTP project on SDK 9 must use -- separator for args 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ run-tests; tools: skill, bash / ✅ run-tests; tools: skill, glob, bash 🟡 0.30 [48]
run-tests MTP project on SDK 10 passes args directly 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill, glob 🟡 0.30 [49]
run-tests Detect test platform from Directory.Build.props 1.0/5 → 2.0/5 🟢 1.0/5 → 2.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill 🟡 0.30
run-tests Negative test: do not use MTP syntax for a VSTest project 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ✅ run-tests; tools: skill, glob / ✅ run-tests; tools: skill 🟡 0.30 [50]

[1] (Isolated) Quality unchanged but weighted score is -10.0% due to: tokens (11732 → 89265), tool calls (0 → 5), time (10.2s → 39.1s)
[2] (Plugin) Quality unchanged but weighted score is -14.5% due to: quality, tokens (47052 → 96087), tool calls (4 → 8), time (16.1s → 27.0s)
[3] (Plugin) Quality unchanged but weighted score is -7.5% due to: tokens (47084 → 90285), time (16.6s → 27.4s), tool calls (4 → 6)
[4] (Plugin) Quality unchanged but weighted score is -0.1% due to: tokens (35138 → 38984)
[5] (Plugin) Quality unchanged but weighted score is -1.1% due to: tool calls (4 → 5)
[6] (Isolated) Quality unchanged but weighted score is -22.0% due to: judgment, tokens (47210 → 178825), tool calls (5 → 14), time (17.1s → 57.7s)
[7] (Plugin) Quality unchanged but weighted score is -0.8% due to: tokens (34883 → 38791)
[8] (Plugin) Quality unchanged but weighted score is -0.7% due to: tokens (34900 → 38904)
[9] (Plugin) Quality unchanged but weighted score is -0.8% due to: tokens (34957 → 38927)
[10] (Plugin) Quality unchanged but weighted score is -3.2% due to: tokens (34864 → 52059), tool calls (3 → 4)
[11] (Plugin) Quality unchanged but weighted score is -0.6% due to: tokens (35018 → 38947)
[12] (Isolated) Quality unchanged but weighted score is -6.5% due to: tokens (34840 → 61191), tool calls (3 → 5), time (11.1s → 15.9s)
[13] (Isolated) Quality unchanged but weighted score is -7.3% due to: tokens (34841 → 73862), tool calls (3 → 7)
[14] (Plugin) Quality unchanged but weighted score is -0.4% due to: tokens (46881 → 52015)
[15] (Plugin) Quality unchanged but weighted score is -0.4% due to: tokens (34853 → 38810)
[16] (Plugin) Quality unchanged but weighted score is -2.4% due to: quality
[17] (Plugin) Quality unchanged but weighted score is -6.0% due to: tokens (24362 → 45141), tool calls (2 → 3)
[18] (Isolated) Quality unchanged but weighted score is -0.9% due to: tool calls (9 → 14)
[19] (Isolated) Quality unchanged but weighted score is -4.0% due to: quality
[20] (Isolated) Quality unchanged but weighted score is -9.2% due to: tokens (11927 → 53752), tool calls (0 → 5), time (13.4s → 22.6s)
[21] (Plugin) Quality unchanged but weighted score is -4.7% due to: tokens (11843 → 26405), tool calls (0 → 2), time (7.9s → 16.6s)
[22] (Plugin) Quality unchanged but weighted score is -5.7% due to: tokens (41130 → 84519), tool calls (11 → 22), time (48.8s → 76.7s)
[23] (Plugin) Quality unchanged but weighted score is -3.3% due to: tokens (86356 → 122663), tool calls (11 → 14)
[24] (Plugin) Quality unchanged but weighted score is -27.6% due to: judgment, quality, tokens (59340 → 173201), tool calls (14 → 33), time (55.1s → 93.7s)
[25] (Isolated) Quality unchanged but weighted score is -19.6% due to: judgment, tokens (138114 → 237501), quality, tool calls (13 → 17)
[26] (Isolated) Quality unchanged but weighted score is -30.4% due to: quality, judgment, tokens (140437 → 208682), tool calls (12 → 15)
[27] (Isolated) Quality unchanged but weighted score is -1.2% due to: tokens (575096 → 748894), tool calls (22 → 30)
[28] (Plugin) Quality unchanged but weighted score is -3.6% due to: tokens (177796 → 265633), time (104.3s → 143.8s)
[29] (Plugin) Quality unchanged but weighted score is -0.1% due to: tokens (48583 → 56728)
[30] (Plugin) Quality unchanged but weighted score is -5.9% due to: tokens (16157 → 55644), tool calls (0 → 4)
[31] (Isolated) Quality unchanged but weighted score is -10.9% due to: judgment, quality
[32] (Isolated) Quality unchanged but weighted score is -9.3% due to: tokens (49042 → 86985), quality, tool calls (4 → 6), time (21.6s → 30.0s)
[33] (Isolated) Quality unchanged but weighted score is -26.6% due to: judgment, quality, tokens (27464 → 90878), tool calls (2 → 7), time (50.6s → 63.8s)
[34] (Isolated) Quality unchanged but weighted score is -8.9% due to: judgment
[35] (Plugin) Quality unchanged but weighted score is -3.9% due to: tokens (13568 → 58758), tool calls (0 → 6)
[36] (Isolated) Quality unchanged but weighted score is -0.2% due to: efficiency metrics
[37] (Isolated) Quality unchanged but weighted score is -9.4% due to: tokens (133440 → 292941), time (70.3s → 143.0s), tool calls (17 → 30)
[38] (Plugin) Quality unchanged but weighted score is -0.7% due to: tokens (63209 → 121659), tool calls (16 → 20)
[39] (Isolated) Quality improved but weighted score is -2.4% due to: tokens (104618 → 168906)
[40] (Isolated) Quality unchanged but weighted score is -0.4% due to: quality
[41] (Plugin) Quality dropped but weighted score is +3.6% due to: completion (✗ → ✓)
[42] (Isolated) Quality unchanged but weighted score is -4.6% due to: tokens (123386 → 191535), time (60.2s → 96.9s)
[43] (Isolated) Quality unchanged but weighted score is -0.4% due to: efficiency metrics
[44] (Plugin) Quality unchanged but weighted score is -19.0% due to: quality, judgment
[45] (Isolated) Quality unchanged but weighted score is -0.4% due to: efficiency metrics
[46] (Isolated) Quality unchanged but weighted score is -3.6% due to: tokens (35012 → 48993), tool calls (3 → 4), time (15.9s → 20.6s)
[47] (Isolated) Quality improved but weighted score is -25.8% due to: quality, judgment, tokens (64602 → 80630)
[48] (Isolated) Quality unchanged but weighted score is -9.6% due to: tokens (23138 → 45961), tool calls (2 → 6), time (10.3s → 19.3s)
[49] (Plugin) Quality unchanged but weighted score is -7.2% due to: tokens (34919 → 62927), tool calls (3 → 7), time (16.2s → 20.9s)
[50] (Isolated) Quality unchanged but weighted score is -8.2% due to: tokens (34899 → 63027), tool calls (3 → 7), time (12.7s → 21.0s)

timeout — run hit the scenario timeout limit; scoring may be impacted by aborting model execution before it could produce its full output

Model: claude-opus-4.6 | Judge: claude-opus-4.6

Full results

@danmoseley
danmoseley merged commit 492ab1d into main Mar 14, 2026
49 of 55 checks passed
@danmoseley
danmoseley deleted the reduce-eval-schedule branch March 14, 2026 02:24
@ViktorHofer

Copy link
Copy Markdown
Member

@danmoseley we should always run, regardless of if there are changes. Changing to daily makes sense now with the increased quota.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants