Skip to content
Back to skills

Typescript Advanced Types

ASecurity

Use when implementing advanced TypeScript type patterns.

  • 2 stars
  • 0 votes
  • 0 copies
  • 12 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.