manage-flows
Manage flow lifecycle - publish, test, batch operations, inventory reports. Use when the user asks to publish, test, batch manage, or get an inventory of flows. Inventories page large environment lists and state which environments were covered.
Try your first task
A source-grounded starter task has not been verified for this skill yet.
SKILL.md
name: manage-flowsdescription: Manage flow lifecycle - publish, test, batch operations, inventory reports. Use when the user asks to publish, test, batch manage, or get an inventory of flows. Inventories page large environment lists and state which environments were covered.user-invocable: trueargument-hint: "<operation> [flow-ids...]"context: forkallowed-tools: Bash, Read, Write, Glob, Grep, mcp__flowagent__list_environments, mcp__flowagent__set_current_env, mcp__flowagent__get_current_env, mcp__flowagent__resolve_environment, mcp__flowagent__list_flows, mcp__flowagent__get_flow, mcp__flowagent__create_flow, mcp__flowagent__update_flow, mcp__flowagent__edit_flow, mcp__flowagent__copy_flow, mcp__flowagent__publish_flow, mcp__flowagent__disable_flow, mcp__flowagent__delete_flow, mcp__flowagent__run_flow, mcp__flowagent__get_run_history, mcp__flowagent__get_run_details, mcp__flowagent__get_run_actions, mcp__flowagent__get_run_action_repetitions, mcp__flowagent__cancel_run, mcp__flowagent__cancel_all_runs, mcp__flowagent__resubmit_run, mcp__flowagent__diagnose_run, mcp__flowagent__list_connections, mcp__flowagent__list_connectors, mcp__flowagent__get_connector, mcp__flowagent__search_operations, mcp__flowagent__get_operation_details, mcp__flowagent__pick_or_create_connection, mcp__flowagent__resolve_refs, mcp__flowagent__resolve_params, mcp__flowagent__scaffold_flow, mcp__flowagent__list_templates, mcp__flowagent__validate_flow, mcp__flowagent__preflight_flow, mcp__flowagent__smoke_test, mcp__flowagent__get_expression_help, mcp__flowagent__list_desktop_flows, mcp__flowagent__list_machine_groups, mcp__flowagent__run_desktop_flow, mcp__flowagent__get_flow_context, mcp__flowagent__set_current_flow, mcp__flowagent__clear_current_flow, mcp__flowagent__invoke_operation, mcp__flowagent__get_past_trigger_inputs, mcp__flowagent__test_connection, mcp__flowagent__fix_connection, mcp__flowagent__delete_connection, mcp__flowagent__preview_update, mcp__flowagent__get_backup, mcp__flowagent__list_backups, mcp__flowagent__restore_backup, mcp__flowagent__list_trigger_emulators, mcp__flowagent__resolve_entity, mcp__flowagent__list_datasets, mcp__flowagent__list_tables, mcp__flowagent__whoami, mcp__flowagent__doctor, mcp__flowagent__reconnect, mcp__flowagent__list_accounts, mcp__flowagent__switch_accountmodel: opusFlow Lifecycle Manager
Autonomous agent for flow lifecycle operations: publish-and-test, batch operations, inventory reports.
Tools
This skill uses the FlowAgent MCP tools, referred to by bare name (clients
surface them as mcp__flowagent__<tool> in Claude Code or flowagent-<tool> in
Copilot CLI). Use CLI shell commands (local engine build only) for CLI-only
operations (connection lifecycle, sharing, solutions/admin) or when no MCP tools
are present.
Capabilities
1. Publish-and-Test Cycle
- Call
publish_flowto enable - Call
run_flowwithwait: trueandtimeout: 30to trigger and wait for completion - Report: pass/fail, duration, action statuses
2. Batch Operations
For multiple flows (IDs from $ARGUMENTS or from list_flows):
- Batch disable: Call
disable_flowper flow - Batch delete: First list the exact flows (name + ID) to the user and get explicit confirmation. Never delete "all flows" in an environment from a single instruction. Then call
delete_flowper flow. After 3 deletes in 10 minutes the server returnsBulkDeleteConfirmRequired; passconfirmBulk: trueonly for flows the user has confirmed. Deleted flows can be recovered withlist_backups/restore_backup. - Batch publish: Call
publish_flowper flow Report per-item success/failure.
3. Inventory Report
- Call
list_environmentsto get environments. Large tenants return a partial page (total,nextSkip,note) - page withskipor filter withquery; never treat a partial page as the full list. Reuse this discovery across the per-environment loop rather than listing environments again for every flow lookup. Metadata is cached in memory for up to 60 seconds; usefresh: truefor explicitly requested current discovery, then page without repeating the fresh bypass - Call
list_flowson each environment (or only the ones the user specified) - do not stop at the current one. A partial response containsflows,complete: falseandnextCursor: continue withcursor: nextCursorand unchangedenv,top,nameandfilter. Follow all cursors before treating an environment's count as complete. Continuations may reuse one metadata page for up to 60 seconds; start without a cursor for fresh data. If a changed page requires restarting, discard earlier partial counts for that environment. For many environments, cap the loop (e.g. the first 10-20, or those the user names), and keep going past individual failures. A large tenant is a reason to cap, never a reason to inventory only one: unless the user scoped it, cover at least the first 10 environments before reporting, then offer to continue - Produce summary: flow counts by state, trigger types, recent modifications
- State coverage explicitly: "N of M environments inventoried" and list any skipped, failed or still-partial environments. Count an environment as fully inventoried only when its flow cursors are exhausted. If only one was inventoried (user scoped it, or others failed), say so rather than presenting it as the full tenant
4. Health Check
For each flow in an environment:
- Call
get_run_historywithtop: 5 - Count Succeeded vs Failed runs
- Flag flows with >50% failure rate Report: flow name, success rate, last run status, last failure error.
5. Incident Response (runaway runs)
When a flow is misfiring with many queued runs:
- Call
cancel_all_runsto bulk-cancel every Running/Waiting run (uses the Dataverse bulk action for solution & modern non-solution flows, per-run fallback otherwise). PassturnOff: trueto also disable the flow while the root cause is fixed. - After fixing,
resubmit_runthe affected runs (note: only self-invoked runs are resubmittable per PA policy).