You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a validation check that ensures every skills/*/SKILL.md file has valid YAML frontmatter with required fields and that the name field matches its directory name.
Problem / Motivation
If a skill's name field in the YAML frontmatter doesn't match its directory name, or if required fields are missing, the skill won't be discoverable or will behave unexpectedly when invoked. This is invisible until someone tries to use the skill.
Proposed Solution
A bash script (or CI step) that validates every SKILL.md frontmatter.
Implementation Details
Required fields check: Every SKILL.md must have name and description in frontmatter
Name-directory match: name value must equal the parent directory name (e.g., skills/forge-setup-project/SKILL.md → name: forge-setup-project)
Optional fields validation: If allowed-tools is present, verify it's a comma-separated list of known tool names
Parent: #1
Summary
Add a validation check that ensures every
skills/*/SKILL.mdfile has valid YAML frontmatter with required fields and that thenamefield matches its directory name.Problem / Motivation
If a skill's
namefield in the YAML frontmatter doesn't match its directory name, or if required fields are missing, the skill won't be discoverable or will behave unexpectedly when invoked. This is invisible until someone tries to use the skill.Proposed Solution
A bash script (or CI step) that validates every SKILL.md frontmatter.
Implementation Details
nameanddescriptionin frontmatternamevalue must equal the parent directory name (e.g.,skills/forge-setup-project/SKILL.md→name: forge-setup-project)allowed-toolsis present, verify it's a comma-separated list of known tool namesscripts/Alternatives Considered
grep/sedis sufficient for the small number of fields.Acceptance Criteria
nameanddescriptionare present in every SKILL.mdnamematches directory name