npx skills add ...
npx skills add event-catalog/skills --skill flow-wizard
Guides users through documenting business flows step-by-step in EventCatalog, including services, agents, messages, actors, and external systems. Use when user asks to "document a flow", "map a business process", "create a flow diagram", "walk through a process", "document an end-to-end flow", "map an agent workflow", or "map out how something works in my architecture".
npx skills add event-catalog/skills --skill flow-wizard
An interactive, conversational skill that guides users through documenting business flows in EventCatalog — step by step, section by section — while cross-referencing their existing catalog resources.
Before anything else, you need to find the user's EventCatalog project so you can cross-reference existing resources.
Ask: "Do you have an EventCatalog project I can look at? If so, where is it?"
eventcatalog.config.js or known directories (services/, agents/, events/, domains/, flows/).getResources to discover what's in the catalog.Once located, scan the catalog to build an inventory of existing resources:
Ask: "What flow would you like to document? Describe the end-to-end process you're trying to capture."
Let the user describe the flow in their own words. Examples:
From their description, break the flow into sections (high-level stages). Present these sections back to the user for confirmation:
Example response:
Based on your description, I can see roughly these sections:
- User Registration — the user signs up
- Welcome Communication — welcome email is sent
- CRM Integration — user is added to the CRM
Does that look right? We'll walk through each one in detail. Feel free to add, remove, or reorder sections.
Wait for confirmation before proceeding.
Go through each section one at a time. For each section, ask the user to describe what happens. The user leads the conversation — you follow.
For each section, ask something like:
"Let's start with [Section Name]. What happens here? Who or what triggers it, and what happens as a result?"
As the user describes what happens, you need to:
From their description, determine which flow step type(s) this section involves:
A single section may produce multiple steps (e.g., a user action triggers a command, which is handled by a service, which emits an event).
For each step the user describes, search their EventCatalog (if available) for matching resources:
OrderCreated, OrderPlaced, etc.).If you find a match, tell the user:
I found a [resource type] called
[ResourceName](version[version]) in your catalog that looks like it matches. Would you like to reference it in this step?
If they say yes, use the resource's actual id and version in the flow step.
If you find multiple possible matches, present them and let the user choose:
I found a few resources that might match what you're describing:
OrderCreated(event, v1.0.0) — "Emitted when a new order is placed"OrderPlaced(event, v0.0.1) — "Published when checkout completes"Which one fits, or is this something new?
If you find no match, that's perfectly fine. Document it as a descriptive step:
service type with a suggested ID and note it's not yet in the catalogagent type with a suggested ID and note it's not yet in the catalogmessage type with a suggested IDactor typeexternalSystem typeLet the user know: "I didn't find this in your catalog. I'll document it as [step type] for now. You can create the full resource later if you'd like."
After processing a section, summarize what you've captured for that section and ask the user to confirm before moving to the next one.
Example:
Here's what I've captured for Payment Processing:
ProcessPaymentcommand is sent (matched to your existingProcessPaymentcommand v0.0.1)PaymentServicehandles the payment (matched to your existingPaymentServicev1.2.0)FraudReviewAgentreviews fraud signals (matched to your existingFraudReviewAgentv0.0.1)- Calls Stripe (external system) to charge the card
PaymentProcessedevent is emitted (not in your catalog yet — I'll use a placeholder)Does that look right? Anything to add or change?
As you walk through sections, watch for:
Branching paths — "If payment succeeds, we continue; if it fails, we notify the user"
next_steps (plural) with labels for each branchLoops — "The service retries if the external call fails"
next_stepError/failure paths — "If validation fails, we send back an error"
Parallel paths — "While payment processes, we also reserve inventory"
next_stepsWhen you detect branching, explicitly confirm the paths with the user:
"It sounds like there's a fork here. After [step], these things could happen:
- [Success path] → continues to [next section]
- [Failure path] → [what happens]
Is that right? Are there other outcomes?"
After walking through all sections, present a complete summary of the flow before generating the file:
Here's the complete flow: [Flow Name]
- [Step 1 summary] → [Step 2]
- [Step 2 summary] → [Step 3]
- [Step 3 summary] → branches to [Step 4a] or [Step 4b] ...
Resources matched from your catalog: [list of matched resources] New resources (not yet in catalog): [list of unmatched items]
Ready to generate the flow file?
Once the user confirms, generate the flow index.mdx file following the format in references/flows.md.
Rules for generation:
Use the user's catalog directory. Ask where the flow should be saved if unclear — either flows/{FlowName}/index.mdx or domains/{Domain}/flows/{FlowName}/index.mdx depending on their catalog structure.
For matched resources (found in catalog), use the exact id and version from the catalog:
Agent steps use the agent field:
For unmatched resources (not in catalog), use descriptive IDs and version 0.0.1:
For actors, use the role or persona name:
For external systems, include name, summary, and URL if known:
Connect all steps with next_step or next_steps as appropriate.
Terminal steps (end of flow or end of a branch) should have no next_step.
The body should be <NodeGraph />.
Set version to 0.0.1 for new flows.
Write a meaningful summary that describes the end-to-end business process.
Before writing the file:
next_step / next_steps references point to valid step IDs<NodeGraph /> is in the bodyWrite the file to the user's catalog directory.
After writing, let the user know:
catalog-documentation-creator skill, especially new agentsWhen searching for matching resources, use these strategies:
OrdersService)OrdersService, OrderService, orders-service)agents/ before treating it as an external systemIf the EventCatalog MCP server is available:
getResources to list all resourcesgetResource to get details on a specific resourcefindResourcesByOwner to explore resources by teamIf reading the filesystem directly:
services/, agents/, events/, commands/, queries/, domains/, flows/, channels/ directoriesindex.mdx files to check id, name, version, and summary fieldsBefore delivering the flow file:
idtitleactor, service, agent, message, or externalSystem)next_step and next_steps references point to valid step IDs within the flowid and version from the catalognext_step)--- delimitersindex.mdx<NodeGraph /> is in the bodyversion is a valid semver stringsummary describes the business process meaningfully