Remote Skills

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

FieldTypeDefaultDescription
$schemastringSchema identifierIdentifies this configuration format. If supplied, it matches the identifier below.
sourceRootsstring array["skills"]Project-relative folders whose immediate children are skills. At least one unique path is required.
outDirstring"dist"Project-relative directory for completed build output. Cannot overlap a source root.
formatstring"tar.gz"Archive format: "tar.gz" or "zip". Single-file skills remain Markdown unless build --archive is used.
strictbooleanfalseTreats validation warnings as errors.
limitsobjectLimitsBuild size and file-count limits. Each nested field is optional.
devobjectDevelopment serverLocal 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.

FieldDefaultControls
limits.catalogBytes1048576 (1 MiB)Generated catalog size.
limits.archiveBytes52428800 (50 MiB)Compressed artifact size.
limits.extractedBytes104857600 (100 MiB)Total extracted bytes per skill.
limits.files1000Files per skill.
limits.fileBytes10485760 (10 MiB)Individual file size.

These settings apply to publishing. Consumer limits are configured separately in the SDK.

Development server

FieldTypeDefaultDescription
dev.hoststring"127.0.0.1"Listening address. A non-loopback address also requires the CLI's --unsafe-host flag.
dev.portinteger8787Listening 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.

remote-skills.json
{
  "$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

PropertyValue
Identifierhttps://remote-skills.dev/schemas/config/0.0.1.json
Schema documentDownload JSON Schema

On this page