Use to connect a number source, map an export into the finance ledger, or QA a sheet: the column mapping, the dedupe key, the load summary, and the checks that must pass before a read ships.
Instructions your experts follow when using this skill.
Run this when numbers have to move from somewhere else into the finance ledger, or when a sheet needs checking before anyone reads from it. A number that arrives unchecked is not a fact yet.
The source — a sheet, a saved query export from the business intelligence (BI) workspace, a report email, or a plain export file — and the target ledger shape.
Source column to ledger column, one row per mapping, with the transform written out next to it. Unmapped columns get listed, not dropped silently. Show the mapping table before the first load, not after.
Replace on the natural key — date plus line plus source — newest wins. Log how many rows were replaced so the load is auditable afterwards.
Write the formula next to the value on first build. Unparseable rows go to a needs-a-look list with their row numbers; they never land in the totals.
Row counts match, rollups reconcile to the source total, and dates cover the period claimed. If any check fails, say which one and hold the read. A read shipped on a failed check is worse than a late read.
What triggers the refresh, who owns the source, and what stale looks like. A ledger older than its own refresh promise gets called stale in every read that uses it.
One source of truth, one writer per sheet, and a dated snapshot before any structural change. Clever automation is the thing that breaks quietly in month four.
The mapping table, the load summary with its counts and the needs-a-look list, and the QA result with each check named.
A connector fails: take the export path and keep the same mapping and the same QA. The source has no usable key: build the read in chat only and do not write the ledger — a load you cannot dedupe will double a number later.
Structural changes to a sheet, new writers, and anything that leaves the team wait for the owner's yes.
Phrases that help your experts find this skill.
When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' 'who is my target audience,' 'describe my product,' 'ICP,' 'ideal customer profile,' or wants to avoid repeating foundational information across marketing tasks. Use this at the start of any new project before using other marketing skills — it creates `.agents/product-marketing.md` that all other skills reference for product, audience, and positioning context.
When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitors. For sales-specific battle cards, see sales-enablement.
When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer research," "ICP research," "talk to customers," "analyze transcripts," "customer interviews," "survey analysis," "support ticket analysis," "voice of customer," "VOC," "build personas," "customer personas," "jobs to be done," "JTBD," "what do customers say," "what are customers struggling with," "Reddit mining," "G2 reviews," "review mining," "digital watering holes," "community research," "forum research," "competitor reviews," "customer sentiment," "PMF survey," "product/market fit survey," "customer interview questions," "interview outreach," "Sales Safari," or "find out why customers churn/convert/buy." Use for analyzing existing research assets, mining online sources, AND running primary research (interviews and surveys). For writing copy informed by research, see copywriting. For acting on research to improve pages, see cro.