# Registry latest — a replayable Reelier skill

Latest published version of the reelier package from the npm registry — read-only

A real, read-only Reelier skill against a live public API — no account, no keys, no writes. Every replay proves: The npm registry serves a latest version that looks like semver.

- Steps: 1 · Assertions: 2 · Effect: read (counts parsed from the file, never hand-typed)
- Endpoints: https://registry.npmjs.org/reelier/latest
- Canonical file: https://raw.githubusercontent.com/seldonframe/reelier/main/examples/portfolio/registry-latest.skill.md
- HTML page: https://www.reelier.com/skills/registry-latest

## What this checks

One step: an HTTP GET to the npm registry's latest dist-tag for the reelier package. Two assertions: the registry answered 200 and version matches /^\d+\./.

The version assertion is a pattern, never a pinned number — ^\d+\. holds for every release that will ever ship, so publishing a new version changes the bound value on the receipt without breaking the replay.

## The skill file (verbatim)

```markdown
---
name: registry-latest
description: Latest published version of the reelier package from the npm registry — read-only
---

<!-- synced from seldonframe/reelier examples/portfolio — edit there -->

# Registry latest

Inputs: (none — this file replays green as-is; see the personalization note)

<!--
  Personalization: swap the literal `reelier` in the URL path for your own
  package name (the portfolio README's "Point these at YOUR project" section
  has the one-command version). The skill grammar has no default-value
  syntax for {{var}} holes — an unbound {{var}} is an explicit error, never
  a guessed fallback — so this file ships with a literal that works with
  zero flags.

  Endpoint verified live on 2026-07-21: 200, version "0.12.1".
-->

The version assertion is a **pattern**, never a pinned number — `^\d+\.`
holds for every release that will ever ship, so publishing a new version
changes the bound value on the receipt without breaking the replay.

## Steps

### Step 1 — Latest dist-tag from the registry
- intent: Fetch the latest published version of reelier from the npm registry and check it looks like semver
- action: http.get {"url": "https://registry.npmjs.org/reelier/latest"}
- assert: status == 200
- assert: json.version matches /^\d+\./
- bind: version = json.version
- effect: read
```

## Run it yourself

`reelier run` takes a local file, so fetch the canonical copy first (or clone the repo). The replay writes its receipt to `.reelier/runs/`.

```sh
curl -fsSL https://raw.githubusercontent.com/seldonframe/reelier/main/examples/portfolio/registry-latest.skill.md -o registry-latest.skill.md
npx -y reelier@latest run registry-latest.skill.md

# or from a clone:
git clone https://github.com/seldonframe/reelier
cd reelier && npx -y reelier@latest run examples/portfolio/registry-latest.skill.md
```

## Seed receipt — 2026-07-21

Replayed for real with the published CLI (resolved to reelier@0.12.1) on 2026-07-21; the run record confirms passed: true and 0 LLM tokens (input + output). Verbatim output:

```
✓ Step 1 — Latest dist-tag from the registry [passed] 152ms

PASSED: 1/1 steps ok, 0 failed, 152ms total
```

Standing audit log: a GitHub Action replays all five portfolio skills every 6 hours (plus on demand) — https://github.com/seldonframe/reelier/actions/workflows/portfolio-replay.yml. A failing endpoint produces an honestly failing receipt, never a retried-until-green one.

## Point it at your project

Swap the literal `reelier` in the URL path for your own package name. The skill grammar has no default-value syntax for {{var}} holes — an unbound {{var}} is an explicit error, never a guessed fallback — so this file ships with literals that replay green with zero flags.

```sh
sed 's/reelier/YOUR-PACKAGE/g' registry-latest.skill.md > my-registry-latest.skill.md \
  && npx -y reelier@latest run my-registry-latest.skill.md
```

---

Reelier — agents make claims, Reelier writes receipts. AGPL-3.0.
Portfolio index: https://www.reelier.com/skills (twin: https://www.reelier.com/skills.md) · Replay ledger: https://www.reelier.com/replays · Machine-readable summary: https://www.reelier.com/llms.txt
