Sc n8n
Zero-human full-stack deployment skill bundle for AI agents — GitHub + Dokploy + Convex (self-hosted & Cloud) + Vercel + Hostinger DNS, via modular /sc-* slash commands.
npx -y skills add rahmanef63/si-coder-agent --skill sc-n8nAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Drive the self-hosted n8n instance (https://n8n.rahmanef.com) from the CLI via @n8n/cli. List/inspect/create/update/activate workflows, check executions, manage credentials, projects, tags, variables, data-tables, and export/import packages — all over the n8n public API with an API key. Trigger on /sc-n8n, 'n8n workflow', 'n8n cli', 'list n8n workflows', 'create n8n workflow', 'n8n executions', 'n8n credential', 'connect n8n', 'self-hosted n8n'.
SKILL.md
4.9 KB, as published. Nobody here has run it
/sc-n8n — self-hosted n8n control via @n8n/cli
Drive n8n.rahmanef.com (self-hosted, Dokploy) from CLI. Wrapper around the official
@n8n/cli binary (n8n-cli). No reinvented scripts — the binary is the engine.
Instance
| Thing | Value |
|---|---|
| URL | https://n8n.rahmanef.com |
| Health | curl https://n8n.rahmanef.com/healthz → {"status":"ok"} |
| API key | env N8N_API_KEY (~/.bashrc line 6) — public-api JWT, no exp |
| CLI config | ~/.n8n-cli/config.json (0600); URL already set |
| Backups | ~/backups/n8n/ — n8n-db-YYYY-MM-DD.sql + n8n-workflows-*.json |
| SSH deploy key | ~/.ssh/id_n8n |
Binary: ~/.local/bin/n8n-cli (npm i -g @n8n/cli; or zero-install npx @n8n/cli ...).
Auth resolution order
- flags
--url/--api-key - env
N8N_URL/N8N_API_KEY← wins over config file ~/.n8n-cli/config.json
⚠️ GOTCHA: env key overrides config key. N8N_API_KEY is exported in ~/.bashrc.
Setting a new key via n8n-cli config set-api-key is silently ignored in any shell that
sourced .bashrc. To rotate → edit ~/.bashrc line 6, not the config file.
⚠️ invalid signature (401) = dead key, not wrong header. n8n signs public-api keys with
N8N_USER_MANAGEMENT_JWT_SECRET. Redeploy that regenerates the secret kills every existing key.
Fix = regenerate in n8n → Settings → n8n API → Create an API key, then replace .bashrc line 6.
(The ~/backups/n8n/*.sql dump holds only expired mcp-server-api OAuth tokens — no recoverable
public-api key.)
Connect / verify
n8n-cli config show # URL + whether key set
n8n-cli workflow list --format=id-only # smoke test; 401 => rotate key (above)
Command surface
Every command supports --help. Formats: --format=table|json|id-only.
| Topic | Commands |
|---|---|
workflow | list · get · create · update · delete · activate · deactivate · tags · transfer |
execution | list · get · retry · stop · delete |
credential | list · get · schema · create · delete · transfer |
project | list · get · create · update · delete · members · add-member · remove-member |
tag | list · create · update · delete |
variable | list · create · update · delete |
data-table | list · get · create · delete · rows · add-rows · update-rows · upsert-rows · delete-rows |
user | list · get |
config | set-url · set-api-key · show |
source-control | pull |
package (beta) | export · import |
audit · login · logout · skill | top-level |
Recipes
# inspect
n8n-cli workflow list
n8n-cli workflow get <id> --format=json
# only-active workflow ids
n8n-cli workflow list --format=json | jq -r '.[] | select(.active) | .id'
# create from JSON (backup format works)
cat workflow.json | n8n-cli workflow create --stdin
# recent failures
n8n-cli execution list --status=error --limit=10
# credential — see fields first, then create
n8n-cli credential schema gmailOAuth2
n8n-cli credential create --type=gmailOAuth2 --name='My Gmail' --file=cred.json
# projects
n8n-cli project create --name="My Project"
n8n-cli workflow transfer <id> --project=<projectId>
# package (beta) — portable bundle w/ deps
n8n-cli package export --workflow-id=<id> --output=export.n8np
n8n-cli package import --file=export.n8np --conflict-policy=fail
# bulk deactivate everything
n8n-cli workflow list --format=id-only | xargs -I{} n8n-cli workflow deactivate {}
Backup / restore this instance
- Workflows snapshot lives at
~/backups/n8n/n8n-workflows-*.json(array of workflow objects). - Re-import one:
jq -c '.[N]' n8n-workflows-*.json | n8n-cli workflow create --stdin. - Full DB restore =
~/backups/n8n/*.sqlagainst the Postgres behind Dokploy (server-side, not this CLI).
Rules
- Never delete workflows/executions without
--dry-runfirst where the subcommand offers it, else confirm the id. - Beta CLI — experiments/personal only, not prod-critical automation (n8n's own caveat).
- Key rotation edits
.bashrcline 6, notconfig.json(env overrides — see GOTCHA). - Webhooks are live prod —
n8n.rahmanef.com/webhook/*feed convex-backup, dual-sync, openclaw-sync, rqa-broadcast. Don't deactivate their workflows casually.
Linked skills
[[sc-dokploy]]— the n8n app + Postgres run on Dokploy; restart/redeploy there.[[sc-git]]— cron/webhook replacement patterns overlap with n8n triggers.