Convert Internal Package to TypeScript
TryGhost/Ghost
Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.
TypeScript version migration guide (5.x to 6 to 7, tsgo native port).
$ npx skills add secondsky/claude-skills --skill typescript-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install secondsky/claude-skills typescript-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/secondsky/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .claude/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .claude/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-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 secondsky/claude-skills --skill typescript-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install secondsky/claude-skills typescript-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .agents/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .agents/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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 secondsky/claude-skills --skill typescript-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install secondsky/claude-skills typescript-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .cursor/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .cursor/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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/secondsky/claude-skills.git --path plugins/typescript-migration/skills/typescript-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 secondsky/claude-skills --skill typescript-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install secondsky/claude-skills typescript-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .gemini/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .gemini/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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 secondsky/claude-skills typescript-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 secondsky/claude-skills --skill typescript-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .github/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .github/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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 secondsky/claude-skills --skill typescript-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 secondsky/claude-skills typescript-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/typescript-migration/skills/typescript-migration .opencode/skills/typescript-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-migration" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/typescript-migration/skills/typescript-migration into .opencode/skills/typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typescript-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-migrationTypeScript version migration guide (5.x to 6 to 7, tsgo native port).
Typescript Migration is an agent skill from secondsky/claude-skills. TypeScript version migration guide (5.x to 6 to 7, tsgo native port). Use for TS 6 tsconfig breaking changes, TS 7 Go rewrite rollout, or TS5xxx deprecation codes.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `references/ecosystem-compatibility.md`, `references/migration-playbooks.md` and `references/ts-migrating-tool-guide.md`).
It sits in Development, covering Code migrations. It works with TypeScript. The repository describes itself as: Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8837836. 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.
Ships 5 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
tscnpmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
devblogs.microsoft.comgithub.comFrom 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 Migration loads about 2.7k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 1,226 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); the scripts in this folder are not scanned.
The full file from secondsky/claude-skills at commit 8837836, republished under its MIT licence (© secondsky). 1,226 words, ~2,745 tokens.
.claude/skills/typescript-migration/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.Authoritative migration guide for TypeScript 5.x → 6 → 7 (native Go port). Sourced from Microsoft's official announcements.
NEVER skip TypeScript 6. The only supported paths are 5.x → 6 → 7.
Skipping TS 6 produces a wall of hard errors because TS 7 removes everything TS 6 deprecated. Use
"ignoreDeprecations": "6.0"only as a temporary pause inside TS 6; it does NOT work in TS 7.
scripts/detect-ts-version.sh (reads package.json).5.x → start with references/migration-playbooks.md § "5.x → 6".6.x → may go directly to TS 7 (see references/ts7-go-rewrite.md).5.x wanting TS 7 → must go 5 → 6 → 7 (no shortcuts).references/ts-migrating-tool-guide.md for the optional ts-migrating tool.scripts/audit-ts7-breakers.sh to detect tooling that breaks under TS 7 (typescript-eslint, ts-morph, ts-node, Vue/Svelte/Astro/MDX/Angular templates, ts-patch, ttypescript, typia, baseUrl, node10, ES5 target).| Project type | Recommendation | Why |
|---|---|---|
| Greenfield, no API-dependent tooling | Adopt TS 7 directly | Full speedup, no blockers |
| Existing TS project, no special tooling | 5 → 6 → 7 sequentially | TS 6 surfaces every deprecation as a warning first |
| Uses typescript-eslint / ts-morph / API consumers | 5 → 6 → 7 via @typescript/typescript6 side-by-side | TS 7 has no programmatic API until 7.1 |
| Vue / Svelte / Astro / MDX (Volar-based) | Stay on TS 6 | Volar needs the programmatic API; not yet supported |
| Angular with template type-checking | TS 7 for CLI + TS 6 for editor | Microsoft's official split workaround |
| ts-patch / ttypescript / typia / custom AST transformers | Stay on TS 6 until migrated to Oxc/SWC | Transformer API gone in TS 7 |
| Change | Old default | TS 6 default | Fix |
|---|---|---|---|
strict | false | true | Set explicitly or fix errors |
module | CommonJS | esnext | Set commonjs if needed |
target | ES3 | es2025 (floating) | Set explicitly |
moduleResolution | node10 | bundler | Set nodenext for Node targets |
rootDir | inferred | . (tsconfig dir) | Set "rootDir": "./src" |
types | all @types | [] | Set "types": ["node"] |
esModuleInterop | false | true | Remove :false; fix import * as → import |
noUncheckedSideEffectImports | false | true | Fix typos or set false for bundler CSS |
libReplacement | true | false | — |
allowSyntheticDefaultImports | varies | true | — |
Deprecated in 6, HARD ERRORS in 7: target: es5; downlevelIteration; moduleResolution: node | node10 | classic; module: amd | umd | systemjs | none; baseUrl; esModuleInterop: false; allowSyntheticDefaultImports: false; alwaysStrict: false; outFile; module Foo {} keyword; assert { } on imports; /// <reference no-default-lib="true"/>; tsc <file> + tsconfig present (use --ignoreConfig).
For full detail per change including PR citations, examples, and the official ts5to6 codemod usage, load references/ts6-breaking-changes.md.
typescript npm package IS TS 7 (npm install -D typescript).preserveConstEnums removed — always emits const enums.stableTypeOrdering now true by default; cannot be turned off.--checkers N (default 4), --builders N, --singleThreaded.@enum, @class, ?, postfix ! no longer special).--checkers 8); 6–26% lower memory.Full install options, compatibility matrix, performance tables, and known issues in references/ts7-go-rewrite.md.
Microsoft's recommended path for projects whose tooling depends on the TS Compiler API. Declare an alias in package.json:
{
"devDependencies": {
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2"
}
}npx tsc runs TS 7 (via the @typescript/native alias).typescript (typescript-eslint, ts-morph) transparently get TS 6's API via @typescript/typescript6.tsc6 executable is also available if a TS 6 invocation is needed directly.scripts/detect-ts-version.sh reports the installed version.scripts/audit-ts7-breakers.sh detects breakers BEFORE any upgrade. scripts/ts6-deprecation-scan.sh extracts TS5xxx codes from tsc output.references/migration-playbooks.md for the appropriate path. Run ts5to6 --fixBaseUrl and ts5to6 --fixRootDir if the user explicitly approves (these are official Microsoft-endorsed codemods). All other changes are manual.scripts/compare-tsc7-tsc6.sh diffs diagnostic codes between TS 7 tsc and TS 6 tsc6. Match on TSxxxx codes, NOT message text (wording differs between compilers). Delete stale .tsbuildinfo files before the first TS 7 run (incompatible between the JS and Go compilers)..tsbuildinfo before the first TS 7 run.audit-ts7-breakers.sh BEFORE any upgrade.@typescript/native-preview for stable use — it's the legacy nightly package; stable is the standard typescript package.references/unverified-claims.md (e.g. "moduleResolution default is node16", "--ts6-migration flag exists", "ES5 target is removed in 6", "--keyofStringsOnly was removed").ts-migrating (the tool) for TS version migration — it only helps tighten compilerOptions within a version.ts5to6).ts-migrating Tool — Conditional OfferOffer this tool ONLY when the user wants to enable a stricter compilerOption (e.g. noUncheckedIndexedAccess, strict, erasableSyntaxOnly) on an existing large codebase — NOT for version migration.
Gate conditions (all must hold):
compilerOption incrementally.Warnings:
annotate subcommand rewrites source — run on a clean git tree and review the diff.tsc; wire ts-migrating check into CI for it to matter.// @ts-migrating markers are tech debt needing a cleanup sweep.ts-migrate (different tool — JS → TS conversion).Full install, commands, and gate logic in references/ts-migrating-tool-guide.md.
| Code | Meaning | Action |
|---|---|---|
| TS5011 | rootDir mismatch | Set "rootDir": "./src" |
| TS5101 | Option deprecated, stops in TS {ver} | Add "ignoreDeprecations": "6.0" (TS 6 only) or fix |
| TS5102 | Option removed | Remove from tsconfig |
| TS5107 | Option=value deprecated | Same as TS5101 |
| TS5108 | Option=value removed | Remove |
| TS5111 | Migration info (baseUrl, node10) | See references/ts6-breaking-changes.md |
| TS5112 | tsc file-args + tsconfig present | Use --ignoreConfig |
Load these reference files when the user needs detail beyond the quick-reference above:
| Load This File | When |
|---|---|
references/ts6-breaking-changes.md | Migrating to TS 6; need full PR-cited detail on each default change, deprecation, or syntax change |
references/ts7-go-rewrite.md | Adopting TS 7; need install detail, compat matrix, performance tables, known gaps |
references/ecosystem-compatibility.md | Checking whether a specific tool (typescript-eslint, ts-morph, ts-node, vite, webpack, vitest, etc.) works under TS 7 |
references/migration-playbooks.md | Need ordered checklists for 5→6, 6→7, or 5→7-via-6 |
references/ts-migrating-tool-guide.md | User wants to enable a stricter compilerOption incrementally on an existing large codebase |
references/unverified-claims.md | Encountering a claim that contradicts official sources; verify before asserting |
typescript (target version), tsconfig.json in the project root.@andrewbranch/ts5to6 — official codemod for baseUrl / rootDir.@typescript/typescript6 — side-by-side API compat for TS 7.ts-migrating — incremental strict-flag rollout (see guide).{
"devDependencies": {
"typescript": "^7.0.2",
"@typescript/typescript6": "^6.0.2"
},
"optionalHelpers": {
"@andrewbranch/ts5to6": "latest",
"ts-migrating": "latest"
}
}All facts in this skill are cited to Microsoft's official TypeScript blog (devblogs.microsoft.com/typescript). Third-party tutorial claims that conflict with official sources are catalogued in references/unverified-claims.md and treated as suspect.
© secondsky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 15 other files (scripts, references) in plugins/typescript-migration/skills/typescript-migration of secondsky/claude-skills.
Open the folder on GitHubat commit 8837836
Typescript 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 Migration this skillsecondsky/claude-skills | 227 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Convert Internal Package to TypeScriptTryGhost/Ghost | 55k | — | ~1.2k | Automated safety check: Pass | MIT | |
| jscpd Code Migration Trackerkucherenko/jscpd | 6.3k | — | ~5k | Automated safety check: Pass | MIT | |
| ast-grep Codemod Referencewarp-drive-data/warp-drive | 3.2k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Codemodpmndrs/glyph | 392 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Code Migrationanthropics/code-migration-kit-with-claude-code | 742 | — | ~983 | Automated safety check: Pass | Custom licence |
TryGhost/Ghost
Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.
kucherenko/jscpd
Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.
warp-drive-data/warp-drive
Reference for writing and debugging TypeScript and JavaScript codemods with @ast-grep/napi: parsing, node queries, meta-variables, rule objects and editing.
pmndrs/glyph
Author, archive, apply, and verify TypeScript codemods with ts-morph for APIs that have reached the remote default branch or external users.
anthropics/code-migration-kit-with-claude-code
Run a large-scale language migration with the six-step process: create the map and the rules, stress-test the rules, translate everything, compile, run it, match behavior.
wshobson/agents
Guides migrating AngularJS 1.x apps to modern Angular: choosing a strategy, running a hybrid app with ngUpgrade, and converting controllers, directives and services.
secondsky/claude-skills
TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.
secondsky/claude-skills
AutoAnimate (@formkit/auto-animate) zero-config animations for React.
secondsky/claude-skills
MUI Base UI unstyled React components with Floating UI. An agent skill from secondsky/claude-skills.
secondsky/claude-skills
This skill should be used when the user asks to "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "create image variants"…
secondsky/claude-skills
Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).
secondsky/claude-skills
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
Works with
Categories
TypeScript version migration guide (5.x to 6 to 7, tsgo native port). Typescript Migration is an agent skill from secondsky/claude-skills.x to 6 to 7, tsgo native port).
Typescript Migration fits situations like: TS 6 tsconfig breaking changes; TS 7 Go rewrite rollout; TS5xxx deprecation codes.
Run `npx skills add secondsky/claude-skills --skill typescript-migration -a claude-code`. Or copy the skill folder (plugins/typescript-migration/skills/typescript-migration in secondsky/claude-skills) into .claude/skills/typescript-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add secondsky/claude-skills --skill typescript-migration -a codex`. Or copy the skill folder (plugins/typescript-migration/skills/typescript-migration in secondsky/claude-skills) into .agents/skills/typescript-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 secondsky/claude-skills --skill typescript-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-migration, .gemini/skills/typescript-migration, .github/skills/typescript-migration and .opencode/skills/typescript-migration in your project.
Going by SKILL.md and its folder, Typescript Migration needs a shell for the scripts in its folder and the command-line tools its instructions call (tsc, npm and npx). Our summary lists: Node.js; A Bash shell.
SKILL.md names 2 domains. As links in the text: devblogs.microsoft.com and github.com. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Typescript Migration is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k 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. Its references folder adds about 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Typescript Migration: Convert Internal Package to TypeScript (TryGhost/Ghost, 55k stars), jscpd Code Migration Tracker (kucherenko/jscpd, 6.3k stars), ast-grep Codemod Reference (warp-drive-data/warp-drive, 3.2k stars) and Codemod (pmndrs/glyph, 392 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
secondsky (a GitHub user) maintains it in secondsky/claude-skills, which has 227 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 28, 2026.
Source: secondsky/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.