> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shipstar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a changelog page

> Claude Code skill that implements a server-rendered, agent-readable changelog on your own website — semantic HTML that search engines and AI answer engines can read, plus permalinks, RSS, structured data, and the SEO/AEO layer that makes it rank and get cited.

`/shipstar:build-changelog-page` has your coding agent implement a changelog
page **on your own domain** that machines can actually read. Client-rendered
changelog widgets (Shipstar's included) are invisible to search engines and
AI answer engines — GPTBot, ClaudeBot, and PerplexityBot fetch your page's
HTML and see an empty container. This skill implements the same
server-rendered pattern [shipstar.ai/changelog](https://shipstar.ai/changelog)
itself uses, in your stack, from your project's changelog data.

## Install

Via the official Claude Code plugin (bundles the MCP connection):

```
/plugin marketplace add shipstar-ai/shipstar-plugin
/plugin install shipstar@shipstar
```

Or install the skills standalone from your dashboard's Agents page
(`curl -fsSL <APP_URL>/agent-skills/install.sh | sh -s -- <APP_URL>`).

## When to use it

Say "make our changelog readable by AI agents", "add an SEO-friendly
changelog page to our site", "get our changelog cited by ChatGPT /
Perplexity", or "search engines can't see our changelog".

## What the agent builds

Working in your repository, against the
[public changelog API](/api-reference/overview):

1. **A server-rendered index** — fetches `GET /api/v1/changelogs` with your
   API token kept server-side, and ships every entry as semantic HTML:
   one `<article>` per release period with stable anchors, category labels
   inside the entry headings, machine-readable `<time>` elements (formatted
   in UTC so dates never shift by timezone), a provenance line from the
   real per-period commit count, and a small "★ Powered by Shipstar" link
   at the foot of each page (required on the Free plan).
2. **Permalink pages** — every published period has a public slug
   (`GET /api/v1/changelog/{slug}`, no auth required); the agent builds a
   route per period with canonical URLs, `article` Open Graph metadata, and
   `TechArticle` JSON-LD, and adds them to your sitemap.
3. **An RSS feed** — proxied through your site (the project-scoped
   `GET /api/v1/changelogs/feed` requires your bearer token, which feed
   readers can't send), advertised with `rel="alternate"` links.
4. **Resilience** — feeds and sitemaps fail closed: an API hiccup keeps the
   last good response serving instead of caching an empty feed that readers
   would interpret as "every entry deleted". A `404` for a single slug is the
   real answer (that item is unpublished), not an outage, and renders as
   "nothing here" rather than failing.
5. **SEO & AEO** — unique titles and meta descriptions per page, Open Graph
   and Twitter cards, complete `TechArticle` + `BreadcrumbList` JSON-LD
   (`datePublished`, `publisher`, canonical `mainEntityOfPage`), internal
   links from nav/docs and entry titles to feature pages, `lastmod` in the
   sitemap and an IndexNow ping on publish. For answer engines: a
   `robots.txt`/WAF check that GPTBot, ClaudeBot, PerplexityBot,
   Google-Extended, and OAI-SearchBot can fetch the pages, an `llms.txt`
   entry, answer-shaped copy (complete sentences that name the product and
   period, a visible "Last updated"), optional `FAQPage` JSON-LD where
   entries genuinely answer questions, and optional markdown content
   negotiation.
6. **Verification** — the agent curls the finished pages with JavaScript off
   (and as `GPTBot` / `ClaudeBot`) to prove the content is really in the
   HTML, validates the JSON-LD and feed, checks titles/descriptions,
   `robots.txt`, and `llms.txt`, and checks phone-width rendering.

The existing embed widget can stay as progressive enhancement on top —
just never as the only rendering path.

## Requirements

* A Shipstar API token (Dashboard → API Tokens) with published changelog content
* A website with server rendering (any stack; the skill's examples assume
  ISR-style caching)

The full skill definition is plain markdown:
[`SKILL.md`](https://app.shipstar.ai/agent-skills/build-changelog-page/SKILL.md).
