You're running the PageHub workflow "Monthly check-up" on site <your site id>.
- Pass `id: "<your site id>"` on every PageHub tool call (the Stripe and checkout tools name it `siteId: "<your site id>"`).
- Every change stages in the site's draft. Never call `publish_site` unless the user says to publish.
- Finish by showing the proof: SEO and accessibility results before and after for each page, a list of every link and date checked with what was fixed, and phone screenshots of the home page.
- Keep to about 12 minutes of work. If more is left, list it and stop.
- Draft preview: https://pagehub.dev/view/<your site id>
- This needs the PageHub connector (https://pagehub.dev/api/mcp). If its tools aren't available, tell the user to add it and stop.

Goal: find what has gone stale or broken on site <your site id>, fix what is safe
to fix in the draft, and list the rest for the user.

What changed at the business: (not given)

## 1. Measure (read-only, about 4 minutes)

1. `list_pages` for page ids, names and slugs. Keep the list: link checks use
   it. Work on at most 6 pages: home first, then nav order. Skip hidden pages
   and the 404 page.
2. For each picked page, `audit_seo` with `pageId` and `audit_accessibility`
   with `pageId` and `level: "AA"`. This is the "before" column.
3. `screenshot_site` of the home page at `width: 390`, `fullPage: true`.

## 2. Links (read-only, about 3 minutes)

1. `search_site_files` for `href=` lists every link with its file and line.
   Read the header and footer partials first, then each picked page's file
   with `read_site_file`. At most 30 files or slices read.
2. Flag a link as broken when its `href`:
   - starts with "ref:" or a path like "/old-page" that no page in `list_pages`
     serves, or points at a hidden page;
   - is "#" or empty, or a clickable-looking element ("Book now", "Call us")
     has no `href` at all;
   - is "#something" and no element on that page has `id="something"` (check
     with `search_site_files`);
   - is "tel:" or "mailto:" with a number or address that differs from the
     one in "What changed", or from the one the rest of the site uses.
3. Outside links (https) can't be opened from here. List them, so the user can
   click through any that matter.

## 3. Content that went stale (read-only, about 2 minutes)

- `search_site_files` for each of the last three years before this one (for
  2026: "2023", "2024", "2025"). For each hit, decide: a copyright line, a
  dated offer or event ("Spring 2024 special"), or a fact that is still true
  ("Serving since 2019" is fine).
- `search_site_files` for "coming soon", "limited time", "new for", "holiday"
  and "hours".
- Anything in "What changed" (an old phone number, old hours, a dropped
  service): search for it and note every file that still shows it.
- Images: `search_site_files` for `<img` and read the ones that
  `audit_accessibility` or `audit_seo` flagged for alt text (up to 12).

## 4. Fix the safe ones (about 2 minutes)

Put each page's changes into one `edit_site_files` call. Never run two edits
on the same site at once.

Fix these:
- A link to a page that no longer exists: point it at the page that replaced
  it when the match is obvious (same name, new slug). Otherwise leave it and
  list it.
- A hard-coded copyright year: replace it with the site's year variable
  (the word year in double curly braces, which Liquid fills in) so it never
  goes stale again. Only edit the year; leave the rest of the line exactly as
  it was.
- Facts the user gave in "What changed": replace the old phone number, hours,
  or address everywhere it appears, in text, in button text and in "tel:" and
  "mailto:" hrefs. Prefer the company fields in `site.json` when the page
  already reads them.
- Missing alt text: describe what the image shows in plain words, from the
  image's surroundings (the section heading, the card title). Decorative
  images get `alt=""` and `aria-hidden="true"`.
- Page descriptions that `audit_seo` says are missing or too short:
  `update_page` with `seo.description`, written from what the page says.

Don't fix these, and list them for the user:
- Dated offers, events and "coming soon" text. Only the user knows whether to
  remove, update or keep them.
- Links you can't resolve, outside links, empty "#" buttons (where should
  they go?).
- Anything that means rewriting copy, moving sections or changing the design.

If an edit fails, read the file again and retry once with the smallest change.
If it fails again, note the error and move on.

## 5. Prove it (about 1 minute)

1. Re-run `audit_seo` and `audit_accessibility` on the same pages with the same
   arguments. This is the "after" column.
2. Re-take the home page screenshot at `width: 390`. Undo any change that
   broke something you can see.

## 6. Report

Reply with:
- A table: page, SEO score before and after, accessibility violations before
  and after. Call out any page whose score is lower than you'd expect for a
  site that was fixed before.
- Links: how many checked, which were broken, which you fixed.
- Stale content: what you updated, and what needs the user's call.
- The draft preview link (the `Draft preview:` address `screenshot_site` prints; never one you build), and a question: publish these fixes now? Only on a
  yes, `publish_site`.
