Recipes

August 24, 2026 · View on GitHub

41 pre-built workflow templates. No code, no API key — just flyto recipe <name>.

The generated complete recipe reference lists all 41 packaged recipe parameters, exact step counts, composed modules, and source files. The longer examples below explain common workflows.

pip install flyto-core[browser]
playwright install chromium
flyto recipes  # list all

Audit & Testing

competitor-intel

Competitor analysis — extract pricing data, desktop + mobile screenshots, Web Vitals, SEO meta, structured JSON report. One command, full competitive intelligence.

flyto recipe competitor-intel --url https://github.com/pricing
flyto recipe competitor-intel --url https://competitor.com/pricing --output comp-report.json
ArgRequiredDefaultDescription
--urlyesCompetitor URL to analyze (e.g. a pricing page)
--outputnointel-report.jsonOutput report file

Output includes: pricing data (plan text + dollar amounts), desktop screenshot (intel-desktop.png), mobile screenshot (intel-mobile.png), Web Vitals performance metrics, SEO meta tags, technology hints. 12 steps, fully traced.


full-audit

Comprehensive site audit — Web Vitals + SEO + accessibility + console errors + mobile/desktop screenshots + PDF. One command, complete report.

flyto recipe full-audit --url https://example.com
flyto recipe full-audit --url https://github.com --output github-audit.json
ArgRequiredDefaultDescription
--urlyesURL to audit
--outputnoaudit-report.jsonOutput report file

Output includes: performance timing (TTFB, DOM loaded, fully loaded), SEO analysis (title, meta tags, OG tags, headings, canonical), accessibility check (missing alt tags, unlabeled inputs, empty buttons), page stats (links, scripts, stylesheets, iframes, forms). Also generates audit-mobile.png, audit-desktop.png, and audit-page.pdf.


site-audit

SEO + performance audit — meta tags, headings, missing alt tags, Web Vitals, and a full-page screenshot, all in one command.

flyto recipe site-audit --url https://github.com
flyto recipe site-audit --url https://example.com --output report.json
ArgRequiredDefaultDescription
--urlyesURL to audit
--outputnoaudit.jsonOutput report file

Output includes: page title, meta tags, h1/h2/h3 headings, image count, missing alt tags, link count, canonical URL. Also saves audit-screenshot.png.


web-perf

Get Core Web Vitals from the terminal — LCP, FCP, CLS, TTFB, and more.

flyto recipe web-perf --url https://example.com
flyto recipe web-perf --url https://example.com --timeout 10000
ArgRequiredDefaultDescription
--urlyesURL to measure
--timeoutno5000Time to wait for metrics (ms)

flyto2-ui-login-smoke

E2E login test — navigate to login page, fill credentials, submit, verify success element appears, screenshot the result.

flyto recipe flyto2-ui-login-smoke --login_url https://myapp.com/login --page_url https://myapp.com/projects --username team@flyto2.com --password "$FLYTO_TEST_PASSWORD"
ArgRequiredDefaultDescription
--login_urlyesLogin page URL
--page_urlyesPage to verify after login
--usernameyesUsername or email
--passwordyesPassword
--success_indicatorno/projectsCSS selector or URL fragment proving success
--outputnoflyto2-ui-login-smoke.jsonJSON audit output path
--output_prefixnoflyto2-ui-login-smokeScreenshot artifact prefix
--required_textno[]JSON array of text labels that must appear
--api_url_patternno/api/Safe network sampling regex
--network_timeout_msno1500Late network sampling duration

form-fill

Auto-fill a web form with data and optionally submit it. Pass field:value pairs as JSON.

flyto recipe form-fill --url https://myapp.com/contact --data '{"email":"dev@flyto2.com","name":"John","message":"Hello"}'
flyto recipe form-fill --url https://httpbin.org/forms/post --data '{"custname":"Jane","custtel":"555-0123"}' --submit false
ArgRequiredDefaultDescription
--urlyesPage URL containing the form
--datayesJSON string of field:value pairs
--submitnotrueSubmit the form after filling
--outputnoform-result.pngScreenshot output path after submission

Browser

screenshot

Take a full-page screenshot of any webpage.

flyto recipe screenshot --url https://example.com
flyto recipe screenshot --url https://example.com --output home.png --width 1920 --height 1080
ArgRequiredDefaultDescription
--urlyesURL to screenshot
--outputnoscreenshot.pngOutput file path
--widthno1280Viewport width
--heightno720Viewport height

responsive-report

Screenshot a page at 3 breakpoints — mobile (390px), tablet (768px), desktop (1440px). Perfect for responsive design review.

