Skip to main content

Reference

A terse map of the pieces. For the reasoning behind them, see The install line and Publisher identity.

The install line​

A short line, about sixty characters, in the same checksummed encoding as a Bitcoin address, so a damaged paste is rejected offline.

sk1  <version>  <256 bit manifest address>  [4 byte publisher hint]  <checksum>
  • version — the line format. The current form is a pointer to a signed manifest.
  • manifest address — the sha256 of the manifest. It commits to everything inside.
  • publisher hint — optional. Four bytes that let a reader recognize a key they have pinned before, without fetching anything.

The full form, which spells the fingerprint, key, signature, and file list into the line, still decodes and installs.

The manifest​

The bytes the install line addresses. A signed core, plus the signature over it.

{
"core": {
"v": 2,
"name": "csv-stats",
"publisherKey": "hex",
"files": [ { "address": "sha256:…", "path": "SKILL.md", "size": 2488 } ],
"locations": [ "ipfs://…" ]
},
"sig": "hex"
}

The address is the sha256 of the whole object, so fetching it by that address proves the key, the signature, and the file list at once.

Trust levels​

Reported by add; never a gate, except that unsigned is refused by default.

LevelMeaning
cryptographicA domain the publisher named proved control of the key.
configTrusted on first use: the same key as last time, not tied to a name.
unsignedNo signature. Refused unless you pass --allow-unsigned.

Commands​

skillseal add sk1…            # verify a line, then install it
skillseal inspect sk1… # read a line, fully offline
skillseal where # the agents found on this machine
skillseal verify # recheck every skill in skills.lock
skillseal publish ./dir # turn a skill folder into a line

Common flags: --agent <id>, --all, --to <dir>, --from <store>, --bind <handle>, --allow-unsigned, --accept-new-key.

Where the bytes live​

The install line names no location. An address resolves from any store that has it: a default public mirror, an IPFS gateway, a bucket, or your own via --from or SKILLSEAL_STORES. None is trusted, because whatever a store returns is hashed against the address first.