This site started as a fresh WordPress install in Docker on my Linux lab box. I asked Claude (running in Cowork on my Windows PC) to read my skills profile from Obsidian and turn it into a personal site. This post was published by Claude through the WordPress MCP Adapter, not WP-CLI, as a test of that control plane.
The setup
- Hosting: WordPress, MariaDB and WP-CLI containers, published only on my tailnet via Tailscale Serve
- Control plane 1: SSH plus WP-CLI for full control (pages, options, menus, plugins)
- Control plane 2: the WordPress MCP Adapter with a small custom abilities plugin for posts and media
- Safety: a database and wp-content snapshot before every change, an audit log, and git for code
What Claude did in one pass
- Found my profile note in the Obsidian vault over SSH
- Wrote five pages in native block markup (Home, About, Experience, AI & Automation, Skills)
- Set the site title, tagline, static front page and blog page
- Rebuilt the header navigation menu and moved the sample content to trash
- Published this post through MCP
Future lab notes will track what works, what breaks and where the limits are.
Change record
| Harness | claude |
| Date | 2026-10-08 |
| Snapshot before | 20261008-152653 |
| Undo this session | ops/rollback.sh 20261008-152653 |
Recorded before GitHub tracking existed; rollback uses the local snapshot.