Agent skill

Typescript Performance

by caarlos0 in caarlos0/dotfiles

Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance.

MITAuto-check passedDevelopment

Install Typescript Performance

skills CLI
$ npx skills add caarlos0/dotfiles --skill typescript-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install caarlos0/dotfiles typescript-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/caarlos0/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/typescript-performance .claude/skills/typescript-performance && rm -rf skills-src

Use ~/.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/

Facts

Skill name
typescript-performance
GitHub stars
220
Token cost
~1.5k tokens
SKILL.md length
709 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance.

  • Development work in your project
  • SKILL.md covers Compiler and editor, Emit and bundles, Emitted JavaScript and V8 and Node.js, plus 3 more sections
  • Calls tsc, node and npx

What it does

Typescript Performance is an agent skill from caarlos0/dotfiles. Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance.

Its SKILL.md is about 1.5k 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. It works with TypeScript. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/typescript-performance”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit b144097. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • tsc
    • node
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Typescript Performance loads about 1.5k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 709 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from caarlos0/dotfiles at commit b144097, republished under its MIT licence (© caarlos0). 709 words, ~1,455 tokens.

Download SKILL.mdSave it as .claude/skills/typescript-performance/SKILL.md (or your agent's skills folder).
name
typescript-performance
description
Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance.

TypeScript Performance

First identify the slow layer: type checking, emit and bundling, emitted JavaScript, Node.js, or the browser. Measure one representative workload and change one demonstrated bottleneck.

Compiler and editor

Start with phase timing:

bash
tsc -p tsconfig.json --extendedDiagnostics
tsc -p tsconfig.json --generateTrace trace --incremental false
npx @typescript/analyze-trace trace

Use --generateTrace only when check time dominates. Its output identifies expensive files, comparisons, and type instantiations.

Concrete checker fixes, only for traced hot spots:

  • Prefer a named interface over a large repeated intersection when callers need the composed object type. Interface relations have stable identities the checker can cache.
  • Extract repeated inline conditional or mapped types to named aliases so equivalent instantiations can be reused.
  • Add explicit return types to expensive exported functions when declaration emit repeatedly infers and names them.
  • Reduce very large unions and intersections at their source instead of adding assertions that hide the cost.
  • Inspect the actual graph with --listFiles or --explainFiles. exclude does not remove an imported file.
  • Limit types to ambient packages the program uses; do not load every installed @types package by accident.
  • Use project references where package ownership is real. Too many tiny projects add declaration and orchestration overhead.
  • Use incremental for repeated builds and invalidate .tsbuildinfo when the compiler or relevant configuration changes.

skipLibCheck saves time by not validating dependency declarations. It can hide incompatible .d.ts files, so treat it as a correctness trade-off rather than a default optimization. isolatedDeclarations enables compatible tools to emit declarations per file; it does not make ordinary tsc checking faster.

Emit and bundles

Run fast transpilation beside, never instead of, type checking:

text
tsc --noEmit ─────────────► type errors
source ─► esbuild / SWC ─► JavaScript and source maps

Enable isolatedModules to detect constructs unsafe for file-isolated transpilers. Inspect:

  • ESM preservation through the compiler and bundler; CommonJS and dynamic exports limit static tree shaking.
  • package.json sideEffects. Use false only when module evaluation is actually pure; list CSS, polyfills, and registration modules explicitly.
  • target against the deployed runtime. Lower targets inject syntax-lowering code; TypeScript does not polyfill missing runtime APIs.
  • decorator and metadata output, helper duplication, source-map cost, dynamic imports, chunk boundaries, and route-level bytes.
  • cache keys for compiler version, config, environment, inputs, and outputs. A fast stale build is a correctness failure.

Emitted JavaScript and V8

Interfaces, type aliases, generics, and type modifiers erase. Regular enums, namespaces, decorators, and parameter properties emit JavaScript. Inspect the bundle before making runtime claims.

In measured hot paths:

  • Initialize object properties consistently. Conditional property creation can make inline caches polymorphic.
  • Avoid holes, out-of-bounds reads, and mixed numeric/object values in dense numeric arrays. Consider typed arrays when fixed numeric semantics fit.
  • Measure closure creation, promise chains, parsing, serialization, and object allocation rather than rewriting syntax by taste.
  • Warm microbenchmarks through the deployed engine's JIT tiers and include GC.

Reject stale bans on try/catch, async/await, classes, or modern syntax. V8 behavior changes; require a current profile on the deployed Node or browser.

Show full SKILL.md (251 more words)Show less

Node.js

  • Remove synchronous filesystem, crypto, compression, and child-process calls from concurrent request paths.
  • Remember that async fs, dns, crypto, and zlib can contend for the shared libuv worker pool. Moving work off the event loop does not create unlimited capacity.
  • Honor stream backpressure: stop after write() returns false, wait for drain, and prefer stream.pipeline for connected stages and error cleanup.
  • Use worker threads only for measured CPU work. Include startup, structured clone or transfer, coordination, and memory in the benchmark.
  • Use AsyncLocalStorage for request context instead of raw async_hooks.
  • Inspect CPU and heap profiles before adding profiler dependencies:
bash
node --cpu-prof app.js
node --heap-prof app.js

Browser

Measure bundle delivery, script parse/evaluate/GC, rendering, and field responsiveness separately. Use the Performance panel to attribute long tasks before splitting or yielding. Include structured-clone and messaging cost when moving work to Web Workers; transfer buffers when ownership transfer is valid. Batch DOM reads and writes to avoid repeated style and layout work.

Lighthouse is lab evidence. Use Core Web Vitals field data for real-user impact; one local run is not a regression gate.

Regression guards

Bundle bytes and compiler diagnostic counts can be hard gates when the lockfile, toolchain, input, and variance are controlled. Keep shared-runner wall time and browser lab scores advisory until repeated baselines show a stable threshold.

  • code-review checks a completed diff. When invoked from code-review, do not invoke it again.
  • code-simplifier runs after the gain is proven.
  • change-impact-auditor traces config, cache, module, and consumer changes.
  • runtime-process-debugging owns event-loop, process, pipe, and shutdown failures.

Correctness overrides performance.

© caarlos0, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/typescript-performance of caarlos0/dotfiles.

Open the folder on GitHubat commit b144097

Compare with similar skills

Typescript Performance 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.

Typescript Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Typescript Performance this skillcaarlos0/dotfiles220—~1.5kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Nx Importnrwl/nx29k6 repos~3.5kAutomated safety check: PassMIT
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k1 repos~2.2kAutomated safety check: PassMIT
OpenTUI Terminal Interfacescline/cline70k—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Nx Import

    nrwl/nx

    Import, merge, or combine repositories into an Nx workspace using nx import.

    29k GitHub starsUsed in 6 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.3k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Helps build terminal user interfaces with OpenTUI using its core imperative API or its React and Solid reconcilers, with references for layout, keyboard, animation and testing.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Frontend Code Review

    langgenius/dify

    Reviews frontend changes under `web/` or `packages/dify-ui/` for concrete defects and broken project contracts, using routed rule packs and a severity scale for findings.

    158k GitHub stars~938 tokensUpdated today
    DevelopmentAuto-check passed

More from caarlos0/dotfiles

All 20 skills in this repo
  • CLI Design

    caarlos0/dotfiles

    Design and review command-line interfaces for usability, automation, safety, accessibility, and long-term compatibility.

    220 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Dependabot Merge

    caarlos0/dotfiles

    Review and merge open dependency pull requests from Dependabot, Renovate and similar bots across the goreleaser organization and the caarlos0 user.

    220 GitHub stars~5k tokensUpdated today
    Auto-check passed
  • Gh CLI

    caarlos0/dotfiles

    Use GitHub CLI efficiently for pull requests, CI checks, workflow runs, logs, and merge status.

    220 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Tui Design

    caarlos0/dotfiles

    Design terminal user interfaces and interactive CLIs that stay usable, accessible, and scriptable.

    220 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Dashboard

    caarlos0/dotfiles

    Design and review dashboards that are informative, honest, accessible, and visually polished, independent of any tool.

    220 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Gh Doc Author

    caarlos0/dotfiles

    Author and revise clear GitHub internal documentation, including design docs, proposals, decision records, runbooks, status updates, and handoffs.

    220 GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Typescript Performance

What does Typescript Performance do?

Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance. Typescript Performance is an agent skill from caarlos0/dotfiles. Diagnose and optimize TypeScript checker, build, V8, Node, and browser performance.

When should I use Typescript Performance?

Typescript Performance fits situations like: development work in your project.

How do I install Typescript Performance in Claude Code?

Run `npx skills add caarlos0/dotfiles --skill typescript-performance -a claude-code`. Or copy the skill folder (skills/typescript-performance in caarlos0/dotfiles) into .claude/skills/typescript-performance in your project. Claude Code loads it when a task matches its description.

How do I install Typescript Performance in Codex?

Run `npx skills add caarlos0/dotfiles --skill typescript-performance -a codex`. Or copy the skill folder (skills/typescript-performance in caarlos0/dotfiles) into .agents/skills/typescript-performance in your project. Codex loads it when a task matches its description.

Can I use Typescript Performance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add caarlos0/dotfiles --skill typescript-performance -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-performance, .gemini/skills/typescript-performance, .github/skills/typescript-performance and .opencode/skills/typescript-performance in your project.

What does Typescript Performance need to run?

Going by SKILL.md and its folder, Typescript Performance needs the command-line tools its instructions call (tsc, node and npx). Our summary lists: Node.js.

Does Typescript Performance access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Typescript Performance safe to install?

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.

What licence does Typescript Performance use?

Typescript Performance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Typescript Performance use?

About 1.5k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Typescript Performance?

Skills that share tags, products or a category with Typescript Performance: Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Nx Import (nrwl/nx, 29k stars) and Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Typescript Performance?

caarlos0 (a GitHub user) maintains it in caarlos0/dotfiles, which has 220 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 7, 2026.

Source: caarlos0/dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.