Agent skill

New Experiment

by Tresjs in Tresjs/tres

Create a new experiment in TresJS Lab with all necessary files

MITAuto-check passedGame Development

Install New Experiment

skills CLI
$ npx skills add Tresjs/tres --skill new-experiment -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Tresjs/tres new-experiment --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Tresjs/tres.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/new-experiment .claude/skills/new-experiment && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
new-experiment
GitHub stars
3.8k
Token cost
~782 tokens
SKILL.md length
205 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Create a new experiment in TresJS Lab with all necessary files

  • Works in 7 steps: Parse arguments: Extract experiment name… → Convert naming: Convert kebab-case to… → Create markdown file: Create… → …
  • Tasks that involve 3D graphics and WebGL
  • SKILL.md covers Steps, Examples and Considerations
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

New Experiment is an agent skill from Tresjs/tres. Create a new experiment in TresJS Lab with all necessary files

Its SKILL.md is about 780 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering 3D graphics and WebGL and Shaders. It works with Vue.js, Vite and Three.js. The repository describes itself as: Declarative ThreeJS using Vue Components. The licence is MIT.

When your agent uses it

  • Tasks that involve 3D graphics and WebGL
  • Tasks that involve Shaders

Example prompts

  • “/new-experiment”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Parse arguments: Extract experiment name from $ARGUMENTS. If second argument is shaders or true, enable shader support.
  2. Convert naming: Convert kebab-case to PascalCase for component naming (e.g., wobble-sphere → WobbleSphere).
  3. Create markdown file: Create apps/lab/content/experiments/{experiment-name}.md with frontmatter
  4. Create component directory: apps/lab/app/components/{experiment-name}/
  5. Create index.global.vue
  6. Create experiment component: The{PascalCaseName}.vue with basic structure.
  7. If shaders enabled

What it can do on your machine

Read from SKILL.md and the folder at commit 443197b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml, vue and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

New Experiment loads about 782 tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 205 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~19
When it runs · the whole SKILL.md, loaded when a task matches
~782

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Tresjs/tres at commit 443197b, republished under its MIT licence (© Tresjs). 205 words, ~782 tokens.

