Skip to content

Guide · Agent skill

How to use the Three.js Enemy Systems Builder agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The build-threejs-enemy-systems skill is an agent skill: a set of written instructions that an AI coding agent reads before working on your project. It teaches the agent to build or refactor enemies for a Three.js action game as reusable, data-driven definitions instead of hard-coded logic. This guide explains what the skill changes, how to install it, how to ask for it in plain language, and what to check afterward.

Three.js Enemy Systems BuilderMengTo/Skills · MIT

Quick start

  1. 1Download the skill ZIP. Get the build-threejs-enemy-systems ZIP from the page where you found this guide. It should contain SKILL.md and agents/openai.yaml.
  2. 2Choose an install location. Use ~/.claude/skills/ for all your projects, or .claude/skills/ inside one project folder. Alternatively, upload the skill in the Claude apps under Settings → Capabilities → Skills.
  3. 3Unzip the skill. Extract the ZIP into the chosen skills folder so that SKILL.md sits inside the build-threejs-enemy-systems folder.
  4. 4Open your Three.js project. Start your agent in the game's codebase, since the skill assumes an existing Three.js action game with project files it can read and edit.
  5. 5Ask for the enemy work in plain language. Describe the task, such as refactoring enemies into archetypes or defining a boss's move timing, and name the relevant parts of your code.
  6. 6Validate the result. Check content references, move timing, contact logic and placeholder fallbacks, then play an encounter on desktop and mobile.

What does the skill make the agent do?

With the skill active, the agent separates enemy content (stable IDs, base stats, move IDs, rewards) from runtime state (health, timers, positions, cooldowns). Each attack is defined as timed data with startup, active hit windows, recovery and cooldown, and the combat system owns timing and outcomes while AI only picks legal move IDs.

The skill also sets rules for 3D models. Models are normalized to a shared contract covering scale, pivot at ground contact, colliders, hurtboxes and sockets. When a production model is missing, the agent uses a clearly marked placeholder that keeps the same footprint, timing and readability, and logs the fallback.

  • Enemy content and runtime state are kept apart and referenced by ID.
  • Every move is timed data with hit windows, cooldowns and per-target hit limits.
  • Models follow one presentation contract, with honest placeholders when assets are missing.
  • Test fixtures and playthrough checks are suggested to validate the result.

How do you install the skill?

The skill is a folder that contains SKILL.md and agents/openai.yaml. Download the ZIP from the page where you found this guide, then choose one of the install locations below.

For a personal setup available across your projects, unzip the skill into your user skills folder at ~/.claude/skills/. To limit it to one game, unzip it into the .claude/skills/ folder inside that project. In the Claude apps, you can instead upload the skill under Settings → Capabilities → Skills.

  • Personal: ~/.claude/skills/
  • Single project: .claude/skills/ inside your project folder
  • Claude apps: Settings → Capabilities → Skills, then upload

How do you trigger the skill with a natural request?

You do not need a special command. Describe the enemy work you want in ordinary terms that match the skill's scope: enemy content schemas, model and rig conventions, move timing, contact logic, placeholder fallbacks, test fixtures or playthrough validation. The agent should recognise the request and load the skill.

Be specific about your codebase. The skill assumes an existing Three.js action game, so say what the project is and what you want changed.

  • Refactor my enemy classes in this Three.js game into shared, data-driven archetypes.
  • Add a new enemy that reuses the existing chaser archetype and only needs a new heavy slam move.
  • Define the move timing for my boss's three attacks, including hit windows and cooldowns.
  • My goblin model is not ready. Set up a placeholder that keeps the same collider and pivot.
  • Write deterministic fixtures for spawn, each move phase and death reset for my enemies.

What should you check after the agent works?

The skill recommends validating content before shipping. Check that IDs are unique, references resolve, and active windows, cooldowns and recovery are possible. Confirm each contact applies once, and that the fallback placeholder is visibly obvious.

Then play a representative encounter in the browser and confirm that telegraphs, contact, animation, effects, audio and rewards agree. The skill also lists desktop and mobile checks such as touch controls, reduced motion, frame time, draw calls and crowded-scene LOD behaviour.

  • Content validation passes: unique IDs, valid ranges, no missing references.
  • Each move's hit windows match its telegraph and animation.
  • Placeholder fallbacks are logged once and not presented as finished art.
  • Playthroughs on desktop and mobile show stable frame time and console health.

What people use it for

  • Refactoring hard-coded enemy classes into shared archetypes that several enemies can reuse.
  • Designing a boss with multiple timed attacks, each with telegraphs, hit windows and cooldowns.
  • Keeping a game running while a new enemy model is still in progress, using a marked placeholder with the same collider and pivot.
  • Writing deterministic test fixtures for spawn, move phases, interrupts, stagger and death reset.
  • Preparing a Three.js combat game for release with a checklist for enemy content, timing and contact logic.

Frequently asked questions

Is the Three.js Enemy Systems skill free to use?

The skill is published under the MIT licence, as stated on its listing. Check the licence file in the repository for the full terms before you use it in a commercial project.

What do I need to use the build-threejs-enemy-systems skill?

You need a Three.js action game codebase and an AI agent that can read and edit project files. The skill does not require external accounts or API keys, and it does not run scripts or use the network.

Where do I install an agent skill like this one?

Unzip the skill into ~/.claude/skills/ for personal use, or into .claude/skills/ inside a project for that project only. In the Claude apps, you can upload it under Settings → Capabilities → Skills.

Does this skill create 3D models or animations?

No. It sets structural rules and conventions for enemy data, model contracts, move timing and validation. It does not produce finished 3D art or animations.

Can I use this skill with Unity, Godot or Unreal?

No. The skill is written for Three.js, and its conventions would not apply to other engines. Use it only for Three.js projects.

Why is the agent not using the skill?

The skill can only be used if it is in one of the supported locations with its SKILL.md file intact. Check the folder structure after unzipping, and make your request mention enemies, moves or the other topics the skill covers.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits indie or hobby developers and game programmers who are building a Three.js action or combat game and want maintainable, data-driven enemies with a validation checklist. It is a poor fit for non-developers, for projects in Unity, Godot or Unreal, or for anyone who expects it to produce finished art or animation.

Download the skill