Replies: 3 comments 3 replies
-
|
This makes a good point and I think we need this tooling even for future(near) where agents will query and assemble their ai primitives in jit manner |
Beta Was this translation helpful? Give feedback.
This comment was marked as spam.
This comment was marked as spam.
-
|
This is great. One question, is it supposed to be treated as the authority or optional? I could see it being useful to have metadata about permissions included, to speed up the filtering process instead of parsing every skill. That assumes this will become a standard requirement and source of truth. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
The Agent Skills spec currently defines the individual skill format well —
SKILL.mdwith frontmatter, optionalscripts/,references/,assets/directories, progressive disclosure, validation viaskills-ref. What's missing is any standard for package-level metadata: when a repo contains multiple skills, there's no structured way to declare what's inside without scanning the filesystem and parsing every SKILL.md's frontmatter.This gap has spawned half a dozen competing approaches in the package manager ecosystem. skmr, skillman, skillbox, skills-manifest, skills-supply, and konstruct all reinvent skill discovery by walking directories and parsing frontmatter independently. Each has slightly different scanning logic, leading to inconsistent behaviour across tools.
Proposal
Add an optional
skill.json(singular) file to the specification as a package-level companion to SKILL.md. It lives at the root of a skill package and provides a structured index of what skills exist in the package, with metadata that tooling can consume without parsing markdown.Minimal example:
{ "name": "my-skill-pack", "version": "1.0.0", "description": "A collection of useful skills", "skills": [ { "name": "pdf", "path": "./pdf", "description": "Read, create, merge, split, and OCR PDF files" } ] }Per-skill entries support optional fields for integrity hashing (SRI format), categories, tags, runtime tool requirements (
requires.tools), intra-package dependencies, per-skill license/author overrides, and anentrypointfield (defaults toSKILL.md).Relationship to SKILL.md
skill.jsonwraps SKILL.md, it doesn't replace it. SKILL.md remains the authoritative runtime instruction file that agents read.skill.jsonis for tooling — package managers, registries, search indexes — that need structured metadata without parsing markdown frontmatter.If
skill.jsonand SKILL.md frontmatter conflict on fields likenameordescription,skill.jsonis authoritative for tooling; SKILL.md remains authoritative for the agent at runtime.What it covers that SKILL.md frontmatter doesn't
version,author,license,repository,homepage,keywords— things that belong to the package, not to individual skillspath), eliminating filesystem scanningcategoryandtagsper skill for registry/search toolingrequires.tools(e.g.["python3"]) andrequires.min_agent_versionsfor compatibility constraintsrequires.skillsusing"package-name/skill-name"formatWhy "skill.json" (singular)?
Multiple consumer-side tools (skmr, skillman, konstruct) already use
skills.json(plural) for their project manifests. The singular form avoids filename collisions and creates a clear semantic distinction:skill.json= publisher-side "what's in this package" (likepackage.json),skills.json= consumer-side "what does this project need".Scope within the spec
This would be an optional addition. A valid skill package can still contain just
SKILL.md(as today).skill.jsonis opt-in — package managers should fall back to SKILL.md scanning when it's absent.The
skills-refvalidation tool could be extended to validateskill.jsonwhen present, and to cross-check that every skill declared inskill.jsonhas a corresponding SKILL.md at the declared path.Spec and schema
Full specification with design rationale and a JSON Schema: https://github.com/velvet-tiger/skill.json. The specification can be incorporated into agentskills, or adapted as required.
Related discussions
Proposal to use skill.json for Skills.sh
Examples
https://github.com/aurabx/skills contains a skill.json file
DISCLOSURE
The skill.json project and this comment were generated with AI based on detailed instructions and review, along with analysis of common patterns across existing repositories.
Beta Was this translation helpful? Give feedback.
All reactions