skill-validator CLAUDE.md

A repository guide for a PHP library that parses and validates SKILL.md files against their format specification. It documents the project structure, commands, coding rules, and architecture.

In plain words
What is it for?
Use it when developing, testing, formatting, analysing, or preparing commits for the skill-validator package.
Why use it?
It gives the coding agent the local conventions and checks needed to change the library consistently.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/raphaelstolt/skill-validator/claude-md
Clone the repo
git clone --depth 1 https://github.com/raphaelstolt/skill-validator
Per session 441 This file is loaded in full into every session.
When invoked 441 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00441 $0.00441
Opus 5 $0.00220 $0.00220
Sonnet 5 $0.00088 $0.00088
Haiku 4.5 $0.00044 $0.00044

Measured yesterday against content hash 3340da86f5c5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

skill-validator CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 47 lines

What it actually says

skill-validator

PHP library for parsing and validating SKILL.md files against the SKILL.md format specification.

Project Info

  • Language: PHP >= 8.2
  • Namespace: Stolt\Ai\Skill\
  • Package: stolt/skill-validator

Common Commands

composer test                   # Run PHPUnit tests
composer test-agentic           # Run PHPUnit tests with agentic output
composer test-with-coverage     # Run tests with coverage report
composer cs-fix                 # Auto-fix coding style (PSR-2)
composer cs-lint                # Check coding style compliance
composer static-analyse         # Run PHPStan (level 5)
composer spell-check            # Check for spelling errors
composer validate-gitattributes # Validate .gitattributes
composer pre-commit-check       # Run all checks before committing

Code Conventions

  • PSR-2 coding standard enforced via php-cs-fixer
  • Strict types required: declare(strict_types=1); in every file
  • Final classes by default
  • Readonly properties and constructor property promotion preferred
  • Static factory methods with private constructors for immutable objects
  • PHPStan level 5 — all types must be explicit
  • Follow Conventional Commits for commit messages

Architecture

  • src/Validator.php — main validator; validate(), validateFile(), validateContent()
  • src/ValidationResult.php — immutable result with isValid(), errors(), metadata(), body()
  • src/Metadata.php — immutable metadata container

Testing

  • Framework: PHPUnit 11 with #[Test] attributes
  • DG\BypassFinals is enabled in bootstrap to allow mocking final classes
  • Base TestCase provides setUpTemporaryDirectory() and removeDirectory() helpers
  • Tests live in tests/ under namespace Stolt\Ai\Skill\Tests
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 47 lines · 441 tokens per session scan A 3340da86f5c5

Subscribe to this mod's changes

skill-validator CLAUDE.md is an instructions file published in the GitHub repository raphaelstolt/skill-validator (2 stars, last pushed 4d ago), licensed MIT. It adds 441 tokens to every session, about $0.0022 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

skill_steward AGENTS.md

Instructions for Arenukvern/skill_steward, covering agents.md — map (not encyclopedia), start here, install skill steward (consumers), non-negotiables and guild skills (in-repo).

Arenukvern/skill_steward · 2,020 tokens

coding-agents-skills AGENTS.md

Instructions for svngoku/coding-agents-skills, covering coding-agents-skills — agent instructions, repository overview, repository structure, skill conventions and 1. yaml frontmatter (required).

svngoku/coding-agents-skills · 2,246 tokens

skill_steward CLAUDE.md

Instructions for Arenukvern/skill_steward, a project described as: “What’s the thing?” You’d answer: “Skills that teach you how to maintain skills & repos”. Engineering Stewardship for any repository (app, library, tool), a structural governance and quality layer for agent-operated engineering repos.

Arenukvern/skill_steward · 3 tokens

catch-admin AGENTS.md

Instructions for JaguarJack/catch-admin, covering catchadmin v5 - ai agent guidelines, role, 规则, 技术栈 and project 目录说明.

JaguarJack/catch-admin · 1,778 tokens

z-engine AGENTS.md

Instructions for lisachenko/z-engine, covering working on z-engine, the one rule that is non-negotiable: version matching, branch model, generated engine definitions — never hand-edit and regenerating without docker (native mode).

lisachenko/z-engine · 5,224 tokens

instructor-php AGENTS.md

Instructions for cognesy/instructor-php, covering key reference files, monorepo root, individual subpackages, code style and agents package style.

cognesy/instructor-php · 3,583 tokens