#1087·skills

plugin.json files omit required $schema, so plugins fail to load as Kiro powers (Agent Plugins 1.0.0 non-compliance)

Author: gitfoolCreated Aug 28, 2026Updated Sep 14, 2026
LabelsTriagedbug

Kiro's Powers panel now installs Agent Plugins 1.0.0 packages directly (see Kiro's announcement). Importing a plugin from this repo as a Kiro power fails to load its components.

Repro

  1. Kiro → Powers panel → Add Custom Power → Import power from GitHub
  2. URL: https://github.com/dotnet/skills/tree/main/plugins/dotnet-msbuild
  3. Install

Observed

The power downloads but fails to load, reporting:

plugin.json has an unsupported or missing $schema

Cause

The Agent Plugins 1.0.0 plugin schema declares:

"required": ["$schema", "name"],
"additionalProperties": false

The plugin manifests in this repo (e.g. plugins/dotnet-msbuild/plugin.json) are not valid Agent Plugins 1.0.0 manifests on two counts:

  1. Missing required $schema. Without it, a compliant loader rejects the manifest outright. The value is pinned via const to https://agent-plugins.org/schemas/1.0.0/plugin.schema.json.
  2. Non-schema top-level keys. The manifests carry skills, agents, and mcpServers as top-level properties. The 1.0.0 plugin schema sets additionalProperties: false and does not define these. Per the spec, skills live under skills/, MCP servers in a separate mcp.json, and client-specific data under an extensions / reverse-domain namespace.

Adding $schema alone is necessary but not sufficient: it gets the manifest past the initial rejection, but the power then loads with all functional components excluded, because skills, agents, and mcpServers are stripped as non-schema keys. See the tested result in the comment below.

A spec-compliant manifest would add $schema, keep plugin.json to identity fields only, rely on the skills/ directory for skill discovery, and move the MCP server into a sibling mcp.json (schema https://agent-plugins.org/schemas/1.0.0/mcp.schema.json).

Related

  • #338 added Kiro support via a generated .kiro/skills/ path (skills only) and was closed as completed. It explicitly left open the question of a plugin.json-style manifest for Kiro. This issue concerns the power install path (skills plus MCP server together), which is blocked by the manifest non-compliance above.

Environment

  • Kiro (Powers panel, Import from GitHub), Windows
  • Repo revision observed: be7b56028cf14cc5b9482b29959d7d96433bad05