agentsclimarketplace

Subscription usage

Skill nimrodfisher/data-context-layer-studio/examples/subscription-usage

Turn your data team's tribal knowledge into a governed context skill your AI agents (Claude, Cursor) load before answering data questions. Local-first, no telemetry.

Install
npx -y skills add nimrodfisher/data-context-layer-studio --skill subscription-usage

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 13 days oldThe repository was created 13 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Complete context for the Subscription Usage domain at LumenFit (fictional) β€” trial conversion, active subscribers, engagement minutes, and churn for a consumer fitness subscription. Use when a question is about who is subscribed, whether trials convert, how much members use the app, or who is at risk of cancelling. Example skill β€” definitions still draft, pending owner sign-off.

SKILL.md

4.9 KB, as published. Nobody here has run it

Subscription Usage β€” Context Skill (example)

This file is a map, not an encyclopedia. It points at files; it doesn't explain things. If you're tempted to explain a metric here, it belongs in data_context/metrics.yml. Keep this file under ~90 lines.

Status: 🟑 example β€” definitions draft, pending sign-off Β· see POPULATING.md

PieceState
data_context/verified_queries/🟒 3 queries (T1, A1, C1), signed 2026-07-18 by [email protected]
data_context/metrics.yml🟑 4 metrics, all decisions captured β€” pending flip draft β†’ agreed
data_context/caveats.md🟒 6 caveats (C-01–C-06), measured 2026-07-17
data_context/semantic_layer/🟒 3 tables mapped β€” _index.md + one .yml per table
data_context/table_profiling/🟑 index + per-table stubs β€” run scripts/profile_table.sql to fill

What this domain owns

  • Metrics: trial_conversion_rate, active_subscribers, active_minutes, monthly_churn_rate β€” defined in data_context/metrics.yml.
  • Tables: FACT_MEMBER_SESSION, FACT_SUBSCRIPTION_CYCLE, DIM_MEMBER β€” mapped in data_context/semantic_layer/_index.md.
  • Boundary: owns subscription status, trial conversion, in-app engagement, and churn. Does not own revenue/MRR (Finance domain), acquisition/ad spend (Growth domain), or content performance (Content domain). For "did engagement drive revenue?", route to Finance.

Non-negotiables

  1. Check data_context/verified_queries/ before writing any SQL. T1/A1/C1 are signed β€” swap a date or a plan filter, don't rewrite joins or grain.
  2. Use the metric definition from metrics.yml verbatim. Metrics are draft β€” flag answers as provisional until an owner flips them to agreed. Never invent a metric.
  3. Read caveats.md before any query. Mandatory filter: IS_INTERNAL = FALSE on every table (staff accounts skew every number β€” C-01).
  4. "Active" is ambiguous β€” always clarify. active_subscribers (paying) vs active_minutes (engaged) are different questions. Ask which one they mean (C-04).
  5. Trial rows are not subscriber rows. SUBSCRIPTION_STATE = 'trialing' is excluded from subscriber counts by default (C-02).
  6. Never SELECT *. Always a date filter on the fact tables. Always LIMIT while exploring.
  7. State the grain of the result (per member, per cycle, per session) and any assumption. One line.
  8. If it isn't defined here, stop and ask. A correct "X is undefined" beats a confident wrong number.

Routing map

If the question is about…Read
What this product is, who uses it, how it earnsproduct_context/overview.md
"What changed recently", "why did X move"recent_updates/_index.md, then the month file
What a named metric meansdata_context/metrics.yml
Anything needing SQL β€” start heredata_context/verified_queries/verified_queries.yml
Which table, per-member vs per-cycle grain, how to joindata_context/semantic_layer/_index.md
What a column's values actually meandata_context/table_profiling/<table>.md
Known gotchas that change the numberdata_context/caveats.md
Rules for writing new SQLguardrails.md

Load one row. Not the folder.

SQL preflight

1. verified_queries.yml  β†’  exact match?  run verbatim, stop.
                         β†’  near match?   swap date/plan filter ONLY, load caveats.md, stop.
                         β†’  no match?     ↓
2. guardrails.md Β· caveats.md Β· semantic_layer/_index.md
   Β· the table yamls you need Β· their table_profiling files
   β†’ write SQL β†’ propose it back as a verification candidate

Worked examples

"How do we decide which plans to promote?" β†’ product_context/overview.md. No data files.

"Trial-to-paid conversion for the annual plan last quarter?" β†’ verified_queries.yml β†’ T1, swap the plan filter. Exact-ish match.

"How many active subscribers right now?" β†’ A1. But first confirm: paying subscribers (A1), or engaged members (that's active_minutes, C-04)?

"Who's about to churn?" β†’ C1 flags at-risk cycles; this domain owns the risk signal, not the revenue impact. For "how much revenue is at risk", name the Finance domain too.

"Did more workouts drive higher revenue?" β†’ Route. This domain owns engagement; Finance owns revenue. Surface active_minutes and hand off.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.