-
Notifications
You must be signed in to change notification settings - Fork 104
Claude Cowork Plugin
Tier: Intermediate
The qsv Claude Cowork Plugin turns qsv into 15 data-science skills plus 3 domain agents for Claude Desktop (Pro plan or higher). Combined with the MCP Server, Claude can read, profile, clean, query, validate, and visualize your local data files via natural language — no programming required.
Note
Canonical installation guide: .claude/skills/docs/guides/START_HERE.md. This page is a workflow overview; the START_HERE guide is the source of truth for installation steps.
Why use a plugin instead of pasting CSVs into Claude? No uploads, no file-size limits, no data leaving your machine. qsv handles the data; Claude handles the conversation.
| Component | What it does | Count |
|---|---|---|
User-invocable skills (/skill-name) |
Slash-command-style skills you invoke explicitly | 9 |
| Model-invoked skills | Skills Claude calls on its own when relevant | 6 |
| Subagents | Domain-specific roleplays Claude can hand work off to | 3 |
Total: 15 skills + 3 agents.
- Claude Desktop — download.
- Claude Pro plan (or higher) for Cowork sessions.
- qsv MCP Server installed — see MCP Server or START_HERE step 1.
The five-step short version (see START_HERE step 2 for screenshots):
- Profile icon (bottom-left) → Settings.
- Capabilities → Skills → Go to Customize.
-
Personal plugins → + → Add marketplace → enter
dathere/qsv→ Synch. -
+ → Browse plugins → Personal tab → qsv → Install on
qsv-data-wrangling. - Start a new Cowork session. Check the Context panel — qsv skills should appear.
Verify with /data-profile in a fresh session against any CSV.
| Skill | What it does |
|---|---|
/csv-query |
Run SQL against one or more CSVs (via Polars sqlp or DuckDB) |
/data-clean |
Standardize encoding, normalize headers, strip sentinel nulls, dedup |
/data-convert |
Convert between CSV / Parquet / JSONL / Excel / ODS / GeoJSON |
/data-describe |
Generate a natural-language data dictionary, description, and tags via describegpt
|
/data-join |
Hash, asof, non-equi joins via join or joinp
|
/data-profile |
Full stats + frequency snapshot, narrated by Claude |
/data-validate |
Generate a schema, hand-edit, validate, return invalid-row report |
/data-viz |
Produce charts from CSV data (via Claude's plotting facilities) |
/infer-ontology |
Derive an ontology / taxonomy / data lineage from the data |
| Skill | Triggered when |
|---|---|
bls-query |
User mentions BLS (Bureau of Labor Statistics) data |
csv-wrangling |
User asks for any pipeline-style operation across multiple commands |
data-quality |
Anomaly / outlier / data-quality concern is discussed |
genai-disclaimer |
An LLM-generated inference (e.g. name-gender, sentiment) is being applied — adds a generative AI disclaimer |
qsv-performance |
Performance / index / cache question comes up |
reproducible-analysis |
User wants the steps reproducible (Make / shell / notebook) |
| Agent | Role |
|---|---|
data-analyst |
Generalist data analyst — exploratory analysis, narrative reports |
data-wrangler |
Pipeline-builder — chains qsv commands into reproducible scripts |
policy-analyst |
Policy / regulatory framing — explainability, citation-heavy outputs |
Hand off a task with @data-wrangler please build a pipeline to clean and validate this CSV (or whatever fits the agent's specialty).
Drop the CSV into Claude's chat (or have it in
~/Downloads). You: "Profile this file and tell me anything weird." Claude calls/data-profile→ runsqsv stats --everything+qsv frequency→ narrates the results, highlighting nulls, outliers, schema oddities.
You: "Clean and validate this export so I can upload it to CKAN." Claude invokes
/data-clean(safenames + replace + fill) →/data-validate(schema + validate) → returns a clean CSV + validation-error report.
You: "Join my NYC 311 complaints with the daily weather for Central Park." Claude calls
/data-joinwithjoinp --strategy backwardagainst NOAA GHCN-Daily data fetched viaqsv fetch --disk-cache.
You: "@policy-analyst write a one-page brief on which complaint types spike in the summer." The
policy-analystsubagent runs the analysis, generates a Markdown brief with citations, and explains its sources.
Live demonstrations of the Cowork plugin on civic-scale datasets — published in the People's API Demos showcase:
- NYC Snow Analysis 2010–2026 — 16 years of NYC 311 service requests (24.1 GB) profiled, cleaned, and joined against Census demographics and Open-Meteo historical weather in a single Cowork session. Illustrates multi-MCP composition (qsv + Census + Open-Meteo) through the Cowork plugin in ~34 minutes.
-
NYC Housing Policy Analysis — End-to-end policy brief produced by the
policy-analystsubagent (273qsvmcpinvocations) on NYC housing supply, affordability, subsidized-housing, and infrastructure datasets. A reference example for the agent hand-off pattern described above.
Browse the full showcase at https://dathere.github.io/peoples-api-demos/.
All skills live in .claude/skills/skills/ in the qsv repo. Each skill is a folder with a SKILL.md describing its trigger, prompt, and underlying qsv commands.
Agents live in .claude/skills/agents/ as Markdown files defining their system prompt.
To contribute new skills or agents, follow the SKILL.md format and submit a PR.
When you start Claude in a qsv-aware directory (e.g., qsv-pro exports), the plugin can auto-deploy a CLAUDE.md workflow guide. To disable auto-deployment:
export QSV_NO_COWORK_SETUP=1The plugin updates via Claude Desktop's marketplace mechanism — same place you installed it. The MCP server has its own update mechanism — see MCP Server → updating.
| Symptom | Fix |
|---|---|
| Plugin not visible in Context panel | Start a new Cowork session (existing ones don't pick up new plugins) |
| Skills don't work | Verify the MCP Server is running: ask Claude "list data files in my Downloads folder" — should return a list |
qsv binary not found error |
Set QSV_MCP_BIN_PATH in MCP server settings |
| Permission denied on a folder | Add to QSV_MCP_ALLOWED_DIRS
|
For more, see Troubleshooting and START_HERE troubleshooting.
-
.claude/skills/docs/guides/START_HERE.md— canonical install guide -
.claude/skills/CLAUDE.md— skill author's guide -
.claude/skills/docs/guides/CLAUDE_CODE.md— use in Claude Code (CLI) - MCP Server — the backend the plugin sits on top of
- qsv pro Spotlight — alternative for GUI users
- AI & Documentation → describegpt — the underlying LLM workflow
- Integrations
- Discussions: Why MCP Server vs chatbot?
qsv — GitHub · Releases · Discussions · qsv pro · Try it online · Benchmarks · datHere · DeepWiki · Dual-licensed MIT / Unlicense
Edit this page: Contributing to the Wiki
Home · Why qsv? · Tier legend
- All Commands (index)
- Selection & Inspection
- Transform & Reshape
- Aggregation & Statistics
- Joins & Set Ops
- SQL & Polars
- Validation & Schema
- Metadata Profiling (profile)
- Conversion & I/O
- Geospatial
- HTTP & Web
- Get & Disk Cache
- Scripting (Luau / Python)
- Indexing, Compression & Diff
- AI & Documentation