Appearance
CI
Use a read-only API key and fail the pipeline when skill pins drift.
Reproducible pull
Install the CLI in the job (or use a pre-baked image), then sync:
yaml
- name: Install pm-skills
run: npm install -g https://npm.elsai.ai/elsai-pm-skills-0.1.0.tgz
- name: Sync agent skills
run: pm-skills pull --frozen
env:
PM_SKILLS_API_KEY: ${{ secrets.PM_SKILLS_READONLY_KEY }}
PM_SKILLS_SERVER: https://api.promptmanager-new.elsaifoundry.ai--frozen installs exactly the SHAs in pm-skills.lock.json and fails if server resolution differs — analogous to npm ci.
Drift gate
yaml
- name: Fail on skill drift
run: pm-skills status
env:
PM_SKILLS_API_KEY: ${{ secrets.PM_SKILLS_READONLY_KEY }}
PM_SKILLS_SERVER: https://api.promptmanager-new.elsaifoundry.aiTreat non-zero exit as failure when you want to block merges on local modifications or pending updates.
Commit these files
.pm-skills.json— project bindingpm-skills.lock.json— pinned SHAs
Do not commit API keys or ~/.pm-skills/config.json.
Scheduled bump PRs (optional)
A weekly job can run pm-skills update --all --yes on a branch and open a PR so skill bumps get the same review as dependency bumps — after server-side approval already happened.