From 0b184c04d0e4d05506152936e46fe0cf4c6858c4 Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Wed, 7 Oct 2026 12:50:31 +1100 Subject: [PATCH] feat(demos): link demo pages from the homepage and Skill pages Only the /skills/demos rail linked to the new demo pages, so a crawler reached them from one page. The homepage stage now opens the demo page, and each Skill page Demo panel links to its demo page. A flagged Skill hides the link, since its demo page answers 404. --- COPY.md | 4 ++-- app/components/DemoStage.vue | 10 +++++++--- .../app/pages/skills/demos/[...demo].vue | 2 +- layers/registry/app/components/SkillDetail.vue | 2 +- layers/registry/app/components/_SkillDemo.vue | 15 +++++++++++++-- test/a11y.nuxt.spec.ts | 9 +++++++-- 6 files changed, 31 insertions(+), 11 deletions(-) diff --git a/COPY.md b/COPY.md index 91fe377a..0fdabbe3 100644 --- a/COPY.md +++ b/COPY.md @@ -44,8 +44,8 @@ These exact strings. Do not paraphrase them per page. | Demos page | See what skills make · Each demo is one recorded run: the prompt, and what the Agent built with the Skill. Pick a prompt to see the output, or open it live. | guidance only: the `/skills/demos` H1 and line. The meta title is "Claude skill examples: see what each one makes" for the admitted query | | Demo page | What /{name} made · One recorded run: the prompt, and what the Agent built with the Skill. | guidance only: the H1 and line of a demo page, `/skills/demos///`. The meta title is "{name} skill example: {noun}" for the query " skill example", with `noun` from `DEMO_GROUPS`. The meta description is "{agent} made this {noun} with the /{name} skill from one prompt: “{prompt}”", cut at a word to 160 characters | | Demo groups | Films and launch videos · Landing pages · UI components · Diagrams and explainers | guidance only: `DEMO_GROUPS` in `shared/demo-groups.ts`: the `/skills/demos` group headings and their lines | -| Demo stage | Open the demo | guidance only: the homepage demo stage link to the Skill page Demo panel | -| Demo panel | Demo · Prompt · Open live demo · Open in a new tab · Run it yourself | guidance only: the Skill page Demo panel. "Show screenshots" replaces "Open live demo" while the live output shows | +| Demo stage | Open the demo | guidance only: the demo stage link. On the homepage it opens the demo page; on a demo page it opens the Skill page Demo panel | +| Demo panel | Demo · Prompt · Open live demo · Open in a new tab · Run it yourself · All demos | guidance only: the Skill page Demo panel. "Show screenshots" replaces "Open live demo" while the live output shows. "All demos" opens the demo page and hides while the Skill holds a run check flag | | Demo provenance | {Agent logo} {model}, such as Opus 5.5 | guidance only: the recording line on the Skill page panel and the homepage stage. Screen readers and the title get "Recorded with {agent}, {model}". No date and no GitHub link: the Skill page is where visitors inspect a Skill | | Demo outdated | Recorded on an older version of this Skill. | guidance only: under the Demo panel when the Skill moved past the recorded commit | | Home section: changes | Keep up with skill changes. | guidance only: the homepage section heading for watching and the digest | diff --git a/app/components/DemoStage.vue b/app/components/DemoStage.vue index c8ab0943..d3273713 100644 --- a/app/components/DemoStage.vue +++ b/app/components/DemoStage.vue @@ -1,5 +1,6 @@