All skills
n8n-io avatar

create-skill

official

n8n-io/n8n

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

185,683 57,145 Updated 2 hours ago First seen 7 years agoactive
npx -y skilld add gh:n8n-io/n8n -s create-skill

Creating skills

Skills are markdown (plus optional scripts) that teach the agent a focused workflow. Keep SKILL.md short—the context window is shared with chat, code, and other skills.

Where skills live

Location When to use
.claude/plugins/n8n/skills/<name>/ Default for n8n: team-shared, versioned, namespaced under n8n:.
~/.claude/skills/<name>/ Personal skill for Claude Code across all projects.
~/.cursor/skills/<name>/ Optional personal skill for Cursor only, global to your machine.

Do not put custom skills in ~/.cursor/skills-cursor/—that is reserved for Cursor’s built-in skills.

Prefer plugin .claude/plugins/n8n/skills/ for anything that should match how the rest of the team works.

Before you write: gather requirements

Ask (or infer) briefly:

  1. Purpose — one concrete task or workflow.
  2. Triggers — when should the agent apply this skill?
  3. Gaps — what does the agent not already know (project rules, URLs, formats)?
  4. Outputs — templates, checklists, or strict formats?
  5. Examples — follow an existing skill in .claude/plugins/n8n/skills/ if one fits.

Ask the user in plain language when you need more detail.

File layout

skill-name/
├── SKILL.md       # required
├── reference.md   # optional — detail the agent reads only if needed
├── examples.md    # optional
└── scripts/       # optional

Frontmatter (required)

---
name: skill-name          # lowercase, hyphens, max 64 chars
description: >-         # max 1024 chars, non-empty — see below
  ...
---

Description (discovery is everything — third person, WHAT + WHEN, trigger words):

  • Good: Extracts tables from PDFs and fills forms. Use when the user works with PDFs, forms, or document extraction.
  • Bad: Helps with documents or I can help you with PDFs

Authoring rules

  1. Concise — assume the model is capable; only add non-obvious domain or project facts.
  2. Progressive disclosure — essentials in SKILL.md; long reference in reference.md. Link one level deep from SKILL.md.
  3. Prefer one default — e.g. one library or one workflow; add an escape hatch only if needed.
  4. Stable wording — one term per concept; avoid dated “until month X” notes unless you tuck legacy bits behind a short “Deprecated” note.
  5. Paths — forward slashes only (scripts/foo.py).

Rough size: aim for well under ~200 lines in SKILL.md; if it grows, split detail out.

Scope: one job per skill (and parent skills)

  • Single responsibility — one primary workflow or decision tree per skill. If triggers and steps diverge a lot (e.g. “create issue” vs “create PR” vs “full ticket → PR flow”), split into smaller dedicated skills.
  • Prefer small + compose — two or three focused skills keep irrelevant detail out of context until needed. A parent (orchestrator) skill can say when to follow each child workflow and link to their SKILL.md; avoid pasting full child content into the parent.
  • When one large skill is OK — a single end-to-end flow that always runs together and shares one tight checklist;

MCPs, CLI tools, and other skills

  • Prefer CLI and repo commands when they solve the same problem — agents handle them well and they usually add less scaffolding noise to context than MCP tool discovery and schemas. Examples: gh for PRs/issues, pnpm scripts from AGENTS.md.
  • MCPs are optional per user — not everyone has the same servers enabled. If a skill requires a specific MCP to work as written, say so explicitly:
    • Put a hint in the frontmatter description (e.g. “Requires Linear MCP for …”) so mismatches are obvious early.
    • Add a short Prerequisites (or Requirements) block near the top: which integration, what it is used for, and a fallback (e.g. web UI, gh, or “ask the user to paste …”) when it is missing.
  • Referencing other skills — use the namespaced invocation name (e.g. n8n:create-issue) so the agent resolves the plugin skill. For human-readable links, give the path from the repo root (e.g. .claude/plugins/n8n/skills/create-issue/SKILL.md). From a sibling folder, a relative link works too: [create-issue](../create-issue/SKILL.md). Parent skills should delegate steps instead of duplicating long procedures.

Patterns (pick what fits)

  • Template — give the exact output shape (markdown/code blocks).
  • Checklist — numbered or - [ ] steps for multi-step work.
  • Branching — “If A → …; if B → …” at the top of a workflow.
  • Scripts — document run commands; say whether to execute or read the script.

Workflow: create → verify

  1. Name + description — hyphenated name; description with triggers.
  2. Outline — minimal sections; link optional files.
  3. ImplementSKILL.md first; add reference.md / scripts/ only if they save tokens or reduce errors.
  4. Check — third-person description; terminology consistent; no duplicate encyclopedic content the model already knows.

Anti-patterns

  • Verbose tutorials (“what is a PDF”) inside the skill.
  • Many equivalent options with no default.
  • Vague names (helper, utils).
  • Deep chains of linked files.
  • Assuming an MCP or tool is present without stating it or offering a fallback.
  • One oversized skill that mixes unrelated workflows instead of smaller skills + a thin parent.

Quick example stub

---
name: my-workflow
description: Does X using project convention Y. Use when the user asks for X or mentions Z.
---

# My workflow

1. …
2. …

## Output format

Use a fenced code block for the exact shape reviewers should see.

## More detail
See [reference.md](reference.md) if edge cases matter.

Source: SKILL.md on GitHub

No curators have added this skill yet. Be the first to include it in a collection.