Onboards a consumer repo to skilly — bundle-based skill installs plus a nightly sync that opens PRs. Bundle choice is the only judgment step; skilly onboard does the rest deterministically. Command internals, file formats, workflow: the v1 spec. Bundle catalog: docs/bundles.md.
Steps
-
Pick bundles. Read the catalog, propose a set, let the user confirm:
- every repo:
workflow - a
project-<x>bundle when one exists for this project (it already includes its tech bundles) - otherwise the
tech-*bundles matching the stack (checkpackage.json/ lockfiles) marketingonly where the repo produces marketing content
- every repo:
-
Onboard:
npx github:timschoch/skilly onboard <bundle...>Deterministic and idempotent: App secrets, skill install, sync workflow,
private-ownerresolution, onboarding PR. On an already-onboarded repo it merges the bundles in and syncs — safe to re-run.
- Validate in real CI after the merge:
gh workflow run skilly-sync.yml, thengh run watchuntil green; the gate check appears on the next PR. Local auth tests on this Mac lie (the machine SSH key bypasses$HOMEisolation) — a green CI run is the only proof.
Known limits
- Gate failures are a red check, not a hard block — Free private repos cannot require checks.
- The nightly never prunes. Removing skills is a local, human-confirmed
npx github:timschoch/skilly sync --prune. - Upstream-deleted skills surface only as warnings in the Sync PR body.