Skip to content
Back to skills

Inventory

ASecurity

Read-only inventory of local n8n workflows — aggregates node-type usage, LLM models, credentials, and trigger types into `docs/INVENTORY.md`. Use when planning new workflows, auditing instance consistency, or onboarding to an existing n8n project.

  • 18 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentsbashnode

Works with

  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add neurawork-git/n8n-autopilot --skill inventory --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Inventory?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Inventory
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neurawork-git-inventory/badge)](https://www.skillsdirectory.com/skills/neurawork-git-inventory)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: inventory
description: Read-only inventory of local n8n workflows — aggregates node-type usage, LLM models, credentials, and trigger types into `docs/INVENTORY.md`. Use when planning new workflows, auditing instance consistency, or onboarding to an existing n8n project.
argument-hint: "[--json] [--dry-run]"
user-invocable: true
allowed-tools: Bash(node:*), Bash(npx:*)
---

# n8n Workflow Inventory

All work happens in `scripts/aggregate.js` (colocated). The skill body is short on purpose — read the script's `--help` for the full flag reference.

## How to invoke

Always call the bundled script. Do not improvise grep/awk pipelines.

```bash
node "$CLAUDE_PLUGIN_ROOT/skills/inventory/scripts/aggregate.js" [flags]
```

| Flag | Meaning |
|------|---------|
| (none) | Aggregate everything in `workflows/**/*.workflow.ts`, write `docs/INVENTORY.md` |
| `--json <path>` | Also write a machine-readable JSON twin (e.g. `--json docs/inventory.json`) |
| `--dry-run` | Print the markdown report to stdout, do not write files |
| `--markdown <path>` | Override the markdown output path (default `docs/INVENTORY.md`) |
| `--workspace <dir>` | Workspace root (default: current directory) |

The script walks `workflows/**/*.workflow.ts`, extracts:

- **Node types** (core `n8n-nodes-base.*`, community `@scope/n8n-nodes-*`, plain `n8n-nodes-*`)
- **Triggers** (anything matching `*Trigger`, `webhook`, `schedule`, `chatTrigger`, `formTrigger`, `mcpTrigger`, `manualTrigger`, `errorTrigger`)
- **LLM models** (literal `value: 'gpt-…' / 'claude-…' / 'llama…' / 'gemini…' / 'mistral…' / 'o1…'`)
- **Credentials** (`credentials: { <type>: …`)
- **Workflow names** (from `@workflow({ name: '…' })`)

It best-effort calls `npx n8nac list --json --include-archived` to enrich the Summary header with remote counts; skips that section silently if n8nac is unbound or offline.

## Output structure

```
# n8n Workflow Inventory

## Summary             — local file count + remote total/active/archived
## Trigger Distribution
## Node Usage — Core   — top 30 by count
## Node Usage — Community
## LLM Models          — provider + model + count
## Credentials         — type + count + 3 example workflow names
```

## Companion scripts

- `scripts/aggregate.js` — the only one. Self-contained Node script, no `--strict --json` deps, runs anywhere Node ≥ 18 does.

Files in this skill

  • SKILL.md2.3 KB
  • scripts/aggregate.js9.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.