Skip to content

Agent Skills authoring derivations

State: open/verified · Kind: module · Audience: system

  • @sksizer/agent-adapt computes the pure, keystroke-fast values an Agent Skills editor needs before a note exists — slug, argument-hint, keyword list, licence shortcuts — byte-identical to the agent-adapt Rust crate’s derivations.
  • Derivation only: whether a value is admissible (name collision, description length, slug uniqueness) is judgement reserved for the agent-skills/validate-note backend call, which runs agent-adapt-core itself.

The TypeScript peer of the agent-adapt Rust crate. It holds the subset of Agent Skills frontmatter rules that a network round trip cannot serve between keystrokes: the slug a typed name becomes, the argument-hint a list of arguments renders to, the ap-keywords list a write actually stores, the SPDX shortcuts a licence field offers, and the four ap-arguments row-level validation rules. It imports no generated wire type — its SkillArgument model is structurally identical to agent_adapt::model::Argument so any host’s generated equivalent is assignable straight in. Pure: no Vue, no Nuxt, no DOM, no dependencies, so it runs in a Nuxt app, bun, or node alike.

  • slugifyName — the slug a typed name becomes, matching agent_adapt_core::discover::slugify
  • DESCRIPTION_MAX_LEN — the spec’s 1024-character description cap
  • validateArguments / issuesForRow — the four ap-arguments rules per row
  • deriveArgumentHint — the argument-hint a list of arguments renders to
  • emptyArgument / isSlug — a fresh argument row and the spec’s name language
  • normalizeKeywords — the ap-keywords list a write actually stores
  • LICENSE_CHOICES / normalizeLicenseInput — SPDX shortcuts a licence field offers
  • parseIdentityValue — the display name inside a serialized ap-owner/ap-author
  • packages/ts/agent-adapt/skillSpec.ts
  • packages/ts/agent-adapt/argumentValidation.ts
  • packages/ts/agent-adapt/keywords.ts
  • packages/ts/agent-adapt/licenseChoices.ts
  • packages/ts/agent-adapt/identityValue.ts
  • Rust peer: packages/rust/agent-adapt/
  • packages/ts/agent-adapt/

← Back to Capabilities