Agent skill
n8n
Dashboard-first journey guidance for n8n. Use when a user connected n8n and wants a Workflow Activity Dashboard (default) with auto-mapping and live preview, and optionally to turn a workflow into a product.
Install this agent skill to your Project
npx add-skill https://github.com/gracebotly/flowetic-app/tree/main/workspace/skills/n8n
SKILL.md
n8n — Dashboard-First Skill (Workflow Activity Dashboard)
Prime Directive (User Journey)
Your job is to get the agency user from Connected n8n → Live preview dashboard in minutes with low cognitive load:
- Celebrate connection (no JSON)
- Recommend Workflow Activity Dashboard by default
- Auto-map fields silently (ask only when missing)
- Show preview with real data
- Offer optional "Turn a workflow into a product" next
For MVP, always start by selecting exactly one workflow that already has executions/events so the preview can be generated from real data immediately.
Never ask for UUIDs or show raw payloads unless user explicitly requests "raw".
Step 1 — "Connected!" Success Copy (use in chat + UI-friendly wording)
When n8n is connected and you have events/executions, summarize like:
🎉 n8n Connected
- ✅ Workflows indexed
- ✅ Execution activity detected
- ✅ Ready to build your Workflow Activity Dashboard
Detected signals (example phrasing):
- execution status (success/failure)
- execution duration (runtime)
- workflow identifier/name (grouping)
- timestamps (trend charts)
- error messages (for troubleshooting)
Primary CTA language: "Build Dashboard"
Step 2 — Default Template Choice
Default recommendation: Workflow Activity Dashboard (aka workflow monitoring / ops dashboard).
Choose this when the user says anything like:
- "monitor workflows", "activity dashboard", "failures", "reliability", "ops", "runs", "executions", "SLA", "debug", "what's breaking"
If the user asks for ROI: still start with Workflow Activity Dashboard, then add ROI widgets later (time saved, tasks automated estimates).
Tool Call Sequence (Agent MUST Follow This Order)
Required Tools for Dashboard Generation
| Step | Tool | Purpose | Required |
|---|---|---|---|
| 1 | analyzeSchema |
Detect fields from events (inspects state + labels JSONB) |
YES |
| 2 | generateMapping |
Map detected fields → template requirements using semantic aliases | YES |
| 3 | checkMappingCompleteness |
Validate confidence ≥ 0.75, list missing fields | YES |
| 4 | validatePreviewReadiness |
Confirm all prerequisites before preview generation | YES |
| 5 | runGeneratePreviewWorkflow |
Generate the actual preview | YES |
Usage Rules
- ALWAYS call
analyzeSchemabefore any mapping tool - ALWAYS use
generateMapping(id:generate-mapping) — NOTproposeMapping - NEVER assume field names — use only what
analyzeSchemareturns - NEVER proceed to preview if confidence < 0.75 — ask user to confirm missing fields first
- If
analyzeSchemareturns fields fromstateJSONB (e.g.,started_at,status,duration_ms), these are the normalized fields — prefer them over rawlabelsfields
Template ID Mapping
| User Says | Template ID | Required Fields |
|---|---|---|
| "workflow dashboard", "activity dashboard", "ops dashboard" | workflow-dashboard |
workflow_id, status, started_at, ended_at |
| "workflow monitor" | workflow-dashboard |
(same — workflow-monitor is a deprecated alias) |
| Default for n8n | workflow-dashboard |
(always use this for n8n) |
Step 3 — Auto-Mapping (what fields to look for)
Vocabulary
- workflow = automation definition
- execution = one run of a workflow
- node = a step inside a workflow
- trigger = how it starts (webhook/schedule/manual)
- status = outcome (success/error/waiting/running/crashed)
Minimal required signals for the dashboard
Map these with highest priority:
- execution_status
- n8n:
status - normalize:
success→completederror/crashed→failedwaiting/running→running
- timestamp
- prefer:
stoppedAtfor completed/failed executions - fallback:
startedAtif stoppedAt missing
- duration_ms
- prefer:
durationif present - else: derive
(stoppedAt - startedAt)in ms when both exist - if still running:
now - startedAt(optional)
Strongly recommended (for grouping + filtering)
- workflow_id:
workflowId(or workflow name if that's what you have) - trigger_type:
mode(webhook/manual/trigger) - execution_id:
id
Step 4 — What to Show (widgets the user expects)
Use user-friendly labels:
- Total Executions (last 7d)
- Success Rate
- Failures (count)
- Avg Duration
- Executions Over Time (line chart)
- Recent Executions (table)
- Top Failing Workflows (bar list)
- Latest Errors (safe summaries)
If node-level data is available, offer optional drill-down: "slow node", "failed node" (don't assume it exists).
Step 5 — "Confirm Field Mapping" UX Rules
- 90% should be auto-matched.
- Only interrupt the user when required fields are missing or ambiguous.
- If missing, present 2–3 suggested fields (no manual typing first).
Ask in a UI-friendly way:
- "I can't find duration. I found: execution_time, runtime_ms, stopped_at-started_at. Which should we use?"
Pre-Preview Checklist (Validate Before Generating)
Before calling runGeneratePreviewWorkflow, verify:
-
analyzeSchemareturned fields fromstateJSONB (not just top-level columns) -
statusfield is mapped and has non-empty values -
started_atfield is mapped (source: normalizer'sstate.started_at) -
ended_atfield is mapped (source: normalizer'sstate.ended_at) -
duration_msis available (computed by normalizer from timestamps) -
workflow_idis mapped for grouping - Overall mapping confidence ≥ 0.75
- If confidence < 0.75: asked user about missing fields with 2-3 suggestions
If started_at or ended_at are missing but timestamp exists:
→ Offer: "I found timestamps but not execution start/end times. This means duration-based widgets will be empty. Continue anyway?"
Step 6 — Optional: Turn Into a Product (SaaS wrapper mode)
Only after dashboard preview is working, offer:
"Want to turn one of these workflows into a client-facing product (form → workflow → output), fully white-labeled?"
When user says yes:
- pick a single workflow
- define inputs (form fields)
- define output (success message, file, record created, webhook response)
- keep it branded and platform-hidden (do not mention n8n in client-facing copy)
Common Data Signals in n8n (don't overwhelm the user)
- Execution reliability: success/failure, retries
- Performance: duration, slow runs
- Volume: runs per day/hour
- Errors: message, failed node (if available)
- Triggers: webhook/manual/schedule
For deeper details, read:
references/data-signals.mdreferences/workflow-archetypes.mdreferences/mapping-cheatsheet.md
What Not To Do
- Do not show raw JSON, schemas, UUIDs, or database details unless user asks.
- Do not assume node-level details exist (only use if present).
- Do not "invent" ROI numbers. If estimating time saved, label it as estimate and explain the assumption briefly.
- Do not break the dashboard-first flow by jumping to productization immediately unless user explicitly asks.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
business-outcomes-advisor
Skeleton-intelligent revenue strategy for AI automation agencies. Frames proposals through monetization lenses across all UI types — dashboards, product pages, and admin panels. Knows the full skeleton catalog, SaaS wrapper productization flow, and enrichment boundaries. Active in propose phase only. Max 1-2 questions, plain language, agency-native vocabulary.
ui-ux-pro-max
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.
make
Mapping guidance for Make.com (Integromat) scenario events. Covers execution metrics, scenario performance, operation counts, and module analytics.
data-dashboard-intelligence
Universal intelligence for turning normalized event data into premium, story-driven dashboards. Covers field-to-component mapping, aggregation selection, dashboard story structure, hero stat detection, and graceful degradation. Use this skill whenever generating a dashboard spec, editing dashboard components, choosing chart types, deciding aggregation methods, handling empty or sparse data, writing component headlines, ordering components on a dashboard, or picking which metric should be the hero stat. Even if the user doesn't say "dashboard intelligence", use this skill for ANY dashboard generation or editing task.
vapi
Mapping guidance for Vapi voice AI events. Covers call metrics, assistant performance, cost tracking, and transcript handling. Use for any Vapi-connected dashboard generation or editing task.
retell
Mapping guidance for Retell AI voice agent events. Covers call metrics, agent performance, disconnect reasons, and conversation analytics.
Didn't find tool you were looking for?