Pular para o conteúdo
Skillpedia
Código em geral48 mil · #3656

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/n8n-code-tool/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/n8n-code-tool/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-tool

Ou 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.md
Conteú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

  1. 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".
  2. Variável de entrada é fixa: query (JS), _query (Python). Você não pode renomeá-la.
  3. NÃO use $fromAI() dentro do sandbox da Ferramenta de Código — ele gera "No execution data available".
  4. NÃO use o formato de retorno [{json: {...}}] — isso é para nós de Código. Gera "Wrong output type returned".
  5. Use um nome de ferramenta descritivo (letras/números/sublinhados, v1.1+). O agente chama a ferramenta pelo seu nome.
  6. 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 esquema
  • schemaType: "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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3656
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas