skill-md
May 12, 2026 ยท View on GitHub
A PHP library to abstract a SKILL.md file.
Installation
composer require stolt/skill-md
Usage
Creating a SKILL.md representation from an array
$skillMdData = [
'name' => 'Code Review',
'description' => 'Performs automated code reviews.',
'body' => '# Some longer, skill describing Markdown content.',
'version' => '1.0.0',
'tags' => ['php', 'qa'],
];
$skillMd = SkillMd::fromArray($skillMdData);
Creating a SKILL.md representation via class properties
$skillMd = new SkillMd(
'Code Review',
'Performs automated code reviews.',
'# Some longer, skill describing Markdown content.',
['version' => '1.0.0', 'license' => 'MIT', 'tags' => ['php', 'qa']]
);
$skillMdViaFactory = SkillMd::create(
'Code Review',
'Performs automated code reviews.',
'# Some longer, skill describing Markdown content.',
['version' => '1.0.0', 'license' => 'MIT', 'tags' => ['php', 'qa']]
);
Accessing SKILL.md data
$skillName = $skillMd->name();
$skillDescription = $skillMd->description();
$skillBody = $skillMd->body();
$skillVersion = $skillMd->version();
$skillTags = $skillMd->tags();
$skillLicense = $skillMd->get('license');
if ($skill->has('unsupported-field') === false) {
echo 'This field is not supported.';
}
if ($skill->get('unsupported-field') === null) {
echo 'This field is not supported and has no value.';
}
Turning a SKILL.md representation into Markdown
The programmatical representation:
$skillMd = new SkillMd(
'Code Review',
'Performs automated code reviews.',
'# Some longer, skill describing Markdown content',
['version' => '1.0.0', 'license' => 'MIT', 'tags' => ['php', 'qa']]
);
$markdown = $skillMd->toMarkdown();
The Markdown representation:
---
name: code-review
description: Performs automated code reviews.
version: 1.0.0
license: MIT
tags:
- php
- qa
---
# Some longer, skill describing Markdown content
Running tests
composer test
License
This library is licensed under the MIT license. Please see LICENSE.md for more details.
Changelog
Please see CHANGELOG.md for more details.
Contributing
Please see CONTRIBUTING.md for more details.