stolt/skill-md

A library abstracting a SKILL.md file.

Maintainers

👁 Raphael Stolt

Package info

github.com/raphaelstolt/skill-md

pkg:composer/stolt/skill-md

Statistics

Installs: 37

Dependents: 1

Suggesters: 0

Stars: 1

Open Issues: 0

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

Requires

  • php: >=8.2

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT 98c0d1766287e641d43367ef95a5c66ad9cb4b0e

  • Raphael Stolt <raphael.stolt.woop@gmail.com>

phpfileabstractioncontentaiagent-skillsSKILL.md

This package is auto-updated.

Last update: 2026-06-21 14:02:33 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.