1. **Locate the exact source before reading broadly**: If the task context already provides parsed Treasury or federal source excerpts, extract any usable rows from those excerpts first, then use tools only to fill missing dates, rows, or verification spans. Use `glob` for bulletin date/page patterns, then `grep` targeted phrases from the question: publication month/year, table title, entity, security type, maturity class, and period label. If the question names a publication date such as June 1
Installs into .claude/skills of the current project.
Are you the author of Officeqa?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ruc-datalab-officeqa)
## Workflow
1. **Locate the exact source before reading broadly**: If the task context already provides parsed Treasury or federal source excerpts, extract any usable rows from those excerpts first, then use tools only to fill missing dates, rows, or verification spans. Use `glob` for bulletin date/page patterns, then `grep` targeted phrases from the question: publication month/year, table title, entity, security type, maturity class, and period label. If the question names a publication date such as June 1970 or March 2010, stay within that bulletin unless a separate exchange-rate table is explicitly required. If a requested monthly range or recurring balance-sheet date extends beyond the periods visible in one issue, locate the same recurring table in later issues and stitch the dated rows or as-of columns; do not substitute annual, estimated, or fiscal-year-to-date rows for missing periods.
2. **Extract evidence from the correct table or chart structure**: Read small spans around matches and map row labels to multi-row column headers before taking values. Distinguish fiscal year vs calendar year, month vs end-of-quarter, amount vs percent/yield columns, marketable vs nonmarketable, interest-bearing vs total, and adjacent maturity/security categories such as “52-week bills” versus other nominal maturities. For balance-sheet tables asking for an amount “as of” a date, take the value from the ending-date column and the requested total row, not from the intervening change column; convert table units such as thousands to millions only after the exact as-of value is recorded. For wide tables with repeated month rows and repeated column groups, reconstruct the year or section label for each group before comparing values across years. For Treasury Survey of Ownership maturity-distribution questions, map each named survey date to its security type and maturity month/year rows; when the prompt specifies exactly which survey sources to use, build the calendar-month ledger from those snapshots only. For chart questions, inspect every exhibit and plotted series on the named page. For local maxima, count interior peaks higher than their immediate neighbors and do not count endpoints unless asked; for peak/minimum year questions, compare every plotted period in the requested range and verify adjacent near-extremes rather than relying only on narrative prose or a visually close point.
3. **Build an operand ledger**: List each required observation with period, row/entity, column, unit, and value before computing. For inclusive ranges, verify the expected count from the exact start and end months or years: partial first and last years still include both endpoint months, full intervening years contribute all 12 months, and quarterly ranges include all quarters within each calendar year. Also verify examples such as 10 fiscal years for 1961–1970, 36 months for July 1953–June 1956, or both endpoints for compound growth.
4. **Choose the formula convention explicitly**: Use population standard deviation when requested or when a lower-tail loss is estimated from the complete enumerated historical series; for a z-score of one target observation relative to a small set of comparison observations, use the comparison set's sample standard deviation unless the prompt defines it as the full population. Log growth means `ln(new/old)`; annualized compound rate over N years is `(end/start)^(1/N)-1`; OLS trend forecasts require a consistent time index and the next-period index; simple exponential smoothing usually starts with the first observed value as the initial level and updates `S_t = alpha*x_t + (1-alpha)*S_{t-1}`, with the next-period forecast equal to the last smoothed level unless another initialization is specified; absolute QoQ percent change is `abs((new-old)/old*100)`; Theil dispersion is computed from shares/mean-consistent values. For concentration questions, compute HHI as the sum of squared full-precision shares and compute any effective number as `1/HHI` from the unrounded HHI. For a geometric mean of positive level values, compute `exp(mean(ln(values)))`; for a geometric mean over percent changes, convert percents to growth factors before averaging and convert back only if requested.
5. **Handle units, quote conventions, and currency conversions after extraction**: Preserve table units through the calculation. In market quotation tables labeled “Price decimals are 32nds,” parse quoted prices as whole points plus thirty-seconds before arithmetic, smoothing, or currency conversion. If source values are in millions of dollars and the requested output is in INR, JPY, DEM, or another currency, use the exchange rate for the matching observation date and direction; do not silently convert millions to raw dollars unless the requested unit requires it. Report in the unit asked by the question.
6. **Finalize only the requested value**: Apply final rounding only at the end and match the requested precision and separators. Return only the answer inside `<answer>...</answer>`; if the question asks for a bare numeric value, omit prose, units, currency symbols, commas, and `%`. Compute percent answers on the requested scale, but include `%` only when the prompt explicitly requests the percent sign/symbol, gives an output example containing `%`, or says to include percent-formatted output; if it merely asks what percent/share of a total or asks for a percent change or percentage-point difference rounded to decimals, output the numeric value without `%` or unit words unless explicitly requested. If it asks for a bracketed comma-separated structure, use exactly `[value1, value2]` style with one space after each comma and no extra prose.
## Error Avoidance
- Do not answer from the first similar row or column; Treasury tables often place similar amount, percent, maturity, or security categories side by side, so confirm the full header path before recording an operand.
- Do not mix calendar and fiscal periods. Questions about calendar months or CY ranges should not use federal fiscal-year summaries, even if the years match.
- For time-series maxima, spreads, regressions, geometric means, and yearly aggregates, enumerate every month or quarter in the requested inclusive range. In repeated year/month column blocks or recurring monthly tables across issues, attach each value to its exact calendar month and year before comparing or averaging; missing a single period can change the maximum year/month or fitted forecast.
- Avoid format-loss failures: a correct computed value can score wrong if returned with explanatory text, a currency unit, comma, boxed expression, or percent sign when the prompt requested a single bare numeric value. Do not add `%` merely because the calculation is a percent or share; reserve it for prompts that explicitly request the symbol or provide a `%` example, and do not add words like “percentage points” when the prompt asks for a rounded decimal or numeric value.
- Do not round intermediate growth rates, exchange rates, regression coefficients, concentration indexes, reciprocals/effective numbers, or dispersion components. If reporting both an index and its reciprocal, compute the reciprocal from the full-precision index, then round each final output separately.
- Be careful with unit direction in conversions: values reported in millions or billions remain scaled quantities unless the requested answer explicitly changes scale; multiplying a million-dollar table value by an exchange rate should usually produce millions of foreign currency, not raw foreign currency. For foreign-currency security prices, verify whether the exchange-rate table is foreign currency per dollar or dollars per foreign unit, and invert only when the quoted direction requires it.
- For compound growth, lower-tail loss, z-score, concentration, Theil, and geometric-mean questions, verify the statistical definition before calculating. Common traps are using sample dispersion for a complete lower-tail history, population dispersion for a comparison-sample z-score, rounded shares for HHI/effective-number calculations, arithmetic averages for geometric means, or raw percent values instead of growth factors.