Pixijs
RSamaium/CanvasEngine
Use this skill first for ANY PixiJS v8 task; it routes to the right specialized skill for the job.
A skill your agent uses when migrating a Phaser 3 project to Phaser 4, or when a user asks about breaking changes, API differences, or how to update their v3 code.
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install autonomous-ai/openharness v3-to-v4-migration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .claude/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.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/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .claude/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install autonomous-ai/openharness v3-to-v4-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .agents/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .agents/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install autonomous-ai/openharness v3-to-v4-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .cursor/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .cursor/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/autonomous-ai/openharness.git --path store/agents/phaser/skills/v3-to-v4-migration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install autonomous-ai/openharness v3-to-v4-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .gemini/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .gemini/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install autonomous-ai/openharness v3-to-v4-migrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .github/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .github/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .github/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install autonomous-ai/openharness v3-to-v4-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/store/agents/phaser/skills/v3-to-v4-migration .opencode/skills/v3-to-v4-migration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "v3-to-v4-migration" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/phaser/skills/v3-to-v4-migration into .opencode/skills/v3-to-v4-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "v3-to-v4-migration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
v3-to-v4-migrationA skill your agent uses when migrating a Phaser 3 project to Phaser 4, or when a user asks about breaking changes, API differences, or how to update their v3 code.
V3 To V4 Migration is an agent skill from autonomous-ai/openharness. Use this skill when migrating a Phaser 3 project to Phaser 4, or when a user asks about breaking changes, API differences, or how to update their v3 code. Covers renderer changes (pipelines to render nodes), FX/masks to filters, tint system, camera matrix, texture coordinates, DynamicTexture, shaders, lighting, removed game objects, and a full migration checklist. Triggers on: migrate, upgrade, v3 to v4, breaking changes, Phaser 3 to 4, migration guide, update from v3.
Its SKILL.md is about 4.9k 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 Code migrations and Shaders. The repository describes itself as: The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across… The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cc4983e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
V3 To V4 Migration loads about 4.9k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 2,253 words of instructions outside code blocks.
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.
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.
The full file from autonomous-ai/openharness at commit cc4983e, republished under its MIT licence (© autonomous-ai). 2,253 words, ~4,926 tokens.
.claude/skills/v3-to-v4-migration/SKILL.md (or your agent's skills folder).This guide covers everything you need to change when upgrading a Phaser v3 project to Phaser v4. It is organized from highest-impact changes to smaller details, so you can work through it top-to-bottom.
Related skills: ../v4-new-features/SKILL.md, ../game-setup-and-config/SKILL.md, ../filters-and-postfx/SKILL.md
Phaser v4 contains a brand-new WebGL renderer. The entire rendering pipeline from v3 has been replaced. This is the single biggest change in v4.
What was removed:
The v3 Pipeline system has been removed entirely. Pipelines frequently held multiple responsibilities (e.g. the Utility pipeline handled various different rendering tasks) and each had to manage WebGL state independently, leading to conflicts where one pipeline could break another's assumptions.
What replaced it:
The new RenderNode architecture. Each render node handles a single rendering task, making the system more maintainable. All render nodes have a run method, and some have a batch method to assemble state from several sources before invoking run.
What this means for you:
RenderConfig#renderNodes to register custom render nodes at boot.WebGLRenderer internals directly, be aware that many internal properties have been removed or restructured:WebGLRenderer.textureIndexes is removed. Use glTextureUnits.unitIndices instead.WebGLRenderer#genericVertexBuffer and #genericVertexData are removed (freeing ~16MB RAM/VRAM). BatchHandler render nodes now create their own WebGL data buffers.WebGLAttribLocationWrapper is removed.gl calls in a Phaser v4 game. This can change the WebGL state without updating the internal WebGLGlobalWrapper, causing unpredictable behavior. If you need direct WebGL access, use an Extern game object, which resets state after it finishes.The Canvas renderer is still available but should be considered deprecated. Canvas rendering does not support any of the WebGL techniques used in v4's advanced rendering features. As WebGL support is effectively baseline today, we recommend WebGL for all new projects.
Canvas retains one advantage: 27 blend modes vs WebGL's 4 native modes (NORMAL, ADD, MULTIPLY, SCREEN). In v4, the new Blend filter can recreate all Canvas blend modes in WebGL, though it requires indirection through a CaptureFrame, DynamicTexture, or similar.
This is one of the most impactful changes for v3 users who relied on the FX or Mask systems.
What changed:
FX (pre and post) and Masks have been unified into a single Filter system. A Filter takes an input image and produces an output image, usually via a single shader. All filters are mutually compatible.
Key differences from v3:
Extern objects.BitmapMask removed. Use the new Mask filter instead. GeometryMask remains available in Canvas only.Removed derived FX and their replacements:
| v3 FX | v4 Replacement |
|---|---|
Bloom | Phaser.Actions.AddEffectBloom() |
Shine | Phaser.Actions.AddEffectShine() |
Circle | Phaser.Actions.AddMaskShape() |
Gradient | Gradient game object |
ColorMatrix change:
The ColorMatrix filter shifted its color management methods onto a colorMatrix property:
// v3
colorMatrix.sepia();
// v4
colorMatrix.colorMatrix.sepia();Mask migration:
// v3 - BitmapMask
const mask = new Phaser.Display.Masks.BitmapMask(scene, maskObject);
sprite.setMask(mask);
// v4 - Mask filter
sprite.filters.internal.addMask(maskObject);The tint system has been overhauled with a new API and additional blend modes.
Removed:
tintFill propertysetTintFill() methodReplacement:
tintMode property or setTintMode() method to control tint blending.Phaser.TintModes enumerates the available modes: MULTIPLY, FILL, ADD, SCREEN, OVERLAY, HARD_LIGHT.How to convert your code:
// v3
sprite.setTintFill(0xff0000);
// v4
sprite.setTint(0xff0000).setTintMode(Phaser.TintModes.FILL);Other tint changes:
tint and setTint() now purely affect color settings. In v3, calling these would silently deactivate fill mode.The camera matrix system has been rewritten. If you only use standard camera properties (scrollX, scrollY, zoom, rotation), your code should work without changes. However, if you access camera matrices directly, you must update your code.
What changed:
| v3 | v4 |
|---|---|
Camera#matrix = position + rotation + zoom | Camera#matrix = rotation + zoom + scroll (no position) |
| Scroll appended separately | Scroll is part of Camera#matrix |
| No equivalent | Camera#matrixExternal = position only |
| No equivalent | Camera#matrixCombined = matrix * matrixExternal |
If you manipulated scroll factors manually:
// v3
spriteMatrix.e -= camera.scrollX * src.scrollFactorX;
// v4
TransformMatrix.copyWithScrollFactorFrom(matrix, scrollX, scrollY, scrollFactorX, scrollFactorY);Other camera changes:
GetCalcMatrix() now takes an additional ignoreCameraPosition parameter.GetCalcMatrixResults now includes a matrixExternal property.Phaser v3 used top-left orientation for textures, which caused mismatches internally (framebuffers drawn upside-down, then flipped). Phaser v4 uses GL orientation throughout, where Y=0 is at the bottom.
Action required:
In v3, DynamicTexture allowed you to define batches and perform intricate drawing operations directly. In v4, many of these complex methods have been removed in favor of using the standard rendering system, which handles batching automatically.
Breaking change: DynamicTexture and RenderTexture must now call render() to execute all buffered drawing commands. Previously, draw commands were executed immediately.
New capabilities:
DynamicTexture#preserve() keeps the command buffer for reuse after rendering, allowing you to re-render commands that draw changing game objects.DynamicTexture#callback() inserts a callback to run during command buffer execution.DynamicTexture#capture renders game objects more accurately than draw, capturing the current camera view.RenderTexture.renderMode property: "render" (draw like an Image), "redraw" (update texture during render loop without drawing), or "all" (both). The "redraw" mode enables updating textures mid-render-loop for same-frame shader outputs.TextureManager#addDynamicTexture now has a forceEven parameter.The Shader game object has been significantly rewritten. Existing v3 shaders will need to be updated.
What changed:
ShaderQuadConfig) instead of individual parameters.Shader#setUniform(name, value) method for setting program uniforms individually.Shader#renderImmediate method for rendering outside the regular render loop.The way Phaser loads GLSL code has changed:
#pragma preprocessor directives, which are valid GLSL and compatible with automated syntax checkers. The pragmas are removed before compilation.Lighting has been simplified and enhanced.
How to convert your code:
// v3 - Pipeline-based lighting
sprite.setPipeline('Light2D');
// v4 - Simple method call
sprite.setLighting(true);Other lighting changes:
z value to set height explicitly, replacing the implicit height based on game resolution from v3.ImageLight filter for image-based lighting, but it is separate from the core lighting system.TileSprite has been internally rewritten to use a new shader that manually controls texture coordinate wrapping instead of relying on WebGL texture wrapping parameters.
What changed:
TileSprite no longer supports texture cropping.New capabilities:
tileRotation property allows rotating the repeating texture.Graphics has a new pathDetailThreshold property (also available as a game config option) that skips vertices within a certain distance of one another, improving performance on complex curves in small areas.Grid shape has renamed properties: it now uses stroke instead of outline, matching the conventions of other Shape objects. Grid also has new controls for rendering gutters between cells and whether to draw outlines on the outside of the grid or just between cells.Rectangle now supports rounded corners.The Geom.Point class and all related functions have been removed. Use Vector2 instead.
Quick reference for method replacements:
v3 (Point) | v4 (Vector2 / Math) |
|---|---|
Point.Ceil | Vector2.ceil |
Point.Floor | Vector2.floor |
Point.Clone | Vector2.clone |
Point.CopyFrom(src, dest) | dest.copy(src) |
Point.Equals | Vector2.equals |
Point.GetCentroid | Math.GetCentroid |
Point.GetMagnitude | Vector2.length |
Point.GetMagnitudeSq | Vector2.lengthSq |
Point.Invert | Vector2.invert |
Point.Negative | Vector2.negate |
Point.SetMagnitude | Vector2.setLength |
Point.Project | Vector2.project |
Point.ProjectUnit | Vector2.projectUnit |
Point.Interpolate | Math.LinearXY |
Point.GetRectangleFromPoints | Math.GetVec2Bounds |
All geometry classes now return Vector2 instead of Point:
The following classes and their static helper functions (getPoint, getPoints, getRandomPoint, CircumferencePoint, Random, etc.) all return Vector2 instances:
Geom.CircleGeom.EllipseGeom.LineGeom.PolygonGeom.RectangleGeom.TriangleIf you have code that checks instanceof Phaser.Geom.Point, update it to check for Phaser.Math.Vector2.
| v3 | v4 | Notes |
|---|---|---|
Math.TAU (was PI / 2) | Math.TAU (now PI * 2) | Value changed! This is now the correct mathematical tau. |
Math.PI2 | Removed | Use Math.TAU instead. |
| No equivalent | Math.PI_OVER_2 | New constant for PI / 2 (what v3's TAU incorrectly was). |
Action required: If you used Math.TAU in v3 expecting PI / 2, replace it with Math.PI_OVER_2. If you used Math.PI2, replace it with Math.TAU.
Phaser.Struct.Set has been replaced with a native JavaScript Set. Methods like iterateLocal are gone. Use standard Set methods (forEach, has, add, delete, etc.).
Phaser.Struct.Map has been replaced with a native JavaScript Map. Methods like contains and setAll are gone. Use standard Map methods (has, get, set, delete, etc.).
The roundPixels game config option now defaults to false (it was true in v3). The behavior has also been refined:
roundPixels only operates when objects are axis-aligned and unscaled, preventing flicker on transforming objects.GameObject#vertexRoundMode property:"off" -- Never round."safe" -- Round only when the transform is position-only (no scale/rotation)."safeAuto" (default) -- Like "safe", but only when the camera has roundPixels enabled."full" -- Always round (can cause wobble on rotated sprites, PS1-style)."fullAuto" -- Like "full", but only when the camera has roundPixels enabled.TransformMatrix#setQuad roundPixels parameter has been removed.Mesh and Plane have been removed. These were limited 3D implementations; proper 3D support is planned for the future.The following have been completely removed:
phaser-ie9.js entry point (IE9 is no longer supported)Create.GenerateTexture and all Create Palettes / the create folder have been removed. TextureManager.generate is also removed as a result.
Math.SinCosTableGenerator has been removed.
All legacy polyfills removed:
Array.forEachArray.isArrayAudioContextMonkeyPatchconsoleMath.truncperformance.nowrequestAnimationFrameUint32ArrayModern browsers provide all of these natively.
The Spine 3 and Spine 4 plugins bundled with Phaser are no longer updated. Use the official Phaser Spine plugin created by Esoteric Software instead.
Shader#setTextures() now replaces the texture array rather than adding to it. If you were calling it multiple times to build up textures, call it once with the full array.DOMElement now throws an error if it has no container. Ensure your DOM elements have a parent container.GameObject#enableLighting can now be set even if the scene light manager is not enabled. The manager must still be enabled for lights to render, but the flag itself is no longer gated.Button class now accepts an isPressed parameter to initialize state correctly across scene transitions.BatchHandlerConfig#createOwnVertexBuffer type property has been removed.WebGLRenderer#genericVertexBuffer and #genericVertexData have been removed (freeing ~16MB RAM/VRAM).Use this checklist to track your migration progress:
npm install phaser@4 (or equivalent)BitmapMask usage with the Mask filterBloom, Shine, Circle, Gradient) with their Action/GameObject equivalentsColorMatrix calls (methods moved to .colorMatrix property)setTintFill() calls with setTint().setTintMode(Phaser.TintModes.FILL)Geom.Point usage with Vector2Math.TAU usage (now equals PI * 2, not PI / 2)Math.PI2 with Math.TAUPhaser.Struct.Set with native SetPhaser.Struct.Map with native Maprender() calls to DynamicTexture / RenderTexture usageCamera#matrix access to use the new matrix systemShader game objects to use new ShaderQuadConfig constructor#pragma directives)sprite.setPipeline('Light2D') with sprite.setLighting(true)z propertyTileSprite texture cropping codeGrid shape code (outline properties renamed to stroke)Mesh or Plane usageCreate.GenerateTexture or TextureManager.generateroundPixels behavior (now defaults to false)© autonomous-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in store/agents/phaser/skills/v3-to-v4-migration of autonomous-ai/openharness.
Open the folder on GitHubat commit cc4983e
V3 To V4 Migration 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| V3 To V4 Migration this skillautonomous-ai/openharness | 1.2k | — | ~4.9k | Automated safety check: Pass | MIT | |
| PixijsRSamaium/CanvasEngine | 401 | 2 repos | ~1.6k | Automated safety check: Pass | MIT | |
| New ExperimentTresjs/tres | 3.8k | — | ~782 | Automated safety check: Pass | MIT | |
| Anatomywheresryan22/anatomy | 500 | — | ~7.7k | Automated safety check: Pass | MIT | |
| Assets Shader List AllIvanMurzak/Unity-MCP | 4.4k | — | ~435 | Automated safety check: Pass | Apache-2.0 | |
| Handle Sdr Tonemap Lutclshortfuse/renodx | 4.5k | — | ~7.3k | Automated safety check: Pass | MIT |
RSamaium/CanvasEngine
Use this skill first for ANY PixiJS v8 task; it routes to the right specialized skill for the job.
Tresjs/tres
Create a new experiment in TresJS Lab with all necessary files
wheresryan22/anatomy
Build crafted, highly detailed, interactive isometric SVG figures that explain a technical idea as a real physical object (a test rig, a dial gauge, a cabinet of drawers, a plotter, a lock), with…
IvanMurzak/Unity-MCP
List all shaders available in the project assets and packages, sorted by name.
clshortfuse/renodx
RenoDX HLSL/Slang shader workflow for proven shader-side SDR tonemap, hard clip, LUT, color grade, and HDR bridge changes.
flopperam/unreal-engine-mcp
Walks an Unreal Engine MCP agent through building materials, Niagara particle systems, Chaos destruction, and curve assets with inspect-then-edit steps.
autonomous-ai/openharness
Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.
autonomous-ai/openharness
Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.
autonomous-ai/openharness
Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.
autonomous-ai/openharness
Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.
autonomous-ai/openharness
Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.
autonomous-ai/openharness
Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.
Categories
A skill your agent uses when migrating a Phaser 3 project to Phaser 4, or when a user asks about breaking changes, API differences, or how to update their v3 code. V3 To V4 Migration is an agent skill from autonomous-ai/openharness. Use this skill when migrating a Phaser 3 project to Phaser 4, or when a user asks about breaking changes, API differences, or how to update their v3 code.
V3 To V4 Migration fits situations like: migrating a Phaser 3 project to Phaser 4; A user asks about breaking changes; API differences; how to update their v3 code.
Run `npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a claude-code`. Or copy the skill folder (store/agents/phaser/skills/v3-to-v4-migration in autonomous-ai/openharness) into .claude/skills/v3-to-v4-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a codex`. Or copy the skill folder (store/agents/phaser/skills/v3-to-v4-migration in autonomous-ai/openharness) into .agents/skills/v3-to-v4-migration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add autonomous-ai/openharness --skill v3-to-v4-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/v3-to-v4-migration, .gemini/skills/v3-to-v4-migration, .github/skills/v3-to-v4-migration and .opencode/skills/v3-to-v4-migration in your project.
Going by SKILL.md and its folder, V3 To V4 Migration needs the command-line tools its instructions call (npm).
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
V3 To V4 Migration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with V3 To V4 Migration: Pixijs (RSamaium/CanvasEngine, 401 stars), New Experiment (Tresjs/tres, 3.8k stars), Anatomy (wheresryan22/anatomy, 500 stars) and Assets Shader List All (IvanMurzak/Unity-MCP, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,210 GitHub stars. The repository holds 100 skills in this directory. The repository was last updated on October 10, 2026.
Source: autonomous-ai/openharness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.