⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
n8n-skills
n8n workflow automation knowledge base. Provides n8n node information, node functionality details, workflow patterns, and configuration examples. Covers triggers, data transformation, data input/output, AI integration, covering 10 nodes. Keywords: n8n, workflow, automation, node, trigger, webhook, http request, database, ai agent.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
// README
Agent Skills for Production LangGraph Agents
Demo from the Medium article: Stop Stuffing Your System Prompt: Build Scalable Agent Skills in LangGraph.
Demonstrates progressive knowledge loading, skill-based domain modularization, and tool-driven skill activation.
Note: This code has evolved beyond the version published with the article. Notable upgrades:
- Introduced a reusable async
BaseAgent(graphs/core/) with LLM retry classification (transient vs permanent), tool-call pairing safety, and Langfuse-managed prompts.- Split
skills_agentinto typed state + slim nodes, replacing the original monolithicutils/nodes.py.- The original article described running the agent through Aegra; this repo now runs directly on LangGraph's local dev server for agent testing, with only the graph code and tests kept here.
The Agent Skills concepts in the article still apply; the surrounding implementation has been hardened and simplified.
How it runs
This repo is a LangGraph application. The local code is:
langgraph.json # LangGraph dev/server configuration
graphs/core/ # reusable BaseAgent
graphs/skills_agent/ # the demo agent + skills
tests/ # unit tests for graphs/
langgraph.json registers skills_agent from ./graphs/skills_agent/agent.py:graph
and loads environment variables from ./.env. The graph code remains pure
LangGraph: StateGraph, typed state, runtime context, tool nodes, and
interrupt/resume behavior live under graphs/.
Quick start
make install
cp .env.example .env # set OPENAI_API_KEY, or use Ollama defaults
make dev # runs on http://127.0.0.1:2024
LangGraph Studio is available while the dev server is running:
https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
Local smoke checks
With make dev running, confirm the graph is registered:
curl -s -X POST http://127.0.0.1:2024/assistants/search \
-H 'content-type: application/json' \
-d '{}'
The response should include "graph_id":"skills_agent". For endpoints that
accept a graph ID, use skills_agent directly:
curl -s http://127.0.0.1:2024/assistants/skills_agent/graph
Some endpoints require the assistant UUID returned by /assistants/search
instead of the graph ID, such as /assistants/{assistant_id}/schemas.
To run a live LLM smoke test through the SDK:
uv run --with langgraph-sdk python - <<'PY'
import asyncio
from langgraph_sdk import get_client
async def main():
client = get_client(url="http://127.0.0.1:2024")
thread = await client.threads.create()
result = await client.runs.wait(
thread["thread_id"],
"skills_agent",
input={
"messages": [
{
"role": "user",
"content": "Say hello and name one skill you can load.",
}
]
},
)
print(result["messages"][-1]["content"])
asyncio.run(main())
PY
Tests
make test
Credits
- LangGraph by LangChain
- n8n Skills Repository by haunchen
// HOW IT'S BUILT
KEY FILES