Install any skill in seconds. Free to start, no credit card required.
Get Started Free →google/bindings-synchronization
Guidelines and SOP for synchronizing public C++ API changes (methods, enums, options structs) to Java (Android JNI) and JavaScript/TypeScript (Web/WASM Embind).
Passed 18 of 20 test cases with the skill, and 15 of 20 without it.
and 1 more in the full report
4 fixed16 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
When AmbientOcclusionOptions in filament/include/filament/Options.h is modified, what utility must be run in tools/beamsplitter to update Web bindings and C++ JSON serialization?
| Checked | Without skill | With skill |
|---|---|---|
| Instructs running go run . inside tools/beamsplitter | Missed | Passed |
The instructions your model reads when the skill loads.
When making changes to public Filament C++ APIs, AI agents must ensure the changes are mirrored in the Java and JavaScript/TypeScript binding layers.
You must check and update the language bindings if your changes touch any public headers under filament/include/filament/, specifically:
View, Engine, Camera, LightManager, RenderableManager).AmbientOcclusionOptions, BloomOptions, FogOptions).
[!IMPORTANT] If you modify options structs defined in
filament/include/filament/Options.h:
- Run
apigento regenerateView.javaandView.cpp(which host the Java POJO options structs and JNI bridges):python3 tools/apigen/generate_android.py -j- Run
beamsplitterto update JavaScript/TypeScript bindings and C++ JSON settings serialization:cd tools/beamsplitter && go run .
BlendMode, QualityLevel, AntiAliasing under filament/include/filament/ or nested inside classes).All JNI JNI-exported functions use automatic symbol resolution (dynamic mapping), meaning they are mapped by signature rather than a static registration table.
android/filament-android/src/main/java/com/google/android/filament/<ClassName>.javaandroid/filament-android/src/main/cpp/<ClassName>.cpppublic (unless the API is strictly internal to the Java package). Follow Java naming conventions (camelCase).setFoo), always add the corresponding Getter (e.g., isFoo or getFoo).private static native.extern "C" JNIEXPORT <ReturnType> JNICALL Java_com_google_android_filament_<ClassName>_<NativeMethodName>.test cases passed, vs 15 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.