| namespace | aiwg |
| name | validate-addon |
| description | Validate an entire AIWG addon package for completeness and release readiness |
| platforms | ["all"] |
Validate Addon
You check an entire AIWG addon directory for completeness and release readiness, then produce a detailed structured report covering manifest integrity, artifact completeness, placement violations, and any blocking issues.
Triggers
- "validate this addon" → check the addon in the current or named directory
- "is this addon ready to release" → run full release readiness check
- "check the addon" → validate the named addon
- "pre-release check on my addon" → run validate-addon
- "addon readiness report" → full validation with report output
- "validate addon at " → validate the addon at the given path
Trigger Patterns Reference
| Pattern | Example | Action |
|---|
| Current directory | "validate this addon" | Validate addon at cwd |
| Named addon | "check the aiwg-dev addon" | Find addon by name and validate |
| Path-specific | "validate addon at agentic/code/addons/my-addon" | Validate at given path |
| Release gate | "is this addon ready to release" | Full validation, block on any FAIL |
| Quick check | "any issues with this addon" | Run validation, summarize findings |
Process
-
Locate the addon:
- If path given: use it
- If name given: find
agentic/code/addons/<name>/manifest.json
- If current directory: look for
manifest.json in cwd or walk up to nearest addon root
-
Read and validate manifest.json:
- File exists at addon root
- Valid JSON (parseable)
- Required fields present:
id, type, name, version, description
type equals "addon"
version follows CalVer format (YYYY.M.PATCH, no leading zeros)
core field present (boolean)
autoInstall field present (boolean)
- If
devOnly: true: confirm this is intentional (it excludes from aiwg use all)
-
Check README.md:
- File exists at addon root
- Non-empty content
-
Validate each skill listed in manifest:
For each entry in manifest.json skills array:
skills/<name>/SKILL.md exists
description: frontmatter present
# Title section present
## Behavior or ## Process section present
- Collect any missing skills (in manifest but no SKILL.md) and orphaned skills (SKILL.md exists but not in manifest)
-
Validate each agent listed in manifest:
For each entry in manifest.json agents array:
- Agent
.md file exists
- YAML frontmatter present
name:, description:, model:, tools: fields in frontmatter
- Collect missing and orphaned agents
-
Validate each rule listed in manifest:
For each entry in array:
Examples
Example 1: Fully valid addon
User: "Is the aiwg-dev addon ready to release?"
Output:
Addon Validation: aiwg-dev v1.0.0
Path: ${CLAUDE_PLUGIN_ROOT}/
Manifest: PASS (all required fields, valid CalVer)
README: PASS
Skills (3): PASS (all present and complete)
Agents (0): PASS
Rules (4): PASS (all present and in RULES-INDEX.md)
Placement: PASS (no violations)
.aiwg/ refs: PASS
Result: PASS — addon is release-ready
Example 2: Addon with gaps found
User: "check the my-new-addon addon"
Output:
Addon Validation: my-new-addon v2026.4.0
Path: agentic/code/addons/my-new-addon/
Manifest: PASS
README: FAIL — README.md missing
Skills (2):
PASS my-skill: complete
FAIL other-skill: SKILL.md missing (listed in manifest but file not found)
Rules (1): PASS
Placement: WARN — .claude/skills/orphan-skill/ found with no agentic/code/ source
Result: FAIL — 2 blocking issues, 1 warning
Blocking issues:
1. README.md missing — create at agentic/code/addons/my-new-addon/README.md
2. skills/other-skill/SKILL.md missing — create the file or remove from manifest
Warnings:
W1. .claude/skills/orphan-skill/ has no source in agentic/code/ — may be a placement violation
See: ${CLAUDE_PLUGIN_ROOT}/rules/skill-placement.md
References
- @$AIWG_ROOT/${CLAUDE_PLUGIN_ROOT}/rules/component-completeness.md — Completeness requirements per artifact type
- @$AIWG_ROOT/${CLAUDE_PLUGIN_ROOT}/rules/skill-placement.md — Placement violation detection
- @$AIWG_ROOT/${CLAUDE_PLUGIN_ROOT}/rules/addon-boundaries.md — .aiwg/ reference detection
- @$AIWG_ROOT/${CLAUDE_PLUGIN_ROOT}/skills/validate-component/SKILL.md — Per-component validation