Skip to content
Back to skills

Typescript Advanced Types

ASecurity

Use when implementing advanced TypeScript type patterns.

  • 2 stars
  • 0 votes
  • 0 copies
  • 11 views
  • Added September 10, 2026
ai-agentstypescriptpythonreactapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add LoopyLuci/Skills --skill typescript-advanced-types --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Typescript Advanced Types?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Typescript Advanced Types
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/loopyluci-typescript-advanced-types/badge)](https://www.skillsdirectory.com/skills/loopyluci-typescript-advanced-types)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: typescript-advanced-types
description: "Use when implementing advanced TypeScript type patterns."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [typescript, generics, conditional-types, mapped-types, utility-types]
    related_skills: [python-typing-advanced, react-hooks-advanced, type-system-design-theory]
---

# Advanced TypeScript Types

Implementing advanced TypeScript type patterns — from conditional and mapped types through template literals, infer, and type-level programming.

## When to Use

- Building type-safe TypeScript libraries
- Implementing complex type transformations
- Generic utility types
- Type-level validation and parsing

## TypeScript Type Patterns

```typescript
// Conditional types with infer
type UnpackPromise<T> = T extends Promise<infer U> ? U : T;
type Result = UnpackPromise<Promise<string>>; // string

// Mapped types with key remapping
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};

// Template literal types
type EventName<T extends string> = `on${Capitalize<T>}`;
type ClickEvent = EventName<'click'>; // 'onClick'

// Discriminated union pattern
type ApiResult<T> = 
  | { status: 'success'; data: T }
  | { status: 'error'; error: string }
  | { status: 'loading' };
```

## Verification Checklist

- [ ] Conditional types with infer for unwrapping
- [ ] Mapped types with key remapping and filtering
- [ ] Template literal types for string manipulation
- [ ] Recursive type aliases
- [ ] Discriminated unions for state modeling
- [ ] satisfies operator for type validation (TS 4.9+)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…