/ documentation

maleta.json

Learn about the maleta.json manifest, its three skill sources, schema version 1, validation, and export.

#The Maleta manifest

The maleta.json file is the manifest that records a selection of skills and plugins, along with the target tool and operating system. You can export it from the workspace and import it to continue working.

#Valid example

Complete manifest
json
{
  "schemaVersion": 1,
  "id": "shared-fixture",
  "slug": "shared-fixture",
  "name": "Shared fixture",
  "description": "Builtin, GitHub, and inline selection used by site and CLI contract tests.",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "skills": [
    {
      "id": "builtin:design-taste-frontend",
      "name": "design-taste-frontend",
      "source": { "type": "builtin", "name": "design-taste-frontend" }
    },
    {
      "id": "github:acme%2Fskills:skills%2Freviewer%2FSKILL.md@v1.2.0",
      "name": "reviewer",
      "source": { "type": "github", "repo": "acme/skills", "path": "skills/reviewer/SKILL.md", "ref": "v1.2.0" },
      "description": "Review code before shipping."
    },
    {
      "id": "inline:release-checklist",
      "name": "release-checklist",
      "source": {
        "type": "inline",
        "name": "release-checklist",
        "files": [
          { "path": "SKILL.md", "content": "# Release checklist\n\nRun tests before shipping.\n" }
        ]
      }
    }
  ],
  "plugins": ["frontend-design@claude-plugins-official"],
  "targetTool": "claude",
  "targetOs": "unix"
}

An inline source carries its files in the manifest itself. The complete document remains limited to 1 MiB; the CLI writes inline content as opaque UTF-8 data without a GitHub request and never executes it.

In the workspace, inline skills are kept in local storage under aitoolkit-inline-skills. Saving an edit to a builtin or GitHub skill creates an inline copy named <name>-custom; saving an edit to an existing inline skill updates that same named source in place.

#Root fields

schemaVersion
1required

Accepted schema version.

id
stringrequired

Maleta identifier, up to 128 characters.

slug
stringrequired

Slug up to 96 characters, made of letters, numbers, and hyphens between segments.

name
stringrequired

Maleta name, up to 80 characters.

description
stringoptionaldefault: absent

Optional description, up to 600 characters.

createdAt
stringrequired

Date accepted by Date.parse.

updatedAt
stringrequired

Date accepted by Date.parse.

skills
arrayrequired

List of skills; it may contain objects or builtin strings.

plugins
string[]required

List of plugin identifiers.

targetTool
all | claude | codex | agentsrequired

Target tool.

targetOs
windows | unixrequired

Target operating system.

#Schema and validation

The only accepted version is schemaVersion: 1. There is no migration between versions. A root selection key is rejected; selection fields belong at the top level. Unknown keys are silently discarded.

Use maleta validate to read the file, apply the schema, and show a summary without accessing the network. The parser also enforces a 1 MiB limit on string input.

#Import and export

The workspace exports the manifest for local use or sharing. When serialized, the structure uses 2-space indentation and ends with a newline; when imported, the content is parsed and normalized by the schema.

Privacy preferences

Choose what this origin may measure. You can change it here at any time.

Essential storage

This browser always keeps your theme, the Maletas you save here and this choice so the site works. They stay on this origin.

Optional analytics

Maleta.dev measures aggregate traffic and real-user performance only after you allow it.

Current choice: not made yet, so measurement stays off.

Privacy policy