.github/skills/validate-agent-files/SKILL.md
Validates AI coding assistant customization files (agents, skills, prompts, instructions) for correct format and structure. Works with GitHub Copilot, Claude Code, Codex, OpenCode, and other providers. Use when checking if agent files are properly configured, troubleshooting agent issues, or before committing new customization files.
npx skillsauth add jburlison/metaprompts validate-agent-filesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Validates that agent, skill, prompt, and instruction files follow the correct format and structure.
This skill works across multiple AI coding assistant providers:
| Provider | Base Folder |
|----------|-------------|
| GitHub Copilot | .github/ |
| Claude Code | .claude/ |
| Codex | .codex/ |
| OpenCode | .config/opencode/ |
Throughout this document, <provider>/ represents your chosen provider's base folder.
.github customization filesDetermine the type based on location and extension:
<provider>/agents/*.md → Agent file (user-invokable)<provider>/agents/*.subagent.agent.md → Sub-agent file (workflow component)<provider>/skills/*/SKILL.md → Skill file<provider>/prompts/*.prompt.md → Prompt file<provider>/instructions/*.instructions.md → Instruction file<provider>/agents/*.md)Required Structure:
---
name: agent-name
description: When to use this agent (should include examples)
user-invokable: true # Optional, defaults to true
---
[System prompt body]
Supported Frontmatter Attributes:
name (required) - Agent identifierdescription (required) - When/how to use, with examplesuser-invokable (optional) - Set to false for sub-agents (default: true)tools - List of allowed toolsmodel - Specific model to usehandoffs - Other agents this can delegate toChecks:
--- delimitersname field exists and is non-emptydescription field exists (recommend 50+ characters with examples)tools specified, they are valid tool names.subagent.agent.md, verify user-invokable: false is setNaming Convention Checks:
<name>.agent.md or <name>.md<name>.subagent.agent.md with user-invokable: falseCommon Issues:
--- delimitersuser-invokable: false.subagent.agent.md naming convention<provider>/skills/*/SKILL.md)Required Structure:
---
name: skill-name
description: What this skill does and when to use it.
---
[Skill instructions body]
Supported Frontmatter Attributes:
name (required) - Must match parent directory name, lowercase with hyphensdescription (required) - Max 1024 chars, describes function and triggerslicense (optional) - License informationcompatibility (optional) - Environment requirementsmetadata (optional) - Key-value pairs for additional infoallowed-tools (optional) - Space-delimited pre-approved toolsChecks:
SKILL.md inside a directoryname matches parent directory name exactlyname is lowercase, alphanumeric with hyphens onlyname doesn't start/end with hyphen or have consecutive hyphensdescription is 1-1024 charactersCommon Issues:
name doesn't match directory name<provider>/prompts/*.prompt.md)Required Structure:
---
mode: agent
description: What this prompt does
---
[Prompt template with {{variables}}]
Supported Frontmatter Attributes:
mode (optional) - One of: agent (default), ask, edit, generatetools (optional) - Available tools for this promptdescription (optional but recommended) - What the prompt accomplishesChecks:
.prompt.md extensionmode present, it's a valid value{{variableName}} syntaxCommon Issues:
.md instead of .prompt.md)mode value<provider>/instructions/*.instructions.md)Required Structure:
---
applyTo: "**/*.ts"
---
[Contextual instructions]
Supported Frontmatter Attributes:
applyTo (required) - Glob pattern(s) for when instructions applyChecks:
.instructions.md extensionapplyTo field existsapplyTo contains valid glob pattern(s)Common Issues:
applyTo field## Validation: [filename]
**Type:** [Agent|Skill|Prompt|Instruction]
**Status:** ✅ Valid | ⚠️ Warnings | ❌ Invalid
### Issues
- [Issue 1 with line number if applicable]
- [Issue 2]
### Recommendations
- [Suggestion for improvement]
When validating all files, provide summary:
## Validation Summary
| Type | Total | Valid | Warnings | Invalid |
|------|-------|-------|----------|---------|
| Agents | X | X | X | X || Sub-Agents | X | X | X | X || Skills | X | X | X | X |
| Prompts | X | X | X | X |
| Instructions | X | X | X | X |
### Files Requiring Attention
- [List files with issues]
development
Generates documentation and usage guides for agents, skills, prompts, and instructions. Works with GitHub Copilot, Claude Code, Codex, OpenCode, and other providers. Use when onboarding team members, creating README files for your customizations, or generating usage examples for existing agents.
development
Analyzes existing agents, skills, prompts, and instructions to identify overlaps, redundancies, and conflicts. Works with GitHub Copilot, Claude Code, Codex, OpenCode, and other providers. Use before creating new customization files to avoid duplication, when consolidating agents, or when troubleshooting conflicting behaviors.
development
Contains the complete specifications for AI coding assistant customization files including agents, skills, prompts, and instructions. Works with GitHub Copilot, Claude Code, Codex, OpenCode, and other providers. Use this skill when you need to reference the correct file format, required fields, supported attributes, file locations, or VS Code settings for any customization file. Follows the Agent Skills open standard (agentskills.io).
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.