PluginBench
Skill
Review
Audit score 70

tresjs

onmax/nuxt-skills

How to install tresjs

npx skills add https://github.com/onmax/nuxt-skills --skill tresjs
Claude Code
Cursor
Windsurf
Cline
Full instructions (SKILL.md)

Source of truth, from onmax/nuxt-skills.


name: tresjs description: Use when building 3D scenes with TresJS (Vue Three.js) - provides TresCanvas, composables (useTres, useLoop), Cientos helpers (OrbitControls, useGLTF, Environment), and post-processing effects license: MIT

TresJS

Vue 3 framework for building 3D scenes with Three.js. Declarative components that wrap Three.js objects.

Packages: @tresjs/core (required), @tresjs/cientos (helpers), @tresjs/post-processing (effects)

Installation

# Core (required)
pnpm add three @tresjs/core

# Helpers - controls, loaders, materials, staging
pnpm add @tresjs/cientos

# Post-processing effects
pnpm add @tresjs/post-processing

Quick Reference

Working on...Load file
TresCanvas, useTres, useLoopreferences/core.md
Controls, loaders, materialsreferences/cientos.md
Bloom, glitch, DOF effectsreferences/effects.md
Common patterns, recipesreferences/cookbook.md

Loading Files

Load based on your task:

DO NOT load all files at once. Load only what's relevant.

Core Concepts

TresCanvas

Root component that creates WebGL renderer and scene:

<script setup lang="ts">
import { TresCanvas } from '@tresjs/core'
</script>

<template>
  <TresCanvas shadows alpha>
    <TresPerspectiveCamera :position="[5, 5, 5]" />
    <TresMesh>
      <TresBoxGeometry />
      <TresMeshStandardMaterial color="orange" />
    </TresMesh>
    <TresAmbientLight :intensity="0.5" />
    <TresDirectionalLight :position="[3, 3, 3]" :intensity="1" />
  </TresCanvas>
</template>

Component Naming

All Three.js classes available as Vue components with Tres prefix:

  • THREE.PerspectiveCamera<TresPerspectiveCamera />
  • THREE.Mesh<TresMesh />
  • THREE.BoxGeometry<TresBoxGeometry />
  • THREE.MeshStandardMaterial<TresMeshStandardMaterial />

Constructor arguments via :args prop:

<TresPerspectiveCamera :args="[75, 1, 0.1, 1000]" />

Reactivity

Props are reactive - changes update the 3D scene:

<script setup>
const color = ref('orange')
const position = ref([0, 0, 0])
</script>

<template>
  <TresMesh :position="position">
    <TresMeshStandardMaterial :color="color" />
  </TresMesh>
</template>

Primitive Component

Inject existing Three.js objects directly:

<script setup>
import { useGLTF } from '@tresjs/cientos'
const { scene } = await useGLTF('/model.glb')
</script>

<template>
  <primitive :object="scene" />
</template>

Available Guidance

references/core.md - TresCanvas props, useTres, useLoop, useGraph, events, performance

references/cientos.md - OrbitControls, useGLTF, useTexture, Environment, Sky, materials, shapes

references/effects.md - EffectComposer vs EffectComposerPmndrs, bloom, glitch, DOF, effect stacking

references/cookbook.md - Load 3D model, camera with controls, animation loop, post-processing

Related skills

More from onmax/nuxt-skills and the wider catalog.

NU

nuxt

onmax/nuxt-skills

Use when working on Nuxt 4+ projects - provides server routes, file-based routing, middleware patterns, Nuxt-specific composables, and configuration with latest docs. Covers h3 v1 helpers (validation, WebSocket, SSE) and nitropack v2 patterns. Updated for Nuxt 4.3+.

6.8k installs
VU

vue

onmax/nuxt-skills

Use when editing .vue files, creating Vue 3 components, writing composables, or testing Vue code - provides Composition API patterns, props/emits best practices, VueUse integration, and reactive destructuring guidance

6.6k installsAudited
RE

reka-ui

onmax/nuxt-skills

Use when building with Reka UI (headless Vue components) - provides component API, accessibility patterns, composition (asChild), controlled/uncontrolled state, virtualization, and styling integration. Formerly Radix Vue.

6.5k installsAudited
NU

nuxt-ui

onmax/nuxt-skills

Use when building styled UI with @nuxt/ui v4 components - create forms with validation, implement data tables with sorting, build modal dialogs and overlays, configure Tailwind Variants theming. Use vue skill for raw component patterns, reka-ui for headless primitives.

6.0k installsAudited
VU

vueuse

onmax/nuxt-skills

Use when working with VueUse composables - track mouse position with useMouse, manage localStorage with useStorage, detect network status with useNetwork, debounce values with refDebounced, and access browser APIs reactively. Check VueUse before writing custom composables - most patterns already implemented.

2.9k installsAudited
VI

vitest

onmax/nuxt-skills

Use when writing unit/integration tests for Vite projects - configure vitest.config.ts, write test suites with describe/it, create mock implementations with vi.fn and vi.mock, set up code coverage thresholds, and run tests in parallel

2.2k installsAudited