diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json
index 26f29f8..1b9174a 100644
--- a/.claude-plugin/plugin.json
+++ b/.claude-plugin/plugin.json
@@ -1,6 +1,6 @@
{
"name": "ms-ai-architect",
- "version": "1.10.0",
+ "version": "1.10.1",
"description": "Microsoft AI Solution Architect - structured architecture guidance for the full Microsoft AI stack",
"author": {
"name": "Kjell Tore Guttormsen"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab87961..26c8dbf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.10.1] - 2026-05-04
+
+### Added — Demo system + screenshot gallery
+
+The playground now ships with a one-click demo and committed screenshots so forkers can see what the plugin produces without running anything.
+
+- **`
+
\n' + fullBlock + html.slice(insertAt);
+}
+
+function main() {
+ const state = buildDemoState();
+ const json = JSON.stringify(state, null, 2);
+ const html = readFileSync(PLAYGROUND_HTML, 'utf8');
+ const out = injectIntoHtml(html, json);
+ if (out === html) {
+ console.log('[build-demo-state] no change (already up-to-date)');
+ return;
+ }
+ writeFileSync(PLAYGROUND_HTML, out, 'utf8');
+ console.log('[build-demo-state] wrote demo-state-v1 block to ' + PLAYGROUND_HTML);
+ console.log('[build-demo-state] block size: ' + (json.length / 1024).toFixed(1) + ' KB');
+}
+
+main();
diff --git a/tests/screenshot/.gitignore b/tests/screenshot/.gitignore
new file mode 100644
index 0000000..504afef
--- /dev/null
+++ b/tests/screenshot/.gitignore
@@ -0,0 +1,2 @@
+node_modules/
+package-lock.json
diff --git a/tests/screenshot/README.md b/tests/screenshot/README.md
new file mode 100644
index 0000000..d2ef100
--- /dev/null
+++ b/tests/screenshot/README.md
@@ -0,0 +1,56 @@
+# Playground screenshot tooling
+
+Standalone Playwright runner that captures playground screenshots for documentation.
+
+## Usage
+
+```bash
+cd tests/screenshot
+npm install
+npx playwright install chromium # one-time, ~150 MB
+node run.mjs
+```
+
+Output goes to `../../playground/screenshots/v1.10.0/`.
+
+## What it captures
+
+For each theme (dark, light):
+
+| # | Surface | Screen / tab |
+|---|---------|--------------|
+| 01 | Onboarding | Empty state |
+| 02 | Project | Rapporter / Regulatory (default) |
+| 03 | Project | Rapporter / each of 4 other tabs |
+| 04-06 | Project | Oversikt / Kontekst / Eksport |
+| 07 | Home | Project list with demo-prosjekt |
+| 08 | Catalog | All 5 expansion-grupper |
+| 09 | Onboarding | Prefilled from demo-state |
+
+= ~18 PNGs, captured with `deviceScaleFactor: 2` (retina-crisp), `fullPage: true`.
+
+## How the demo state works
+
+The screenshot script clicks `[data-action="load-demo"]` which reads the
+inline `