{"id":89242,"plugin_id":"plugin_asdk_app_6a860a7e55888191a2186b19e03fe4b1","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-10T15:20:16.811Z","digest":"5852224ab03111e8d27a87372d0d3382635a33d3f3a6a7907912ec646b3d9b17","against":null,"payload":{"description":"Go progressively DEEPER on a specific customer question with the Rippit MCP by repeatedly narrowing into a SUBSET of the SAME tickets. Enrich a worksheet, filter to the interesting subset, build a child worksheet over just those rows, and enrich it more richly; repeat. The population only NARROWS each step (vs. rippit-iterative-learning, which moves to different tickets). Use to drill into one already-identified segment. Only use when explicitly invoked (e.g. via its slash command); do not auto-trigger from topic detection.","included_files":[],"name":"rippit-double-click","skill_md_contents":"---\nname: rippit-double-click\ndescription: Go progressively DEEPER on a specific customer question with the Rippit MCP by repeatedly narrowing into a SUBSET of the SAME tickets. Enrich a worksheet, filter to the interesting subset, build a child worksheet over just those rows, and enrich it more richly; repeat. The population only NARROWS each step (vs. rippit-iterative-learning, which moves to different tickets). Use to drill into one already-identified segment. Only use when explicitly invoked (e.g. via its slash command); do not auto-trigger from topic detection.\n---\n\n# Rippit Double-Click (drill into a subset)\n\nA reusable pattern for drilling into a known segment. Start broad, identify the interesting subset, then create a child worksheet over just that subset and enrich it more richly. Each step is a strict subset of the prior step. Stop when the segment is understood at the granularity the user needs.\n\n## When this fits vs. the sibling skills\n\n- **Double-click (this skill):** sequential; each step is a SUBSET of the prior step's tickets, enriched deeper. The question targets a specific segment.\n- **Iterative:** sequential; each step moves to a DIFFERENT population based on learning. Open-ended.\n- **Distributed:** parallel branches over different populations.\n- **Second opinion:** same population, competing analyses, debate.\n\nTest: does the next step narrow INTO the current rows (double-click) or move to other rows (iterative)?\n\n## The filter route (this skill's chosen implementation)\n\nThere are two valid ways to double-click; **this skill uses the child-worksheet route**:\n\n> Enrich the parent worksheet → filter to the interesting subset → `create_worksheet` over that subset → enrich the child more deeply → repeat.\n\nThe alternative (running additional enrichments in-place on filtered rows of the SAME worksheet) is intentionally NOT the default here. Use the child-worksheet route so each depth level persists as its own worksheet the user can open, aggregate, and report on independently.\n\n## Workflow overview\n\n1. **Setup (main turn).** Discover source, confirm columns/labels, name the segment to drill into.\n2. **Drill loop.** Each level: enrich → find the subset → child worksheet on that subset → deeper enrich. Run sequentially in the main turn (each level depends on the last).\n3. **Deliver** the deepest finding with the trail of narrowing.\n\n---\n\n## Step 1 — Setup\n\n1. `list_data_sources` → source table.\n2. `describe_table` → date column, conversation id column (`external_id`), enum columns.\n3. `aggregate_table` on relevant enums to read actual labels.\n4. State the **starting population** and the **segment you intend to drill into** to the user.\n\n---\n\n## Step 2 — The drill loop\n\nKeep a running note of the row count at each level so the funnel is visible (e.g. 4,000 → 600 → 90).\n\n**Level 0 (parent):**\n1. `create_worksheet` over the starting population.\n2. `read_table` to confirm rows → `enrich_worksheet` with broad classifying columns (enough to identify which subset is worth drilling into). Batch into one call; catch-all on every enum.\n3. `get_enrich_status` until done → `aggregate_table` to find the subset that warrants depth.\n\n**Each subsequent level (N+1):**\n1. **Define the filter** that isolates the interesting subset of level N's rows (e.g. `where primary_driver = \"billing_dispute\" AND severity >= 4`).\n2. `create_worksheet` from level N's worksheet (or the source with the cumulative filter) restricted to that subset. This child is a strict subset.\n3. Confirm rows, then `enrich_worksheet` with **deeper, more specific columns** than the parent — finer subcategories, exact failure mechanics, verbatim quotes, sequence-of-events. The whole point is that you can afford richer per-row judgment because the population is smaller and more homogeneous.\n4. `get_enrich_status` until done → analyze.\n5. Decide: drill again into a sub-subset, or stop.\n\n**Exit criteria:**\n- The segment is explained at the granularity the user asked for.\n- The subset gets too small to generalize (e.g. <20–30 rows) — read those conversations directly instead of enriching further, and say the finding is illustrative not statistical.\n- Further narrowing stops revealing new structure.\n\n---\n\n## Step 3 — Deliver\n\nPresent:\n- The **narrowing funnel**: each level's filter and row count, top to bottom.\n- The **deep finding** at the bottom level — the detailed mechanics of what's happening inside the segment.\n- Evidence (`external_id`s + verbatim lines).\n- The worksheetIds at each level (so the user can open any depth).\n- A blunt bottom line on the segment.\n\n## Operating principles\n\n- **Each level is a strict subset.** If a step would pull in tickets outside the parent, that's iterative, not double-click.\n- **Child-worksheet route, not in-place.** Persist each level as its own worksheet.\n- **Enrich deeper as you narrow.** Parent = broad classifiers; children = fine mechanics and quotes. Don't just re-run the same columns on fewer rows.\n- **Watch the floor.** Below ~20–30 rows, switch from enrichment to reading conversations directly and flag findings as illustrative.\n- **Batch columns** within each level.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}