/validate-metadata
Validate AIWG extension definitions against the metadata schema and report errors with field names, line numbers, and remediation hints
$ npx -y skills add jmagly/aiwg --skill validate-metadata --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/validate-metadata
Context preview
The summary Claude sees to decide when to auto-load this skill.
Validate AIWG extension definitions against the metadata schema and report errors with field names, line numbers, and remediation hints
SKILL.md
validate-metadata.SKILL.mdnamespace: aiwg
name: validate-metadata
platforms: [all]
description: Validate AIWG extension definitions against the metadata schema and report errors with field names, line numbers, and remediation hints
Validate Metadata
You validate all AIWG extension definitions (agents, skills, commands, behaviors) against the metadata schema. You report errors with field names, line numbers, and remediation hints — and return a clean pass/fail summary.
Triggers
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
- "are my extensions valid?" → run full metadata validation
- "check my agent definitions" → validate agent metadata specifically
- "is this skill definition correct?" → validate single extension file
- "prep for release" → validate metadata as part of pre-release checks
Trigger Patterns Reference
| Pattern | Example | Action | |---------|---------|--------| | Validate request | "validate metadata" | Run `aiwg validate-metadata` | | Check request | "check metadata" | Run `aiwg validate-metadata` | | Validate extensions | "validate extensions" | Run `aiwg validate-metadata` | | Quality check | "metadata quality" | Run `aiwg validate-metadata` | | Single file | "validate this agent file" | Run `aiwg validate-metadata <path>` | | Directory-scoped | "validate just security skills" | Run `aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills` | | CI mode | "validate metadata for CI" | Run `aiwg validate-metadata --ci --format json --strict` |
Behavior
When triggered:
1. **Extract intent**:
- Is validation scoped to a specific extension type (agents, skills, commands, behaviors)?
- Is a specific file path mentioned?
- Is verbose output needed?
2. **Run the appropriate command**:
# Default: validate all extensions
aiwg validate-metadata
# Recursive validation of a directory
aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills
# Strict CI output
aiwg validate-metadata --ci --format json --strict
# Validate a single file
aiwg validate-metadata agentic/code/addons/aiwg-utils/skills/my-skill/SKILL.md
3. **Report the result** — list all errors with field, location, and fix hint; summarize pass/fail count.
What Gets Validated
| Check | Description | |-------|-------------| | Required fields | `id`, `name`, `description`, `platforms` present | | ID format | Lowercase, hyphen-separated, no spaces | | Version format | CalVer (`YYYY.M.PATCH`) for versioned extensions | | Trigger phrases | At least one trigger phrase defined per skill | | Tool declarations | Tools listed in `allowedTools` are valid AIWG tools | | Platform list | All platforms are valid (`claude-code`, `hermes`, `openclaw`, etc.) | | Handler path | `handler` field points to an existing file (for commands) | | Duplicate IDs | No two extensions share the same ID |
Error Format
Errors are reported in this format:
ERROR skills/my-skill/SKILL.md:12 missing required field: `id`
Fix: Add `id: my-skill` to the YAML frontmatter
WARN agents/my-agent/AGENT.md:3 version format invalid: `1.0.0`
Fix: Use CalVer format: `2026.4.0`
PASS commands/my-command/COMMAND.mdExamples
Example 1: Full validation before release
**User**: "Run metadata validation before I tag the release"
**Extraction**: Full validation, no scope restriction
**Action**:
aiwg validate-metadata
**Response**: "Validated 47 extension definitions. 45 passed. 2 errors found:
- `skills/soul-blend/SKILL.md` line 4: platforms list is empty — add at least one platform
- `agents/test-engineer/AGENT.md` line 9: duplicate ID 'test-engineer' conflicts with `agents/testing/test-engineer/AGENT.md`"
Example 2: Scoped validation for skills only
**User**: "Check only the security-engineering skills metadata"
**Extraction**: Directory-scoped to security-engineering skills
**Action**:
aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills
**Response**: "Validated 38 skill definitions. All passed."
Example 3: Single file validation
**User**: "Is this agent definition valid?" (with path provided)
**Extraction**: Single file path
**Action**:
aiwg validate-metadata agentic/code/addons/aiwg-utils/skills/new-skill/SKILL.md
**Response**: "1 error: missing required field `id` in frontmatter (line 3). Add `id: new-skill` to fix."
Example 4: CI pipeline usage
**Action**:
aiwg validate-metadata --ci --format json --strict
**Output**:
{
"total": 47,
"passed": 45,
"failed": 2,
"errors": [
{ "file": "skills/soul-blend/SKILL.md", "line": 4, "field": "platforms", "message": "platforms list is empty" }
]
}References
- @$AIWG_ROOT/src/cli/handlers/utilities.ts — Command handler
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference
- @$AIWG_ROOT/src/extensions/types.ts — Extension type definitions and schema
Read more
namespace: aiwg name: validate-metadata platforms: [all] description: Validate AIWG extension definitions against the metadata schema and report errors with field names, line numbers, and remediation hints
Validate Metadata
You validate all AIWG extension definitions (agents, skills, commands, behaviors) against the metadata schema. You report errors with field names, line numbers, and remediation hints — and return a clean pass/fail summary.
Triggers
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
- "are my extensions valid?" → run full metadata validation
- "check my agent definitions" → validate agent metadata specifically
- "is this skill definition correct?" → validate single extension file
- "prep for release" → validate metadata as part of pre-release checks
Trigger Patterns Reference
| Pattern | Example | Action | |---------|---------|--------| | Validate request | "validate metadata" | Run `aiwg validate-metadata` | | Check request | "check metadata" | Run `aiwg validate-metadata` | | Validate extensions | "validate extensions" | Run `aiwg validate-metadata` | | Quality check | "metadata quality" | Run `aiwg validate-metadata` | | Single file | "validate this agent file" | Run `aiwg validate-metadata <path>` | | Directory-scoped | "validate just security skills" | Run `aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills` | | CI mode | "validate metadata for CI" | Run `aiwg validate-metadata --ci --format json --strict` |
Behavior
When triggered:
1. **Extract intent**:
- Is validation scoped to a specific extension type (agents, skills, commands, behaviors)?
- Is a specific file path mentioned?
- Is verbose output needed?
2. **Run the appropriate command**:
# Default: validate all extensions aiwg validate-metadata # Recursive validation of a directory aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills # Strict CI output aiwg validate-metadata --ci --format json --strict # Validate a single file aiwg validate-metadata agentic/code/addons/aiwg-utils/skills/my-skill/SKILL.md
3. **Report the result** — list all errors with field, location, and fix hint; summarize pass/fail count.
What Gets Validated
| Check | Description | |-------|-------------| | Required fields | `id`, `name`, `description`, `platforms` present | | ID format | Lowercase, hyphen-separated, no spaces | | Version format | CalVer (`YYYY.M.PATCH`) for versioned extensions | | Trigger phrases | At least one trigger phrase defined per skill | | Tool declarations | Tools listed in `allowedTools` are valid AIWG tools | | Platform list | All platforms are valid (`claude-code`, `hermes`, `openclaw`, etc.) | | Handler path | `handler` field points to an existing file (for commands) | | Duplicate IDs | No two extensions share the same ID |
Error Format
Errors are reported in this format:
ERROR skills/my-skill/SKILL.md:12 missing required field: `id`
Fix: Add `id: my-skill` to the YAML frontmatter
WARN agents/my-agent/AGENT.md:3 version format invalid: `1.0.0`
Fix: Use CalVer format: `2026.4.0`
PASS commands/my-command/COMMAND.mdExamples
Example 1: Full validation before release
**User**: "Run metadata validation before I tag the release"
**Extraction**: Full validation, no scope restriction
**Action**:
aiwg validate-metadata
**Response**: "Validated 47 extension definitions. 45 passed. 2 errors found:
- `skills/soul-blend/SKILL.md` line 4: platforms list is empty — add at least one platform
- `agents/test-engineer/AGENT.md` line 9: duplicate ID 'test-engineer' conflicts with `agents/testing/test-engineer/AGENT.md`"
Example 2: Scoped validation for skills only
**User**: "Check only the security-engineering skills metadata"
**Extraction**: Directory-scoped to security-engineering skills
**Action**:
aiwg validate-metadata --recursive agentic/code/frameworks/security-engineering/skills
**Response**: "Validated 38 skill definitions. All passed."
Example 3: Single file validation
**User**: "Is this agent definition valid?" (with path provided)
**Extraction**: Single file path
**Action**:
aiwg validate-metadata agentic/code/addons/aiwg-utils/skills/new-skill/SKILL.md
**Response**: "1 error: missing required field `id` in frontmatter (line 3). Add `id: new-skill` to fix."
Example 4: CI pipeline usage
**Action**:
aiwg validate-metadata --ci --format json --strict
**Output**:
{
"total": 47,
"passed": 45,
"failed": 2,
"errors": [
{ "file": "skills/soul-blend/SKILL.md", "line": 4, "field": "platforms", "message": "platforms list is empty" }
]
}References
- @$AIWG_ROOT/src/cli/handlers/utilities.ts — Command handler
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference
- @$AIWG_ROOT/src/extensions/types.ts — Extension type definitions and schema
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

