{
  "name": "7Maps tool search evaluation set",
  "version": "1",
  "created": "2026-10-03T13:40:00Z",
  "author": "7IT (written before any result of the search engine under test was looked at)",
  "url": "https://7it.co.il/7maps/search-eval/",
  "license": "CC BY 4.0",
  "rule": "Criteria are frozen. They are never edited to raise a score. A job or criterion found to be wrong is fixed only in a new version of the set (tool-search-v2.json), the old version stays published, and scores are only compared within one version.",
  "judging": {
    "text": "A result is judged on its tool name plus its description (the first 220 characters, as the search returns it). Names are split on _ - . / and camelCase; words are lowercased and lightly stemmed (plural s/es, -ing, -ed, a final e; a trailing * in a synonym means 'starts with').",
    "need": "A list of groups. Every group must match: a group matches when any of its synonyms (a word or a phrase of consecutive words) appears in the text.",
    "prefer": "Optional groups. A relevant result that also matches every prefer group gets grade 2, otherwise grade 1. Jobs without prefer groups give grade 2 to every relevant result.",
    "level": "The most a correct tool may do, using the risk level the search reports for each tool: read = read-only only; change = read-only or changes data; any = any level, high risk included. A result above the job's level is not relevant, however well its words match.",
    "metrics": "P@1, P@5 (relevant results in the top 5 divided by 5), nDCG@5 (gains 2^grade - 1, against an ideal list of five grade-2 results), MRR over the top 10, the share of jobs with a relevant tool on an answering server in the top 5, and the median latency."
  },
  "jobs": [
    { "id": "email-1", "cat": "email", "job": "send a transactional email to a customer", "level": "change", "need": [["send", "deliver", "dispatch"], ["email", "e-mail", "mail", "smtp"]] },
    { "id": "email-2", "cat": "email", "job": "search my inbox for messages from a sender", "level": "read", "need": [["search", "find", "list", "query", "get", "read", "filter", "look up", "lookup"], ["email", "e-mail", "mail", "inbox", "gmail", "outlook", "imap", "mailbox"]] },
    { "id": "email-3", "cat": "email", "job": "read the latest unread emails", "level": "read", "need": [["read", "get", "list", "fetch", "retrieve", "search"], ["email", "e-mail", "mail", "inbox", "gmail", "outlook", "imap", "mailbox"]], "prefer": [["unread", "latest", "recent", "new"]] },
    { "id": "email-4", "cat": "email", "job": "draft a reply to an email", "level": "change", "need": [["draft", "compose", "write", "reply", "create"], ["email", "e-mail", "mail", "gmail", "outlook"]] },
    { "id": "email-5", "cat": "email", "job": "check whether an email address is deliverable", "level": "read", "need": [["validat*", "verify", "verification", "check", "lookup"], ["email", "e-mail"]], "prefer": [["deliverab*", "valid", "bounce", "mx", "disposable", "verification", "verify"]] },
    { "id": "email-6", "cat": "email", "job": "add a subscriber to an email marketing list", "level": "change", "need": [["add", "subscribe", "create", "upsert"], ["subscriber", "contact", "member", "audience", "list", "mailing list"], ["email", "mailchimp", "newsletter", "marketing", "campaign", "audience", "subscriber", "mailing"]] },

    { "id": "calendar-1", "cat": "calendar", "job": "create a calendar event for a meeting next Tuesday", "level": "change", "need": [["create", "add", "schedule", "insert", "book"], ["event", "meeting", "appointment", "calendar"]] },
    { "id": "calendar-2", "cat": "calendar", "job": "list my calendar events for today", "level": "read", "need": [["list", "get", "search", "find", "read", "fetch", "show", "view"], ["event", "calendar", "agenda", "appointment", "meeting"]] },
    { "id": "calendar-3", "cat": "calendar", "job": "find a free time slot for three people", "level": "read", "need": [["free", "freebusy", "availab*", "busy", "slot", "find time", "open time"], ["calendar", "meeting", "schedul*", "event", "attendee", "people", "participant"]] },
    { "id": "calendar-4", "cat": "calendar", "job": "reschedule an existing meeting", "level": "change", "need": [["reschedul*", "update", "move", "change", "edit", "modify", "patch"], ["event", "meeting", "appointment", "booking"]] },
    { "id": "calendar-5", "cat": "calendar", "job": "cancel a booked appointment", "level": "any", "need": [["cancel*", "delete", "remove"], ["appointment", "booking", "event", "meeting", "reservation"]] },

    { "id": "db-1", "cat": "database", "job": "run a read-only SQL query on a Postgres database", "level": "read", "need": [["sql", "query", "select"], ["postgres*", "pg", "database", "db"]], "prefer": [["postgres*", "pg"]] },
    { "id": "db-2", "cat": "database", "job": "list the tables in a MySQL database", "level": "read", "need": [["list", "show", "get", "describe"], ["table*", "schema"], ["mysql", "mariadb", "database", "db", "sql"]], "prefer": [["mysql", "mariadb"]] },
    { "id": "db-3", "cat": "database", "job": "describe the columns of a database table", "level": "read", "need": [["schema", "describe", "column*", "structure", "definition", "ddl"], ["table*", "database", "db", "collection"]] },
    { "id": "db-4", "cat": "database", "job": "find documents in a MongoDB collection", "level": "read", "need": [["find", "query", "search", "get", "list", "aggregat*"], ["mongo*", "collection", "document"]], "prefer": [["mongo*"]] },
    { "id": "db-5", "cat": "database", "job": "insert a new row into a database table", "level": "change", "need": [["insert", "add", "create", "append", "write", "upsert"], ["row", "record", "entry", "document"], ["table*", "database", "db", "sql", "collection"]] },
    { "id": "db-6", "cat": "database", "job": "get a value from a Redis cache by key", "level": "read", "need": [["get", "read", "fetch", "retrieve"], ["redis", "cache", "key", "kv", "key value"]] },
    { "id": "db-7", "cat": "database", "job": "run a query against a BigQuery or Snowflake data warehouse", "level": "read", "need": [["query", "sql", "run", "execute"], ["bigquery", "snowflake", "warehouse", "redshift", "databricks", "clickhouse"]] },

    { "id": "web-1", "cat": "web search", "job": "search the web for recent news about a company", "level": "read", "need": [["search", "find", "query", "look up"], ["web", "internet", "online", "google", "bing", "brave", "news", "serp", "duckduckgo"]] },
    { "id": "web-2", "cat": "web search", "job": "get the top search engine results for a query", "level": "read", "need": [["search"], ["web", "internet", "serp", "google", "bing", "brave", "duckduckgo", "search engine", "online"]] },
    { "id": "web-3", "cat": "web search", "job": "find recent news articles on a topic", "level": "read", "need": [["news", "article", "headline"], ["search", "find", "get", "fetch", "latest", "recent", "list"]] },
    { "id": "web-4", "cat": "web search", "job": "look up academic papers on a subject", "level": "read", "need": [["paper", "academic", "scholar*", "arxiv", "pubmed", "publication", "journal", "citation"], ["search", "find", "look up", "get", "query", "list", "fetch"]] },
    { "id": "web-5", "cat": "web search", "job": "answer a question with sources from the web", "level": "read", "need": [["web", "internet", "online", "search"], ["answer", "question", "source", "citation", "research", "ask"]] },

    { "id": "pay-1", "cat": "payments", "job": "create a payment link for a product", "level": "any", "need": [["payment link", "checkout link", "checkout session", "checkout", "pay link", "payment url"], ["create", "generate", "make", "new"]] },
    { "id": "pay-2", "cat": "payments", "job": "refund a customer's charge", "level": "any", "need": [["refund*"]] },
    { "id": "pay-3", "cat": "payments", "job": "list recent payments for a customer", "level": "read", "need": [["list", "get", "search", "retrieve", "fetch", "find"], ["payment", "charge", "transaction", "invoice", "order"]] },
    { "id": "pay-4", "cat": "payments", "job": "create an invoice and send it to a client", "level": "any", "need": [["invoice"], ["create", "send", "issue", "generate", "draft"]] },
    { "id": "pay-5", "cat": "payments", "job": "get the available balance of my Stripe or bank account", "level": "read", "need": [["balance"], ["account", "stripe", "bank", "wallet", "payment"]] },
    { "id": "pay-6", "cat": "payments", "job": "set up a monthly subscription for a customer", "level": "any", "need": [["subscription", "recurring", "plan"], ["create", "start", "set up", "add", "subscribe"]] },

    { "id": "files-1", "cat": "files", "job": "read the contents of a local file", "level": "read", "need": [["read", "get", "open", "view", "cat", "load"], ["file"]] },
    { "id": "files-2", "cat": "files", "job": "write text to a file", "level": "change", "need": [["write", "save", "create", "append"], ["file"]] },
    { "id": "files-3", "cat": "files", "job": "search for files by name in a folder", "level": "read", "need": [["search", "find", "list", "glob", "locate"], ["file", "folder", "director*"]] },
    { "id": "files-4", "cat": "files", "job": "extract the text of a PDF", "level": "read", "need": [["pdf"], ["text", "extract*", "read", "convert*", "pars*", "content"]] },
    { "id": "files-5", "cat": "files", "job": "list the files in a Google Drive folder", "level": "read", "need": [["list", "search", "get", "find", "browse"], ["file", "folder", "document"], ["drive", "gdrive", "onedrive", "dropbox", "cloud storage", "sharepoint", "box"]], "prefer": [["drive", "gdrive"]] },

    { "id": "repo-1", "cat": "code repository", "job": "create an issue in a GitHub repository", "level": "change", "need": [["create", "open", "new", "add", "file"], ["issue"]], "prefer": [["github"]] },
    { "id": "repo-2", "cat": "code repository", "job": "list open pull requests in a repo", "level": "read", "need": [["list", "get", "search", "find", "fetch", "show"], ["pull request", "pr", "merge request"]] },
    { "id": "repo-3", "cat": "code repository", "job": "read a file from a GitHub repo", "level": "read", "need": [["get", "read", "fetch", "retrieve", "view", "content"], ["file", "content"], ["repo*", "github", "gitlab", "bitbucket"]] },
    { "id": "repo-4", "cat": "code repository", "job": "search code across repositories", "level": "read", "need": [["search", "find", "grep"], ["code", "source", "snippet"]] },
    { "id": "repo-5", "cat": "code repository", "job": "comment on a pull request", "level": "change", "need": [["comment", "review", "reply"], ["pull request", "pr", "merge request"]] },
    { "id": "repo-6", "cat": "code repository", "job": "get the recent commits of a branch", "level": "read", "need": [["commit"], ["list", "get", "log", "history", "recent", "fetch", "search"]] },

    { "id": "crm-1", "cat": "CRM", "job": "find a contact in the CRM by email address", "level": "read", "need": [["search", "find", "get", "look up", "lookup", "list", "retriev*"], ["contact", "lead", "person", "people", "customer"]], "prefer": [["crm", "hubspot", "salesforce", "pipedrive", "attio", "zoho"]] },
    { "id": "crm-2", "cat": "CRM", "job": "create a new sales lead", "level": "change", "need": [["create", "add", "new", "insert"], ["lead", "prospect", "contact"]] },
    { "id": "crm-3", "cat": "CRM", "job": "move a deal to the next pipeline stage", "level": "change", "need": [["update", "move", "change", "set", "edit", "modify"], ["deal", "opportunit*", "pipeline"]] },
    { "id": "crm-4", "cat": "CRM", "job": "log a call note on a customer record", "level": "change", "need": [["note", "activit*", "engagement", "call", "log"], ["create", "add", "log", "record"]] },
    { "id": "crm-5", "cat": "CRM", "job": "list the deals closing this month", "level": "read", "need": [["list", "get", "search", "find", "fetch"], ["deal", "opportunit*", "pipeline"]] },

    { "id": "docs-1", "cat": "docs and knowledge", "job": "search pages in a Notion workspace", "level": "read", "need": [["search", "find", "query", "list"], ["page", "notion", "workspace", "document", "doc", "docs"]], "prefer": [["notion"]] },
    { "id": "docs-2", "cat": "docs and knowledge", "job": "create a new page in Notion", "level": "change", "need": [["create", "add", "new", "write"], ["page", "document", "doc", "note"]] },
    { "id": "docs-3", "cat": "docs and knowledge", "job": "get up-to-date documentation for a programming library", "level": "read", "need": [["documentation", "docs", "doc", "reference", "readme", "guide"], ["library", "librar*", "package", "framework", "sdk", "api", "code"]] },
    { "id": "docs-4", "cat": "docs and knowledge", "job": "append a paragraph to a Google Doc", "level": "change", "need": [["append", "insert", "add", "write", "update", "edit"], ["document", "doc", "docs"]], "prefer": [["google doc", "google docs", "gdoc"]] },
    { "id": "docs-5", "cat": "docs and knowledge", "job": "search the Confluence or internal wiki", "level": "read", "need": [["search", "find", "query"], ["confluence", "wiki*", "knowledge base", "knowledgebase", "kb", "page", "space"]] },
    { "id": "docs-6", "cat": "docs and knowledge", "job": "summarize a long document", "level": "read", "need": [["summar*"], ["document", "text", "doc", "docs", "pdf", "content", "article", "page"]] },

    { "id": "geo-1", "cat": "maps and geo", "job": "convert a street address to latitude and longitude", "level": "read", "need": [["geocod*", "coordinate", "latitude", "longitude", "lat lng", "latlng", "lat lon"], ["address", "place", "location"]] },
    { "id": "geo-2", "cat": "maps and geo", "job": "get driving directions between two places", "level": "read", "need": [["direction", "route", "routing", "navigat*", "travel time", "distance"], ["driv*", "place", "location", "address", "origin", "destination", "between"]] },
    { "id": "geo-3", "cat": "maps and geo", "job": "find restaurants near a location", "level": "read", "need": [["place", "restaurant", "business", "poi", "point of interest", "venue"], ["near*", "around", "radius", "search", "find"]] },
    { "id": "geo-4", "cat": "maps and geo", "job": "get the time zone of a city", "level": "read", "need": [["time zone", "timezone", "tz"], ["city", "location", "place", "coordinate", "get", "lookup", "find"]] },
    { "id": "geo-5", "cat": "maps and geo", "job": "calculate the distance between two coordinates", "level": "read", "need": [["distance"], ["coordinate", "point", "location", "latitude", "longitude", "place", "between", "calculat*"]] },

    { "id": "weather-1", "cat": "weather", "job": "get the current weather in a city", "level": "read", "need": [["weather", "temperature"], ["current", "now", "get", "today", "city", "location"]] },
    { "id": "weather-2", "cat": "weather", "job": "get a 7-day weather forecast", "level": "read", "need": [["forecast"], ["weather", "temperature", "day", "daily", "rain", "precipitation"]] },
    { "id": "weather-3", "cat": "weather", "job": "check for severe weather alerts in a region", "level": "read", "need": [["alert", "warning", "severe", "storm"], ["weather", "nws", "meteorolog*", "storm", "hurricane"]] },
    { "id": "weather-4", "cat": "weather", "job": "get the air quality index for a location", "level": "read", "need": [["air quality", "aqi", "pollution", "pollutant", "pm2", "pm25"]] },

    { "id": "translate-1", "cat": "translation", "job": "translate a paragraph from English to Spanish", "level": "read", "need": [["translat*"]] },
    { "id": "translate-2", "cat": "translation", "job": "detect the language of a text", "level": "read", "need": [["detect*", "identif*", "recogni*"], ["language"]] },
    { "id": "translate-3", "cat": "translation", "job": "translate a document file", "level": "change", "need": [["translat*"], ["document", "file", "doc", "docx", "pdf"]] },
    { "id": "translate-4", "cat": "translation", "job": "list the languages supported for translation", "level": "read", "need": [["language"], ["list", "supported", "support", "available"]] },

    { "id": "scrape-1", "cat": "scraping", "job": "fetch a web page and return it as markdown", "level": "read", "need": [["fetch", "get", "scrape", "crawl", "read", "load", "download", "extract"], ["web page", "webpage", "url", "page", "website", "site", "html"]], "prefer": [["markdown", "md"]] },
    { "id": "scrape-2", "cat": "scraping", "job": "crawl all pages of a website", "level": "read", "need": [["crawl*", "spider", "map", "sitemap"], ["site", "website", "page", "url", "domain"]] },
    { "id": "scrape-3", "cat": "scraping", "job": "extract structured data from a product page", "level": "read", "need": [["extract*", "scrape*", "pars*"], ["page", "url", "web", "html", "site", "website", "product"]] },
    { "id": "scrape-4", "cat": "scraping", "job": "take a screenshot of a web page", "level": "read", "need": [["screenshot", "capture", "snapshot"], ["page", "web", "url", "site", "website", "browser", "screen"]] },
    { "id": "scrape-5", "cat": "scraping", "job": "click a button and fill a form in a browser", "level": "any", "need": [["click*", "fill*", "type", "input", "form", "interact*"], ["browser", "page", "element", "button", "selector", "playwright", "puppeteer"]] },

    { "id": "image-1", "cat": "images", "job": "generate an image from a text prompt", "level": "change", "need": [["generat*", "create", "make", "draw", "render"], ["image", "picture", "photo", "illustration", "artwork"]] },
    { "id": "image-2", "cat": "images", "job": "remove the background from a photo", "level": "change", "need": [["background"], ["remov*", "eras*", "cut*", "transparent"]] },
    { "id": "image-3", "cat": "images", "job": "resize an image", "level": "change", "need": [["resiz*", "scale", "crop*", "compress*", "convert*"], ["image", "photo", "picture", "png", "jpg", "jpeg", "webp"]] },
    { "id": "image-4", "cat": "images", "job": "describe what is in an image", "level": "read", "need": [["describ*", "analy*", "caption*", "recogni*", "detect*", "ocr", "vision", "understand*", "classif*"], ["image", "photo", "picture", "screenshot", "visual"]] },
    { "id": "image-5", "cat": "images", "job": "extract text from a scanned image with OCR", "level": "read", "need": [["ocr", "optical character", "extract text", "text extraction", "read text"], ["image", "scan*", "photo", "picture", "document", "pdf", "file"]] },

    { "id": "analytics-1", "cat": "analytics", "job": "get website traffic for the last 30 days from Google Analytics", "level": "read", "need": [["analytic*", "traffic", "pageview", "page view", "visitor", "session", "ga4"], ["get", "report", "fetch", "query", "run", "read", "list"]], "prefer": [["google analytic*", "ga4"]] },
    { "id": "analytics-2", "cat": "analytics", "job": "run a report on user sign-ups by week", "level": "read", "need": [["report", "metric", "analytic*", "query", "insight", "event"], ["user", "signup", "sign up", "cohort", "conversion", "funnel"]] },
    { "id": "analytics-3", "cat": "analytics", "job": "track a custom analytics event", "level": "change", "need": [["track*", "capture", "send", "log", "record"], ["event"]] },
    { "id": "analytics-4", "cat": "analytics", "job": "get the most viewed pages of a site", "level": "read", "need": [["page", "content", "url", "path"], ["view", "pageview", "traffic", "visit*", "popular"]] },
    { "id": "analytics-5", "cat": "analytics", "job": "get Search Console clicks and impressions for a site", "level": "read", "need": [["search console", "gsc", "webmaster*", "impression"]] },

    { "id": "ticket-1", "cat": "ticketing", "job": "create a support ticket", "level": "change", "need": [["create", "open", "new", "add", "submit", "file"], ["ticket", "case", "issue", "incident"]] },
    { "id": "ticket-2", "cat": "ticketing", "job": "change the status of a Jira issue", "level": "change", "need": [["update", "transition*", "change", "set", "move", "edit"], ["issue", "ticket", "task", "story", "jira"]] },
    { "id": "ticket-3", "cat": "ticketing", "job": "list open tickets assigned to me", "level": "read", "need": [["list", "get", "search", "find", "query", "fetch"], ["ticket", "issue", "task", "case"]] },
    { "id": "ticket-4", "cat": "ticketing", "job": "add a comment to a support ticket", "level": "change", "need": [["comment", "reply", "note", "respond"], ["ticket", "issue", "case", "task", "conversation"]] },
    { "id": "ticket-5", "cat": "ticketing", "job": "search the help center articles", "level": "read", "need": [["search", "find", "list", "get"], ["help center", "helpcenter", "knowledge base", "knowledgebase", "faq", "support article", "help article", "help doc"]] },

    { "id": "chat-1", "cat": "chat", "job": "post a message to a Slack channel", "level": "change", "need": [["post", "send", "publish", "write", "chat"], ["message"], ["channel", "slack", "chat", "team", "discord"]] },
    { "id": "chat-2", "cat": "chat", "job": "read the recent messages in a channel", "level": "read", "need": [["read", "get", "list", "fetch", "history", "retrieve", "search"], ["message", "history", "conversation", "thread"], ["channel", "slack", "chat", "conversation", "discord", "teams", "room"]] },
    { "id": "chat-3", "cat": "chat", "job": "send a direct message to a user on Discord", "level": "change", "need": [["send", "post", "dm", "direct message"], ["message", "dm"], ["discord", "user", "direct", "dm", "member"]] },
    { "id": "chat-4", "cat": "chat", "job": "send an SMS text message", "level": "change", "need": [["sms", "text message", "mms", "twilio"], ["send", "deliver", "dispatch"]] },
    { "id": "chat-5", "cat": "chat", "job": "send a WhatsApp or Telegram message", "level": "change", "need": [["whatsapp", "telegram", "signal"], ["send", "message", "post"]] },

    { "id": "storage-1", "cat": "storage", "job": "upload a file to an S3 bucket", "level": "change", "need": [["upload*", "put", "store", "write", "save"], ["s3", "bucket", "object", "blob", "storage"]] },
    { "id": "storage-2", "cat": "storage", "job": "list the objects in a storage bucket", "level": "read", "need": [["list", "get", "search", "browse"], ["object", "bucket", "blob", "s3", "file"], ["bucket", "s3", "storage", "blob", "container", "gcs", "r2"]] },
    { "id": "storage-3", "cat": "storage", "job": "make a shareable download link for a stored file", "level": "change", "need": [["link", "url", "presign*", "signed", "share*"], ["file", "object", "download", "blob"]] },
    { "id": "storage-4", "cat": "storage", "job": "delete an old backup file from cloud storage", "level": "any", "need": [["delete", "remove", "purge", "erase"], ["file", "object", "blob", "backup"]] },

    { "id": "auth-1", "cat": "auth and identity", "job": "look up a user account by email in the identity provider", "level": "read", "need": [["get", "find", "search", "list", "look up", "lookup", "retriev*"], ["user", "account", "identit*", "member"]], "prefer": [["auth0", "okta", "clerk", "cognito", "identity", "directory", "auth"]] },
    { "id": "auth-2", "cat": "auth and identity", "job": "reset a user's password", "level": "any", "need": [["password", "credential", "mfa"], ["reset*", "change", "update", "set", "recover*"]] },
    { "id": "auth-3", "cat": "auth and identity", "job": "list the roles and permissions of a user", "level": "read", "need": [["role", "permission", "privilege", "acl", "rbac", "scope"], ["list", "get", "check", "read", "show"]] },
    { "id": "auth-4", "cat": "auth and identity", "job": "verify a JWT token", "level": "read", "need": [["jwt", "token", "jws"], ["verif*", "validat*", "decod*", "check", "inspect"]] },

    { "id": "monitor-1", "cat": "monitoring", "job": "check whether a website is up", "level": "read", "need": [["uptime", "status", "up", "down", "availab*", "ping", "health*", "reachab*", "online"], ["site", "website", "url", "endpoint", "domain", "host", "service"]] },
    { "id": "monitor-2", "cat": "monitoring", "job": "list recent errors from Sentry", "level": "read", "need": [["error", "exception", "crash", "stack trace", "sentry"], ["list", "get", "search", "recent", "fetch", "find"]], "prefer": [["sentry"]] },
    { "id": "monitor-3", "cat": "monitoring", "job": "query application logs for a time range", "level": "read", "need": [["log"], ["query", "search", "get", "fetch", "list", "read", "filter", "tail"]] },
    { "id": "monitor-4", "cat": "monitoring", "job": "get CPU and memory metrics of a server", "level": "read", "need": [["cpu", "metric", "utilization", "load average", "resource usage"], ["server", "host", "instance", "node", "container", "machine", "vm", "system"]] },
    { "id": "monitor-5", "cat": "monitoring", "job": "check when the SSL certificate of a domain expires", "level": "read", "need": [["ssl", "tls", "certificate", "cert"], ["expir*", "valid*", "check*", "inspect*", "domain", "host"]] },
    { "id": "monitor-6", "cat": "monitoring", "job": "list open incidents on PagerDuty", "level": "read", "need": [["incident", "alert", "outage"], ["list", "get", "search", "fetch", "open", "active"]], "prefer": [["pagerduty", "opsgenie"]] },

    { "id": "sheets-1", "cat": "spreadsheets", "job": "read rows from a Google Sheet", "level": "read", "need": [["sheet", "spreadsheet", "excel", "csv", "airtable"], ["read", "get", "fetch", "list", "value", "row", "range"]] },
    { "id": "sheets-2", "cat": "spreadsheets", "job": "append a row to a spreadsheet", "level": "change", "need": [["sheet", "spreadsheet", "excel", "airtable"], ["append*", "add", "insert", "write", "update", "create"], ["row", "record", "value", "range", "cell", "data"]] },
    { "id": "sheets-3", "cat": "spreadsheets", "job": "update a cell value in Excel", "level": "change", "need": [["cell", "range", "value"], ["update", "set", "write", "edit", "modify"], ["excel", "sheet", "spreadsheet", "workbook", "xlsx"]] },

    { "id": "pm-1", "cat": "project management", "job": "create a task in Asana or Trello", "level": "change", "need": [["create", "add", "new"], ["task", "card", "todo", "to do"]] },
    { "id": "pm-2", "cat": "project management", "job": "list the tasks due this week", "level": "read", "need": [["list", "get", "search", "find", "query", "fetch"], ["task", "todo", "to do", "card", "assignment"]] },
    { "id": "pm-3", "cat": "project management", "job": "mark a task as complete", "level": "change", "need": [["complet*", "done", "close", "finish*", "resolv*", "check off", "mark"], ["task", "todo", "card", "item"]] },

    { "id": "finance-1", "cat": "finance data", "job": "get the latest stock price for a ticker", "level": "read", "need": [["stock", "share price", "ticker", "equit*", "quote"], ["price", "quote", "latest", "current", "get", "real time"]] },
    { "id": "finance-2", "cat": "finance data", "job": "get the exchange rate between two currencies", "level": "read", "need": [["exchange rate", "currenc*", "fx", "forex", "conversion rate"]] },
    { "id": "finance-3", "cat": "finance data", "job": "get the current price of bitcoin", "level": "read", "need": [["bitcoin", "btc", "crypto*", "coin", "token", "ethereum", "eth"], ["price", "market", "quote", "rate", "value"]] },

    { "id": "crypto-1", "cat": "crypto", "job": "check the token balance of a wallet address", "level": "read", "need": [["balance"], ["wallet", "address", "account", "token", "erc20"], ["wallet", "address", "onchain", "on chain", "chain", "blockchain", "token", "erc20", "ethereum", "solana", "evm"]] },
    { "id": "crypto-2", "cat": "crypto", "job": "send a crypto transfer from a wallet", "level": "any", "need": [["transfer", "send", "pay"], ["crypto*", "token", "eth", "ethereum", "usdc", "sol", "solana", "btc", "wallet", "onchain", "on chain"]] },

    { "id": "media-1", "cat": "audio and video", "job": "get the transcript of a YouTube video", "level": "read", "need": [["transcript", "caption", "subtitle"], ["youtube", "video"]] },
    { "id": "media-2", "cat": "audio and video", "job": "search YouTube for videos", "level": "read", "need": [["search", "find", "list"], ["video", "youtube"]] },
    { "id": "media-3", "cat": "audio and video", "job": "transcribe an audio file to text", "level": "read", "need": [["transcrib*", "transcription", "speech to text", "stt", "speech recognition", "whisper"], ["audio", "voice", "recording", "speech", "file", "mp3"]] },
    { "id": "media-4", "cat": "audio and video", "job": "convert text to speech audio", "level": "change", "need": [["text to speech", "tts", "speech synthesis", "synthesi*", "voice", "speak"], ["audio", "speech", "voice", "sound"]] },

    { "id": "social-1", "cat": "social media", "job": "publish a post to LinkedIn or X", "level": "change", "need": [["post", "publish*", "share", "tweet", "create"], ["linkedin", "twitter", "x", "tweet", "social", "bluesky", "mastodon", "thread"]] },
    { "id": "social-2", "cat": "social media", "job": "get the latest posts from a social media account", "level": "read", "need": [["post", "tweet", "feed", "timeline", "status"], ["get", "fetch", "list", "read", "search", "latest", "recent"], ["social", "twitter", "x", "linkedin", "instagram", "facebook", "bluesky", "mastodon", "reddit", "threads", "tiktok", "user", "account", "profile"]] },

    { "id": "shop-1", "cat": "ecommerce", "job": "search products in an online store catalog", "level": "read", "need": [["product", "catalog*", "item", "listing", "sku"], ["search", "find", "list", "query", "get", "browse"]] },
    { "id": "shop-2", "cat": "ecommerce", "job": "get the status of an order", "level": "read", "need": [["order", "shipment", "fulfillment"], ["status", "track*", "get", "lookup", "find", "detail", "retriev*"]] },
    { "id": "shop-3", "cat": "ecommerce", "job": "update the inventory count of a product", "level": "change", "need": [["inventor*", "stock", "quantit*", "count"], ["update", "set", "adjust*", "change", "modify", "edit"]] },

    { "id": "infra-1", "cat": "dev infrastructure", "job": "check if a domain name is available to register", "level": "read", "need": [["domain"], ["availab*", "register*", "registration", "registrar", "whois", "purchas*", "buy"]] },
    { "id": "infra-2", "cat": "dev infrastructure", "job": "look up the DNS records of a domain", "level": "read", "need": [["dns", "nameserver", "mx", "cname", "resolv*"], ["record", "lookup", "look up", "get", "list", "query", "resolv*", "check"]] },
    { "id": "infra-3", "cat": "dev infrastructure", "job": "deploy the latest version of a web app", "level": "any", "need": [["deploy*", "release", "publish*", "ship"], ["app", "site", "project", "service", "web", "application", "function"]] },
    { "id": "infra-4", "cat": "dev infrastructure", "job": "list running containers or pods", "level": "read", "need": [["container", "pod", "docker", "kubernetes", "k8s", "deployment"], ["list", "get", "running", "show", "status"]] },
    { "id": "infra-5", "cat": "dev infrastructure", "job": "restart a service on a server", "level": "any", "need": [["restart*", "reboot*", "redeploy*"], ["service", "server", "container", "pod", "app", "instance", "process", "deployment"]] },

    { "id": "memory-1", "cat": "notes and memory", "job": "save a note to remember for later", "level": "change", "need": [["save", "store", "add", "create", "write", "remember", "record"], ["note", "memor*", "memo"]] },
    { "id": "memory-2", "cat": "notes and memory", "job": "search my saved notes", "level": "read", "need": [["search", "find", "query", "list", "get", "retriev*", "recall"], ["note", "memor*", "memo"]] },

    { "id": "util-1", "cat": "utilities", "job": "get the current date and time in a time zone", "level": "read", "need": [["time", "date", "datetime", "clock"], ["current", "now", "get", "zone", "timezone", "time zone"]] },
    { "id": "util-2", "cat": "utilities", "job": "evaluate a math expression", "level": "read", "need": [["calculat*", "evaluat*", "comput*", "math*", "arithmetic", "expression", "solve"], ["math*", "expression", "equation", "formula", "arithmetic", "number", "calculator"]] },
    { "id": "util-3", "cat": "utilities", "job": "run a Python code snippet in a sandbox", "level": "any", "need": [["run", "execut*", "eval*", "interpret*"], ["python", "code", "script", "snippet", "notebook"]] }
  ]
}