flyto recipe responsive-report --url https://example.com
flyto recipe responsive-report --url https://github.com --prefix github
ArgRequiredDefaultDescription
--urlyesURL to capture
--prefixnoresponsiveOutput file prefix (creates prefix-mobile.png, prefix-tablet.png, prefix-desktop.png)

page-to-pdf

Render any webpage as a PDF file.

flyto recipe page-to-pdf --url https://example.com
flyto recipe page-to-pdf --url https://en.wikipedia.org/wiki/YAML --output yaml-wiki.pdf --size Letter
ArgRequiredDefaultDescription
--urlyesURL to convert
--outputnopage.pdfOutput PDF file path
--sizenoA4Page size (A4, Letter, Legal)

visual-snapshot

Screenshot a page at both mobile (390×844) and desktop (1440×900) viewports.

flyto recipe visual-snapshot --url https://github.com
flyto recipe visual-snapshot --url https://example.com --mobile_output m.png --desktop_output d.png
ArgRequiredDefaultDescription
--urlyesURL to capture
--mobile_outputnomobile.pngMobile screenshot output
--desktop_outputnodesktop.pngDesktop screenshot output

webpage-archive

Archive a webpage in 3 formats — screenshot (PNG), PDF, and HTML snapshot.

flyto recipe webpage-archive --url https://example.com
flyto recipe webpage-archive --url https://news.ycombinator.com --prefix hn-2024
ArgRequiredDefaultDescription
--urlyesURL to archive
--prefixnoarchiveOutput file prefix (creates prefix.png, prefix.pdf, prefix.html)

scrape-page

Extract text content from a webpage using a CSS selector.

