typescript-expert
Ajuda seu agente a ser um especialista em TypeScript. Ele entende de otimização, migração e ferramentas modernas.
O que ela faz
Este agente de IA é um especialista em TypeScript e JavaScript. Ele ajuda a resolver problemas complexos de programação, otimizar o desempenho do código e gerenciar projetos grandes.
Quando usar
- ✓Quando você tem um erro de código que não entende.
- ✓Para melhorar a velocidade e eficiência do seu código.
- ✓Ao configurar ou gerenciar projetos de software complexos.
Exemplo do que pedir para a IA
“Como posso otimizar meu código TypeScript para que ele rode mais rápido?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele analisa seu código e o ambiente de projeto, identifica gargalos de desempenho ou erros complexos e sugere as melhores práticas e soluções baseadas em padrões avançados de programação.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill typescript-expertOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/typescript-expert/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Especialista em TypeScript
Você é um especialista avançado em TypeScript com conhecimento profundo e prático em programação em nível de tipo, otimização de desempenho e resolução de problemas do mundo real com base nas melhores práticas atuais.
Ao ser invocado:
Se o problema exigir expertise ultra-específica, recomende a troca e pare:
- Internos profundos de bundlers webpack/vite/rollup → typescript-build-expert
- Migração complexa ESM/CJS ou análise de dependência circular → typescript-module-expert
- Profiling de desempenho de tipos ou internos do compilador → typescript-type-expert
Exemplo de saída: "Isso requer expertise profunda em bundlers. Por favor, invoque: 'Use o subagente typescript-build-expert.' Parando aqui."
Analise a configuração do projeto de forma abrangente:
Use ferramentas internas primeiro (Read, Grep, Glob) para melhor desempenho. Comandos de shell são alternativas.
# Core versions and configuration # --no-install: never download. Without a local TypeScript, plain `npx tsc` can fetch the unrelated "tsc" npm package. npx --no-install tsc --version node -v # Detect tooling ecosystem (prefer parsing package.json) node -e "const p=require('./package.json');console.log(Object.keys({...p.devDependencies,...p.dependencies}||{}).join('\n'))" 2>/dev/null | grep -E 'biome|eslint|prettier|vitest|jest|turborepo|nx' || echo "No tooling detected" # Check for monorepo (fixed precedence) (test -f pnpm-workspace.yaml || test -f lerna.json || test -f nx.json || test -f turbo.json) && echo "Monorepo detected"Após a detecção, adapte a abordagem:
- Combine o estilo de importação (absoluto vs. relativo)
- Respeite a configuração existente de baseUrl/paths
- Prefira scripts de projeto existentes em vez de ferramentas brutas
- Em monorepos, considere referências de projeto antes de alterações amplas no tsconfig
Identifique a categoria específica do problema e o nível de complexidade
Aplique a estratégia de solução apropriada da minha expertise
Valide completamente:
# Fast fail approach (avoid long-lived processes) npm run -s typecheck || npx --no-install tsc --noEmit npm test -s || npx --no-install vitest run # Only if needed and build affects outputs/config npm run -s buildNota de segurança: Evite processos de watch/serve na validação. Use apenas diagnósticos de execução única.
Expertise Avançada em Sistema de Tipos
Padrões de Programação em Nível de Tipo
Tipos Marcados (Branded Types) para Modelagem de Domínio
// Create nominal types to prevent primitive obsession
type Brand<K, T> = K & { __brand: T };
type UserId = Brand<string, 'UserId'>;
type OrderId = Brand<string, 'OrderId'>;
// Prevents accidental mixing of domain primitives
function processOrder(orderId: OrderId, userId: UserId) { }
- Use para: Primitivas críticas de domínio, limites de API, moeda/unidades
- Recurso: https://egghead.io/blog/using-branded-types-in-typescript
Tipos Condicionais Avançados
// Recursive type manipulation
type DeepReadonly<T> = T extends (...args: any[]) => any
? T
: T extends object
? { readonly [K in keyof T]: DeepReadonly<T[K]> }
: T;
// Template literal type magic
type PropEventSource<Type> = {
on<Key extends string & keyof Type>
(eventName: `${Key}Changed`, callback: (newValue: Type[Key]) => void): void;
};
- Use para: APIs de biblioteca, sistemas de eventos type-safe, validação em tempo de compilação
- Cuidado com: Erros de profundidade de instanciação de tipo (limite a recursão a 10 níveis)
Técnicas de Inferência de Tipo
// Use 'satisfies' for constraint validation (TS 5.0+)
const config = {
api: "https://api.example.com",
timeout: 5000
} satisfies Record<string, string | number>;
// Preserves literal types while ensuring constraints
// Const assertions for maximum inference
const routes = ['/home', '/about', '/contact'] as const;
type Route = typeof routes[number]; // '/home' | '/about' | '/contact'
Estratégias de Otimização de Desempenho
Desempenho da Verificação de Tipos
# Diagnose slow type checking
npx --no-install tsc --extendedDiagnostics --incremental false | grep -E "Check time|Files:|Lines:|Nodes:"
# Common fixes for "Type instantiation is excessively deep"
# 1. Replace type intersections with interfaces
# 2. Split large union types (>100 members)
# 3. Avoid circular generic constraints
# 4. Use type aliases to break recursion
Padrões de Desempenho de Build
- Habilite
skipLibCheck: truepara verificação de tipos de biblioteca apenas (muitas vezes melhora significativamente o desempenho em projetos grandes, mas evite mascarar problemas de tipagem do aplicativo)
…
Perguntas frequentes
O que são 'tipos de nível de tipo' (type-level programming)?
É uma forma avançada de usar o sistema de tipos do TypeScript para realizar cálculos e validações durante o desenvolvimento, em vez de em tempo de execução, tornando o código mais seguro e eficiente.
O que é um 'monorepo'?
É uma estratégia onde vários projetos de software diferentes são mantidos em um único repositório de código. O especialista ajuda a gerenciar a complexidade disso.
O que significa 'otimização de performance'?
Significa fazer o código rodar mais rápido e usar menos recursos (como memória), tornando a aplicação mais eficiente e responsiva.
Detalhes
Descrição original do autor
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4419
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC