
Skill
detect-logical-groups
group MuleSoft integration artifacts
Description
Rules for detecting and grouping MuleSoft integration artifacts into logical flow groups using flow-reference strategy. Covers flow-ref call-chain rules, fallback grouping when no sources exist, and required output fields.
SKILL.md
Skill: Detecting Flow Groups
Purpose: Authoritative rules for how an AI agent should group discovered MuleSoft integration artifacts into logical flow groups. The agent MUST follow these rules exactly.
1. Grouping Strategy (Flow Reference Chains)
- HIGHEST PRIORITY: If multiple flows reference the SAME sub-flow via
flow-ref(directly or transitively), they MUST be in the SAME group — the shared sub-flow is the unifying element. - Call-workflow edges: The
connectionGraphincludescall-workflowedges when one flow calls another flow or sub-flow viaflow-ref. Flows linked by these edges (directly or transitively) MUST be in the SAME group. Example: If Flow-A calls Sub-Flow-B and Sub-Flow-B calls Sub-Flow-C, all three belong in ONE group. - Shared-connection edges: The
connectionGraphincludesshared-connectionedges when multiple flows use the same global configuration (e.g., samehttp:listener-config, samedb:config). Flows sharing configs SHOULD be in the same group unless they are clearly independent. - Only create separate groups for flows that use DIFFERENT sub-flows with no transitive connection.
- Transitively connected artifacts belong in the SAME group.
- Name each group by business purpose (derived from flow names and HTTP listener paths).
2. Fallback Rules (When no HTTP listeners or schedulers exist)
Do NOT return empty groups. Use this fallback order:
- Flow-root grouping — one group per CONNECTED flow cluster. Follow
call-workflowedges to find clusters. Do NOT create one group per individual flow when they reference each other. - Trigger-capability grouping — flows with sources (http:listener, scheduler, jms:listener, file:listener, vm:listener) as entry points.
receiveLocationCountincludes all triggers. - Connected-component grouping — from graph edges (
call-workflow,shared-connection) and any remaining connections.
Only leave artifacts in ungroupedArtifactIds if they are truly isolated with no meaningful edges or entry semantics.
For fallback groups, set entryPoint to flow/trigger/internal-entry (not receive-location).
3. Required Output Fields
Each group MUST have:
| Field | Type | Description |
|---|---|---|
id | string | Unique group ID (e.g. flow-1-order-processing) |
name | string | Human-readable name by business purpose |
description | string | What this flow does |
category | string | e.g. message-flow, shared-infrastructure |
artifactIds | string | MUST NOT be empty |
entryPoint | object | Entry point (type, name, messageType) |
exitPoints | array | Exit points (type, name, messageType) |
4. Procedure
- Call
migration_detectFlowGroupsto get the artifact connection graph and summaries. - If the connectionGraph has few or no
call-workfloworshared-connectionedges, the flow-ref data may be incomplete. In that case: a. Callmigration_listArtifactswithcategory="custom-code"to find JARs and custom Java classes. b. Read flow source files (migration_readSourceFile) to findflow-reftargets and shared config references. c. Use the discovered call chains and shared configs to merge groups that should be together. - Determine logical flow groups using the flow-reference chain strategy above, incorporating both graph edges AND any call chains discovered in step 2.
- Call
migration_discovery_storeFlowGroupswith the groups array,ungroupedArtifactIds, and explanation.
5. What NOT to Do
- Do NOT create empty
artifactIdsarrays. - Do NOT split flows linked by flow-ref chains into separate groups.
- Do NOT skip source reading when the connectionGraph has missing call-chain edges — incomplete grouping causes downstream analysis failures.
More skills from the logicapps-migration-agent repository
View all 12 skillsanalyse-source-design
analyze TIBCO flow architecture
Jul 12ArchitectureAzureCode AnalysisDiagramscloud-deployment-and-testing
deploy and test Azure Logic Apps
Jul 12AzureBicepDeploymentReporting +1connections-json-generation-rules
generate connections.json files for Logic Apps
Jul 12AutomationAzureConfigurationWorkflow Automationconversion-task-plan-rules
generate ordered conversion task plans
Jul 12AzureMigrationOperationsPlanningdependency-and-decompilation-analysis
analyze MuleSoft dependencies and decompiled Java code
Jul 12AzureCode AnalysisJavaMaven +1dotnet-local-functions-logic-apps
create .NET local functions for Logic Apps
Jul 12.NETAPI DevelopmentAutomationAzure
More from Azure (Microsoft)
View publisherazure-arg-external-evaluation-policy-author
author and test Azure Resource Graph policies
azure-policy
Jul 12AzureComplianceGovernancePolicyazure-blueprints-migration
migrate Azure Blueprints to Template Specs
azure-blueprints
Jul 12AzureDeploymentInfrastructure as CodeMigrationapiview-feedback-resolution
resolve APIView feedback on Azure SDKs
azure-sdk-tools
Jul 12API DevelopmentAzureCode ReviewDocumentationazsdk-common-live-and-recorded-tests
deploy resources and run Azure SDK tests
azure-sdk-tools
Jul 12AzureDeploymentSDKTestingazsdk-common-prepare-release-plan
manage Azure SDK release plan work items
azure-sdk-tools
Jul 12AzureGitHubProject ManagementSDKazsdk-common-sdk-release
release Azure SDK packages
azure-sdk-tools
Jul 12AzureCI/CDDeploymentSDK