retire-contentlisted
Install: claude install-skill HKamkar/agentic-cms
# Retire content
The repo is the current directory. Public URLs are indexed; deleting a
file makes its URL a 404. Redirects live on the host, in whatever list
the repo's instructions file (`AGENTS.md`) or `README.md` documents;
until one exists,
retiring means hiding, not deleting.
## Read first
The repo's notes on redirects (`AGENTS.md`, `README.md`), the file being
retired, and `grep -rn "<slug>" content src` for everything that points
at it.
## Steps for a post
1. Set `draft: true` in `content/blog/<slug>.md`; keep the file, the dates
and the images (a draft still counts as a post for the lint's orphan
rule, and the URL comes back the day the post does).
2. Remove the slug from every other post's `related` list (a draft is a
valid reference, but "Read next" must not point at a hidden post).
3. Add a row with status `retired` to `content/editorial/calendar.md`: the
status report shows it, and the lint's `draft-stale` rule leaves a
retired draft alone (any other draft older than 30 days is nagged).
4. `pnpm content:lint`, then **verify** (below): the sitemap and the feed
lose the entry; `check-seo` confirms nothing links to it.
5. Commit `Retire: <slug>` on the repo's working branch.
## Steps for a page
Only once a redirect for its route exists (stop and say so otherwise):
delete `content/pages/<slug>.yaml`, its entries in `links`, `nav` and
`footer.quickLinks` in `src/config/site.ts`, every internal link to it
(`check-seo`'s links rule catches the r