Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OpenAEC-Foundation/OpenAEC-Workspace-Composer --skill vite-impl-migrationgit clone --depth 1 https://github.com/OpenAEC-Foundation/OpenAEC-Workspace-ComposerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openaec-foundation/openaec-workspace-composer/vite-impl-migration)<a href="https://agentmods.dev/skills/openaec-foundation/openaec-workspace-composer/vite-impl-migration"><img src="https://agentmods.dev/badge/skills/openaec-foundation/openaec-workspace-composer/vite-impl-migration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openaec-foundation/openaec-workspace-composer/vite-impl-migration"><img src="https://agentmods.dev/badge/skills/openaec-foundation/openaec-workspace-composer/vite-impl-migration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00138 | $0.02754 |
| Opus 5 | $0.00069 | $0.01377 |
| Sonnet 5 | $0.00028 | $0.00551 |
| Haiku 4.5 | $0.00014 | $0.00275 |
Grade A, and why
vite-impl-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 359 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vite-impl-migration
Quick Reference
Version Requirements
| Version | Node.js Requirement | Production Bundler | Dev Transform | CSS Minifier |
|---|---|---|---|---|
| Vite 5 | 18+ | Rollup | esbuild | esbuild |
| Vite 6 | 18+ | Rollup | esbuild | esbuild / Lightning CSS |
| Vite 7 | 20.19+ / 22.12+ | Rollup | esbuild | esbuild / Lightning CSS |
| Vite 8 | 20.19+ / 22.12+ | Rolldown | Oxc | Lightning CSS |
build.target Defaults Per Version
| Version | Default build.target |
|---|---|
| Vite 5 | 'modules' (es2020) |
| Vite 6 | 'modules' (es2020) |
| Vite 7 | 'baseline-widely-available' (chrome107, edge107, firefox104, safari16.0) |
| Vite 8 | 'baseline-widely-available' (chrome111, edge111, firefox114, safari16.4) |
Critical Warnings
NEVER upgrade Vite major versions without checking Node.js compatibility first. Vite 7+ drops Node.js 18 support entirely.
NEVER use build.rollupOptions in Vite 8 -- it is deprecated and mapped internally. ALWAYS use build.rolldownOptions instead.
NEVER use esbuild config in Vite 8 for new projects -- it is deprecated and converted to oxc internally. ALWAYS use the oxc config option.
NEVER use api: 'legacy' for Sass in Vite 7+ -- the legacy Sass API is completely removed. ALWAYS use the modern Sass API.
NEVER use the object form of output.manualChunks in Vite 8 -- it has been removed. ALWAYS use the function form.
ALWAYS add moduleType: 'js' in plugin load/transform hooks when returning non-JS content in Vite 8. Omitting this causes silent failures.
ALWAYS handle BundleError when using the build() API in Vite 8. Raw errors are no longer thrown.
Decision Tree: Which Migration Path?
Upgrading Vite?
├── From v5 → v6?
│ ├── Using Sass? → Switch to modern API (api: 'modern-compiler')
│ ├── Using PostCSS TS config with ts-node? → Switch to tsx or jiti
│ ├── Using json.stringify: true/false? → Review: default is now 'auto'
│ └── Using resolve.conditions? → Review new defaults
│
├── From v6 → v7?
│ ├── On Node.js 18? → MUST upgrade to Node.js 20.19+ or 22.12+
│ ├── Using splitVendorChunkPlugin? → Remove it, use manual chunking
│ ├── Using Sass legacy API? → MUST migrate to modern API
│ └── Using hook-level enforce on transformIndexHtml? → Move to plugin-level
│
├── From v7 → v8?
│ ├── Using build.rollupOptions? → Rename to build.rolldownOptions
│ ├── Using esbuild config? → Rename to oxc config
│ ├── Writing plugins with load/transform? → Add moduleType: 'js'
│ ├── Using object manualChunks? → Convert to function form
│ ├── Using import.meta.url in UMD/IIFE? → Find alternative
│ └── Catching build() errors? → Handle BundleError type
│
└── Multi-version jump (v5 → v8)?
→ Apply changes sequentially: v5→v6, v6→v7, v7→v8
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 359 lines · 138 tokens per session scan A 6dafc6b6e1e6
vite-impl-migration is a skill published in the GitHub repository OpenAEC-Foundation/OpenAEC-Workspace-Composer (5 stars, last pushed 5mo ago), licensed MIT. It adds 138 tokens to every session and 2,754 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
massing-bim
Drive a Massing BIM/AEC project from an AI agent over MCP — read a project's status, records, CDE, KPI and model-quality checks; run standards-compliance, schedule-risk, embodied-carbon, permit- readiness and drawing-QA analyses; author the IFC model with GUID-stable recipes; and draft RFIs. Use when the user asks to…
ara3d-sdk
Use when processing AEC/BIM 3D data in .NET 8 — mesh generation and transformation, SIMD-accelerated math, IFC/STEP/PLY to glTF/GLB/VIM conversion, plugin development. Ara3D-SDK: high-performance .NET 3D geometry and BIM library suite.
elements
Use when generating building information models (BIM) programmatically in C#/.NET — wall, beam, column, floor creation, geometry kernel (BREP/CSG), glTF/IFC/JSON serialization, MEP systems, spatial grids. Hypar Elements: the smallest useful BIM — a cross-platform C# library for creating building elements without…
3d-skills
Use when working with 3D Gaussian Splatting (3DGS), .ply model cleanup/compression/publishing, interactive 360-degree panorama visualization and virtual tours, AEC/BIM 3D data processing, or CSG solid modeling. Index of 5 skills: SuperSplat, Photo-Sphere-Viewer, Ara3D-SDK, Elements, and OpenCSG.NET.
aios-arch
A workflow for reviewing software architecture, including service boundaries, technical choices, data and model boundaries, AI workflows, reliability, and long-term complexity.
aios-product
A product-management workflow for turning an approved direction into a defined software version with a product brief, priorities, acceptance measures, pilot or user-acceptance testing, and handover details.