Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,10 @@ npm install enskit@${VERSION} enssdk@${VERSION}`}</pre>
knowledge and queries matched to the deployed API.{" "}
{/* TEMP prerelease: revert to pinning both at <code>{VERSION}</code> at the first official release */}
These two packages are newer than the deployed <code>{VERSION}</code> release, so until
their first official release install them from the prerelease tag
their first official release install them from the prerelease snapshot
<code>ensskills@{ENSCLI_ENSSKILLS_NPM_SPEC}</code> and{" "}
<code>enscli@{ENSCLI_ENSSKILLS_NPM_SPEC}</code>.
<code>enscli@{ENSCLI_ENSSKILLS_NPM_SPEC}</code>. These prerelease refs are functional
against our hosted instances running <code>{VERSION}</code>.
</Fragment>
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ npm install # symlinks the skills for your detected agents

## Quickstart (`npx skills`)

Not in a Node project? [`skills`](https://github.com/vercel-labs/skills) installs every ENS skill straight from the repo. It normally pins to the matching `v…` release tag; during the current prerelease window it tracks `main` until `enscli`/`ensskills` ship in their first official release:
Not in a Node project? [`skills`](https://github.com/vercel-labs/skills) installs every ENS skill straight from the repo. It normally pins to the matching `v…` release tag; during the current prerelease window it pins to the immutable `main` commit the prerelease snapshot was built from, until `enscli`/`ensskills` ship in their first official release:

<Code
lang="bash"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,6 @@ Pick the path that matches your project. Either way, **pin to an exact `ensskill

Add both to your project and wire a `prepare` script:

{/* TEMP prerelease: remove this Aside at the first official release that publishes enscli + ensskills */}

<Aside type="caution" title="Prerelease">
`enscli` and `ensskills` are newer than the current `v{snapshot.sdkVersion}` release, so they
aren't published at that version yet. Until the first official release that includes them, the
snippets below track the `@next` npm tag and the `main` branch — they'll pin to an exact `v…` tag
like the rest of the suite at that release.
</Aside>

<Code
lang="jsonc"
code={`// package.json
Expand Down Expand Up @@ -70,14 +61,6 @@ export default defineConfig({
});`}
/>

<Aside type="caution">
The agent is keyed `claude-code`, not `claude` — an unrecognized key silently symlinks nothing. See the [`skills-npm` agent list](https://github.com/antfu/skills-npm) for every supported key.
</Aside>

<Aside type="note">
In a monorepo, `skills-npm` walks up to the workspace root (it looks for `pnpm-workspace.yaml`, `lerna.json`, or a `package.json` with a `workspaces` field) and installs there. To scope it to one package instead, run it with `--cwd .` — i.e. `"prepare": "skills-npm --cwd ."`. See [`examples/ensskills-example`](https://github.com/namehash/ensnode/tree/main/examples/ensskills-example) for a worked setup.
</Aside>

## Quickstart (`npx skills`)

Not in a Node project? Vercel's [`skills`](https://github.com/vercel-labs/skills) tool installs the skills straight from this repo — no `package.json`, no `skills-npm`. Point it at the `packages/ensskills/skills` directory on the matching **release tag** (the `v` prefix matters):
Expand All @@ -91,10 +74,6 @@ npx skills add https://github.com/namehash/ensnode/tree/${ENSCLI_ENSSKILLS_GIT_R

It detects your agents and writes the skills into each (`.claude/skills`, `.cursor/skills`, …). Bump the tag in the URL to upgrade.
Comment thread
shrugs marked this conversation as resolved.

<Aside type="note">
Pinning to an exact version is intentional: ENS skills are version-locked to the ENSNode suite, so you always get skills that match the APIs you're targeting. With `skills-npm` that's the pinned npm version; with `npx skills` it's the `v…` release tag in the URL. Avoid pulling skills from a moving git branch — except during the prerelease window noted above, which tracks `main`/`@next` until the first official release.
</Aside>

## Skills included

- **`ens-protocol`** — how the ENS protocol works at a conceptual level: the nametree, normalization, namehash/labelhash, registry/resolver/registrar, forward & reverse resolution, primary names, records, and ENS across chains. Vendor-neutral, intentionally stable, with pull-as-needed reference pages. The mental model the other skills build on.
Expand Down
18 changes: 10 additions & 8 deletions docs/ensnode.io/src/data/enscli-ensskills-prerelease.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
*
* Both packages were introduced *after* the current `v{snapshot.sdkVersion}` release, so — unlike
* `enssdk`/`enskit` — they are not yet published at `snapshot.sdkVersion`. Until the first official
* release that publishes them in lockstep with the rest of the suite, docs install snippets track:
* - `ENSCLI_ENSSKILLS_NPM_SPEC`: the `@next` snapshot dist-tag (published to npm on every push to
* `main` by `release_snapshot.yml`), and
* - `ENSCLI_ENSSKILLS_GIT_REF`: the `main` branch (where `packages/ensskills/skills` lives;
* snapshot releases create no git tag to point at).
* release that publishes them in lockstep with the rest of the suite, docs install snippets pin to
* the prerelease snapshot build published from `main` (by `release_snapshot.yml`):
* - `ENSCLI_ENSSKILLS_NPM_SPEC`: the exact published snapshot version, and
* - `ENSCLI_ENSSKILLS_GIT_REF`: the `main` commit that snapshot was built from, so the
* `skills add tree/<ref>` URL is pinned to an immutable commit rather than a moving branch.
*
* Remove this module at that first official release and revert the `enscli`/`ensskills` snippets in
* Both refs are functional against the hosted instances running `snapshot.sdkVersion`.
*
* Remove this module at the first official release and revert the `enscli`/`ensskills` snippets in
* `ai-llm.mdx`, `ensskills.mdx`, and `HostedInstanceVersionWarning.astro` back to
* `snapshot.sdkVersion` / `v${snapshot.sdkVersion}`.
*/
export const ENSCLI_ENSSKILLS_NPM_SPEC = "next";
export const ENSCLI_ENSSKILLS_GIT_REF = "main";
export const ENSCLI_ENSSKILLS_NPM_SPEC = "0.0.0-next-20260603190454";
export const ENSCLI_ENSSKILLS_GIT_REF = "0eec193";
Comment thread
shrugs marked this conversation as resolved.
Comment thread
shrugs marked this conversation as resolved.
Loading