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 agentmods add skills/pymodel/react-frontend-skills/typescriptnpx skills add PyModel/react-frontend-skills --skill typescriptgit clone --depth 1 https://github.com/PyModel/react-frontend-skillsWhat 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 | $0.00061 | $0.01971 |
| Opus 5 | $0.00030 | $0.00986 |
| Sonnet 5 | $0.00012 | $0.00394 |
| Haiku 4.5 | $0.00006 | $0.00197 |
Grade A, and why
typescript 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 2d 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TypeScript Best Practices
Comprehensive TypeScript 7-compatible guide with 44 rules across 8 categories, covering compiler configuration, type-system performance, async code, modules, safety, and measured runtime optimization.
When to Apply
Reference these guidelines when:
- Configuring tsconfig.json for a new or existing project
- Writing complex type definitions or generics
- Optimizing async/await patterns and data fetching
- Organizing modules and managing imports
- Reviewing code for compilation or runtime performance
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Type System Performance | CRITICAL | type- |
| 2 | Compiler Configuration | CRITICAL | tscfg- |
| 3 | Async Patterns | HIGH | async- |
| 4 | Module Organization | HIGH | module- |
| 5 | Type Safety Patterns | MEDIUM-HIGH | safety- |
| 6 | Memory Management | MEDIUM | mem- |
| 7 | Runtime Optimization | LOW-MEDIUM | runtime- |
| 8 | Advanced Patterns | LOW | advanced- |
Table of Contents
- Type System Performance — CRITICAL
- 1.1 Add Explicit Return Types to Exported Functions — CRITICAL (faster declaration emit)
- 1.2 Avoid Deeply Nested Generic Types — CRITICAL (prevents exponential instantiation cost)
- 1.3 Avoid Large Union Types — CRITICAL (quadratic O(n²) comparison cost)
- 1.4 Extract Conditional Types to Named Aliases — CRITICAL (enables compiler caching, prevents re-evaluation)
- 1.5 Limit Type Recursion Depth — CRITICAL (prevents exponential type expansion)
- 1.6 Prefer Interfaces Over Type Intersections — CRITICAL (faster type resolution)
- 1.7 Simplify Complex Mapped Types — CRITICAL (reduces type computation)
- Compiler Configuration — CRITICAL
- 2.1 Configure Include and Exclude Properly — CRITICAL (prevents scanning thousands of unnecessary files)
- 2.2 Enable Incremental Compilation — CRITICAL (faster rebuilds)
- 2.3 Choose skipLibCheck Deliberately — CRITICAL (faster compilation)
- 2.4 Enable strictFunctionTypes for Sound Function Assignments — CRITICAL (enables optimized variance checking)
- 2.5 Use isolatedModules for Single-File Transpilers — CRITICAL (faster transpilation with bundlers)
- 2.6 Use Project References for Large Codebases — CRITICAL (faster incremental builds)
- 2.7 Migrate TypeScript 7 Configuration Deliberately — CRITICAL
- Async Patterns — HIGH
- 3.1 Annotate Async Function Return Types — HIGH (prevents runtime errors, improves inference)
- 3.2 Avoid await Inside Loops — HIGH (scales linearly with the number of iterations)
- 3.3 Avoid Unnecessary async/await — HIGH (eliminates microtask queue overhead)
- 3.4 Defer await Until Value Is Needed — HIGH (enables implicit parallelization)
- 3.5 Use Promise.all for Independent Operations — HIGH (improvement in I/O-bound code)
- Module Organization — HIGH
- 4.1 Avoid Barrel File Imports — HIGH (import cost, larger bundles)
- 4.2 Avoid Circular Dependencies — HIGH (prevents runtime undefined errors and slow compilation)
- 4.3 Control @types Package Inclusion — HIGH (prevents type conflicts and reduces memory usage)
- 4.4 Use Dynamic Imports for Large Modules — HIGH (reduces initial bundle)
- 4.5 Use Type-Only Imports for Types — HIGH (eliminates runtime imports for type information)
- Type Safety Patterns — MEDIUM-HIGH
- 5.1 Enable strictNullChecks — MEDIUM-HIGH
- 5.2 Prefer unknown Over any — MEDIUM-HIGH
- 5.3 Use Assertion Functions for Validation — MEDIUM-HIGH
- 5.4 Use const Assertions for Literal Types — MEDIUM-HIGH
- 5.5 Use Exhaustive Checks for Union Types — MEDIUM-HIGH
- 5.6 Use Type Guards for Runtime Type Checking — MEDIUM-HIGH
- Memory Management — MEDIUM
- 6.1 Avoid Closure Memory Leaks — MEDIUM (prevents retained references in long-lived callbacks)
- 6.2 Avoid Global State Accumulation — MEDIUM (prevents unbounded memory growth)
- 6.3 Clean Up Event Listeners — MEDIUM (prevents unbounded memory growth)
- 6.4 Clear Timers and Intervals — MEDIUM (prevents callback retention and repeated execution)
- 6.5 Use WeakMap for Object Metadata — MEDIUM (prevents memory leaks, enables automatic cleanup)
- Runtime Optimization — LOW-MEDIUM
- 7.1 Avoid Object Spread in Hot Loops — LOW-MEDIUM
- 7.2 Hoist Loop-Invariant Work in Measured Hot Paths — LOW-MEDIUM
- 7.3 Prefer Native Array Methods Over Lodash — LOW-MEDIUM
- 7.4 Use for-of for Simple Iteration — LOW-MEDIUM
- 7.5 Use Modern String Methods — LOW-MEDIUM
- 7.6 Use Set/Map for O(1) Lookups — LOW-MEDIUM
- Advanced Patterns — LOW
- 8.1 Use Branded Types for Type-Safe IDs — LOW (prevents mixing incompatible ID types)
- 8.2 Use satisfies for Type Validation with Inference — LOW (prevents property access errors, enables reliable autocomplete)
- 8.3 Use Template Literal Types for String Patterns — LOW (prevents string format errors at compile time)
What ships with it
44 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.
- references/advanced-branded-types.md 2.4 KB
- references/advanced-satisfies-operator.md 2.6 KB
- references/advanced-template-literal-types.md 2.6 KB
- references/async-avoid-loop-await.md 2.2 KB
- references/async-avoid-unnecessary-async.md 1.8 KB
- references/async-defer-await.md 2.1 KB
- references/async-explicit-return-types.md 2.5 KB
- references/async-parallel-promises.md 2.1 KB
- references/mem-avoid-closure-leaks.md 2.5 KB
- references/mem-avoid-global-state.md 2.4 KB
- references/mem-cleanup-event-listeners.md 2.9 KB
- references/mem-clear-timers.md 2.5 KB
- references/mem-use-weakmap-for-metadata.md 2.2 KB
- references/module-avoid-barrel-imports.md 1.7 KB
- references/module-avoid-circular-dependencies.md 1.8 KB
- references/module-control-types-inclusion.md 1.8 KB
- references/module-dynamic-imports.md 2.1 KB
- references/module-use-type-imports.md 1.9 KB
- references/runtime-avoid-object-spread-in-loops.md 2.1 KB
- references/runtime-cache-property-access.md 2.4 KB
- references/runtime-prefer-array-methods.md 2.3 KB
- references/runtime-use-for-of-for-iteration.md 2.0 KB
- references/runtime-use-set-for-lookups.md 1.8 KB
- references/runtime-use-string-methods.md 2.2 KB
- references/safety-assertion-functions.md 2.5 KB
- references/safety-const-assertions.md 2.2 KB
- references/safety-exhaustive-checks.md 2.4 KB
- references/safety-prefer-unknown-over-any.md 2.0 KB
- references/safety-strict-null-checks.md 1.9 KB
- references/safety-use-type-guards.md 2.1 KB
- references/tscfg-enable-incremental.md 1.4 KB
- references/tscfg-exclude-properly.md 1.9 KB
- references/tscfg-isolate-modules.md 2.0 KB
- references/tscfg-project-references.md 2.1 KB
- references/tscfg-skip-lib-check.md 1.9 KB
- references/tscfg-strict-function-types.md 2.2 KB
- references/tscfg-typescript-7.md 3.4 KB
- references/type-avoid-deep-generics.md 1.8 KB
- references/type-avoid-large-unions.md 1.6 KB
- references/type-explicit-return-types.md 2.2 KB
- references/type-extract-conditional-types.md 1.6 KB
- references/type-interfaces-over-intersections.md 1.3 KB
- references/type-limit-recursion-depth.md 1.7 KB
- references/type-simplify-mapped-types.md 1.8 KB
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.
- 2d ago First seen · 93 lines · 61 tokens per session scan A 079d426856ec
typescript is a skill published in the GitHub repository PyModel/react-frontend-skills (3 stars, last pushed 12d ago), licensed MIT. It adds 61 tokens to every session and 1,971 once invoked, about $0.0003 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
ultracite
Ultracite is a zero-config linting and formatting preset for JavaScript/TypeScript projects. Use when: (1) Setting up or initializing Ultracite in a project (ultracite init), (2) Running linting or formatting commands (check, fix, doctor), (3) Writing or reviewing JS/TS code in a project that uses Ultracite — to…
type-safety
TypeScript type safety conventions for the Playwright scaffold — the "no any" rule, Zod 4 schema patterns (z.strictObject, top-level validators like z.uuid / z.email / z.url / z.int / z.enum), schemas built directly from the documented OpenAPI / Swagger contract (response envelope spelled out per endpoint), type…
enums
TypeScript enum conventions for the Playwright scaffold — PascalCase enum names, SCREAMINGSNAKECASE members, location rules for app-specific (enums/{area}/) vs shared/utility (enums/util/) constants, and the rules for adding or extending enums. Use when adding a new API endpoint path, UI message, role, storage-state…
architecture-audit
Systematic architecture audit and refactoring methodology for Rust + TypeScript codebases. Use when performing refactoring, cleanup, unification, code review, dead code removal, module reorganization, or tech debt elimination. Ensures no naming confusion, semantic overloading, hidden defaults, duplicate logic, or…
lov-app-generator
Use when the user asks for "App生成器", "生成 Web App", "生成 Tauri App", "生成原生 macOS App", "Finder Quick Action", "只创建 web", or to standardize an existing app with branding, CI/CD, native integration, and Lovinsp where applicable.
lov-maintain-partners
Maintain the Skill Publisher website's partners section AND align partner logo rows on event posters / hero strips: reuse lov-find-logo for brand logo discovery, normalize collected logos to a 240px-tall content canvas (retina-ready), rasterize SVGs via rsvg-convert before normalizing (so SVG viewBox padding gets…