Real Agent Cases

Generate a colophon page for a GitHub Pages site with Claude Code

Posted
by Simon Willison
Last checked
Method:
How we verify

Evidence: Screenshots or logsThe source shows screenshots, a transcript or the agent's output.

Outcome

Claude Code wrote a script that builds a mobile-friendly colophon page listing every tool and its commit history, then wired it into the GitHub Pages deploy workflow.

Agent

Claude Code

Prompt Original prompt

Exact prompt as published in the source.

Write me a new script called build_colophon.py which looks through that gathered JSON file and builds and saves an HTML page. The page should be mobile friendly and should list every page—with a link to that page—and for each one display the commit messages neatly (convert newlines to br and linkify URLs but no other formatting)—plus the commit message dates and links to the commits themselves which are in https://github.com/simonw/tools

Try this in:

Sends the Original prompt shown above. ChatGPT and Grok open with it filled in, and ChatGPT may send it straight away. Gemini opens empty, so we copy the prompt for you to paste. Every button also copies it.

The source used Claude Code, which can take actions on your computer or in a browser. These are general chat tools, so results may differ, and a normal chat may only give you a plan.

Opens in a new tab. We don't see what you send.

These links are only a shortcut. We're not affiliated with OpenAI, Google or xAI, and your results may not match the source.

Optional stronger version

Our rewrite with extra checks. The poster didn't test it.

Goal: Write build_colophon.py that turns the gathered commit JSON into a mobile-friendly HTML colophon page.

Inputs (fill in or confirm):
- Path to the gathered JSON file and its structure (page → commits)
- Output path for the HTML page
- Site base URL for page links

Rules:
- List every page with a link to it; under each, show its commit messages in date order.
- Convert newlines to <br> and linkify URLs, with no other formatting; escape all other HTML.
- Use plain HTML and inline CSS only; readable at 375px wide.
- Keep the script dependency-free (standard library only).
- Make the page readable on a phone with no horizontal scrolling.

Checkpoint: Don't commit or push; leave the script and output for my review.

If you get stuck: If the JSON shape differs from what you expect, print a sample and stop instead of guessing. If a login, CAPTCHA or two-step code appears, stop and ask me to handle it; never guess or store passwords.

Verify before you finish: Run it, open the output, and check one page with a multi-line message and one with a URL render correctly.

Output: The script, the generated HTML and a short note on how to rerun it.

Done when: the page lists every page with correctly escaped, linkified commit messages.

Source

https://simonwillison.net/2025/Mar/11/using-llms-for-code/

  • Migrate two websites from WordPress to Wagtail with Claude CodeRecreated promptEvidence: Described by poster

    Over a weekend Claude Code migrated two sites from WordPress to Wagtail (PHP to Python), including server setup, data transfer, testing and fixes, and redesigned a homepage; the poster reports nothing broke and traffic and tools stayed in place.

    Claude Code · Coding · Source date:

  • Migrate a 50-screen app from Firebase to Supabase with Claude CodeRecreated promptEvidence: Described by poster

    Going feature by feature, the poster used Claude Code to generate database schemas, write queries and fix daily errors; they report migrating about 85% of a 45–50 screen Flutter app from Firebase to Supabase in 10–20 days.

    Poster says:~85% migrated in 10–20 days

    Claude Code · Coding · Source date:

  • Build a blog feature by voice with Codex while cookingRecreated promptEvidence: Screenshots or logs

    Talking to Codex in voice mode while cooking dinner, the author got a Django newsletters archive with four importers and a pull request, then finished the rest with typed prompts.

    OpenAI Codex (ChatGPT desktop, voice mode) · Coding · Source date: