n8n-code-tool
Faz seu agente escrever e depurar código para ferramentas customizadas. Ele lida com esquemas e formatos de retorno. Útil para criar ferramentas de IA que interagem com o n8n.
O que ela faz
Esta ferramenta ajuda a criar e corrigir códigos JavaScript ou Python para uma função específica do n8n chamada 'Custom Code Tool'. Ela garante que o código funcione corretamente dentro desse ambiente.
Quando usar
- ✓Quando você precisa escrever um código que será executado pela 'Custom Code Tool' do n8n.
- ✓Ao depurar ou corrigir um código JavaScript ou Python que já está sendo usado na 'Custom Code Tool'.
- ✓Para entender as regras e limitações de como o código interage com a 'Custom Code Tool' do n8n.
Exemplo do que pedir para a IA
“Escreva um código JavaScript para a Custom Code Tool que receba um nome e retorne 'Olá, [nome]!'”
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
Você fornece o código JavaScript ou Python. A ferramenta verifica se ele segue as regras da 'Custom Code Tool' do n8n e sugere correções se necessário.
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 n8n-code-toolOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/n8n-code-tool/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.
Ferramenta de Código Personalizado n8n
Quando Usar
Use esta habilidade especificamente para código executado pela Ferramenta de Código Personalizado n8n que pode ser chamada por um agente de IA. Use as habilidades separadas de Código JavaScript ou Código Python para nós de Código de fluxo de trabalho comuns.
Não codifique segredos diretamente e não aceite código executável arbitrário de entradas não confiáveis. Restrinja as entradas com um esquema, valide as saídas, permita apenas destinos de rede específicos e pergunte antes de testar uma ferramenta cujo código pode escrever dados ou invocar um serviço externo.
Orientação especializada para escrever código dentro de @n8n/n8n-nodes-langchain.toolCode — a ferramenta que um Agente de IA pode invocar, não o nó de Código regular do fluxo de trabalho.
⚠️ Isso NÃO é o nó de Código
A Ferramenta de Código Personalizado se parece com um nó de Código no editor — mesmo editor JavaScript, layout semelhante — mas é um nó completamente diferente de um pacote diferente com um contrato de tempo de execução diferente.
| Nó de Código | Ferramenta de Código Personalizado | |
|---|---|---|
| Tipo de nó | n8n-nodes-base.code |
@n8n/n8n-nodes-langchain.toolCode |
| Pacote | n8n-nodes-base |
@n8n/n8n-nodes-langchain |
| Invocado por | Nó anterior (fluxo do fluxo de trabalho) | Agente de IA (LangChain) |
| Entrada | $input.all() — fluxo de itens |
query — string ou objeto do LLM |
| Retorno | [{json: {...}}] (array de itens) |
Uma string |
$fromAI() |
N/A | Não disponível (veja Erros) |
| Auxiliar HTTP | this.helpers.httpRequest (auxiliares de autenticação bloqueados) |
Não exposto ao sandbox da ferramenta |
| Estado | Dados de execução por execução | Sem getContext, sem $getWorkflowStaticData |
Se você tratá-lo como um nó de Código, ele falhará. O restante desta habilidade cobre o contrato real da Ferramenta de Código.
Início Rápido
Ferramenta de Código Personalizado JavaScript Mínima
// `query` is whatever the AI sent (a string by default)
return `You asked: ${query}`;
Ferramenta de Código Personalizado Python Mínima
# `_query` is whatever the AI sent (a string by default)
return f"You asked: {_query}"
Regras Essenciais
- Retorne uma string. Números são convertidos automaticamente. Qualquer outra coisa gera um
"The response property should be a string, but it is an object". - Variável de entrada é fixa:
query(JS),_query(Python). Você não pode renomeá-la. - NÃO use
$fromAI()dentro do sandbox da Ferramenta de Código — ele gera"No execution data available". - NÃO use o formato de retorno
[{json: {...}}]— isso é para nós de Código. Gera"Wrong output type returned". - Use um nome de ferramenta descritivo (letras/números/sublinhados, v1.1+). O agente chama a ferramenta pelo seu nome.
- Escreva uma descrição precisa — o LLM decide se invoca a ferramenta com base nela.
Os Dois Modos de Entrada
A Ferramenta de Código tem duas formas de entrada, controladas por specifyInputSchema:
Modo 1: Não Estruturado (padrão, specifyInputSchema: false)
A IA passa uma única string como query. Se você precisar de vários campos, a IA terá que colocá-los nessa única string e você os analisará. Na prática, os LLMs passarão felizmente uma string JSON se sua descrição instruir a fazê-lo.
// Parse a JSON string the AI sent
let params;
try {
params = typeof query === 'string' ? JSON.parse(query) : query;
} catch (e) {
throw new Error('Expected a JSON object. Parser said: ' + e.message);
}
const price = Number(params.price);
const months = Number(params.months);
// ...
return JSON.stringify({ monthly_payment: /* ... */ });
Prós: mais simples de configurar, um campo para descrever. Contras: sem validação de esquema — se o LLM esquecer um campo, a ferramenta falhará em tempo de execução.
Melhor para: protótipos rápidos, ferramentas com uma entrada natural (uma pergunta, um URL, um bloco de texto).
Modo 2: Estruturado (specifyInputSchema: true)
A ferramenta se torna uma DynamicStructuredTool LangChain. O LLM vê um esquema de argumento tipado e passa um objeto validado como query. Você acessa os campos diretamente.
// query is now an object matching your schema
const price = query.price;
const months = query.months;
const residual_percent = query.residual_percent;
const monthly = computeAnnuity(price, months, residual_percent);
return JSON.stringify({ monthly_payment: monthly });
O esquema é definido por meio de:
schemaType: "fromJson"+jsonSchemaExample(n8n v≥1.3) — cole um exemplo JSON, o n8n infere o esquemaschemaType: "manual"+inputSchema— escreva um JSON Schema completo você mesmo
Prós: LLM recebe dicas de tipo, chamadas inválidas rejeitadas antes que seu código seja executado, código mais limpo.
…
Perguntas frequentes
Qual a diferença entre a 'Custom Code Tool' e um nó de Código normal no n8n?
A 'Custom Code Tool' é usada por um Agente de IA e tem regras de entrada e saída diferentes de um nó de Código comum, que é executado pelo fluxo do seu workflow.
O que acontece se meu código não retornar uma string?
A 'Custom Code Tool' espera que o código retorne uma string. Se retornar outro tipo (como um objeto ou array), o código falhará e uma mensagem de erro será exibida.
Posso usar variáveis como '$fromAI()' ou o formato de retorno '[{json: {...}}]'?
Não, essas funcionalidades não estão disponíveis na 'Custom Code Tool'. Usá-las resultará em erros.
Detalhes
Descrição original do autor
Write and debug JavaScript or Python for the AI-callable n8n Custom Code Tool, including schemas, sandbox limits, and return formats.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3656
- 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