{"id":16275,"plugin_id":"plugin_asdk_app_6aa5672de100819198bb079e9546ee0e","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:13:07.440Z","digest":"bb26b0d17a4b703c36ec352fcc5e4a941f00291dfdb7fea60976e15d39f1d8ac","against":null,"payload":{"description":"Analyze the conversion funnel in Sealmetrics — find where users drop off and why. Trigger on: \"analyze my funnel\", \"where do users drop off\", \"cart abandonment\", \"checkout analysis\", \"booking funnel\", \"análisis de funnel\", \"why don't visitors convert\", or questions about steps between visit and purchase/booking.\n","included_files":[{"relative_path":"examples/output.md","size_in_bytes":1732}],"name":"funnel-analysis","skill_md_contents":"---\nname: funnel-analysis\ndescription: >\n  Analyze the conversion funnel in Sealmetrics — find where users drop off\n  and why. Trigger on: \"analyze my funnel\", \"where do users drop off\",\n  \"cart abandonment\", \"checkout analysis\", \"booking funnel\", \"análisis de\n  funnel\", \"why don't visitors convert\", or questions about steps between\n  visit and purchase/booking.\nshort-description: 'Find where the conversion funnel leaks. Use for \"funnel analysis\", \"where do users drop off\", \"checkout abandonment\", \"dónde abandonan\", \"conversion path\".'\n---\n\n# Funnel Analysis\n\nBefore writing your answer, read `examples/output.md` in this skill directory\nand match its density, structure and tone. It is the reference for what a good\nrun of this skill looks like.\n\nFind the weakest funnel stage and isolate its cause. Budget: ≤10 calls.\nVertical playbooks: `skills/seal-copilot/references/ecommerce-playbook.md`\n(stores) and `skills/seal-copilot/references/hotels-playbook.md` (hotels).\n\n## Procedure\n\n1. `get_funnel(period=30d)` — the configured funnel with per-step dropoff.\n   It answers `{ error: \"…\" }` as JSON when no funnel is configured; check\n   for `error` before reading `steps`, and build the funnel from\n   microconversions instead.\n2. `list_microconversion_types` — map the customer's event names to\n   canonical stages (product_view/add_to_cart/start_checkout/purchase for\n   stores; search/room_view/booking_start/booking for hotels).\n3. Compute stage-to-stage ratios; identify the **weakest stage** relative\n   to the site's own history (`compare=previous` via\n   `get_microconversions`).\n4. Segment the weakest stage to isolate cause (1 call).\n   `get_microconversion_details(conversion_type=<stage>)` returns\n   `by_device`, `by_source`, `by_country` and `by_landing_page` together, each\n   with `count` and `percentage`. Read all four from the one response.\n5. Triangulate per the methodology: gap only on mobile → UX; gap\n   everywhere → offer/price/shipping; gap in one country → payment or\n   language.\n6. **Per-SKU funnel** (ecommerce, optional, ≤2 calls). If the weakest\n   stage is `view_item → add_to_cart`, the leak is product-specific —\n   run `get_property_breakdown` on the product identifier for both\n   stages and surface the worst SKUs. Hand off to the `product-friction`\n   skill for the full per-SKU treatment.\n\n## Output format\n\n1. **Funnel table:** stage → volume → step CR → change vs previous.\n2. **Weakest link:** one sentence naming the stage and the segment where\n   the gap concentrates, with numbers.\n3. **Hypothesis ranked list (max 3):** each with the evidence that supports\n   it and a concrete test or fix.\n4. **Impact:** conversions recovered if the weak stage matched its\n   best-segment rate, in € using site AOV.\n5. **Verify:** re-run plan after the fix ships.\n\n7. **Entry-path check** (1 call, optional). `get_landing_pages_by_content_group(\n   period=30d)` — if one content group supplies most entrances but almost none\n   of the conversions, the funnel problem starts before the first stage. This\n   is the common shape on blog-heavy and SaaS sites; see pattern 14.\n\nIf the site has no funnel configured and no microconversions, say so and\noffer the `setup-audit` skill instead of improvising. If microconversions\nexist but their property naming is unknown, suggest `property-explorer`\nas a one-time first step.\n\n---\n\nLog the run in `<state-dir>/<site_id>/runs.jsonl` with exactly these fields\nand no others: `ts` (ISO timestamp, UTC), `skill`, `calls` (the number of\nSealmetrics calls you made, counted), `budget` (this skill's documented\nceiling, a number — `10` here), `verdict` (one of `on_track`, `watch`, `act`,\n`kpis_only`, `refused`, `error`, or the score for an audit), `scheduled`\n(boolean), `notes` (one line). The first real audit wrote `calls_used` and a\nfree-text verdict because this footer said \"calls used\" in prose; the field\nnames are the contract. Skip silently if the path is not writable.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}