Skip to content
GitHub

pack.schema.json

Field reference for pack.schema.json, generated from contracts/pack.schema.json.

This table is generated from contracts/pack.schema.json.

For what each field means, see the raw schema, which states every rule.

FieldTypeRequiredRulesDescription
schemanoenum: [1]
packobjectyesno undeclared keys
Conditional rules: see the narrative reference
pack.namestringyes
pack.versionstringyes
pack.descriptionstringno
pack.readmestringno
pack.display_namestringno
pack.licensestringno
pack.cataloguestringno
pack.lint-seedsbooleanno
pack.categoriesarray of stringnomaxItems: 5
pack.keywordsarray of stringnomaxItems: 5
pack.maintainersarray of objectnoitems: no undeclared keys
pack.maintainers[].namestringyes
pack.maintainers[].emailstringno
pack.maintainers[].urlstringno
pack.linksobjectnono undeclared keys
pack.links.homepagestringno
pack.links.repositorystringno
pack.links.documentationstringno
pack.links.changelogstringno
pack.links.issuesstringno
pack.links.iconstringno
pack.metadataobjectnoOpen extension table — additionalProperties intentionally unrestricted.
pack.adapter-contractobjectnono undeclared keys
pack.adapter-contract.versionstringno
pack.installobjectnono undeclared keys
Conditional rules: see the narrative reference
pack.install.default-scopeyesenum: ["repo", "user"]
pack.install.allowed-scopesarraynominItems: 1
items enum: ["repo", "user", "local"]
pack.install.user-scope-hooksbooleanno
pack.install.allowed-adaptersarray of stringnominItems: 1
uniqueItems: true
pack.evalsobjectnono undeclared keysTier-A activation eval coverage — lists every user-triggered skill that ships evals/eval_queries.json.
pack.evals.skillsarray of stringnouniqueItems: true
pack.recipesarray of stringnoNamed catalogue recipes this pack participates in.
pack.dependenciesobjectnono undeclared keys
pack.dependencies.requiredarray of objectnoitems: no undeclared keys
pack.dependencies.required[].cataloguestringyes
pack.dependencies.required[].packstringyes
pack.dependencies.required[].versionstringyes
pack.dependencies.recommendedarray of objectnoitems: no undeclared keys
pack.dependencies.recommended[].cataloguestringyes
pack.dependencies.recommended[].packstringyes
pack.dependencies.recommended[].versionstringyes
pack.dependencies.conflictsarray of objectnoitems: no undeclared keys
pack.dependencies.conflicts[].cataloguestringyes
pack.dependencies.conflicts[].packstringyes
pack.dependencies.conflicts[].versionstringyes
pack.adaptationobjectnono undeclared keys
pack.adaptation.infer-fromstringno
pack.adaptation.substitutionsarray of objectnoitems: no undeclared keys
pack.adaptation.substitutions[].markerstringno
pack.adaptation.substitutions[].infer-fromstringno
pack.adaptation.augmentation-pointsarray of objectnoitems: no undeclared keys
pack.adaptation.augmentation-points[].targetstringno
pack.adaptation.augmentation-points[].section-markerstringno
pack.adaptation.augmentation-points[].describestringno
pack.seedsarray of stringnoitems pattern: ^[^/].*
pack.runtime-dependenciesarray of objectnoitems: no undeclared keysExternal runtime dependencies required by this pack’s skills.
pack.runtime-dependencies[].ecosystemstringyesenum: ["pypi", "npm", "cargo", "go", "homebrew", "apt", "system"]
pack.runtime-dependencies[].packagestringyes
pack.runtime-dependencies[].versionstringno
pack.runtime-dependencies[].optionalbooleannodefault: false
pack.runtime-dependencies[].skillsarray of stringno
pack.runtime-dependencies[].installstringno
pack.runtime-dependencies[].notestringno
pack.layoutobjectnono undeclared keys
pack.layout.repoobjectnono undeclared keys
pack.layout.repo.parentstringno
pack.layout.repo.templatestringno
pack.layout.repo.output_dirstringno
pack.layout.repo.sectionstringnopattern: ^[a-z0-9][a-z0-9-]*$
pack.layout.userobjectnono undeclared keys
pack.layout.user.parentstringno
pack.layout.user.templatestringno
pack.layout.user.output_dirstringno
pack.layout.user.sectionstringnopattern: ^[a-z0-9][a-z0-9-]*$
pack.first-valueobjectnono undeclared keys
pack.first-value.audience-posturestringnoenum: ["non-technical", "mixed", "technical"]
pack.first-value.surfacesarray of stringno
pack.first-value.prerequisitesarray of stringno
pack.first-value.verificationstringno
pack.first-value.recoverystringno
pack.first-value.level-bbooleanno
pack.first-value.starter-taskstringno
pack.first-value.starter-promptstringno
pack.first-value.expected-resultstringno
pack.first-value.next-actionstringno
pack.first-value.tutorialstringno
pack.first-value.writes-to-repobooleanno
pack.first-value.safety-gatestringno
pack.integrationsarray of objectnoitems: no undeclared keys
pack.integrations[].idstringyespattern: ^[a-z0-9][a-z0-9-]*$
pack.integrations[].packstringyes
pack.integrations[].kindstringyesenum: ["input", "augment", "review", "handoff"]
pack.integrations[].rolestringyes
pack.integrations[].consumersarray of stringyesminItems: 1
items pattern: ^(skill|agent|command|hook):[a-z0-9][a-z0-9-]*$
pack.integrations[].providersarray of stringyesminItems: 1
items pattern: ^(skill|agent|command|hook):[a-z0-9][a-z0-9-]*$
pack.integrations[].whenstringyesminLength: 1
pack.integrations[].purposestringyesminLength: 1
pack.integrations[].fallbackstringyesminLength: 1
pack.integrations[].versionstringno

See the overview section for this file.

See also pack.toml fields.