Download SKILL.mdSave it as .claude/skills/new-experiment/SKILL.md (or your agent's skills folder).
name
new-experiment
description
Create a new experiment in TresJS Lab with all necessary files

New Experiment

Create a new experiment in the TresJS Lab app with all necessary files and structure.

Steps

  1. Parse arguments: Extract experiment name from $ARGUMENTS. If second argument is shaders or true, enable shader support.

  2. Convert naming: Convert kebab-case to PascalCase for component naming (e.g., wobble-sphere → WobbleSphere).

  3. Create markdown file: Create apps/lab/content/experiments/{experiment-name}.md with frontmatter:

    yaml
    ---
    title: {Experiment Title}
    author: {your-github-username}
    description: {Brief description}
    thumbnail: /experiments/{experiment-name}.png
    tags: []
    date: {current-date}
    lastUpdated: {current-date}
    ---
  4. Create component directory: apps/lab/app/components/{experiment-name}/

  5. Create index.global.vue:

    vue
    <script setup lang="ts">
    // TODO: Implement experiment logic
    </script>
    
    <template>
      <TresCanvas>
        <TresPerspectiveCamera :position="[0, 0, 10]" :look-at="[0, 0, 0]" />
        <{ExperimentName}The{PascalCaseName} />
        <OrbitControls />
        <TheScreenshot />
      </TresCanvas>
    </template>
  6. Create experiment component: The{PascalCaseName}.vue with basic structure.

  7. If shaders enabled:

    • Create shaders/ directory inside component folder
    • Create shaders/vertex.glsl:
      glsl
      uniform float uTime;
      uniform vec2 uResolution;
      
      void main() {
        vec4 modelPosition = modelMatrix * vec4(position, 1.0);
        vec4 viewPosition = viewMatrix * modelPosition;
        vec4 projectedPosition = projectionMatrix * viewPosition;
        gl_Position = projectedPosition;
      }
    • Create shaders/fragment.glsl:
      glsl
      uniform float uTime;
      void main() {
        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
      }
    • Update The{PascalCaseName}.vue:
      vue
      <script setup lang="ts">
      import vertexShader from './shaders/vertex.glsl';
      import fragmentShader from './shaders/fragment.glsl';
      
      const uniforms = {
        uTime: { value: 0 },
        uResolution: { value: new Vector2(window.innerWidth, window.innerHeight) },
      }
      </script>
      
      <template>
       <TresMesh>
         <TresPlaneGeometry />
         <TresShaderMaterial :uniforms="uniforms" :vertex-shader="vertexShader" :fragment-shader="fragmentShader" />
       </TresMesh>
      </template>

Examples

bash
# Basic experiment without shaders
/new-experiment my-cool-effect

# Experiment with shader support
/new-experiment wobble-sphere shaders

Considerations

  • Use kebab-case for file/folder names
  • Use PascalCase for component names
  • Component prefix matches experiment folder name (e.g., WobbleSphereTheWobbleSphere)
  • Add appropriate tags in frontmatter (e.g., 'shaders', 'glsl', 'particles', 'basic')
  • Markdown content can be filled in later - only create frontmatter
  • For shader experiments, include basic uniforms for time-based animations

© Tresjs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/new-experiment of Tresjs/tres.

Open the folder on GitHubat commit 443197b

Compare with similar skills

New Experiment next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

New Experiment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
New Experiment this skillTresjs/tres3.8k—~782Automated safety check: PassMIT
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Threejs Gameplay Systemscorosolto/client257—~1.5kAutomated safety check: PassAGPL-3.0
Vitexecpmndrs/viverse132—~2.5kAutomated safety check: PassCustom licence
Polycsslayoutit/polycss761—~2.4kAutomated safety check: PassMIT

Similar skills

  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Threejs Gameplay Systems

    corosolto/client

    Build and iterate playable Three.js game systems. An agent skill from corosolto/client.

    257 GitHub stars~1.5k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Vitexec

    pmndrs/viverse

    A skill your agent uses when an AI agent needs to inspect, verify, debug, or profile a live Vite app by running temporary snippets inside the browser page and reading browser logs or captured…

    132 GitHub stars~2.5k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • Polycss

    layoutit/polycss

    Build PolyCSS scenes that render 3D meshes, primitive shapes, or custom polygons as DOM/CSS polygon elements.

    761 GitHub stars~2.4k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Shader Extract

    cth9191/site-clone

    Extract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to.

    133 GitHub stars~1.4k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed

More from Tresjs/tres

  • Lint Commit PR

    Tresjs/tres

    Lint local changes, auto-fix, conventional commit, and optionally create PR

    3.8k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Questions about New Experiment

What does New Experiment do?

Create a new experiment in TresJS Lab with all necessary files. New Experiment is an agent skill from Tresjs/tres.

When should I use New Experiment?

New Experiment fits situations like: tasks that involve 3D graphics and WebGL; tasks that involve Shaders.

How do I install New Experiment in Claude Code?

Run `npx skills add Tresjs/tres --skill new-experiment -a claude-code`. Or copy the skill folder (.agents/skills/new-experiment in Tresjs/tres) into .claude/skills/new-experiment in your project. Claude Code loads it when a task matches its description.

How do I install New Experiment in Codex?

Run `npx skills add Tresjs/tres --skill new-experiment -a codex`. Or copy the skill folder (.agents/skills/new-experiment in Tresjs/tres) into .agents/skills/new-experiment in your project. Codex loads it when a task matches its description.

Can I use New Experiment in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Tresjs/tres --skill new-experiment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/new-experiment, .gemini/skills/new-experiment, .github/skills/new-experiment and .opencode/skills/new-experiment in your project.

What does New Experiment need to run?

SKILL.md names no scripts, command-line tools or credentials: New Experiment is instructions for the agent only.

Does New Experiment access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is New Experiment safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does New Experiment use?

New Experiment is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does New Experiment use?

About 782 tokens (SKILL.md is roughly 3.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to New Experiment?

Skills that share tags, products or a category with New Experiment: Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars), Threejs Gameplay Systems (corosolto/client, 257 stars) and Vitexec (pmndrs/viverse, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains New Experiment?

Tresjs (a GitHub organization) maintains it in Tresjs/tres, which has 3,756 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.

Source: Tresjs/tres on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.