Skip to content

feat: add daily-geo-optimizer agentic workflow for GEO auditing#30057

Merged
pelikhan merged 3 commits intomainfrom
copilot/add-daily-agentic-workflow
May 4, 2026
Merged

feat: add daily-geo-optimizer agentic workflow for GEO auditing#30057
pelikhan merged 3 commits intomainfrom
copilot/add-daily-agentic-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 4, 2026

Summary

Adds .github/workflows/daily-geo-optimizer.md — a daily agentic workflow that audits the GEO (Generative Engine Optimization) of the github/gh-aw README and documentation site using the geo-optimizer-skill Python tool.

How it works

Job 1 — geo_audit (runs the tool)

A separate GitHub Actions job that:

  1. Installs Python 3.11 and geo-optimizer-skill via pip
  2. Audits the docs site homepage (https://github.github.com/gh-aw/) with geo audit --format json
  3. Audits the docs sitemap (/sitemap.xml, up to 20 pages)
  4. Audits the README via the GitHub repository page
  5. Writes all JSON results + a metadata file to /tmp/gh-aw/geo-optimizer/
  6. Uploads the results as a geo-optimizer-results GitHub Actions artifact (retained for 3 days)

Job 2 — agent (runs the AI)

Depends on geo_audit via if: needs.geo_audit.result == 'success'. A steps: entry in the frontmatter downloads the geo-optimizer-results artifact into /tmp/gh-aw/geo-optimizer/ inside the agent job before the container starts.

The Copilot agent:

  1. Reads the downloaded JSON results from /tmp/gh-aw/geo-optimizer/
  2. Creates a GitHub Discussion with scores, strengths, critical gaps, and prioritized fix recommendations

Security Review

New secrets (from shared/observability-otlp.md included via shared/daily-audit-base.md):

  • GH_AW_OTEL_ENDPOINT — standard OTLP endpoint for workflow observability, used by all audit workflows
  • GH_AW_OTEL_HEADERS — standard OTLP auth headers, same as all other daily audit workflows

Both are existing infrastructure secrets already used by 20+ other workflows in this repository. No new network access or credential paths are introduced.

New actions:

  • actions/checkout@v4 (pinned to 34e114876b)
  • actions/setup-python@v5 (pinned to a26af69be9)
  • actions/upload-artifact@v7.0.1 (pinned to 043fb46d1a) — already used across many workflows
  • actions/download-artifact@v8.0.1 (pinned to 3e5f45b2cf) — already used across many workflows

Copilot AI and others added 2 commits May 4, 2026 04:07
…, add cache key comment

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/ce2674a8-d34d-4bd4-acf9-6f3e308854d7

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 4, 2026

@copilot not cache memory,m

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 4, 2026

@copilot not cache memory,m

Replaced cache-memory: true with the artifact pattern used elsewhere in the repo (b0634e4):

  • geo_audit job uploads results with actions/upload-artifact (geo-optimizer-results)
  • steps: in the agent frontmatter downloads the artifact into /tmp/gh-aw/geo-optimizer/ before the container starts

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv 0 -j ACCEPT (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan pelikhan marked this pull request as ready for review May 4, 2026 04:35
Copilot AI review requested due to automatic review settings May 4, 2026 04:35
@pelikhan pelikhan merged commit ff0acb2 into main May 4, 2026
19 checks passed
@pelikhan pelikhan deleted the copilot/add-daily-agentic-workflow branch May 4, 2026 04:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new daily agentic workflow that runs geo-optimizer-skill against the gh-aw docs site + README, uploads the audit results as an artifact, and has a Copilot agent publish a GitHub Discussion summarizing findings and recommendations.

Changes:

  • Added .github/workflows/daily-geo-optimizer.md defining the GEO audit job, artifact handoff, and agent prompt for discussion reporting.
  • Added compiled workflow .github/workflows/daily-geo-optimizer.lock.yml.
  • Updated .github/aw/actions-lock.json with additional pinned action entries used by the new workflow.
Show a summary per file
File Description
.github/workflows/daily-geo-optimizer.md Defines the daily GEO audit + artifact upload and the agent instructions to produce a discussion report.
.github/workflows/daily-geo-optimizer.lock.yml Generated compiled workflow YAML implementing the MD workflow + shared imports.
.github/aw/actions-lock.json Adds action lock entries required by the new workflow’s action versions.

Copilot's findings

Tip

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

Comments suppressed due to low confidence (1)

.github/workflows/daily-geo-optimizer.md:77

  • metadata.json hardcodes readme_url to https://github.com/..., which won’t match the actual repo host on GHES/GHEC. This also makes the discussion report links inconsistent with the current run.

Prefer ${{ github.server_url }}/${{ github.repository }} for readme_url (and consider doing the same for any repo links in metadata).

            "docs_url": "https://github.github.com/gh-aw/",
            "readme_url": "https://github.com/${{ github.repository }}",
            "repository": "${{ github.repository }}",
  • Files reviewed: 3/3 changed files
  • Comments generated: 2

Comment on lines +62 to +65
- name: Audit README via GitHub repository page
run: |
geo audit --url https://github.com/${{ github.repository }} --format json \
> /tmp/gh-aw/geo-optimizer/readme-audit.json 2>&1 || true
Comment on lines +53 to +65
geo audit --url https://github.github.com/gh-aw/ --format json \
> /tmp/gh-aw/geo-optimizer/docs-site-audit.json 2>&1 || true

- name: Audit documentation sitemap
run: |
geo audit --sitemap https://github.github.com/gh-aw/sitemap.xml \
--max-urls 20 --format json \
> /tmp/gh-aw/geo-optimizer/docs-sitemap-audit.json 2>&1 || true

- name: Audit README via GitHub repository page
run: |
geo audit --url https://github.com/${{ github.repository }} --format json \
> /tmp/gh-aw/geo-optimizer/readme-audit.json 2>&1 || true
github-actions Bot added a commit that referenced this pull request May 4, 2026
…efaults

Document new safe output types and default behavior changes introduced in
the daily-geo-optimizer batch merge (PR #30057).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

3 participants