Antfu
JetBrains/skills
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects.
Migrate or upgrade TypeScript tooling in the Phoenix monorepo.
$ npx skills add Arize-ai/phoenix --skill typescript-tooling-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Arize-ai/phoenix typescript-tooling-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/Arize-ai/phoenix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .claude/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .claude/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Arize-ai/phoenix typescript-tooling-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Arize-ai/phoenix.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .agents/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .agents/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Arize-ai/phoenix typescript-tooling-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Arize-ai/phoenix.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .cursor/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .cursor/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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/Arize-ai/phoenix.git --path .agents/skills/typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Arize-ai/phoenix typescript-tooling-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Arize-ai/phoenix.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .gemini/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .gemini/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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 Arize-ai/phoenix typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Arize-ai/phoenix.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .github/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .github/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-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 Arize-ai/phoenix typescript-tooling-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Arize-ai/phoenix.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/typescript-tooling-migration .opencode/skills/typescript-tooling-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 "typescript-tooling-migration" agent skill from https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration into .opencode/skills/typescript-tooling-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-tooling-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.
typescript-tooling-migrationMigrate or upgrade TypeScript tooling in the Phoenix monorepo.
Typescript Tooling Migration is an agent skill from Arize-ai/phoenix. Migrate or upgrade TypeScript tooling in the Phoenix monorepo. Use when upgrading TypeScript versions, switching tools (ESLint to oxlint, Prettier to oxfmt), upgrading bundlers (Vite, esbuild), or making major dependency upgrades. Triggers on requests to migrate, upgrade, or replace TypeScript/JavaScript tooling.
Its SKILL.md is about 2.8k 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 Development, covering Linting and formatting, Monorepo tooling and LLM observability. It works with TypeScript, ESLint, Vite and Prettier. The repository describes itself as: AI Observability & Evaluation. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 856100b. 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:
pnpmgitFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
oxc.rstypescriptlang.orgreact.devvite.devpnpm.ioFrom 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.
Typescript Tooling Migration loads about 2.8k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 1,024 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 Arize-ai/phoenix at commit 856100b, republished under its Apache-2.0 licence (© Arize-ai). 1,024 words, ~2,799 tokens.
.claude/skills/typescript-tooling-migration/SKILL.md (or your agent's skills folder).Guide for migrating or upgrading TypeScript tooling in the Phoenix monorepo. This skill covers upgrading core dependencies (TypeScript, React), switching tools (linters, formatters, bundlers), and managing breaking changes across js/app/ and js/ directories.
All TypeScript code lives in a single pnpm workspace rooted at js/:
| Directory | Purpose |
|---|---|
js/app/ | React/TypeScript frontend (main Phoenix UI, workspace package phoenix-ui) |
js/packages/* | Publishable TypeScript packages (phoenix-client, phoenix-evals, etc.) |
js/ | Workspace root: single pnpm-lock.yaml, pnpm-workspace.yaml, .pnpmfile.cjs |
Shared tooling versions are managed at the workspace root where possible:
| Tool | Config Location |
|---|---|
| pnpm | js/package.json → packageManager |
| TypeScript | package.json → devDependencies (keep js/app and js root aligned) |
| oxlint | package.json → devDependencies (keep js/app and js root aligned) |
| oxfmt | package.json → devDependencies (keep js/app and js root aligned) |
| Config | Location | Purpose |
|---|---|---|
.oxlintrc.json | Root + js/app/ + js/ | Linter config (nested inheritance) |
.oxfmtrc.jsonc | Root | Formatter config (shared) |
tsconfig.json | js/app/ and js/ packages | TypeScript config |
vite.config.ts | js/app/ | Build/dev server config |
relay.config.js | js/app/ | GraphQL/Relay config |
Complete replacement of one tool with another.
Workflow:
Upgrading a tool to a new major version with breaking changes.
Workflow:
Upgrading a core dependency that affects application code.
Workflow:
js/app/, js/, or both)git checkout -b chore/migrate-<tool>-to-<version>
# or
git checkout -b chore/upgrade-<tool>-<version># For js/app/ (the app workspace package)
cd js/app && pnpm add -D <package>@<version>
# For js/ (workspace root)
cd js && pnpm add -D -w <package>@<version>
# For upgrading existing dependencies
cd js/app && pnpm update <package>@<version>Tip: Keep old tool installed until migration is verified for tool replacements.
Phoenix uses nested configs with inheritance where possible:
phoenix/
├── .<tool>rc.json # Shared base config
├── js/app/
│ └── .<tool>rc.json # Extends base, adds React-specific options
└── js/
└── .<tool>rc.json # Extends base, adds Node-specific optionsConfig inheritance pattern:
{
"$schema": "./node_modules/<tool>/configuration_schema.json",
"extends": ["../.<tool>rc.json"]
}Tip: Use the tool's own CLI to identify issues:
pnpm run typecheck # TypeScript errors
pnpm run lint # Linter errors
pnpm run build # Build errorsUpdate both js/app/package.json and js/package.json if script invocations changed:
{
"scripts": {
"lint": "<new-command>",
"typecheck": "<new-command>"
}
}Edit .pre-commit-config.yaml if the tool is used in pre-commit:
- id: <tool>-app
name: <tool> (app)
entry: pnpm --dir js/app run <script>
language: system
files: ^js/app/.*\.[jt]sx?$
pass_filenames: false
- id: <tool>-js
name: <tool> (js)
entry: pnpm --dir js run <script>
language: system
files: ^js/.*\.[jt]sx?$
pass_filenames: false.vscode/extensions.json if extensions changedDEVELOPMENT.md:{
"<extension>.path.<binary>": "js/app/node_modules/<package>/bin/<binary>"
}Note: .vscode/settings.json is gitignored - document settings in DEVELOPMENT.md.
# Remove old dependencies
cd js/app && pnpm remove <old-tool> <old-plugins>
cd js && pnpm remove -w <old-tool> <old-plugins>
# Delete old config files
rm js/app/<old-config> js/<old-config># Type checking
cd js/app && pnpm run typecheck
cd js && pnpm run typecheck
# Linting
cd js/app && pnpm run lint
cd js && pnpm run lint
# Formatting
cd js/app && pnpm run fmt:check
cd js && pnpm run fmt:check
# Unit tests
cd js/app && pnpm test
cd js && pnpm run -r test
# Build
cd js/app && pnpm run build
cd js && pnpm run -r build
# E2E tests (for significant changes)
cd js/app && pnpm run test:e2e
# Pre-commit hooks
pre-commit run --all-filesFiles to check and update:
| File | What to update |
|---|---|
AGENTS.md | Tool versions, commands, style conventions |
DEVELOPMENT.md | Setup instructions, VS Code settings |
js/app/README.md | Tool references, test commands |
.cursor/rules/typescript-packages/RULE.md | Commands, workflow instructions |
.claude/settings.json | PostToolUse hooks |
CHANGELOG.md | Note significant tooling changes |
The app (js/app/package.json) and the workspace root (js/package.json) both
declare shared tooling (typescript, oxlint, oxfmt). Keep those versions aligned
when upgrading — the single lockfile makes drift visible in review.
When upgrading shared tooling, upgrade js/app/ and the js/ workspace root together. Version drift causes subtle bugs and CI failures.
eslint-disable comments)| Scenario | Approach |
|---|---|
| Identical config for both dirs | Single root config |
| Shared base + dir-specific overrides | Root config + nested configs with extends |
| Completely different configs per dir | Separate configs (no inheritance) |
These directories have their own tooling and should NOT be included in migrations:
scripts/docker/devops/oidc-server/ - Separate OIDC test serverscripts/mock-llm-server/ - Separate mock server internal_docs/ - Internal documentation utilitiesStricter type checking: New TypeScript versions often add stricter checks. Fix errors by:
tsconfig.json to temporarily relax checks if neededDependency type mismatches: Ensure @types/* packages are compatible with the new TS version.
rm -rf node_modules/.cache js/app/dist js/**/distpnpm installpnpm run build$schema path is relative to the config file locationextends path (e.g., "../.toolrc.json")Cmd+Shift+P → "Reload Window")pnpm install in both directoriespackage.json matches hook entrypnpm --dir js/app run <script>.nvmrc)pnpm-lock.yaml)--frozen-lockfile locally to match CI behaviorRelevant CI files for TypeScript tooling:
| Workflow | Purpose |
|---|---|
.github/workflows/typescript-CI.yml | Whole js/ workspace (app + packages): build, typecheck, fmt, lint, codegen drift, test |
.github/workflows/playwright.yaml | E2E tests |
© Arize-ai, Apache-2.0. 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 .agents/skills/typescript-tooling-migration of Arize-ai/phoenix.
Open the folder on GitHubat commit 856100b
Typescript Tooling 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 |
|---|---|---|---|---|---|---|
| Typescript Tooling Migration this skillArize-ai/phoenix | 12k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AntfuJetBrains/skills | 364 | 4 repos | ~1k | Automated safety check: Pass | None | |
| Ultraciteagustinusnathaniel/nextarter-tailwind | 125 | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Code Qualityredis/RedisInsight | 8.9k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Monorepoavibebuilder/claude-prime | 120 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Ultracitesecondsky/claude-skills | 227 | — | ~6.5k | Automated safety check: Pass | MIT |
JetBrains/skills
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects.
agustinusnathaniel/nextarter-tailwind
Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects.
redis/RedisInsight
Code-quality standards for RedisInsight: TypeScript strictness, naming conventions (camelCase, PascalCase, UPPERSNAKECASE), linting rules, no any without reason, no !important in styles, and…
avibebuilder/claude-prime
MUST use for ANY query mentioning packages, monorepo, workspace, catalog, turbo, turborepo, or pnpm in a multi-package context.
secondsky/claude-skills
Ultracite multi-provider linting/formatting (Biome, ESLint, Oxlint).
managedcode/dotnet-skills
Use ESLint in .NET repositories that ship JavaScript, TypeScript, React, or other Node-based frontend assets.
Arize-ai/phoenix
A skill your agent uses when working with Harbor's harbor exec CLI workflow: compiling files, directories, or globs into Harbor tasks; running map jobs; configuring artifacts and existence-only…
Arize-ai/phoenix
Build and maintain documentation sites with Mintlify. An agent skill from Arize-ai/phoenix.
Arize-ai/phoenix
Frontend development guidelines for the Phoenix AI observability platform.
Arize-ai/phoenix
Write efficient GraphQL queries against the Phoenix API. An agent skill from Arize-ai/phoenix.
Arize-ai/phoenix
Backend development guide for the Phoenix AI observability platform (Strawberry GraphQL, SQLAlchemy async, FastAPI).
Arize-ai/phoenix
Conventions for creating, modifying, and reviewing production-faithful Storybook stories in the Phoenix frontend (js/app/stories, js/app/.storybook).
Categories
Migrate or upgrade TypeScript tooling in the Phoenix monorepo. Typescript Tooling Migration is an agent skill from Arize-ai/phoenix. Migrate or upgrade TypeScript tooling in the Phoenix monorepo.
Typescript Tooling Migration fits situations like: upgrading TypeScript versions; switching tools (ESLint to oxlint; prettier to oxfmt); upgrading bundlers (Vite.
Run `npx skills add Arize-ai/phoenix --skill typescript-tooling-migration -a claude-code`. Or copy the skill folder (.agents/skills/typescript-tooling-migration in Arize-ai/phoenix) into .claude/skills/typescript-tooling-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Arize-ai/phoenix --skill typescript-tooling-migration -a codex`. Or copy the skill folder (.agents/skills/typescript-tooling-migration in Arize-ai/phoenix) into .agents/skills/typescript-tooling-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 Arize-ai/phoenix --skill typescript-tooling-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/typescript-tooling-migration, .gemini/skills/typescript-tooling-migration, .github/skills/typescript-tooling-migration and .opencode/skills/typescript-tooling-migration in your project.
Going by SKILL.md and its folder, Typescript Tooling Migration needs the command-line tools its instructions call (pnpm and git). Our summary lists: Docker.
SKILL.md names 5 domains. As links in the text: oxc.rs, typescriptlang.org, react.dev, vite.dev and pnpm.io. 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.
Typescript Tooling Migration is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 Typescript Tooling Migration: Antfu (JetBrains/skills, 364 stars), Ultracite (agustinusnathaniel/nextarter-tailwind, 125 stars), Code Quality (redis/RedisInsight, 8.9k stars) and Monorepo (avibebuilder/claude-prime, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Arize-ai (a GitHub organization) maintains it in Arize-ai/phoenix, which has 11,744 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 8, 2026.
Source: Arize-ai/phoenix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.