AI-agent-native toolkit for building polished CesiumJS geospatial apps. Write a prompt. Get a production-grade globe-based analytics app that looks designed, not generated.
Built for geospatial analysts, GIS practitioners, and AEC professionals. Inspired by heygen-com/hyperframes — the same skills-first, agent-first philosophy, applied to interactive 3D maps.
| Piece | Purpose | Install |
|---|---|---|
Skill (skill/) |
Procedural knowledge Claude uses to make correct, polished Cesium decisions — Viewer setup, 3D Tiles, cinematics, overlays, design system. | Copy skill/ into .claude/skills/cesium-skill/ in your project (or register globally). |
CLI (cesium-skill) |
npx cesium-skill init my-app scaffolds a starter. Two templates: react (Vite + React + TS + Tailwind + shadcn/ui, default) or vanilla (plain JS + Vite). |
npm i -g cesium-skill or use npx. |
MCP server (@cesium-skill/mcp) |
Live access for agents: validate tokens, search ion assets, list providers, inspect 3D Tiles metadata, check ion processing status, geocode places, scaffold projects, and generate_snippet for codegen from established patterns. |
Add to your MCP config (see mcp/README.md). |
You can use any one alone. They're designed to compose.
npx cesium-skill init my-globe
cd my-globe
cp .env.example .env
# edit .env — replace `your_token_here` with your Cesium ion token
# (https://cesium.com/ion — free tier is plenty)
pnpm install
pnpm devOpen http://localhost:5173. You get:
- Cesium World Terrain + Bing aerial
- USGS earthquakes (last 30 days) streamed from the public feed
- Magnitude legend, layer panel, time slider, camera bookmarks
- Dark theme, Tailwind + shadcn/ui, CSS-variable design tokens
-
Add the skill: copy
skill/to.claude/skills/cesium-skill/or register with your agent's skill loader. -
(Optional) Register the MCP server:
-
Prompt:
Build a CesiumJS app that visualizes USGS earthquakes from the last 30 days. Include a time slider, magnitude legend, and a camera bookmark for the Ring of Fire. Match my existing Tailwind theme.
The skill orchestrates: scaffolds → wires data → composes overlays → polishes camera/motion → hands back a running app.
Following the community consensus:
- Skill = how to do it (procedural knowledge, decisions, patterns).
- CLI = humans and agents with shell access can scaffold.
- MCP = live access to Cesium ion / geocoding / validation / codegen that can't be encoded as static text.
Knowledge lives once (the skill). The CLI and MCP reference the same templates and registry so there's no drift.
CesiumGS/cesium-ai-integrations is the official Cesium AI effort. It takes a modular, multi-server approach: separate MCP servers for camera control, entity management, animation, and geolocation, plus a codegen MCP and a Context7 integration for live API docs. Strengths: clean separation of concerns, official credibility, runtime control APIs.
cesium-skill takes a unified, single-server approach optimized for the
build-an-app-from-a-prompt workflow. One MCP server. One CLI. One skill.
Everything composable, no multi-process orchestration. Strengths: lower
configuration friction, a real scaffold story, an opinionated design system,
the procedural Skill layer.
The two are complementary, not competing. Use the official servers when
you need the official runtime control surface; use this when you want a
batteries-included build-and-ship toolkit. We absorb good ideas from the
official effort (Context7 references for live API docs, runtime tileset
inspection, codegen) — see skill/SKILL.md for the Context7 library IDs.
cesium-skill/
├── skill/ # Claude Agent Skill (SKILL.md + references + templates)
├── cli/ # npx cesium-skill
├── mcp/ # @cesium-skill/mcp (MCP server)
└── registry/ # Shared catalog of overlays, presets, datasets
See the plan document for the architectural rationale.
v1 targets CesiumJS (web) only with a GIS-analyst persona default. Cesium for Unreal / Unity / Omniverse are on the v2 roadmap.
Apache-2.0.
{ "mcpServers": { "cesium-skill": { "command": "npx", "args": ["-y", "@cesium-skill/mcp"] } } }