Skip to content

Install

This page gives every way to install the two skills, what each needs on the machine, how to pin them to one release, and how to run the installer’s scripts without an agent. A repository that already holds a LinkML project needs only linkml-author.

Install both skills for your user, then ask your agent to set up a LinkML sidecar. linkml-sidecar runs once and hands off to linkml-author, which you keep using.

This route needs gh skill version 2.90.0 or later. It defaults to GitHub Copilot, so pass --agent to name yours (claude-code, github-copilot, cursor, codex, gemini-cli, or another from gh skill install --help):

Terminal window
gh skill install noelmcloughlin/linkml-sidecar --all --scope user

This is the route for a work machine: it needs github.com but no npm registry.

Install both skills with the Open Skills CLI, npx skills. This route could fail behind a company proxy or an internal npm registry. Take the GitHub CLI route there instead.

Terminal window
npx skills add noelmcloughlin/linkml-sidecar --global --yes \
--skill linkml-sidecar --skill linkml-author

In PowerShell or cmd, type the command on one line without the \ continuation.

/plugin marketplace add noelmcloughlin/linkml-sidecar
/plugin install linkml-sidecar@linkml-sidecar

Where github.com is out of reach, install from a company copy of this repository, or from a release archive. npx skills add and /plugin marketplace add take a git URL on any host, or a local path. The GitHub CLI takes a local folder, and needs no network for it:

Terminal window
git clone https://git.example.com/mirrors/linkml-sidecar.git
gh skill install ./linkml-sidecar/skills --from-local --all --scope user --agent claude-code

Point it at the copy’s skills/ folder, not its root: a working copy’s website/node_modules/ can hold other skills.

Install for your user, not into the repository

Section titled “Install for your user, not into the repository”

The commands above install for your user, which keeps the instructions an agent follows under your control. Install into the repository only when a team wants every member on one version: leave out --global, or pass --scope project, and commit what the installer writes.

Both skills are released together under one tag, so pin them to the same one. Append it to the skill name (linkml-author@v0.1.1) or pass --pin v0.1.1. The changelog says what each release changed.

The workflow the sidecar installs checks the schema on every pull request that touches .linkml/. It publishes the documentation site only once the repository variable LINKML_DOCS_ENABLED is set to true (on GitHub: Settings, Secrets and variables, Actions, Variables). On Forgejo and Codeberg the sidecar installs a Forgejo workflow instead, and automation.md says how to set it up.

The two scripts of linkml-sidecar work without an agent. From the host’s root, with this repository cloned beside it:

Terminal window
bash ../linkml-sidecar/skills/linkml-sidecar/templates/scripts/linkml-preflight.sh .
export PROJ_NAME="Acme Platform" PROJ_DESC="One sentence." GITHUB_ORG=acme \
REPO_URL=https://github.com/acme/platform FULL_NAME="A Person" EMAIL=a.person@acme.example \
LICENSE_ID=Apache-2.0 SCHEMA_ID=https://w3id.org/acme/platform DOCS_URL=https://acme.github.io/platform/linkml/
bash ../linkml-sidecar/skills/linkml-sidecar/scripts/linkml-scaffold.sh --dry-run
bash ../linkml-sidecar/skills/linkml-sidecar/scripts/linkml-scaffold.sh

Step 0 of linkml-sidecar’s SKILL.md says where each fact comes from, and Step 1 lists the exit codes, --repair and --pointers-only.

Both skills run from a POSIX shell: on Windows, the bash of Git for Windows. linkml-sidecar starts with a preflight that prints what this machine can do, and which steps are switched off by what it lacks.

Skill Needs
linkml-sidecar git, and uv, which runs copier, just and the project’s Python: 3.10 or later, which uv downloads when the machine has none. Network access once: the template from github.com and packages from PyPI, or a company copy and mirror of each.
linkml-author the project’s own recipes (just or make), or uv, or the host’s own environment where it already installs linkml

Behind a company proxy or package mirror, on RHEL, or under WSL2, the portability page says what to set. If you cannot act on a line the preflight prints, the prerequisites page gives a request note for whoever can.