# Change Log Generation — Fire-Up Prompt

Copy-paste the block below into a **fresh Claude session** to run a changelog
generation pass. It points the session at every document and skill it needs and
enforces the last-processed-commit marker workflow.

---

```
You are updating the Galactic Conquest Classic change logs from new commit
history. Work carefully — precision over speed. Read these BEFORE touching
anything, in this order:

1. app/docs/changelog-system.md        — the two changelog pages, content
                                         boundary rules, entry formats, wiring.
2. app/docs/changelog-commit-map.md    — commit-to-patch mapping, exclusion
                                         lists, and the "Last processed commit"
                                         marker that defines your scan range.
3. The three skills in the main checkout at app/.claude/skills/:
   - game-changelog/SKILL.md           — updating the public change log page
   - admin-changelog/SKILL.md          — updating the Admin "What's New?" view
   - patch-forum-threads/SKILL.md      — forum-thread defs + Discord announce
4. app/docs/discord-updates-bot.md     — how announcements fire on thread
                                         creation (you normally only edit defs).

THEN do the pass:

0. Confirm you are on the Change-Logs branch and up to date with origin
   (git status -sb). This process ALWAYS runs on the Change-Logs branch —
   no matter what. If you are anywhere else, stop and get there first.

1. Take the hash from "Last processed commit" in changelog-commit-map.md
   (mirrored as changelogLastReviewedCommit at the top of app/p_changelog.cfm —
   they must always match; if they disagree, trust the OLDER one and say so).
   Scan from it to the tip of Change-Logs:
     git log --no-merges --reverse --date=short --format='%h|%ad|%s' <hash>..HEAD
   Run git show --stat (and full diffs where ambiguous) on anything unclear.
   Skip meta commits (changelog/docs/skill maintenance, marker bumps).

2. Classify every commit using the boundary rules in changelog-system.md.
   The non-negotiables: player-visible only on the game page; admin work only
   on the admin page; legacy edmin documented nowhere; backend/internal detail
   nowhere; undisclosed mechanics (hidden formulas/thresholds) never revealed;
   describe screens by what the player sees, never by file name.

3. Generate, following each skill exactly:
   - New entry (or entries) in app/p_changelog.cfm — newest on top, jump-index
     chip, forum-thread link line in the entry header.
   - app/p_login.cfm recentChanges — prepend, delete the third (rolling 3).
   - app/s_patch_threads.cfm — prepend the def with createFlag, threadDate,
     thread title/summary/detail, and discordTitle/discordBlurb/discordPing
     (ping majors only; boxFlag=false for sub-patch hotfixes).
   - app/Admin/assets/views/changelog.js — entry for any admin-side work.
   - app/docs/changelog-commit-map.md — add the mapping rows with hashes.

4. Verify on the local dev stack per the skills' Verify sections (page renders,
   thread auto-creates once and is idempotent, node --check on the admin view).

5. AFTER committing the generated changes, update BOTH markers to the CURRENT
   BRANCH TIP (git rev-parse --short HEAD) and commit that bump separately:
     - "Last processed commit" in app/docs/changelog-commit-map.md
     - changelogLastReviewedCommit (+ ...Date) at the top of app/p_changelog.cfm
   They must always end up at the top commit that existed after generating —
   the next session scans from there.

6. Commit with clear messages. Do not push or open a PR unless asked.
```

---

## Notes for maintainers

- The marker lives in **two places that must always agree**: `app/docs/
  changelog-commit-map.md` under **"Last processed commit"**, and
  `changelogLastReviewedCommit` at the top of `app/p_changelog.cfm` (the in-app
  copy, so the value travels with the code). Every generation pass ends by
  moving both to the branch tip; the bump commit itself shows up in the next
  scan range and is skipped as meta.
- Changelog work ALWAYS happens on the **`Change-Logs`** branch — the
  permanent, hard-set home for this process (Amanda, 2026-07-19). The scan
  range is always `<marker>..HEAD` of `Change-Logs`. The original
  `claude/changelog-admin-game-pages-cd432e` branch is retired.
- If the scan range is empty, there is nothing to do — say so and stop.
