# Curve Desk > An interest rate swap curve sheet that runs in the browser - bootstrapped zero and forward > rates, DV01 per tenor, swap spreads, real yields, slopes, butterflies and DV01-neutral curve > trades with their carry and roll-down - followed by a paid review that reads the curve like a > rates strategist and names the curve trade the shape supports, or none. Every number the review > writes is checked against the sheet. https://curve-desk.skillsafe.ai/ Curve Desk is a web app on SkillSafe derived from the agent skill @anthropics/swap-curve-strategy (anthropics/financial-services-plugins, Apache-2.0). It runs on gpt-terra and is metered per review; the sheet itself is free and needs no account. ## Input One currency's par swap curve, one tenor per line: tenor (2Y, 10y, 18M or a bare number of years) and par swap rate in percent, then optionally the government bond yield and the inflation breakeven at the same tenor (a dash leaves a cell empty). Spaces, commas, tabs or pipes separate columns; a header row naming tenor, swap, govt and breakeven columns is read in any order. Also: an optional curve name, the fixed-leg frequency (annual, semiannual or quarterly), the carry horizon (1, 3, 6 or 12 months) and the risk per leg in dollars per basis point. ## What the free sheet computes - A single-curve (OIS) bootstrap: par rates interpolated linearly between pillars onto the fixed-leg grid, accruals of exactly 1/frequency, discount factors solved period by period so every pasted par rate reprices exactly; log-linear discount factors between grid points. - Zero rates (annually compounded), the 1y forward curve, and forward swap rates (1y1y, 2y1y, 1y2y, 2y3y, 5y5y, 1y10y, 10y10y, 10y20y, 20y10y where the curve reaches). - Annuity and DV01 per $1m notional at every tenor. - Swap spreads (swap minus government) and real yields (government minus breakeven). - Slopes 2s5s, 2s10s, 5s30s, 10s30s; butterflies 2s5s10s and 5s10s30s, both 50/50 and against the maturity-weighted line through the wings. - The shape from 2s10s: inverted below -10 bp, flat to +30 bp, normal to +120 bp, steep above. The belly: cheap if it sits more than 5 bp above the line through the wings, rich if more than 5 bp below. - DV01-neutral steepeners and flatteners (2s10s, 5s30s) and maturity-weighted butterflies (receive or pay the belly of 2s5s10s and 5s10s30s), with notionals for the chosen risk per leg, and carry and roll-down per leg and per trade over the horizon with the curve unchanged (carry = forward swap rate at the horizon minus spot; roll = spot minus the rolled-down par rate). - Baseline: pin a sheet, paste the next day's curve, and every pillar, swap spread, slope, fly and forward shows its change in bp (kept in this browser, per signed-in person). - Exports: sheet Markdown, pillars CSV, trade legs CSV (one row per leg with the exact notional and DV01), forwards CSV and a changes CSV. - Flags: kinked pillars (which make the curve signals untrusted), inverted segments, a humped curve, forward jumps, negative forwards, negative or wide swap spreads, negative real yields, an extrapolated short end, interpolated tenors, a sparse curve, and standard tenors not covered. ## What the review returns One JSON object: `shape` and `belly` (copied from the sheet), `stance` (one of the sized trade ids, or no_trade - required when the signals are untrusted), `headline`, `curve_read`, `spreads_read`, `trade` (construction, sizing, carry, exit), `alternatives` (id, why), `risks` (risk, severity, tenors, watch), `flag_responses` (one per flag), `checks`, `summary`. ## Limits It does not know market levels, history, volatility or the policy path, so it never calls a slope rich or cheap against its past. It ignores swap-versus-bond quoting conventions, separate projection and discount curves, convexity and real swap stub conventions. It is analysis, not investment advice. ## Links - App: https://curve-desk.skillsafe.ai/ - API tutorial: https://curve-desk.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@anthropics/swap-curve-strategy