From lighty-dogfood
Run a dataset through the Lighty platform and explain the results. Use when the user wants to analyze a dataset, discover workflows, find what drives an outcome, or "run this through Lighty" — drives the hosted Lighty MCP (inspect → commit → analyze → narrate).
How this skill is triggered — by the user, by Claude, or both
Slash command
/lighty-dogfood:analyze-datasetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You drive the **Lighty platform** through its hosted MCP server (`lighty-platform`)
You drive the Lighty platform through its hosted MCP server (lighty-platform)
to turn a raw dataset into discovered workflows, causal structure, and a report —
then explain it in plain business language. The audience is an executive (a
founder, an operator), not an engineer: lead with what the data shows and
what it means, never with methodology or tool mechanics.
The lighty-platform MCP server exposes these tools (call them via their
mcp__lighty-platform__* names):
| Tool | What it does |
|---|---|
get_capabilities | Confirms the connection + which capabilities are online. Call first. |
list_sample_datasets | Lists the bundled sample datasets on the instance — the zero-setup way to do a full run when the user has no data of their own. Returns each sample's file_path. |
list_datasets | Lists datasets that already have a completed analysis. |
inspect_dataset(file_path) | Detects the format + previews a few rows (the look-before-you-commit step). |
commit_ingest(file_path) | Converts + stages the dataset; returns a dataset_id. |
run_analysis(dataset_id) | Starts the analysis pipeline (a background job); returns a job_id. |
get_job(job_id) | Status + progress of a running analysis. |
get_analysis_result(job_id) | The finished result: workflows, patterns, causal factors, summary. |
cancel_job(job_id) | Stops a running analysis. |
After an analysis completes, these explore it (all take the dataset_id):
| Tool | What it does |
|---|---|
query_workflows(dataset_id, …) | Filter workflow instances (by topic, user, min events). |
get_statistics(dataset_id, group_by) | Aggregate volumes + durations, optionally grouped. |
search_patterns(dataset_id, …) | Find discovered patterns by name / size. |
detect_anomalies(dataset_id, metric) | Flag unusual cases (slowest, biggest). |
compare_segments(dataset_id, a, b) | Statistically compare two slices. |
get_causal_dag(dataset_id) | The discovered causal structure (what relates to what). |
list_causal_factors(dataset_id, outcome) | Factors associated with an outcome. |
fetch_report(dataset_id) | The structured business report (summary, findings, recommendations). |
Datasets live server-side.
file_pathis a path on the Lighty instance, not the user's laptop. See "Bringing your own data" below.
Connect. Call get_capabilities. If it errors, the user isn't signed in —
Claude opens a WorkOS browser sign-in on first connect; point them to the plugin
README and check they're a member of the Lighty WorkOS org. Tell them which
capabilities are online.
Pick the data.
list_sample_datasets and offer
to run a bundled sample end-to-end — this is the zero-setup full run. Take the
chosen sample's file_path straight to step 3. Default to this whenever the
user just wants to "see what Lighty does" or "try it."list_datasets, let them choose, then jump
to step 6 with that dataset's job_id (or re-run if they want fresh results).inspect_dataset(file_path).Show, then confirm. Relay inspect_dataset's format, record count, and a
couple of sample rows in plain terms. If is_generic_fallback is true, warn that
the data looks threaded/multi-table and a dedicated converter may be needed for
correct case grouping — ask before proceeding. Exception: for a file that came
from list_sample_datasets, the generic-fallback flag is expected (the samples are
known-good flat event logs) — note it briefly and continue without the warning.
Stage it. commit_ingest(file_path) → keep the dataset_id. Tell the user
how many events were staged.
Analyze. run_analysis(dataset_id) → keep the job_id. Then poll
get_job(job_id) roughly every 20–30 seconds, reporting progress as a short
human update ("discovering workflow steps…", "~60% done"). Don't spam; summarize.
A real run can take several minutes. If they ask to stop, cancel_job(job_id).
Explain the result. When the job completes, call get_analysis_result(job_id)
for the headline, then use the dataset_id exploration tools for depth, and
narrate for an executive:
search_patterns,
get_statistics), in plain names with volumes.detect_anomalies).get_causal_dag / list_causal_factors, framed as
"what's associated with longer/worse outcomes," with the honest caveat that these
are discovered associations, not proven levers.fetch_report(dataset_id) for the structured business report, and to
open the HTML report / Explorer UI if they want to dig in.Answer follow-ups. Use the exploration tools to answer what they ask —
query_workflows to drill into a workflow, compare_segments to contrast two
groups, get_statistics(group_by=…) to break volumes down. Keep narrating in
plain business language.
The hosted MCP analyzes server-side datasets. For v0:
list_sample_datasets → take a
file_path → full run). No data of your own required — this is the default for a
first run or a "just show me" request.list_datasets, or a path the
Lighty team gave you).https://app.lighty.ai/explorer.html), then give me the resulting path.get_capabilities errors → not signed in (WorkOS) or not in the Lighty org (README).inspect_dataset/commit_ingest returns {"error": ...} → relay it plainly and
suggest a fix (wrong path, unsupported format).run_analysis job ends failed → fetch the job's error, summarize it, and offer
to flag it to the Lighty team (this is a dogfood — surfacing breakage is the point).Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub lightyai/lighty-plugins --plugin lighty-dogfood