Skill instructions
diagnose-formula2.28 KB
View saved version →
---
name: diagnose-formula
description: "Explain or debug an Excel or Google Sheets formula that produces an error or unexpected result, using the user's expected behavior."
---
Use `explain_formula` for explanation-only requests. For repair requests, collect the formula, error (if any), and intended result; use `debug_formula` with `formula`, optional `error`, and `expected`. Include relevant application/version context and a small user-provided expected-versus-observed example in the expected-behavior text when useful.
The debug tool proposes a correction; it does not run those examples as tests. Do not invent a `samples` parameter or a `repair_formula` tool. Distinguish the proposed correction from verified behavior and explain the material change. If the user wants to compare two alternatives, use `compare_formulas` with `formulaA`, `formulaB`, `description`, and `criteria`.
When the user supplies explicit sample cells and expected answers, use `check_formula_samples` with `formula`, `platform` (`excel` or `sheets`), `intendedResult`, and `sampleCases` containing `{label?, cells, expected}`. Up to three cases are allowed, with at most 100 supplied cells within A1–Z100 each. Expected answers must be supplied or approved by the user: preserve numbers, text, booleans and null distinctly; do not invent missing cells or replace an expectation with the formula's actual output. Report each returned `sample_matched`, `sample_mismatch`, `unsupported`, or `not_checked` status and its actual/expected values or unsupported reason. This authenticated deterministic checker makes no generation-model call and neither saves work nor executes Excel/Sheets. Do not describe it as a full-workbook verification.
For requested broader generated-case verification without explicit expected samples, use `validate_formula` with the proposed formula and intended behavior. That existing tool has its own allowance and scope; the sample checker is not a fallback to evade its quota denial. Respect authentication/entitlement responses and report actual coverage, including unsupported functions. Do not turn a prediction into a passed test or claim the workbook was changed. Ask for minimal non-sensitive examples rather than requesting an entire confidential workbook. Create a share link only when explicitly requested.
Referenced files: 1 — file references are metadata, not package contents.
draft-spreadsheet-automation1.38 KB
View saved version →
---
name: draft-spreadsheet-automation
description: "Draft reviewable Excel VBA, Google Apps Script, Airtable automation, or SQL for a described workflow, with clear assumptions and execution effects."
---
Identify the target environment and the desired transformation from the user's request. Use `generate_vba`, `generate_apps_script`, or `generate_airtable_script` for an explicit target; use `generate_script` only when its platform has been established. Inputs are `request` and optional `context`; the generic tool also takes `platform` (`excel_vba`, `google_apps_script`, or `airtable`). For database work use `generate_sql` with `request`, `database` (`mysql`, `postgresql`, `sqlserver`, or `sqlite`), and optional schema `context`.
Ask for missing table/sheet names or column meanings when needed. Prefer a small representative schema to credentials or a production data dump. Describe generated code's inputs, outputs, permissions, and any overwrite/delete/email effects. For mutating SQL, include a read-only preview of the affected scope when practical and explain transaction/backup assumptions for review.
These tools draft code; they do not execute it, schedule jobs, connect databases, or send emails. Do not imply any of those actions occurred or trigger external execution without the user's instruction. Respect tool authentication/quota failures and existing permissions. Keep sharing opt-in.
Referenced files: 1 — file references are metadata, not package contents.
reconcile-tables-with-formula1.6 KB
View saved version →
---
name: reconcile-tables-with-formula
description: "Design a spreadsheet formula to compare two user-described tables by a key and identify missing, duplicate, or mismatched values. This skill does not import files."
---
Clarify only the details needed to design the formula: application/version, source ranges, key columns, compared value, duplicate handling, and desired output. Distinguish missing keys, duplicate keys, and value differences; avoid assuming every key is unique. For amounts, ask about rounding or tolerance only if it affects the requested comparison.
Call `generate_formula` with the chosen spreadsheet and a request describing the discrepancy to find. Put the two schemas, key rules, output location, locale, and small non-sensitive examples in `context`. Show the proposed formula, placement, and assumptions. If requested, use `validate_formula` for supported simulation and report the actual coverage.
This formula workflow cannot read the web app's browser-local CSV/PDF files or reconcile imported transactions. For statement-to-Excel requests, use the `statement-to-excel` skill when the connected server exposes `open_statement_converter`; that separate beta requires explicit AI consent and individual review in its widget. If the tool is unavailable, explain the current connection's limitation and link to `https://www.formulagenius.co/data/bank-statement` without claiming processing occurred. File cleanup remains a web workflow. Do not invent uploaded-file contents or report totals/matches from data you have not received. Stop on auth/quota failures; sharing requires an explicit user request.
Referenced files: 1 — file references are metadata, not package contents.
statement-to-excel3.03 KB
View saved version →
---
name: statement-to-excel
description: "Open a bank statement PDF review workspace and guide consent, individual transaction review, and Excel export through the Formula Genius statement beta."
---
Use `open_statement_converter` when the connected Formula Genius server exposes it. This opens intake without downloading or analyzing a PDF. Pass an optional host-provided `file` reference unchanged (`download_url`, `file_id`, optional `mime_type` and `file_name`); never invent a file ID or signed URL. With no attachment, open the workspace so the user can choose a PDF. The connection cannot access files merely opened in a different web tab.
The user chooses local text extraction or AI vision in the widget. AI vision supports one unencrypted English, single-account checking statement: up to 3 MiB, 3 pages, 60 transactions, and currencies with two decimal places. Selecting a file does not start an AI call. Before AI extraction, the user must check consent to send the PDF via Formula Genius to OpenAI and choose **Extract with vision**. A validated AI attempt consumes one advanced action from the existing shared allowance, including unsuccessful provider attempts. `extract_bank_statement` is an app-only tool for this widget action: do not invoke it from chat, set consent on the user's behalf, or use another tool to bypass authentication or limits.
Keep the conversational response brief. Financial rows, balances, raw evidence, and warnings arrive only in private widget metadata. Do not request them in model-visible tool results, copy them into conversation or widget state, create a public share, or save them to account history. Formula Genius does not store the statement; OpenAI/ChatGPT processing and retention rules still apply.
Every transaction starts **Needs review**. Ask the user to compare each row with the original PDF, correct errors, confirm currency, and individually mark every row reviewed. Edits invalidate review. Source evidence and AI-inferred balances require comparison with the original; a matched reconciliation does not prove completeness or authenticity. Do not automatically approve rows, supply missing financial facts, or describe AI output as verified.
Only after review can the user export an actual XLSX workbook. In ChatGPT, export sends the reviewed workbook to the host to prepare a download without requesting optional file-library saving. A ready link is not evidence that a file was downloaded or reopened. If the host lacks the required file-delivery helpers or rejects the format, report that limitation and offer **Open web workspace**; this starts a separate review session and does not transfer the current working copy. Do not substitute CSV/text while claiming Excel delivery.
If `open_statement_converter` is missing from the current tool list, do not invent a call or claim native conversion is available. Explain that this connection has not exposed the beta, and offer `https://www.formulagenius.co/data/bank-statement`. Stop on authentication, quota, unsupported-file, or host-delivery errors and report the actual state.
Referenced files: 1 — file references are metadata, not package contents.
version-aware-formula1.91 KB
View saved version →
---
name: version-aware-formula
description: "Create Excel or Google Sheets formulas for a specified application version, locale, and separator. Use when workbook compatibility or localized syntax matters."
---
Use the user's stated spreadsheet application, version, and locale. Ask only for missing details that change the formula; web account preferences are not available through this MCP server.
Call `generate_formula` with `request`, `spreadsheet` (`excel`, `sheets`, or `both`), and `context`. Put version, separator, column meanings, ranges, and relevant constraints in `context`. For older Excel versions explicitly request supported alternatives to newer functions; do not assert compatibility was executed or proven.
Return the proposed formula, where to place it, assumptions, and version caveats. Preserve locale syntax in the formula; do not blindly replace punctuation inside strings or array literals. If the user requested verification, use `validate_formula` with `formula`, `description`, and optional `expectedBehavior`. Report the returned VERIFIED/PARTIAL/SKIPPED scope and limitations exactly; simulation is not execution in the user's workbook.
If the user instead provides explicit sample cells and expected outputs, use `check_formula_samples` with the formula, `platform` (`excel` or `sheets`), `intendedResult`, optional `locale`/`separator`, and up to three `sampleCases` of `{label?, cells, expected}` (at most 100 cells in A1–Z100 each). The intended platform is descriptive, not proof of native or version compatibility. Preserve supplied expected values and report actual matches, mismatches and unsupported reasons. Do not generate unapproved expectations or use this tool as a workaround for a denied `validate_formula` call.
Stop on an authentication, quota, or unsupported-check response. Do not route around it with another tool or advertise an upgrade. Never create a share link unless the user requests sharing.
Referenced files: 1 — file references are metadata, not package contents.