stolt/skill-md

A library abstracting a SKILL.md file.

Maintainers

Package info

github.com/raphaelstolt/skill-md

pkg:composer/stolt/skill-md

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v0.0.3 2026-05-12 07:38 UTC

This package is auto-updated.

Last update: 2026-05-12 12:47:05 UTC


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.