using-cesiumjs-skills
Use when starting any conversation involving CesiumJS development - provides orientation on available domain skills and how they activate
git clone --depth 1 https://github.com/CesiumGS/cesiumjs-skills /tmp/using-cesiumjs-skills && cp -r /tmp/using-cesiumjs-skills/skills/using-cesiumjs-skills ~/.claude/skills/using-cesiumjs-skillsSKILL.md
# CesiumJS Skills Orientation This plugin provides 14 domain skills covering CesiumJS v1.142 (~550 public symbols). Skills activate passively via description matching — no explicit invocation is required. ## Available Skills | Skill | Use when... | |---|---| | `cesiumjs-viewer-setup` | Initializing a CesiumJS app, configuring widgets, setting Ion tokens, bootstrapping a globe | | `cesiumjs-camera` | Positioning the camera, flyTo animations, constraining navigation, entity tracking | | `cesiumjs-entities` | Adding points/labels/models/polygons, loading GeoJSON/KML/CZML/GPX data through the high-level DataSource layer | | `cesiumjs-3d-tiles` | Loading tilesets, MVT as runtime 3D Tiles, styling features, querying metadata, voxels, point clouds, clipping | | `cesiumjs-imagery` | Adding/swapping base map layers, configuring imagery providers, split-screen comparisons | | `cesiumjs-terrain-environment` | Configuring terrain, querying heights, atmosphere/sky/fog/lighting/shadows, panoramas | | `cesiumjs-primitives` | Performance-critical static geometry, custom shapes, batching, BufferPrimitive collections, GeoJsonPrimitive | | `cesiumjs-materials-shaders` | Fabric materials, ImageBasedLighting, post-processing effects, bloom, tonemapping | | `cesiumjs-custom-shader` | Writing GLSL shader bodies for Model/Cesium3DTileset/VoxelPrimitive; reading feature IDs or structural metadata inside a shader | | `cesiumjs-time-properties` | Time-dynamic entity attributes, simulation clock, interpolation, sampled/callback properties | | `cesiumjs-spatial-math` | Coordinate conversions, ellipsoid geometry, model matrices, intersection tests, projections | | `cesiumjs-interaction` | User clicks on the globe, multi-modifier input actions, entity/feature selection, hover effects, drag interactions | | `cesiumjs-models-particles` | glTF/GLB model loading, edge display modes, animations, particle effects (fire, smoke) | | `cesiumjs-core-utilities` | HTTP requests via Resource, Color, Event, error handling, helper functions | ## Cross-Domain Questions When a question spans multiple domains, consult `docs/DOMAINS.md` — the definitive ownership map assigning every public CesiumJS class, function, and enum to exactly one skill. ## Runtime Verification Chrome DevTools MCP is available for browser-based iteration: console error checking, network inspection, screenshots, and Lighthouse audits.
CesiumJS 3D Tiles - Cesium3DTileset, MVTDataProvider, styling, metadata, feature picking, voxels, point clouds, I3S, Gaussian splats, clipping planes and polygons. Use when loading 3D Tiles tilesets or Mapbox Vector Tiles as runtime 3D Tiles, styling building/vector features, querying metadata properties, working with voxels or point clouds, or clipping spatial data.
CesiumJS camera control - Camera, flyTo, lookAt, setView, ScreenSpaceCameraController, CameraEventAggregator, flight animation. Use when positioning the camera, creating flyTo animations, constraining user navigation, tracking entities, or converting between screen and world coordinates.
CesiumJS core utilities and networking - Resource, Color, Event, Request, RequestScheduler, error handling, helper functions, feature detection. Use when fetching remote data, managing HTTP requests, working with colors, handling events, debugging errors, or using utility functions like defined, clone, or buildModuleUrl.
CustomShader authoring — vertexShaderText and fragmentShaderText against VertexInput, FragmentInput, FeatureIds, Metadata, czm_modelMaterial. Use when reading EXT_mesh_features or EXT_structural_metadata property textures/tables, vertex displacement, or shading VoxelPrimitive.
CesiumJS entities and data sources - Entity, EntityCollection, DataSource, GeoJsonDataSource, KmlDataSource, CzmlDataSource, Graphics types, Visualizers. Use when adding points, labels, models, polygons, or polylines to the map, loading GeoJSON/KML/CZML/GPX data, or working with the high-level Entity API.
CesiumJS imagery layers - ImageryProvider, ImageryLayer, ImageryLayerCollection, WMS, WMTS, Bing, OpenStreetMap, ArcGIS, Mapbox, tile discard policies. Use when adding or swapping base map layers, configuring imagery providers, layering multiple map sources, or creating split-screen imagery comparisons.
CesiumJS interaction and picking - ScreenSpaceEventHandler, multi-key KeyboardEventModifier input actions, Scene.pick, Scene.drillPick, Scene.pickPosition, mouse and touch events. Use when handling user clicks on the globe, selecting entities or 3D Tiles features, registering modifier-key shortcuts, implementing hover effects, or building drag-based interactions.
CesiumJS materials and post-processing — Material, Fabric JSON, MaterialAppearance, ImageBasedLighting, PostProcessStage, PostProcessStageLibrary, bloom, depth of field, ambient occlusion, FXAA, tonemapping, BlendingState. Use when defining Fabric materials for entities or primitives, configuring PBR image-based lighting, or adding screen-space post-processing effects.