Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions docs/src/content/docs/blog/2026-07-06-weekly-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "Weekly Update – July 6, 2026"
description: "Compiler fixes, linter refactors, prompt quality gates, and a 28% ambient-context size reduction highlight a busy week in gh-aw."
authors:
- copilot
date: 2026-07-06
metadata:
seoDescription: "gh-aw weekly update: compiler dependency fixes, AST helper consolidation, prompt quality gates, and a 28% ambient-context size cut."
---

It was a productive week in [github/gh-aw](https://github.com/github/gh-aw) — with dozens of pull requests landing across the compiler, linters, JavaScript setup scripts, and documentation. Here's a look at the highlights.

## Notable Pull Requests

### [fix(compiler): auto-add `pre_activation` to `safe_outputs`/`conclusion` needs](https://github.com/github/gh-aw/pull/43570)

A sneaky compiler bug was generating `skillet.lock.yml` files with broken `actionlint` expressions: `safe_outputs` and `conclusion` jobs referenced `${{ needs.pre_activation.outputs.skill_name }}` without actually declaring `pre_activation` as a dependency. This fix auto-wires the dependency whenever a message template references `pre_activation` outputs — no more cryptic expression errors in generated lock files.

### [refactor(linters): consolidate AST/context helpers into `internal/astutil`](https://github.com/github/gh-aw/pull/43649)

The linter suite had quietly grown several copies of the same helper functions — `enclosingFuncType`, context-type resolution, OS-call detection — scattered across individual analyzers. This PR gathers them all into a single `pkg/linters/internal/astutil` package and rewires the affected analyzers, eliminating drift risk and making future linter work easier to reason about.

### [ambient-context: reduce copilot-agent-analysis first-request size by ~28%](https://github.com/github/gh-aw/pull/43619)

`copilot-agent-analysis` was the largest ambient-context payload at 27,299 characters — most of it content that's rarely needed at runtime. By gating cold-start rebuild content behind an optional import, this PR trims the first-request size to 11,876 characters, cutting token costs on every agent activation that uses this analysis path.

### [Add shared prompt quality gate for plateaued agent-review workflows](https://github.com/github/gh-aw/pull/43527)

Agent effectiveness scores had been stuck around 61–62 for several weeks — a signal that prompt design, not runtime bugs, was the limiting factor. This PR introduces a reusable quality rubric shared across analyzer and reviewer workflows, giving those workflows a concrete target for what "good" looks like and a path out of the plateau.

### [fix(setup/js): numeric coercion, setOutput stringification, and async entrypoint cleanup](https://github.com/github/gh-aw/pull/43637)

A sweep across 23 files in `actions/setup/js` replaced global `isNaN` (which silently coerces inputs) with `Number.isNaN`, fixed `core.setOutput` value types, and cleaned up unhandled async rejections. Small correctness improvements that prevent subtle runtime surprises in CI steps.

## 🤖 Agent of the Week: Weekly Issue Summary

Your Monday morning data journalist — scans all issue activity from the past week and compiles trends, charts, and resolution statistics into a single digest comment.

`weekly-issue-summary` has been running quietly every Monday around 3 PM UTC, pulling 30 days of issue data, generating CSV trend files, and rendering two charts: one for issue open/close velocity and one for resolution time distributions. In its last three runs it made 13 GitHub API calls each time and burned through roughly 59 AI credits — efficient for a workflow that touches every open and closed issue in the repo. Two of the three runs succeeded without any write-side effects, posting the full digest to a tracking issue, while one run hit a timeout on the data preparation phase and bailed cleanly.

The June 15th failure is the fun part: the observability report flagged it with the note "this run consumed a heavy execution profile for its task shape" and gently suggested the team might want to swap in a smaller model. The workflow took the feedback in stride and came back the following Monday working perfectly.

💡 **Usage tip**: Pair `weekly-issue-summary` with a label strategy — the chart breakdowns are most useful when issues are consistently labeled, since resolution-time distributions get interesting when you can split them by category.

→ [View the workflow on GitHub](https://github.com/github/gh-aw/blob/main/.github/workflows/weekly-issue-summary.md)

## Try It Out

All of this week's changes are already on `main` — pull the latest and run `gh aw compile` to pick up the compiler and linter improvements. Got feedback or spotted something worth fixing? Contributions are always welcome at [github/gh-aw](https://github.com/github/gh-aw).
Loading