Based on the project documentation, the system identifies each skill by parsing metadata embedded directly within the files or their directory structures. Here is exactly how it works:
1. YAML Front-Matter (The Unique Identifier)
Each Markdown skill file (SKILL.md) must contain YAML front-matter at the very top of the document. This front-matter requires a specific format containing two mandatory fields:
name: This acts as the unique skill identifier for the agent. Furthermore, the value in thenamefield must exactly match the name of the directory the skill resides in.description: A human-readable description of what the skill does and when the agent should use it.
Example of a skill file's structure:
---
name: orchardcore.example
description: A description of what this skill does and when to use it.
---
# Skill Title
Skill content goes here...
2. System Parsers
The base MCP engine (CrestApps.AgentSkills.Mcp) handles the discovery and extraction of this information using dedicated internal parsers:
SkillFrontMatterParser: Specifically built to parse.mdfiles and extract the YAML front-matter metadata.SkillYamlParser: If a skill is defined using a raw YAML file (SKILL.yamlorSKILL.yml) instead of Markdown, this parser extracts the identicalnameanddescriptionidentifiers.SkillFileParser: A unified parser that detects the file format and delegates the job to the correct parser above.
Through this combination of standardized front-matter and automated parsers, the MCP engine correctly identifies the name and body of the skill, translating it into an MCP Prompt or Resource for the AI agent to use.