Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cognitedata avatar

Reveal 3d

  • 1.9k installs
  • 5 repo stars
  • Updated August 4, 2026
  • cognitedata/builder-skills

reveal-3d is an agent skill that Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding.

About

Add a Cognite Reveal 3D viewer to a Flows app by copying the bundled source into the target app Renders CAD models from CDF with support for model browsing direct model revision IDs or FDM linked assets FDM instance to visualize ARGUMENTS The user wants to embed an interactive Cognite Reveal viewer for CDF 3D CAD content in a Flows app Do not use this skill for static diagrams graph visualizations or unrelated custom Three js scenes The app uses React TypeScript and is wrapped in cognite dune auth Flows auth The app has a QueryClientProvider from tanstack react query The CDF project has 3D models or the user has supplied direct model revision IDs For FDM linked 3D the instance must be linked through Core DM CogniteVisualizable object3D CogniteCADNode

  • description: "Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. U
  • argument-hint: "[FDM instance variable name or description, e.g. 'asset' or 'selectedEquipment']"
  • Add a Cognite Reveal 3D viewer to a Flows app by copying the bundled source into the target app. Renders CAD models from
  • Follow reveal-3d SKILL.md steps and documented constraints.
  • Follow reveal-3d SKILL.md steps and documented constraints.

Reveal 3d by the numbers

  • 1,888 all-time installs (skills.sh)
  • +2 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #675 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

reveal-3d capabilities & compatibility

