pah-link-aaplisted
Install: claude install-skill ericcames/sales.demos
# pah-link-aap
Closes [#69](https://github.com/ericcames/sales.demos/issues/69). The hub is
populated by [`pah-sync`](../pah-sync/SKILL.md) and curated by
`curate_hub.yml`; until this runs, **nothing points at it**.
This skill contains **no logic**. The work is
[`playbooks/link_hub.yml`](../../../playbooks/link_hub.yml).
## What it does, and what it risks
Creates a `Sales Demos - PAH Galaxy` credential aimed at
`https://<aap_hostname>/api/galaxy/content/approved/` and assigns it to the
`IT Service Automation` organization.
**A Galaxy credential on the organization makes EVERY project sync in it resolve
from PAH.** If `approved` is short one collection, the sync fails and every job
template fails with it. Say that out loud before running this in front of anyone.
Three things bound it:
| Bound | Where |
|---|---|
| Refuses to link an empty `approved` | the playbook, before it mints anything |
| Reversal proven, not just written | `-e hub_galaxy_link_state=absent` |
| `sandbox` before `demo` | your discipline, not the code |
## One distribution, not four
`approved` only. Not the three mirrors as fallbacks, and not public Galaxy.
The mirrors' contents are decided by Red Hat and the community; `approved`'s are
declared in `hub/approved-collections.yml`. Pointing at a mirror "just in case"
gives up the only claim this use case makes — *your teams install what you
approved* — in exchange for hiding the failure this playbook is designed to
surface.
## The token is a gatewa