stolt / skill-md
A library abstracting a SKILL.md file.
v0.0.3
2026-05-12 07:38 UTC
Requires
- php: >=8.2
Requires (Dev)
- dg/bypass-finals: ^1.9
- friendsofphp/php-cs-fixer: ^3.70.1
- peckphp/peck: ^0.1.2
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^11.4.4
- stolt/lean-package-validator: ^4.4||^5.0
Suggests
- stolt/list-skills-command: Allows introspection of SKILL.md files from the console.
- stolt/skill-validator: Allows validation of SKILL.md files or raw SKILL.md content.
README
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.