Capabilities
description: "integrates a local cognite reveal · argument hint: "[fdm instance variable name or d · add a cognite reveal 3d viewer to a flows app by · follow reveal 3d skill.md steps and documented c
Use cases
orchestration
From the docs

What reveal-3d says it does

description: "Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding 3D viewer, 3D visualization, Reveal, CAD model, RevealProvider, R
SKILL.md
argument-hint: "[FDM instance variable name or description, e.g. 'asset' or 'selectedEquipment']"
SKILL.md
Add a Cognite Reveal 3D viewer to a Flows app by copying the bundled source into the target app. Renders CAD models from CDF, with support for model browsing, direct model/revision IDs, or FDM-linked
SKILL.md
npx skills add https://github.com/cognitedata/builder-skills --skill reveal-3d

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.9k
repo stars5
Security audit3 / 3 scanners passed
Last updatedAugust 4, 2026
Repositorycognitedata/builder-skills

When should an agent use reveal-3d and what problem does it solve?

Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding 3D viewer, 3D visualization, Reveal, CAD model, RevealProvider, RevealCanvas, R

Who is it for?

Developers invoking reveal-3d as documented in the skill source.

Skip if: Skip when requirements fall outside reveal-3d documented scope.

When should I use this skill?

Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding 3D viewer, 3D visualization, Reveal, CAD model, RevealProvider, RevealCanvas, R

What you get

Outputs aligned with the reveal-3d SKILL.md workflow and stated deliverables.

  • src/features/reveal-3d/ component bundle
  • configured 3D viewer

By the numbers

  • Exports 5 React components: CacheProvider, Reveal3DResources, RevealCanvas, RevealKeepAlive, RevealProvider
  • Requires 6 core app dependencies including @cognite/reveal and three

Files

SKILL.mdMarkdownGitHub ↗

Reveal 3D Viewer

Add a Cognite Reveal 3D viewer to a Flows app by copying the bundled source into the target app. Renders CAD models from CDF, with support for model browsing, direct model/revision IDs, or FDM-linked assets.

FDM instance to visualize: $ARGUMENTS

Use This When

The user wants to embed an interactive Cognite Reveal viewer for CDF 3D/CAD content in a Flows app.

Do not use this skill for static diagrams, graph visualizations, or unrelated custom Three.js scenes.

Prerequisites

  • The app uses React + TypeScript and is wrapped in @cognite/dune auth (Flows auth).
  • The app has a QueryClientProvider from @tanstack/react-query.
  • The CDF project has 3D models, or the user has supplied direct model/revision IDs.
  • For FDM-linked 3D, the instance must be linked through Core DM (CogniteVisualizable.object3D -> CogniteCADNode).

Integration Workflow

Follow these steps in order. Adapt paths to the target app's conventions instead of inventing new ones.

1. Inspect the target app. Read package.json, vite.config.ts, src/main.tsx, and the app's folder/alias conventions. 2. Install missing dependencies with the app's package manager. See Dependencies. Reuse existing pinned React, Flows, SDK, and React Query versions. 3. Copy the bundle into the app. Copy every file from skills/reveal-3d/code/reveal/ into an app-local feature folder, typically:

   src/features/reveal-3d/

4. Import from the local folder, never from the skill directory or the old external package. With a typical @/* alias:

   import { CacheProvider, RevealKeepAlive, RevealProvider } from '@/features/reveal-3d';

5. Configure Vite and `main.tsx`. Read vite-config.md and apply the process polyfill, manual process/util/assert aliases, three alias, dedupe settings, and worker.format: 'es'. 6. Choose the implementation pattern. Use Pattern B (model browser or direct model ID) unless you already have a DMInstanceRef and confirmed Core DM 3D linkage. For full examples, read implementation.md. 7. Keep provider placement stable. CacheProvider and RevealKeepAlive are always mounted at page/app level. RevealProvider is conditional, only when a model is selected or linked. 8. Run typecheck and build (tsc --noEmit, pnpm build, etc.) and fix any copied-import or dependency issues.

Minimal Example

import { useCallback, useMemo } from 'react';
import type { CogniteClient } from '@cognite/sdk';
import {
  CacheProvider,
  Reveal3DResources,
  RevealCanvas,
  RevealKeepAlive,
  RevealProvider,
  type AddCadResourceOptions,
} from '@/features/reveal-3d';

type SelectedModel = { modelId: number; revisionId: number };

function ViewerContent({ modelId, revisionId }: SelectedModel) {
  const resources = useMemo<AddCadResourceOptions[]>(
    () => [{ modelId, revisionId }],
    [modelId, revisionId]
  );
  const onLoaded = useCallback(() => {}, []);

  return (
    <RevealCanvas>
      <Reveal3DResources resources={resources} onModelsLoaded={onLoaded} />
    </RevealCanvas>
  );
}

export function ViewerPage({
  sdk,
  selected,
}: {
  sdk: CogniteClient;
  selected: SelectedModel | null;
}) {
  const memoizedSdk = useMemo(() => sdk, [sdk.project]);

  return (
    <CacheProvider>
      <RevealKeepAlive>
        <div style={{ width: '100%', height: '70vh', position: 'relative' }}>
          {selected && (
            <RevealProvider sdk={memoizedSdk}>
              <ViewerContent
                modelId={selected.modelId}
                revisionId={selected.revisionId}
              />
            </RevealProvider>
          )}
        </div>
      </RevealKeepAlive>
    </CacheProvider>
  );
}

Dependencies

Suggested versions are starting points. If the target app already pins compatible versions, defer to the app.

PackageSuggested versionPurpose
react / react-domapp versionUI framework
@cognite/duneapp versionAuthenticated SDK via useDune()
@cognite/reveal^4.30.0Reveal viewer runtime
@cognite/sdk^10.0.0CDF API client
@tanstack/react-query^5.90.21Reveal/FDM data fetching hooks
three^0.180.0Three.js singleton used by Reveal
process, util, assertlatestBrowser polyfills for Reveal dependencies
ajv^8Avoids older transitive AJV resolution in monorepos
@types/threelatest dev depTypeScript types

Example install (pnpm; adapt to the app's package manager):

pnpm add @cognite/reveal @cognite/sdk @tanstack/react-query three process util assert ajv
pnpm add -D @types/three

After install, check @cognite/reveal's three peer requirement and align three if needed.

Do not install vite-plugin-node-polyfills; use the explicit Vite aliases in vite-config.md.

Critical Rules

  • ViewerContent contains only RevealCanvas and Reveal3DResources; no providers.
  • resources passed to Reveal3DResources must be memoized with useMemo.
  • onModelsLoaded, onSelect, and similar callbacks must be memoized with useCallback.
  • The SDK passed to RevealProvider must be memoized with useMemo keyed on client.project.
  • RevealCanvas fills its parent; the parent must have an explicit height.
  • Lazy-load canvas-heavy viewer content with React.lazy + Suspense when adding a route/page.

Advanced Reference

For the copied bundle API and exports, read code/README.md.

For model browser and FDM-linked implementations, read references/implementation.md.

For Vite, worker, polyfill, and troubleshooting details, read references/vite-config.md.

Verification Checklist

  • [ ] All files from skills/reveal-3d/code/reveal/ were copied into an app-local feature folder.
  • [ ] Imports point to the app-local folder (e.g. @/features/reveal-3d).
  • [ ] The app does not import Reveal helpers from the old external package.
  • [ ] Required dependencies are present in package.json.
  • [ ] main.tsx starts with the process polyfill before other imports.
  • [ ] vite.config.ts uses manual aliases, dedupe, three singleton alias, and worker.format: 'es'.
  • [ ] CacheProvider and RevealKeepAlive are always mounted; RevealProvider is conditional when model selection is conditional.
  • [ ] The viewer container has an explicit height.
  • [ ] Typecheck and build pass.

Related skills

FAQ

What is reveal-3d?

Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding 3D viewer, 3D visualization, Reveal, CAD model, RevealProvi

When should I use reveal-3d?

Integrates a local Cognite Reveal 3D CAD viewer bundle into Flows apps by copying app-local source code. Use when adding 3D viewer, 3D visualization, Reveal, CAD model, RevealProvi

Is reveal-3d safe to install?

Review the Security Audits panel on this page before production use.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.