Skip to main content
ClaudeWave
Skill83 repo starsupdated 8d ago

using-cesiumjs-skills

Use when starting any conversation involving CesiumJS development - provides orientation on available domain skills and how they activate

Install in Claude Code
Copy
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-skills
Then start a new Claude Code session; the skill loads automatically.

SKILL.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-tilesSkill

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-cameraSkill

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-utilitiesSkill

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.

cesiumjs-custom-shaderSkill

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-entitiesSkill

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-imagerySkill

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-interactionSkill

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-shadersSkill

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.