# Skills for coding agents

If you build with a coding agent — Claude Code, Cursor, Copilot, Gemini CLI, Cline, Zed and
others — you can install what these docs know directly into it, rather than pasting links and
hoping the right pages get read in the right order.

A skill is a folder of instructions with a description that decides when it fires. Once
installed, your agent reaches for it on its own when you ask about a patient lookup or a KRA
code, and reads only the reference file that question needs.

## Install

```bash
npx skills add https://<this site>
```

That reads the index at [`/.well-known/skills/index.json`](/.well-known/skills/index.json) and
installs both skills into the project you run it in. No account, no repository access, nothing
to configure — the files are served from this site like any other page.

Add `-g` to install for your user instead of the current project, or `-y` to skip the prompts in
a script:

```bash
npx skills add https://<this site> -g -y
```

### What lands where

Skills go into `.agents/skills/<name>/`, with symlinks into each agent's own directory, so one
install serves every agent you use:

```
.agents/skills/
  slade360-advantage-rail/       SKILL.md + 4 reference files
  slade360-etims-invoicing/      SKILL.md + 2 reference files
.claude/skills/
  slade360-advantage-rail    -> ../../.agents/skills/slade360-advantage-rail
  slade360-etims-invoicing   -> ../../.agents/skills/slade360-etims-invoicing
skills-lock.json
```

`skills-lock.json` records a sha256 of each skill, so `npx skills update` can tell when this
site has published a newer version. Commit it if you want your team on the same revision.

## What you get

| Skill | Fires on | Carries |
|---|---|---|
| `slade360-advantage-rail` | Patient identity, cover, consent, visits, preauth, billing, claims, remittances | The ten stops in order, every operation with what to keep from it, all 68 error codes, and the token and facility-header rules |
| `slade360-etims-invoicing` | Tax invoices, KRA codes, VSCU and ETR devices, credit notes, ERPNext and CargoWise | The five-step invoice flow and every KRA code table, so a coded value is checked before it is sent |

## Keeping them current

```bash
npx skills update          # pull newer versions of everything installed
npx skills list            # show what you have
npx skills remove          # take one out
```

The skills are rebuilt on every deploy of this site, so an update gets you whatever the docs
currently say.

## Why they do not drift

The judgement in each skill is written by hand. Everything factual is generated, on every build,
from the same sources these pages read: the operation registry, the error dictionary, the eTIMS
spec and the KRA code tables.

So a skill cannot tell your agent something this site contradicts. In particular it carries the
`planned` flag: **20 of the rail's 44 operations are designed but not registered yet**, and each
answers 404 today. An agent working from the skill is told which, before it writes code against
one.

## Review before you trust them

Skills run with your agent's permissions, so read one before you rely on it — ours or anyone
else's. Every file is served plainly and is worth two minutes:

- [`slade360-advantage-rail/SKILL.md`](/.well-known/skills/slade360-advantage-rail/SKILL.md)
- [`slade360-etims-invoicing/SKILL.md`](/.well-known/skills/slade360-etims-invoicing/SKILL.md)
- [`index.json`](/.well-known/skills/index.json) — every file each skill owns

There is nothing executable in either: they are markdown instructions and markdown reference
tables, no scripts.

## If you would rather not install anything

Try one without installing it, which prints a prompt you can paste into any assistant:

```bash
npx skills use <this site>@slade360-advantage-rail
```

Or skip the tooling altogether. Everything the skills read is published on its own, and pointing
an assistant at [`/llms.txt`](/llms.txt) is enough for it to find the rest:

- [`/llms.txt`](/llms.txt) — the curated index of every page, in reading order
- [`/agent/operations.json`](/agent/operations.json) — the operation registry, with `planned`
- [`/terminology/rail-errors.json`](/terminology/rail-errors.json) — the error dictionary
- [`/specs/rail.json`](/specs/rail.json) and the other four OpenAPI documents

## Troubleshooting

**The command cannot find any skills.** Check that
[`/.well-known/skills/index.json`](/.well-known/skills/index.json) loads in your browser. Some
installers probe `/.well-known/agent-skills/index.json` instead; that path is served too, with
identical content.

**Your agent has the skill but never uses it.** A skill fires on its description, so ask in the
words it lists — name Advantage, the rail, eTIMS or a KRA code rather than asking generically
about an API.
