You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Weekly update routine: open a PR with this week's events #17
A scheduled Claude Code routine that runs once a week after GTA Online's weekly reset. It reads that week's event announcement, writes public/weekly.json in the #16 format and opens a PR for review.
Decisions for the maintainer
Schedule: the weekly event reset is on Thursday (verify the exact UTC time). Run it shortly after, so the Newswire post is out.
Merge policy: review every PR by hand (safer), or auto-merge once CI is green?
Source access: the routine's cloud environment needs network access to the source pages (Rockstar Newswire and/or a community site). Check the environment's network policy.
Scope
A skill (.claude/skills/weekly-update/SKILL.md) with the exact steps, so the routine prompt stays one line and the same steps work when run by hand.
The routine itself (configured in Claude Code, not in the repo).
Decisions and findings for the routine, from #16 (PR #66, decision 027):
What it writes
src/data/weekly.ts (the WEEK object, typed by Week in src/lib/weekly.ts), not public/weekly.json. Replaced in full each week.
Step-by-step guide: docs/weekly-update.md. The skill (.claude/skills/weekly-update/SKILL.md) should point to it rather than repeat it.
Source and timing
Source: the gta.wiki weekly event page, the newest in Category:Weekly events (infobox type = weeklyevent), read as wikitext through https://gta.wiki/api.php?action=parse&page=<title>&prop=wikitext&format=json. Reachable from the cloud environment; the Rockstar Newswire is not (JavaScript-only, its API host did not answer) and is only kept as a link.
Schedule: Thursday late afternoon, around 16:00 UTC. On 2026-10-15 the page was created at 23:53 UTC the night before, and its Gun Van, Salvage Yard and Prize Ride parts were only filled in between 11:52 and 11:57 UTC.
Week bounds: start Thursday 2:00 AM US Pacific (09:00 UTC during US daylight saving time, 10:00 UTC otherwise), end at the next week's start, or later if the page's dates span longer. Not officially sourced; check once against a real reset.
Decided: an AI routine, not a deterministic script
The wiki page is hand-written and its wording changes week to week ("was changed to", "were remained to"). Some steps need judgement too: dropping GTA+ values, linking a bonus to an owned property (property id), and keeping seasonal activities with a bonus this week out of "Also running". A script would either break or guess wrong without saying so.
The routine must stop and flag instead of writing when
the page is missing or incomplete (no Discounts or Standard Bonuses section, or Gun Van / Salvage Yard / Prize Ride not filled in yet);
the week has something the Week type cannot hold: a discount that is not a vehicle, property or weapon (kind), or a bonus paying something other than GTA$ and RP, GTA$ or RP (pays). It should say so on the PR instead of changing the type itself.
Left out on purpose: everything GTA+; the Gun Van's daily location and the daily Junk Energy and RC Time Trials (daily and map-bound; no daily source).
Merge policy: auto-merge with strict checks, possible
A workflow job that fails unless the PR comes from the routine's branch (e.g. claude/weekly-*) and changes only src/data/weekly.ts.
Branch protection on main requiring that job and the existing verify check; "Allow auto-merge" turned on in the repository settings.
The routine opens the PR and enables auto-merge (squash). Anything outside that one file then waits for review.
What CI cannot catch is a wrong but well-formed entry (a misread vehicle name, a wrong percentage). If a week is never merged, the Weekly tab shows "Out of date" instead of wrong data.
Activity
ToothyDev commentedon Oct 15, 2026
Decisions and findings for the routine, from #16 (PR #66, decision 027):
What it writes
src/data/weekly.ts(theWEEKobject, typed byWeekinsrc/lib/weekly.ts), notpublic/weekly.json. Replaced in full each week.docs/weekly-update.md. The skill (.claude/skills/weekly-update/SKILL.md) should point to it rather than repeat it.Source and timing
Category:Weekly events(infoboxtype = weeklyevent), read as wikitext throughhttps://gta.wiki/api.php?action=parse&page=<title>&prop=wikitext&format=json. Reachable from the cloud environment; the Rockstar Newswire is not (JavaScript-only, its API host did not answer) and is only kept as a link.Decided: an AI routine, not a deterministic script
The wiki page is hand-written and its wording changes week to week ("was changed to", "were remained to"). Some steps need judgement too: dropping GTA+ values, linking a bonus to an owned property (
propertyid), and keeping seasonal activities with a bonus this week out of "Also running". A script would either break or guess wrong without saying so.The routine must stop and flag instead of writing when
Weektype cannot hold: a discount that is not a vehicle, property or weapon (kind), or a bonus paying something other thanGTA$ and RP,GTA$orRP(pays). It should say so on the PR instead of changing the type itself.Left out on purpose: everything GTA+; the Gun Van's daily location and the daily Junk Energy and RC Time Trials (daily and map-bound; no daily source).
Merge policy: auto-merge with strict checks, possible
claude/weekly-*) and changes onlysrc/data/weekly.ts.mainrequiring that job and the existing verify check; "Allow auto-merge" turned on in the repository settings.What CI cannot catch is a wrong but well-formed entry (a misread vehicle name, a wrong percentage). If a week is never merged, the Weekly tab shows "Out of date" instead of wrong data.
Generated by Claude Code