Qsv bls-query
Queries U.S. Bureau of Labor Statistics data using the BLS MCP server. Use when user asks about CPI, inflation, unemployment, employment, wages, jobs, labor statistics, producer prices, or any economic indicator tracked by BLS. Maps natural language to correct series IDs and tools. Copied from https://github.com/larasrinath/bls_mcp
git clone https://github.com/dathere/qsv
T=$(mktemp -d) && git clone --depth=1 https://github.com/dathere/qsv "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/skills/bls-query" ~/.claude/skills/dathere-qsv-bls-query && rm -rf "$T"
.claude/skills/skills/bls-query/SKILL.mdBLS Data Query
Instructions
When a user asks about U.S. economic/labor data, follow this workflow to resolve their query into the correct BLS series ID(s) and return accurate results.
Step 1: Identify the topic
Map the user's natural language to a BLS survey and series ID. Consult
references/series-catalog.md for the full mapping of common topics to series IDs.
Common mappings:
- "CPI", "inflation", "consumer prices" --> CU survey, series
(not seasonally adjusted) orCUUR0000SA0
(seasonally adjusted)CUSR0000SA0 - "unemployment rate" --> LN survey, series
LNS14000000 - "jobs", "employment", "nonfarm payrolls" --> CE survey, series
CES0000000001 - "wages", "average hourly earnings" --> CE survey, series
CES0500000003 - "PPI", "producer prices" --> WP/PC survey
- "JOLTS", "job openings" --> JT survey, series
JTS000000000000000JOL
If the topic is ambiguous or you cannot confidently map it, use
get_all_surveys to find the survey, then get_popular_series with the survey abbreviation to discover series IDs.
Step 2: Choose the right tool
| User intent | Tool | When to use |
|---|---|---|
| Latest value / current number | | "What is the current...", "latest...", "most recent..." |
| Recent trend / time series | | "Show me CPI for the last few years", "trend in..." |
| Compare multiple indicators | | "Compare X and Y", multiple series needed |
| Explore what's available | then | "What data do you have on...", discovery questions |
| Details about a survey | | "Tell me about the [survey name]" |
Step 3: Interpret and present results
- Always state the series ID used so the user can verify.
- Include the period (month/year) and value clearly.
- For CPI data, note whether it is seasonally adjusted or not.
- If the user asks about percent change or inflation rate, calculate it from the data if the
field is not available (requires API key).calculations - For unemployment, the value is already a percentage. For CPI, the value is an index number (base period 1982-84=100).
Step 4: Handle unknowns
If you cannot confidently identify the series ID:
- Call
to find the relevant survey abbreviation.get_all_surveys - Call
with that survey abbreviation.get_popular_series - Present the popular series to the user and ask which one they need.
Do NOT guess a series ID. An incorrect series ID will return wrong data silently.
Common Issues
Rate limit errors
If you see a rate limit error, inform the user they can set
BLS_API_KEY for higher limits (500 queries/day vs 25).
Empty results
Some series are discontinued or seasonal. Try the non-seasonally-adjusted variant, or check the survey metadata with
get_survey.
Series ID not found
Double-check the ID against
references/series-catalog.md. BLS series IDs are case-sensitive and must be uppercase.