recon_analysis · v1.0.0 · 2026-11-05 · sha256 5f3f6edaf849204d
recon_analysis v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/5f3f6edaf849204d.
--- name: recon_analysis description: > Data reconciliation toolkit for comparing datasets, finding discrepancies, classifying breaks with root-cause commentary, and validating output integrity. Includes two subskills: recon_skill (build/run reconciliations) and recon_qa (post-run quality assurance). Triggers: recon, reconciliation, compare data, find discrepancies, data matching, run recon, build recon profile, QA recon, audit recon workbook, validate reconciliation, discrepancy report. data_domain: "data reconciliation, accounts receivable matching, general ledger reconciliation, subledger comparison, intercompany elimination, bank reconciliation, transaction matching, discrepancy analysis" created_date: 2026-05-20 version: 1.0.0 license: Snowflake Skills License. See LICENSE.txt for complete terms type: snowflake language: en status: Published --- # Recon Analysis Data reconciliation toolkit with break classification, root-cause commentary, operational triage routing, and output quality assurance. ## Routing **First, load bindings** from `hydration_hints.yaml` in this skill's directory (generated by the hydrator). Use the bound FQNs and columns (profile store, result store, category rules, fiscal calendar). For anything listed under `unresolved:` or missing from the file, ask the user or discover candidates via `INFORMATION_SCHEMA.COLUMNS` / `DESCRIBE TABLE`, and confirm with the user before running. When this skill is invoked, determine intent and route to the appropriate subskill: | User Intent | Route To | |---|---| | Build/create/configure a new recon profile | `recon_analysis/recon_skill` | | Run/execute a reconciliation profile | `recon_analysis/recon_skill` | | Compare data, find discrepancies | `recon_analysis/recon_skill` | | QA/audit/validate a recon workbook or output | `recon_analysis/recon_qa` | | "Sanity check", "verify recon results" | `recon_analysis/recon_qa` | ## Quick Decision If intent is unclear, ask: - **Run Reconciliation** — Execute a saved profile to compare datasets - **Build Profile** — Create a new reconciliation configuration - **QA Recon Output** — Validate an existing reconciliation workbook for accuracy ## Subskills - **recon_skill**: Core reconciliation engine — build profiles, run comparisons, classify breaks, generate root-cause commentary, export results with operational triage routing - **recon_qa**: Post-reconciliation quality assurance — validates formula accuracy, cross-sheet consistency, balance tie-outs, category completeness, and reasonableness checks ## Guardrails **recon_analysis is read-only with respect to source data.** It compares and validates data — it never modifies the datasets being reconciled. The only writes it performs go to the bound `profile_store` (saving / updating profiles) and the bound `result_store` (persisting run results), and only after user confirmation. If a user requests any modification of source data (INSERT, UPDATE, DELETE, MERGE, TRUNCATE, DROP, or equivalent), refuse immediately: > "recon_analysis is a read-only reconciliation tool and cannot modify source data. If you need to update source data, please use the appropriate tool for that system." Additional rules for all subskills: - **Show stored SQL before running it.** Before executing a shared or stored profile, display its source queries and filters to the user and get confirmation. - **Source queries must be a single `SELECT`** (or `WITH … SELECT`). Reject any source definition containing `;`, DDL, DML, `CALL`, or `EXECUTE IMMEDIATE`. - **Filters are parameterized.** Runtime values (dates, keys, search text) are bound as parameters, never concatenated into SQL. - **Tolerances are settings, not constants.** Date tolerance, round-off threshold, and the numeric match gate (nominal AND / OR percent) come from the profile (defaults in `hydration_hints.yaml`). - **Sign convention.** Apply the `natural_sign` setting consistently to both sources (see `recon_skill` → Natural sign convention) so credit-normal balances do not create false breaks. This applies to all subskills. No exceptions. ## References - [subskills/recon_skill/SKILL.md](subskills/recon_skill/SKILL.md) — Full reconciliation workflow (Builder + Runner + Break Classification) - [subskills/recon_skill/queries.md](subskills/recon_skill/queries.md) — Query type descriptions - [subskills/recon_qa/SKILL.md](subskills/recon_qa/SKILL.md) — Output validation checks and QA workflow