stolt/skill-md
A library abstracting a SKILL.md file.
Maintainers
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.
Provides
None
Conflicts
None
Replaces
None
MIT 98c0d1766287e641d43367ef95a5c66ad9cb4b0e
- Raphael Stolt <raphael.stolt.woop@gmail.com>
README
👁 Test Status
👁 Lint Status
👁 Version
👁 Downloads
👁 PHP Version
👁 PDS Skeleton
👁 Lean dist package
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.
