Skip to content

feat(repo-health): add workflow-optimization skill - #1759

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:repo-health-workflow-optimization
Oct 22, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:repo-health-workflow-optimization

Conversation

@potiuk

@potiuk potiuk commented Oct 22, 2026

Copy link
Copy Markdown
Member

Summary

  • New repo-health skill workflow-optimization: a read-only review of one repository's GitHub Actions workflows and 7 days of run history, producing a prioritised plan (P0 broken / P1 fewer jobs per PR / P2 hygiene / P3 needs community agreement) to cut use of the shared runners.
  • Its source of truth is the ASF Infra page Optimizing GitHub Actions workflows (Add a page on optimizing GitHub Actions workflows infrastructure-website#320). checks.md maps that page to 24 checks, and the skill reads the page from the PR until it is published.
  • It was first done by hand for apache/datafusion-sqlparser-rs. That run found a required check failing on the new runner image, duplicate post-merge and merge-queue runs, and 10 one-minute jobs per PR each waiting about 70 minutes for a runner.

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below
  • Documentation (docs/, README.md, CONTRIBUTING.md)

Test plan

  • prek run --all-files passes
  • For skill changes: eval suite passes for the affected skill: 7/7 (step-2-classify: 5, step-3-plan: 2)
  • For skill behaviour changes: a new or updated eval fixture is included in this PR
  • Other: unit tests for scripts/summarize_runs.py (5, run by the skill-sibling unittest hook)

RFC-AI-0004 compliance

  • HITL: read-only; drafting a PR or issue from the plan starts only on an explicit yes
  • Sandbox: bare gh calls only (no pipes, redirects or $(…)); the scripts read local TSVs and make no network calls
  • Vendor neutrality: placeholders used; ASF-only checks (.asf.yaml, Actions Policy, creation_cap) are skipped for non-ASF repositories
  • Write-access discipline: no outbound messages

Linked issues

Refs apache/infrastructure-website#320

Notes for reviewers (optional)

  • checks.md is a sibling rather than part of the body, so the body stays at about 3.0k tokens. The Infra page wins wherever the two disagree.
  • The gh pr diff 320 fallback in the body should go once the page is live at infra.apache.org.

Was generative AI tooling used to co-author this PR?
  • Yes: Claude Code (Opus 5)

Generated-by: Claude Code (Opus 5)

🤖 Generated with Claude Code

Read-only review of one repository's GitHub Actions workflows and run
history against the ASF Infra page "Optimizing GitHub Actions
workflows" (apache/infrastructure-website#320), producing a prioritised
plan to cut runner use. The page is the source of truth; checks.md maps
it to checks, and summarize_runs.py condenses the run/job history.

Generated-by: Claude Opus 5
@github-actions github-actions Bot added family:setup setup-* skills family:tools tools/* family:docs Docs, MISSION.md, READMEs family:ci .github workflows, prek, validators capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) family:repo-health repo-health skills substrate:framework-dev Tool substrate: build / validate / eval the framework itself labels Oct 22, 2026
@potiuk
potiuk merged commit dac2518 into apache:main Oct 22, 2026
14 checks passed
@github-actions github-actions Bot added the capability:triage Sweep + classify + propose disposition label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) capability:triage Sweep + classify + propose disposition family:ci .github workflows, prek, validators family:docs Docs, MISSION.md, READMEs family:repo-health repo-health skills family:setup setup-* skills family:tools tools/* substrate:framework-dev Tool substrate: build / validate / eval the framework itself

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant