Delete the pre-generated starters/ directory tree (previously
synced from packages/ by generate-starters.ts). Add
extract-starter.ts which produces a starter tarball on demand
from any integration. Move shared starter template files to
showcase/shared/starter-template/.
Non-navigable manifest entries (e.g. langgraph-python/cli-start, a CLI
copy-paste card) have no `route` field. The old code concatenated
`${backendUrl}${undefined}` producing URLs like
`...railway.appundefined/`, which Playwright chased until the 45s
response timeout, wasting CI budget and emitting a noisy
`ERR_NAME_NOT_RESOLVED` FAIL line per run.
Skip those entries with a visible `[SKIP]` log so they drop out of the
capture set entirely. Only effect on target composition: cli-start no
longer appears in the `Failed: N/158` tally.
Verified by running the script locally with `--slug langgraph-python
--demo cli-start` (prints `[SKIP]`, exits clean) and `--slug
langgraph-python --demo agentic-chat` (still captures the MP4).