From prefect
Provides Prefect CLI commands for mutations such as triggering deployments, canceling flow runs, creating automations, and modifying resources. Use when MCP server's read-only access is insufficient.
How this skill is triggered — by the user, by Claude, or both
Slash command
/prefect:cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The MCP server is read-only. For mutations, use the CLI.
The MCP server is read-only. For mutations, use the CLI.
Prefer MCP tools for reads (e.g., get_flow_runs, get_deployments). They return structured JSON with full UUIDs. Use prefect api only if MCP doesn't expose what you need.
The CLI is designed for interactive terminal use. For non-interactive (agent) use:
# ALWAYS use --no-prompt as a TOP-LEVEL flag to disable confirmations
prefect --no-prompt flow-run delete <uuid>
prefect --no-prompt deployment delete <name>
Rich table output truncates IDs and names, making them useless. Solutions:
# Use `prefect api` for raw JSON (preferred for agents)
prefect api POST /flow_runs/filter --data '{"limit": 5}'
# Use inspect with -o json for single resources
prefect flow-run inspect <uuid> -o json
prefect deployment inspect <name> -o json
Partial IDs don't work. Always get full UUIDs from JSON output:
# Get full flow run ID
prefect api POST /flow_runs/filter --data '{"limit": 1}' | jq -r '.[0].id'
| Task | Command |
|---|---|
| Trigger deployment | prefect deployment run 'flow-name/deployment-name' |
| Trigger by ID | prefect deployment run --id <deployment-uuid> |
| Cancel flow run | prefect --no-prompt flow-run cancel <uuid> |
| Delete flow run | prefect --no-prompt flow-run delete <uuid> |
| Delete deployment | prefect --no-prompt deployment delete <name> |
prefect api gives full API access with JSON output:
# List flow runs (with filters)
prefect api POST /flow_runs/filter --data '{"limit": 10}'
# Filter by state
prefect api POST /flow_runs/filter --data '{"flow_runs": {"state": {"type": {"any_": ["FAILED"]}}}}'
# Delete a flow run
prefect api DELETE /flow_runs/<uuid>
# Cancel a flow run
prefect api POST /flow_runs/<uuid>/set_state --data '{"state": {"type": "CANCELLING"}}'
Create from JSON string (inline):
prefect automation create --from-json '{
"name": "notify-on-failure",
"trigger": {
"posture": "Reactive",
"expect": ["prefect.flow-run.Failed"],
"match": {"prefect.resource.id": "prefect.flow-run.*"}
},
"actions": [{"type": "send-notification", ...}]
}'
Or from file:
prefect automation create --from-file automation.yaml
Use get_automations() from the MCP server to inspect existing automation schemas.
The get_flow_runs tool returns summarized data to save tokens:
get_work_pools(filter={"name": ...})get_deployments(filter={"id": ...})get_dashboard()npx claudepluginhub prefecthq/prefect-mcp-server --plugin prefectSets up auth, provides reusable Python/Node.js MCP helper, enables tool discovery, and handles responses for connecting AI agents to Power Automate via FlowStudio.
Manages and troubleshoots Apache Airflow using af CLI: lists DAGs, triggers runs, reads task logs, diagnoses failures, checks connections, variables, pools, and health.
Implements durable multi-step workflows on Cloudflare Workers with retries, state persistence, sleeps, event waiting, and NonRetryableError handling. Use for long-running tasks.