threejs
MengTo/Skills · Agent Skill
Используйте при построении 3D-сцен, взаимодействий или моментов интерфейса с поддержкой WebGL в Three.js.
Перейти к установке ↓Обзор
| Автор | |
|---|---|
| Репозиторий | MengTo/Skills ↗ |
| Папка скилла | threejs |
| Звёзды | 7 038 |
| Форки | 819 |
| Файлы | 5 |
| Лицензия | MIT |
| Обновлён | 25 октября 2026 г. |
| Ссылки | Исходник скилла ↗ · Репозиторий ↗ |
Проверка Mozgi
Что мы нашли в файлах скилла. Подробности — по подписке.
Установка
Скилл — это папка с файлом SKILL.md. Выберите своего агента и скопируйте команды в терминал (macOS, Linux или Git Bash на Windows) в корне проекта.
Скопируйте промпт и вставьте в Claude, Codex или другого ассистента: он сам проверит скилл и подключит его.
Установи мне скилл «threejs» с mozgi.io (https://mozgi.io/skills/mengto-threejs/). 1. Скачай архив: https://mozgi.io/skills/mengto-threejs/download Если не скачивается — возьми папку скилла из исходника: https://github.com/MengTo/Skills/tree/main/agent-skills/web-design/threejs 2. Прочитай SKILL.md и остальные файлы. Проверь, что скилл безопасен: нет скрытых команд, отправки данных наружу или скриптов, которые делают не то, что описано. Если что-то подозрительно — остановись и скажи мне. 3. Положи папку «threejs» в папку скиллов своего агента: .claude/skills/ для Claude Code, .agents/skills/ для Codex, .cursor/skills/ для Cursor, .gemini/skills/ для Gemini CLI. В проекте — внутри проекта, иначе в домашней папке (~/.claude/skills/ и т. п.). 4. Убедись, что получилось <папка скиллов>/threejs/SKILL.md. 5. Коротко расскажи, что умеет этот скилл, и предложи попробовать его на моей задаче. Если какой-то шаг не можешь сделать сам — подскажи, что нажать или ввести.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .claude/skills cp -r /tmp/Skills/agent-skills/web-design/threejs .claude/skills/threejs
Перезапустите Claude Code — скилл появится в списке, вызвать вручную: /threejs. Для всех проектов сразу — папка ~/.claude/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .agents/skills cp -r /tmp/Skills/agent-skills/web-design/threejs .agents/skills/threejs
Codex ищет скиллы в .agents/skills от текущей папки до корня репозитория; вызвать вручную — /skills или $threejs. Для всех проектов — ~/.agents/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .cursor/skills cp -r /tmp/Skills/agent-skills/web-design/threejs .cursor/skills/threejs
Cursor подхватит скилл при запуске; вызвать вручную — «/» в чате агента. Cursor также читает .claude/skills и .agents/skills. Для всех проектов — ~/.cursor/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .gemini/skills cp -r /tmp/Skills/agent-skills/web-design/threejs .gemini/skills/threejs
Gemini CLI сам предложит включить скилл, когда задача подходит, — вы подтверждаете. Для всех проектов — ~/.gemini/skills.
Просмотрите SKILL.md и сопутствующие файлы перед установкой. Клик по файлу — предпросмотр.
Содержимое SKILL.md
Оригинальный текст автора · только чтениеThree.js — WebGL 3D Scenes Skill
When to use
- Real 3D: product spins, interactive hero scenes, shaders/material effects, 3D data viz
- You need full control beyond “background effects”
- You can budget time for asset pipeline + performance tuning
Core mental model
- Create:
Scene(root graph)Camera(Perspective/Orthographic)Renderer(WebGLRenderer)Mesh=Geometry+Material- Lights (if using non-unlit materials)
- Render loop:
requestAnimationFrame(animate)- Update time-based animations, controls, mixers, then
renderer.render(scene, camera)
Key APIs/patterns
- Setup:
const renderer = new THREE.WebGLRenderer({ canvas, antialias, alpha })renderer.setSize(width, height, false)renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))- Camera:
camera.aspect = width / height; camera.updateProjectionMatrix()- Scene graph:
scene.add(object)/object.position/rotation/scale- Loading assets:
GLTFLoader(models),TextureLoader(images),DRACOLoader(compressed glTF)- Controls (common):
OrbitControls(debug/product),PointerLockControls(FPS), custom pointer handlers- Cleanup (important in SPAs):
geometry.dispose(),material.dispose(),texture.dispose(),renderer.dispose()- Remove event listeners; cancel RAF.
Common pitfalls
- Not handling resize → stretched/cropped rendering
- Too high devicePixelRatio → mobile GPU meltdown
- Leaking WebGL resources (not disposing) → crashes after route changes
- Loading huge textures/models → slow start; use compressed textures, Draco/KTX2, smaller maps
- Using too many lights/shadows → expensive; fake lighting with baked textures when possible
Quick recipes
1) Minimal spinning cube
import * as THREE from "three";
const canvas = document.querySelector("#c");
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: true });
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(45, 1, 0.1, 100);
camera.position.set(0, 0, 4);
const geom = new THREE.BoxGeometry(1, 1, 1);
const mat = new THREE.MeshStandardMaterial({ color: 0x7c3aed });
const mesh = new THREE.Mesh(geom, mat);
scene.add(mesh);
scene.add(new THREE.AmbientLight(0xffffff, 0.8));
const dir = new THREE.DirectionalLight(0xffffff, 0.8);
dir.position.set(2, 2, 2);
scene.add(dir);
function resize() {
const w = canvas.clientWidth;
const h = canvas.clientHeight;
renderer.setSize(w, h, false);
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
camera.aspect = w / h;
camera.updateProjectionMatrix();
}
window.addEventListener("resize", resize);
resize();
function animate(t) {
mesh.rotation.y = t * 0.0006;
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
2) Respect reduced motion
- If
prefers-reduced-motion: reduce, render a still frame (no RAF) or slow updates.
What to ask the user
- Is this decorative (hero) or functional 3D (product viewer)?
- Target devices: mobile? older iPhones?
- Asset format availability (glTF, HDRI, textures) and file size constraints
- Accessibility/reduced motion requirements
Вопросы и ответы
Что делает скилл threejs?
Используйте при построении 3D-сцен, взаимодействий или моментов интерфейса с поддержкой WebGL в Three.js.
Как установить threejs?
Откройте блок «Установка» на этой странице и выберите своего агента — Claude Code, Codex, Cursor или Gemini CLI: там готовые команды, которые копируют папку скилла в нужное место. Либо скопируйте промпт из вкладки «Через ассистента» — ассистент сам проверит и подключит скилл.
С какими нейросетями работает threejs?
Скиллы — это обычные инструкции в Markdown (формат Agent Skills), поэтому threejs подходит любому агенту, который читает SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode и другие. Модель загружает инструкции только когда задача подходит под описание скилла.
Скилл threejs бесплатный?
Скилл опубликован автором MengTo в открытом доступе под лицензией MIT. Сам скилл ничего не стоит — вы платите только своему провайдеру нейросети за использованные токены.
Безопасно ли устанавливать скиллы?
Скилл — это инструкции, которые агент будет выполнять, поэтому перед установкой прочитайте SKILL.md и сопутствующие файлы. Скрипты из папки скилла запускаются только если их запустит агент — следите за тем, что он делает, и не давайте лишних прав.
Чем скилл отличается от MCP-сервера или плагина?
MCP-сервер и плагин дают модели новые инструменты — код, который выполняется и возвращает результат. Скилл даёт знания и порядок действий: как подходить к задаче, какие шаги делать и как выглядит хороший результат. Ему не нужен сервер или ключ API.