Guides the addition of features to the MusicXML API library, ensuring lean design and correct layer wiring.
Install
mkdir -p .claude/skills/mx-api-add-feature && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13206" && unzip -o skill.zip -d .claude/skills/mx-api-add-feature && rm skill.zipInstalls to .claude/skills/mx-api-add-feature
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use this skill when the user wants to add a MusicXML feature to the `mx::api` layer. This skill provides a step-by-step guide to add something to mx::api and wire it up through mx::impl. It may also help answer the question "how do I use {{xyz}} feature of MusicXML". If the feature is not yet included in the api layer then it may be necessary to open a PR adding support. This skill is also useful when implementing PRs with names like "Add support for segno" or "Repeats are inaccessible".Key capabilities
- →Identify MusicXML elements and attributes not yet exposed in the API
- →Confirm `mx::core` models the target elements
- →Decide the minimal API surface for a feature
- →Add or update enums and plain-old-data types in `mx::api`
- →Wire new data types to the DOM through the `mx::impl` reader/writer layer
- →Run unit and corpus roundtrip tests to verify changes
How it works
The skill guides the user through understanding the feature, adding it to the `mx::api` data model, wiring it through the `mx::impl` translation layer, and running tests.
Inputs & outputs
When to use mx-api-add-feature
- →Adding support for a new MusicXML element
- →Exposing library features to the API
- →Extending the MusicXML object model
About mx-api-add-feature
Provides a step-by-step process for implementing features in the `mx::api` layer, ensuring they are correctly mapped through `mx::impl` without bloat.
>
When not to use it
- →When the feature is already exposed in `mx::api`
- →When the feature is not modeled in `mx::core`
- →When the goal is to add every element or attribute without curation
Limitations
- →It does not handle changes to the `gen/`/`mx::core` layer
- →It focuses on adding features to the API, not general library development
- →It requires understanding of the `mx-api-doctrine` skill
How it compares
This skill provides a structured, layered approach to extending the `mx` library's public interface, ensuring minimal bloat and proper integration, unlike directly modifying the generated core model.
Compared to similar skills
mx-api-add-feature side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| mx-api-add-feature (this skill) | 0 | 3mo | No flags | Advanced |
| arm-cortex-expert | 29 | 5mo | No flags | Advanced |
| game-engine-resources | 14 | 5mo | No flags | Advanced |
| pc-games | 5 | 8mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
arm-cortex-expert
sickn33
Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD). Decades of experience writing reliable, optimized, and maintainable embedded code with deep expertise in memory barriers, DMA/cache coherency, interrupt-driven I/O, and peripheral drivers.
game-engine-resources
gmh5225
Guide for game engine development resources including engine source code, plugins, and development guides. Use this skill when researching game engines (Unreal, Unity, Godot, custom engines), engine architecture, or game development frameworks.
pc-games
davila7
PC and console game development principles. Engine selection, platform features, optimization strategies.
mlir-development
gmh5225
Expertise in MLIR (Multi-Level Intermediate Representation) and CIR (Clang IR) development for domain-specific compilation and high-level optimizations. Use this skill when building ML compilers, domain-specific languages, or working with multi-level compilation pipelines.
port-c-module
RediSearch
Guide for porting a C module to Rust
compiler-development
gmh5225
Expertise in compiler development using LLVM infrastructure including frontend design, IR generation, optimization passes, and code generation. Use this skill when building custom programming languages, implementing DSL compilers, or working on compiler internals.