Skip to main content
Glama
gabcoyne

airflow-unfactor

by gabcoyne

scaffold

Generate a Prefect project directory structure with configurable options for workspace, flow names, Docker, CI, and schedules. Bootstrap an Airflow-to-Prefect migration with this project skeleton.

Instructions

Generate a Prefect project directory structure.

Creates the project skeleton following prefecthq/flows conventions. Does NOT generate flow code - that's for the LLM to do.

Args: output_directory: Where to create the project project_name: Project name (defaults to directory name) workspace: Workspace name for deployments// structure flow_names: List of flow names to create directories for include_docker: Include Dockerfile template include_github_actions: Include CI workflow template schedule_interval: Cron string, preset (@daily etc.), seconds, or None.

Returns: JSON with created_directories, created_files, prefect_yaml_template, next_steps

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspaceNodefault
flow_namesNo
project_nameNo
include_dockerNo
output_directoryYes
schedule_intervalNo
include_github_actionsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure. It states it creates a project skeleton, lists the parameter effects, and specifies the return format (JSON with created_directories, created_files, etc.). It does not mention overwrite behavior or error handling, which are potential gaps, but overall it provides substantial transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded: a one-sentence purpose, a critical exclusion note, a bulleted Args list, and a Returns summary. Every sentence is informative, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, no schema descriptions), this description is remarkably complete. It covers the main purpose, non-goals, all parameter semantics, and return value shape. The only minor omission is explicit usage alternatives, but the overall context is sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does so comprehensively, listing all 7 parameters with meaningful explanations, including defaults (project_name defaults to directory name), structural purpose (workspace for deployments/<workspace>/ structure), and format hints for schedule_interval (cron string, preset, seconds, or None). This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Generate a Prefect project directory structure.' It further clarifies scope by stating it follows prefecthq/flows conventions and explicitly excludes flow code generation, making its purpose unambiguous and distinct from the sibling tool 'generate_deployment'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for use by stating what it does NOT do ('Does NOT generate flow code - that's for the LLM to do'), which guides the agent away from using it for code generation. It does not explicitly name alternatives among the sibling tools, but the exclusion and focus on scaffolding imply appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gabcoyne/airflow-unfactor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server