Remote Skills
Configuration
Publisher configuration fields, types, defaults, and constraints.
remote-skills.json is an optional JSON file in the skill project's root. Omitted fields use the defaults below; CLI options take precedence without rewriting the file. For creating the source files, see Prepare a skill.
Fields
| Field | Type | Default | Description |
|---|---|---|---|
$schema | string | Schema identifier | Identifies this configuration format. If supplied, it matches the identifier below. |
sourceRoots | string array | ["skills"] | Project-relative folders whose immediate children are skills. At least one unique path is required. |
outDir | string | "dist" | Project-relative directory for completed build output. Cannot overlap a source root. |
format | string | "tar.gz" | Archive format: "tar.gz" or "zip". Single-file skills remain Markdown unless build --archive is used. |
strict | boolean | false | Treats validation warnings as errors. |
limits | object | Limits | Build size and file-count limits. Each nested field is optional. |
dev | object | Development server | Local server settings. Each nested field is optional. |
Source and output paths stay inside the project. Unknown fields are validation errors; the configuration never executes repository code.
Limits
Every limits field is a positive integer. Byte values describe content size, not character counts.
| Field | Default | Controls |
|---|---|---|
limits.catalogBytes | 1048576 (1 MiB) | Generated catalog size. |
limits.archiveBytes | 52428800 (50 MiB) | Compressed artifact size. |
limits.extractedBytes | 104857600 (100 MiB) | Total extracted bytes per skill. |
limits.files | 1000 | Files per skill. |
limits.fileBytes | 10485760 (10 MiB) | Individual file size. |
These settings apply to publishing. Consumer limits are configured separately in the SDK.
Development server
| Field | Type | Default | Description |
|---|---|---|---|
dev.host | string | "127.0.0.1" | Listening address. A non-loopback address also requires the CLI's --unsafe-host flag. |
dev.port | integer | 8787 | Listening port, from 1 to 65535. |
Authentication is configured at the host, not in this file. Authentication and authorization covers private deployments.
Example file
This is the complete default configuration; a project using these settings can omit the file entirely.
{
"$schema": "https://remote-skills.dev/schemas/config/0.0.1.json",
"sourceRoots": ["skills"],
"outDir": "dist",
"format": "tar.gz",
"strict": false,
"limits": {
"catalogBytes": 1048576,
"archiveBytes": 52428800,
"extractedBytes": 104857600,
"files": 1000,
"fileBytes": 10485760
},
"dev": {
"host": "127.0.0.1",
"port": 8787
}
}Schema
| Property | Value |
|---|---|
| Identifier | https://remote-skills.dev/schemas/config/0.0.1.json |
| Schema document | Download JSON Schema |