fp-data-transforms
Faz seu agente transformar dados de forma eficiente. É útil para organizar e manipular informações como listas e objetos.
O que ela faz
Esta ferramenta ajuda a organizar e transformar dados em código de computador. Ela permite que você manipule listas (arrays), informações de objetos e combine dados de forma eficiente, tornando mais fácil trabalhar com informações complexas.
Quando usar
- ✓Quando você recebe dados de um site ou aplicativo e precisa organizá-los para exibição.
- ✓Ao precisar combinar configurações padrão com as preferências do usuário.
- ✓Para agrupar informações, como pedidos de clientes, e calcular totais.
Exemplo do que pedir para a IA
“Transforme esta lista de produtos em um formato que mostre o nome e o preço de cada um.”
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
A ferramenta usa 'padrões funcionais' para processar os dados. Em vez de escrever instruções passo a passo, você define o que quer que aconteça com os dados, e a ferramenta cuida da execução de forma organizada.
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 fp-data-transformsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/fp-data-transforms/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.
Transformações Práticas de Dados
Esta habilidade abrange as transformações de dados que você faz no dia a dia: trabalhar com arrays, remodelar objetos, normalizar respostas de API, agrupar dados e acessar valores aninhados com segurança. Cada seção mostra primeiro a abordagem imperativa, depois o equivalente funcional, com avaliações honestas de quando cada abordagem se destaca.
Guia Detalhado
Leia o guia detalhado antes de executar esta habilidade. Ele retém o procedimento completo e o material de referência. Trate seus requisitos de segurança, pré-requisitos e validação como obrigatórios. Para trabalho focado, carregue as seções relevantes; para trabalho de ponta a ponta, leia o guia completamente.
Quando Usar
- Você precisa transformar arrays, objetos, dados agrupados ou valores aninhados em TypeScript.
- A tarefa envolve remodelar respostas de API, acesso seguro a nulos, agregação ou normalização.
- Você deseja padrões funcionais práticos para o trabalho de dados do dia a dia em vez de loops de baixo nível.
6. Exemplos do Mundo Real
Exemplo 1: Transformar Resposta de API em Dados Prontos para UI
// API response
interface ApiOrder {
order_id: string;
customer: {
id: string;
full_name: string;
};
line_items: Array<{
product_id: string;
product_name: string;
qty: number;
unit_price: number;
}>;
order_date: string;
status: 'pending' | 'processing' | 'shipped' | 'delivered';
}
// What the UI needs
interface OrderSummary {
id: string;
customerName: string;
itemCount: number;
total: number;
formattedTotal: string;
date: string;
statusLabel: string;
statusColor: string;
}
// Transformation
const STATUS_CONFIG: Record<string, { label: string; color: string }> = {
pending: { label: 'Pending', color: 'yellow' },
processing: { label: 'Processing', color: 'blue' },
shipped: { label: 'Shipped', color: 'purple' },
delivered: { label: 'Delivered', color: 'green' },
};
const formatCurrency = (cents: number): string =>
`$${(cents / 100).toFixed(2)}`;
const formatDate = (iso: string): string =>
new Date(iso).toLocaleDateString('en-US', {
month: 'short',
day: 'numeric',
year: 'numeric',
});
const toOrderSummary = (order: ApiOrder): OrderSummary => {
const total = order.line_items.reduce(
(sum, item) => sum + item.qty * item.unit_price,
0
);
const status = STATUS_CONFIG[order.status] ?? STATUS_CONFIG.pending;
return {
id: order.order_id,
customerName: order.customer.full_name,
itemCount: order.line_items.reduce((sum, item) => sum + item.qty, 0),
total,
formattedTotal: formatCurrency(total),
date: formatDate(order.order_date),
statusLabel: status.label,
statusColor: status.color,
};
};
// Transform all orders
const toOrderSummaries = (orders: ApiOrder[]): OrderSummary[] =>
orders.map(toOrderSummary);
Exemplo 2: Mesclar Configurações do Usuário com Padrões
interface AppSettings {
theme: {
mode: 'light' | 'dark' | 'system';
primaryColor: string;
fontSize: 'small' | 'medium' | 'large';
};
notifications: {
email: boolean;
push: boolean;
sms: boolean;
frequency: 'immediate' | 'daily' | 'weekly';
};
privacy: {
showProfile: boolean;
showActivity: boolean;
allowAnalytics: boolean;
};
}
type DeepPartial<T> = {
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
};
const DEFAULT_SETTINGS: AppSettings = {
theme: {
mode: 'system',
primaryColor: '#007bff',
fontSize: 'medium',
},
notifications: {
email: true,
push: true,
sms: false,
frequency: 'immediate',
},
privacy: {
showProfile: true,
showActivity: true,
allowAnalytics: true,
},
};
const deepMergeSettings = (
defaults: AppSettings,
user: DeepPartial<AppSettings>
): AppSettings => ({
theme: { ...defaults.theme, ...user.theme },
notifications: { ...defaults.notifications, ...user.notifications },
privacy: { ...defaults.privacy, ...user.privacy },
});
// Usage
const userPreferences: DeepPartial<AppSettings> = {
theme: { mode: 'dark' },
notifications: { sms: true, frequency: 'daily' },
};
const finalSettings = deepMergeSettings(DEFAULT_SETTINGS, userPreferences);
Exemplo 3: Agrupar Pedidos por Cliente com Totais
interface Order {
id: string;
customerId: string;
customerName: string;
items: Array<{ name: string; price: number; quantity: number }>;
date: string;
}
interface CustomerOrderSummary {
customerId: string;
…
Perguntas frequentes
O que são 'padrões funcionais'?
São uma maneira de escrever código que foca em 'o quê' fazer com os dados, em vez de 'como' fazer passo a passo. Isso torna o código mais limpo e fácil de entender.
Para que serve 'acesso seguro a valores aninhados'?
É uma forma de acessar informações que estão dentro de outras informações (como um dado dentro de outro dado dentro de outro) sem que o programa quebre caso alguma parte do caminho não exista.
Preciso saber programação para usar?
Esta ferramenta é pensada para quem já tem alguma familiaridade com programação, mas busca simplificar tarefas comuns de manipulação de dados.
Detalhes
Descrição original do autor
Everyday data transformations using functional patterns - arrays, objects, grouping, aggregation, and null-safe access
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3026
- 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
pytorch-patterns
Ajuda seu agente a usar o PyTorch para criar modelos de aprendizado de máquina. Ele aplica as melhores práticas para treinar modelos de forma eficiente e garantir que os resultados sejam consistentes.
affaan-m/ECC
evm-token-decimals
Ajuda seu agente a evitar erros com números decimais em diferentes redes blockchain. Garante que os valores de tokens sejam precisos em transações e cálculos.
affaan-m/ECC
knowledge-agent
Cria e consulta bases de conhecimento com inteligência artificial. Permite fazer perguntas sobre trabalhos passados ou compilar conhecimento sobre um tema.
thedotmack/claude-mem