add-feature-extractor

Scaffold a new libvmaf feature extractor with source, header, registry, and smoke test files.

3|1|Updated May 28, 2026
One-click install
npx skills add https://github.com/VMAFx/vmafx --skill add-feature-extractor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-feature-extractor
Source: https://github.com/VMAFx/vmafx/tree/main/.claude/skills/add-feature-extractor
Command: npx skills add https://github.com/VMAFx/vmafx --skill add-feature-extractor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill removes the repetitive boilerplate involved in adding a new perceptual feature extractor, helping developers create a working metric skeleton quickly and consistently.

Core Features & Use Cases

  • Source Scaffolding: Generates matching C source and header files for a new extractor.
  • Registry Integration: Patches the extractor registry and build system so the new feature is compiled and discoverable.
  • Validation Support: Creates a smoke test and documentation stub to keep the new metric testable and maintainable.
  • Use Case: When a team wants to prototype a new quality metric, this Skill can produce the scalar reference implementation, wire it into the project, and leave clear placeholders for later SIMD or GPU work.

Quick Start

Use the add-feature-extractor skill to scaffold a new extractor named psnr and wire its source, test, and documentation stubs into the project.

Frequently Asked Questions about add-feature-extractor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new feature extractor to libvmaf?

Adding a new feature extractor to libvmaf requires generating C source and header files, patching the extractor registry, updating the meson build system, and adding a passing finite-value smoke test against sample YUV inputs.

What is the process for scaffolding a new perceptual quality metric?

Scaffolding a new perceptual quality metric involves template-based file generation for source and headers, source registration updates, meson build edits, and creating a finite-value smoke test against sample YUV inputs.

Does scaffolding a metric include setting up the build system and tests?

Yes, scaffolding includes patching the meson build system for compilation, updating source registration for discoverability, and creating a smoke test with documentation stubs to keep the new metric testable and maintainable.

Can I use this scaffolding approach for SIMD or GPU backend development?

This scaffolding approach creates a scalar reference implementation first, leaving clear placeholders for later SIMD or GPU backend development when prototyping a new quality metric.

Why do I need collision checks when adding a feature extractor?

Collision checks are required when adding a feature extractor to ensure the new perceptual metric does not conflict with existing entries during source registration updates in the registry.