# Garden Skills manifest.json Schema: Complete Field Reference

> Explore the manifest.json schema for Garden Skills. Understand the six essential fields name version category description homepage and compat for skill metadata and compatibility.

- Repository: [ConardLi/garden-skills](https://github.com/ConardLi/garden-skills)
- Tags: api-reference
- Published: 2026-09-01

---

**The** [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) **file in Garden Skills follows a minimal six-field schema requiring** `name`, `version`, `category`, `description`, `homepage`, **and** `compat` **properties to declare skill metadata and platform compatibility.**

Garden Skills, an open-source skill registry maintained by ConardLi, standardizes skill discovery through a lightweight [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) file located in each skill's root directory. This deliberately minimal schema avoids version skew between the runtime and skill definitions while ensuring consistent metadata across all skills in the repository.

## Required Fields in the manifest.json Schema

Every [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) file in the Garden Skills repository must include six top-level properties. The runtime ignores any additional keys, allowing authors to include optional metadata without breaking compatibility.

### name

The **name** property is a string that serves as the unique identifier for the skill. This value appears in marketplace listings and is used when invoking the skill via command-line tools or API calls.

### version

The **version** property accepts a string following semantic versioning (e.g., `1.3.0`), indicating the current release iteration of the skill.

### category

The **category** property provides human-readable classification such as *"Design / Frontend"* or *"Knowledge Base"*, enabling users to browse and filter skills by functional domain.

### description

The **description** property contains a concise, marketing-style summary explaining the skill's functionality and primary use cases in one or two sentences.

### homepage

The **homepage** property is a string containing a URL pointing to the skill's source directory or documentation, typically hosted on GitHub.

### compat

The **compat** property is an array of strings listing compatible agents and platforms. Supported values include `claude-code`, `claude-ai`, `cursor`, `codex-cli`, `gemini-cli`, and `opencode`.

## Reference Implementations in the Repository

The Garden Skills repository contains multiple reference implementations demonstrating the schema in production use. Each skill directory contains a [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) file following the exact specification.

### Web Design Engineer Example

Located at [`skills/web-design-engineer/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/manifest.json), this manifest demonstrates a fully populated schema supporting multiple platforms:

```json
{
  "name": "web-design-engineer",
  "version": "1.3.0",
  "category": "Design / Frontend",
  "description": "Build and redesign high‑quality visual Web artifacts using HTML/CSS/JavaScript/React …",
  "homepage": "https://github.com/ConardLi/garden-skills/tree/main/skills/web-design-engineer",
  "compat": [
    "claude-code",
    "claude-ai",
    "cursor",
    "codex-cli",
    "gemini-cli",
    "opencode"
  ]
}

```

### Knowledge Base Retriever Example

The [`skills/kb-retriever/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/kb-retriever/manifest.json) file shows the schema applied to a utility skill with focused platform support:

```json
{
  "name": "my-awesome-skill",
  "version": "0.1.0",
  "category": "Productivity",
  "description": "Provides a quick way to generate summaries of documents.",
  "homepage": "https://github.com/yourname/garden-skills/tree/main/skills/my-awesome-skill",
  "compat": ["opencode", "cursor"]
}

```

### Beautiful Article Example

The [`skills/beautiful-article/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/beautiful-article/manifest.json) file provides another concrete implementation following the identical structure, confirming the schema's consistency across different skill types in the repository.

## Summary

- The **manifest.json** schema in Garden Skills requires exactly six properties: `name`, `version`, `category`, `description`, `homepage`, and `compat`.
- Extra fields are ignored by the runtime, allowing future extensibility without breaking changes.
- Reference implementations are available in [`skills/web-design-engineer/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/manifest.json), [`skills/kb-retriever/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/kb-retriever/manifest.json), and [`skills/beautiful-article/manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/skills/beautiful-article/manifest.json).
- The **compat** array supports major AI coding agents including Claude, Cursor, Codex CLI, and OpenCode.

## Frequently Asked Questions

### What happens if I add custom fields to manifest.json?

The Garden Skills runtime ignores any extra keys beyond the six required fields. You can include additional metadata for documentation purposes without breaking skill execution.

### Which platforms can I list in the compat array?

The **compat** array supports string values for `claude-code`, `claude-ai`, `cursor`, `codex-cli`, `gemini-cli`, and `opencode`, though the runtime may accept other identifiers for future compatibility.

### Does the manifest.json schema have its own version number?

No, the schema is deliberately minimal and unversioned. Changes to the schema are managed through runtime updates that maintain backward compatibility with existing manifests.

### Where must the manifest.json file be located?

The [`manifest.json`](https://github.com/ConardLi/garden-skills/blob/main/manifest.json) file must reside in the skill's root directory, typically at `skills/{skill-name}/manifest.json`, to be discovered and loaded by the Garden Skills system.