new-extension

Scaffolds, implements, tests, and publishes Universe Editor extensions through a gated workflow.

Updated May 13, 2026
One-click install
npx skills add https://github.com/lovebirdsx/universe-editor --skill new-extension-lovebirdsx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: new-extension
Source: https://github.com/lovebirdsx/universe-editor/tree/main/apps/editor/resources/agent-skills/.claude/skills/new-extension
Command: npx skills add https://github.com/lovebirdsx/universe-editor --skill new-extension-lovebirdsx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building a plugin for the Universe Editor involves many moving parts—scaffolding, contribution points, API constraints, unit and e2e tests, and marketplace publishing. This Skill guides the entire process from requirements gathering to a tested, publishable extension, preventing common pitfalls like silent load failures and packaging mistakes. ## Core Features & Use Cases - Guided end-to-end workflow: Three confirmation gates (requirements, plan, acceptance) ensure the extension matches user intent before code is written or published. - Scaffolding and implementation: Uses the official npm create @universe-editor/extension generator, official sample repositories, and the authoritative .d.ts API surface to write correct extension code. - Built-in testing and publishing: Runs vitest unit tests and Playwright e2e tests against a real editor instance, then optionally packages and publishes to the extension marketplace. - Use Case: A user wants to add a custom tree view panel to the editor. The Skill confirms requirements, scaffolds a basic template extension, implements the tree view following the official tree-view sample, writes e2e tests, and walks the user through acceptance. ## Quick Start Ask the assistant to create a new Universe Editor extension that adds the command, panel, or language feature you need.

Frequently Asked Questions about new-extension

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new extension for Universe Editor?

Run the official scaffolder with npm create @universe-editor/extension using non-interactive flags for name, publisher, display name, and template. Then implement features against the @universe-editor/extension-api package and validate with npm test and npm run test:e2e.

How do I test a Universe Editor extension end to end?

The scaffolded project includes a Playwright e2e harness that cold-starts the real editor with only your extension loaded. Run npm run test:e2e and assert behavior through the window.__E2E__ probe API such as hasCommand and runCommand instead of internal DOM.

Can I use the vscode module in a Universe Editor extension?

No. Extensions must import from @universe-editor/extension-api; there is no vscode module. The installed package's .d.ts files with JSDoc are the authoritative reference for which APIs exist and their signatures.

Why is my Universe Editor extension installed but not loading?

The most common causes are an invalid engines.universe range (|| or hyphen ranges are rejected fail-closed) or a missing capabilities.untrustedWorkspaces declaration when the extension has a main entry. Also verify dist/extension.js has been built.

Should I use new-extension or port-vscode-extension?

Use new-extension when building a plugin from scratch with no existing VSCode counterpart. If you want to port an existing VSCode extension, switch to the port-vscode-extension skill, which starts with a feasibility assessment of API compatibility.