Conformance Debt Catalog
This catalog documents common conformance anti-patterns found in legacy skills repositories and their exact resolution under the Agent Plugins Specification v1.0.0 and Agent Skills Specification.
| Anti-Pattern / Debt Item | Spec Impact | Root Cause | Resolution |
|---|---|---|---|
Missing YAML frontmatter in SKILL.md |
Fatal (§7.1) | File starts directly with # Heading without --- frontmatter block |
Add --- block containing required name and description fields. |
| Description exceeds 1024 characters | Fatal (Agent Skills Spec) | Long prose pasted into frontmatter description |
Shorten description to < 1024 chars while retaining core trigger keywords and use-case phrases. |
Top-level version: in SKILL.md |
Non-standard field | version is not a top-level Agent Skills frontmatter field |
Move to metadata:\n version: "1.0.0". |
Name mismatch (name $\neq$ directory name) |
Validation failure | Directory renamed without updating frontmatter name |
Synchronize frontmatter name to match parent directory name exactly. |
Scripts not executable (0644 mode) |
Execution failure | Helper scripts created without chmod +x |
Run chmod +x scripts/*. |
| Symlink escaping repo root | Fatal (§4.1) | Machine-local symlink in untracked folder points to ~/.config/... |
Delete or gitignore untracked folder containing external symlinks. |
../ links escaping plugin root |
Fatal (§4.1) | Orchestrator skill links to sibling skill in a different plugin root | Move co-dependent orchestrator and sub-skills into the same plugin. |
references/ used for project templates |
Semantic confusion | Config files (e.g. .swiftlint.yml) placed in references/ |
Move copy-into-project templates to assets/. |
| Stray root output directories | Unorganized repository | Example output reports placed at repo root | Move example outputs into references/ under the relevant skill. |
Missing root LICENSE |
Compliance risk | Repository distributed without license file | Add root LICENSE (Apache-2.0 recommended) and license: in skill frontmatter. |
Missing mcp.json $schema match |
Fatal (§10.1) | mcp.json $schema version differs from plugin.json $schema |
Ensure both manifests specify identical $schema version URLs. |
PLUGIN_ROOT in mcp.json env |
Fatal (§9.2) | Server env manually defines PLUGIN_ROOT or PLUGIN_DATA |
Remove PLUGIN_ROOT/PLUGIN_DATA from env object; clients supply them automatically. |