flyto recipe scrape-page --url https://example.com --selector h1
flyto recipe scrape-page --url https://news.ycombinator.com --selector .titleline --output titles.json
ArgRequiredDefaultDescription
--urlyesURL to scrape
--selectoryesCSS selector (e.g. h1, .title, #content)
--outputnoscraped.jsonOutput file path

Extract all links from a webpage.

flyto recipe scrape-links --url https://example.com
flyto recipe scrape-links --url https://news.ycombinator.com --output hn-links.json
ArgRequiredDefaultDescription
--urlyesURL to scrape links from
--outputnolinks.jsonOutput file path

scrape-table

Extract an HTML table from a webpage and save as CSV.

flyto recipe scrape-table --url https://en.wikipedia.org/wiki/Python_(programming_language) --selector .wikitable
flyto recipe scrape-table --url https://example.com/data --selector "#results" --output table.csv
ArgRequiredDefaultDescription
--urlyesURL containing the table
--selectornotableCSS selector for the table element
--outputnotable.csvOutput file path

scrape-to-csv

Scrape structured data from a webpage and save as CSV. Configure row selector and column field selectors.

flyto recipe scrape-to-csv --url https://en.wikipedia.org/wiki/List_of_largest_companies_by_revenue --selector "table.wikitable tbody tr" --fields "td:nth-child(2),td:nth-child(3),td:nth-child(4)"
flyto recipe scrape-to-csv --url https://example.com/products --selector ".product" --fields ".name,.price,.rating" --output products.csv
ArgRequiredDefaultDescription
--urlyesURL to scrape
--selectoryesCSS selector for rows (e.g. tr, .item, .product)
--fieldsyesComma-separated child selectors for columns
--outputnoscraped.csvOutput CSV file path

stock-price

Fetch current stock price from Yahoo Finance.

flyto recipe stock-price --symbol AAPL
flyto recipe stock-price --symbol TSLA --output tesla.json
ArgRequiredDefaultDescription
--symbolyesStock ticker symbol (e.g. AAPL, TSLA, NVDA)
--outputnostock.jsonOutput file path

Data & OCR

ocr

Extract text from an image using Tesseract OCR.

flyto recipe ocr --input scan.png
flyto recipe ocr --input receipt.jpg --lang eng --output receipt.txt
ArgRequiredDefaultDescription
--inputyesPath to image file
--langnoengLanguage code (eng, chi_tra, jpn, deu, fra, spa)
--outputnoocr-result.txtOutput text file path

Requires: pip install pytesseract and Tesseract installed.


csv-to-json

Convert a CSV file to JSON format.

flyto recipe csv-to-json --input data.csv
flyto recipe csv-to-json --input users.csv --output users.json
ArgRequiredDefaultDescription
--inputyesPath to input CSV file
--outputnooutput.jsonPath to output JSON file

json-to-csv

Convert a JSON array file to CSV format.

flyto recipe json-to-csv --input data.json
flyto recipe json-to-csv --input records.json --output records.csv
ArgRequiredDefaultDescription
--inputyesPath to input JSON file
--outputnooutput.csvPath to output CSV file

pdf-extract

Extract text content from a PDF file.

flyto recipe pdf-extract --input report.pdf
flyto recipe pdf-extract --input contract.pdf --output contract.txt
ArgRequiredDefaultDescription
--inputyesPath to PDF file
--outputnoextracted.txtPath to output text file

Image

image-resize

Resize an image to specified dimensions.

flyto recipe image-resize --input photo.jpg --width 800
flyto recipe image-resize --input banner.png --width 1200 --output banner-sm.png
ArgRequiredDefaultDescription
--inputyesPath to input image
--widthyesTarget width in pixels
--outputnoresized.pngPath to output image

image-compress

Compress an image to reduce file size.

flyto recipe image-compress --input photo.jpg
flyto recipe image-compress --input photo.jpg --quality 60 --output small.jpg
ArgRequiredDefaultDescription
--inputyesPath to input image
--qualityno80Compression quality (1-100)
--outputnocompressed.jpgPath to output image

image-convert

Convert an image between formats (PNG, JPG, WebP, BMP).

flyto recipe image-convert --input photo.png --format webp
flyto recipe image-convert --input logo.jpg --format png --output logo
ArgRequiredDefaultDescription
--inputyesPath to input image
--formatyesTarget format (png, jpg, webp, bmp)
--outputnoconvertedOutput path (extension auto-added)

Network & Security

port-scan

Scan open ports on a host.

flyto recipe port-scan --host github.com
flyto recipe port-scan --host 192.168.1.1 --ports "80-443"
flyto recipe port-scan --host example.com --ports "22,80,443,3306,5432,8080"
ArgRequiredDefaultDescription
--hostyesHostname or IP to scan
--portsno22,80,443,3000,3306,5432,6379,8080,8443,9090Ports (comma-separated or range)

whois

Look up domain registration info — registrar, creation date, expiration, name servers.

flyto recipe whois --domain github.com
flyto recipe whois --domain example.com
ArgRequiredDefaultDescription
--domainyesDomain name to look up

DevOps

monitor-site

Check if a website is up and measure response time.

flyto recipe monitor-site --url https://myapp.com
flyto recipe monitor-site --url https://api.example.com --timeout 10000
ArgRequiredDefaultDescription
--urlyesURL to check
--timeoutno5000Timeout in milliseconds

http-get

Fetch data from a URL and save the response.

flyto recipe http-get --url https://api.github.com/users/octocat
flyto recipe http-get --url https://jsonplaceholder.typicode.com/posts/1 --output post.json
ArgRequiredDefaultDescription
--urlyesURL to fetch
--outputnoresponse.jsonPath to save response

docker-ps

List running Docker containers.

flyto recipe docker-ps
flyto recipe docker-ps --all true
ArgRequiredDefaultDescription
--allnofalseShow all containers (including stopped)

git-changelog

Show git diff with file change statistics.

flyto recipe git-changelog
flyto recipe git-changelog --repo /path/to/repo --ref HEAD~5
ArgRequiredDefaultDescription
--repono.Path to git repository
--refnoHEADReference to diff against (commit, branch, tag)

Integrations

scrape-to-slack

Extract data from a webpage and send it to Slack.

flyto recipe scrape-to-slack --url https://example.com --selector h1 --webhook $SLACK_WEBHOOK_URL
flyto recipe scrape-to-slack --url https://news.ycombinator.com --selector .titleline --webhook $SLACK_WEBHOOK_URL
ArgRequiredDefaultDescription
--urlyesURL to scrape
--selectoryesCSS selector to extract text from
--webhookyesSlack incoming webhook URL

github-issue

Screenshot a page and create a GitHub issue with the screenshot attached.

flyto recipe github-issue --url https://example.com --owner myorg --repo myapp --title "Homepage bug" --token $GITHUB_TOKEN
ArgRequiredDefaultDescription
--urlyesURL to screenshot
--owneryesGitHub repository owner
--repoyesGitHub repository name
--titleyesIssue title
--tokenyesGitHub personal access token

Writing Your Own Recipes

Recipes are YAML files in src/recipes/. Format:

name: My Recipe
description: What this recipe does

args:
  url:
    type: string
    required: true
    description: The target URL
  output:
    type: string
    default: result.json
    description: Where to save output

steps:
  - id: step1
    module: http.get
    params:
      url: "{{url}}"

  - id: step2
    module: file.write
    params:
      path: "{{output}}"
      content: "${step1.data}"
  • {{arg}} — substituted with CLI --arg value before execution
  • ${step.field} — resolved at runtime from previous step output
  • Args with default are optional; args with required: true must be provided
  • Steps use any of the 480 registry-backed modules