Target Workflow
File: .github/workflows/release.md
Trigger: Manual (workflow_dispatch) — releases only
Runs analyzed: 1 (2026-05-14, §25873066389)
Tools configured: bash only
Token Profile
| Metric |
Value |
| Runs analyzed |
1 |
| Total tokens (observed) |
~3,079 |
| Avg tokens/run |
~3,079 |
| Avg agent job duration |
~110 s |
| Estimated turns/run |
1–2 |
| Reliability |
100% success |
Why This Workflow
The Release workflow's prompt body is ~1,400 tokens of writing-guideline text, but that text contains six overlapping sub-sections that each re-state similar rules about what to include, exclude, and how to write. This redundancy inflates prompt size without adding precision. As a manually triggered, infrequent workflow, savings per run translate directly to cost savings for every future release. The workflow also has no inline sub-agent blocks and uses only bash, leaving room for prompt-level improvements.
Rec 1 — Consolidate Overlapping Writing Guidelines (Highest Priority)
Estimated savings: ~400–500 tokens/run (~14–16% reduction)
The prompt's ## What to Write section contains six sub-sections whose rules overlap significantly:
| Sub-section |
Chars |
Key theme |
| Structure description (top) |
~300 |
Use Highlights + Upgrade Notes |
| The notes must be semver-aware |
~700 |
Tag semantics, major/minor/patch rules |
| The notes must be user-facing |
~600 |
User impact over implementation |
| Selection rubric |
~600 |
Include/omit criteria |
| Exclude internal-only changes |
~400 |
What to omit |
| Release-note anti-patterns |
~400 |
Writing pitfalls |
| Writing quality constraints |
~300 |
Style rules |
The "Exclude internal-only changes" list, the "Selection rubric", and the "The notes must be user-facing" section all express the same rule in three different ways: prefer user-observable impact, skip CI/infra/maintenance.
Proposed consolidation: Merge the three overlapping sections into a single ### Inclusion Rules section (~200 chars) and fold the anti-patterns into the writing constraints. This reduces ~2,000 characters of redundant instruction to ~800 characters of precise rules, saving ~300–500 prompt tokens per run.
Action:
- Replace the three overlapping sections ("user-facing", "selection rubric", "exclude internal-only") with a single consolidated block:
### Inclusion Rules
Include a change when a user would notice it by using, configuring, upgrading, or debugging the workflow.
Include changes affecting compatibility, migration, deprecation, stability, security, or operating cost.
Omit CI, build, test, refactor, formatting, lockfile updates, dependency bumps, and internal plumbing unless they materially affect users.
Collapse related low-level changes into one user-facing outcome.
- Merge the anti-patterns list into the
### Writing quality constraints section (remove the duplicate ### Release-note anti-patterns to avoid heading and inline the non-redundant items).
Rec 2 — Trim Keep a Changelog Section Definitions (Moderate Priority)
Estimated savings: ~100–120 tokens/run
The prompt includes ~600 characters of verbose definitions for the standard Keep a Changelog sections (Added, Changed, Fixed, Removed, Security, Deprecated). These definitions re-explain a widely understood format. Replacing them with a brief reference saves tokens with no quality loss.
Action: Replace the full section definitions block with:
Use standard Keep a Changelog sections (`Added`, `Changed`, `Fixed`, `Removed`, `Security`, `Deprecated`).
Omit sections with no entries. Do not create a section unless it has at least one strong user-facing entry.
Estimated Impact
| Metric |
Before |
After (estimated) |
| Prompt tokens/run |
~1,400 |
~900–950 (~35% reduction) |
| Total tokens/run |
~3,079 |
~2,550–2,650 (~15% reduction) |
| Savings/run |
— |
~400–530 tokens |
Implementation Steps
- Open
.github/workflows/release.md
- Replace the three overlapping guideline sections with the consolidated
### Inclusion Rules block (Rec 1)
- Replace the verbose Keep a Changelog section definitions with the two-line summary (Rec 2)
- Compile:
gh aw compile release
- Test with next release run or
gh workflow run release.lock.yml
Caveats
- Only 1 run was available for analysis; token figures are from a single data point and may vary with release size
- All candidate workflows were last optimized within the 14-day window; this workflow had the smallest prior analysis footprint (1 run, 3,079 tokens) and was selected on that basis
- Savings are estimates based on character count reduction in the prompt body; actual LLM token counts depend on tokenizer boundaries
References:
Generated by Agentic Workflow Token Usage Optimizer · ● 7.2M · ◷
Target Workflow
File:
.github/workflows/release.mdTrigger: Manual (
workflow_dispatch) — releases onlyRuns analyzed: 1 (2026-05-14, §25873066389)
Tools configured:
bashonlyToken Profile
Why This Workflow
The Release workflow's prompt body is ~1,400 tokens of writing-guideline text, but that text contains six overlapping sub-sections that each re-state similar rules about what to include, exclude, and how to write. This redundancy inflates prompt size without adding precision. As a manually triggered, infrequent workflow, savings per run translate directly to cost savings for every future release. The workflow also has no inline sub-agent blocks and uses only
bash, leaving room for prompt-level improvements.Rec 1 — Consolidate Overlapping Writing Guidelines (Highest Priority)
Estimated savings: ~400–500 tokens/run (~14–16% reduction)
The prompt's
## What to Writesection contains six sub-sections whose rules overlap significantly:The "Exclude internal-only changes" list, the "Selection rubric", and the "The notes must be user-facing" section all express the same rule in three different ways: prefer user-observable impact, skip CI/infra/maintenance.
Proposed consolidation: Merge the three overlapping sections into a single
### Inclusion Rulessection (~200 chars) and fold the anti-patterns into the writing constraints. This reduces ~2,000 characters of redundant instruction to ~800 characters of precise rules, saving ~300–500 prompt tokens per run.Action:
### Inclusion Rules Include a change when a user would notice it by using, configuring, upgrading, or debugging the workflow. Include changes affecting compatibility, migration, deprecation, stability, security, or operating cost. Omit CI, build, test, refactor, formatting, lockfile updates, dependency bumps, and internal plumbing unless they materially affect users. Collapse related low-level changes into one user-facing outcome.### Writing quality constraintssection (remove the duplicate### Release-note anti-patterns to avoidheading and inline the non-redundant items).Rec 2 — Trim Keep a Changelog Section Definitions (Moderate Priority)
Estimated savings: ~100–120 tokens/run
The prompt includes ~600 characters of verbose definitions for the standard Keep a Changelog sections (
Added,Changed,Fixed,Removed,Security,Deprecated). These definitions re-explain a widely understood format. Replacing them with a brief reference saves tokens with no quality loss.Action: Replace the full section definitions block with:
Estimated Impact
Implementation Steps
.github/workflows/release.md### Inclusion Rulesblock (Rec 1)gh aw compile releasegh workflow run release.lock.ymlCaveats
References: