# Spread Desk > A bond relative value sheet that runs in the browser - price and yield, accrued, duration, > convexity and DV01, the G-spread, I-spread and swap spread, the spread decomposition into the > issuer-peer credit curve and a residual, the gap to a line fitted through comparable bonds, the > z-score and percentile against the bond's own spread history, the parallel rate-shock scenario > P&L and the rich/cheap call with how many bp of spread move would change it - followed by a paid > review that reads the sheet like a relative value analyst and says overweight, neutral, > underweight or no view. Every number the review writes is checked against the sheet. > https://spread-desk.skillsafe.ai/ Spread Desk is a web app on SkillSafe derived from the agent skill @anthropics/bond-relative-value (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. The source skill pulls bond prices, yield curves, credit curves, scenarios and history from market-data tools; this app takes them as a paste instead. ## Input One fixed-coupon bullet bond: a name, a currency, the coupon in percent, coupons a year (1, 2, 4, 12), the day count (30/360, ACT/ACT, ACT/365, ACT/360), the settlement and maturity dates, and a clean price per 100 (decimal or 32nds), a yield in percent or a G-spread in bp over the government curve, plus a face amount. Dates as 2033-05-15, 15-May-2033 or an unambiguous 05/15/2033. The government curve (tenor, yield in percent; at least two points). Optionally a swap curve (tenor, rate), a credit curve (tenor, peer spread over government in bp), comparable bonds (name, maturity date or years, G-spread in bp) and the bond's G-spread history (date, bp). ## What the free sheet computes - The yield from the price (or the price from the yield) on the street convention, accrued interest on the chosen day count, Macaulay and modified duration, convexity, DV01 per 100 and on the face. - G-spread = yield minus the government curve at the bond's maturity (linear in years, flat beyond the ends); I-spread against swaps; swap spread = swap minus government. - Decomposition: G-spread = credit curve spread at the same maturity + residual (liquidity and technicals). Residual of +10 bp or more reads cheap, -10 bp or less rich. - Comps: a least-squares line of G-spread against maturity (a line through two, a level for one); the bond's gap to that line, called with the same +/-10 bp bands; the RMS scatter. - History: mean, standard deviation, min and max, the z-score of today's G-spread (cheap at +1.00 or more, rich at -1.00 or less), its percentile and the recent change. - The primary call is the first available of residual, comps, history; for each signal the sheet gives the bp of tightening or widening that takes it to the next call, and the yield and clean price at that point. - Scenarios: -100, -50, 0, +50 and +100 bp parallel yield shifts, fully revalued, with price change, P&L on the face and the duration-convexity estimate; the one-year spread breakeven (G-spread over modified duration). - Flags: price, yield, coupon, curve or spread on the wrong scale (including a decimal typed for a percent, and peer yields pasted as the credit curve), a history that is another spread measure (these make the call untrusted), a negative G-spread, maturity beyond the curve, curve kinks, loose comps, conflicting signals, no relative signal, extrapolated curves, few comps, comps not spanning the maturity, a short or undated history, a sparse curve, long duration, a deep discount or premium, a short maturity, and a paste cut by the page's limits (40 curve points, 25 comps, 800 history observations) - never cut silently. ## What you take away, free - A plain-text trade note for a chat or an email (levels, the call, where it flips as a yield and price, the -100/+100 bp P&L), or a prefilled email. - The sheet as tab-separated columns that paste into a spreadsheet, as Markdown, as a scenario CSV, or printed. - A baseline per bond in your browser: the next sheet for the same bond shows what moved since (price, yield, G-spread, residual, comps gap, z-score) and whether the call changed; the bond's inputs come back from a list, a past settlement date can be rolled to T+1 or T+2, and today's G-spread can be appended to the spread history. ## What the review returns One JSON object: `assessment` (copied from the sheet: cheap, fair, rich or n/a), `recommendation` (overweight or neutral on cheap, underweight or neutral on rich, neutral on fair, no_view when the signals are untrusted or there is no signal), `conviction` (high, medium, low, or none for no_view; high only with two or more agreeing signals and no medium or high flag), `headline`, `spread_read`, `relative_read`, `scenario_read`, `flip_read`, `risks` (risk, severity, watch), `flag_responses` (one per flag), `checks`, `summary`. ## Limits It prices bullets only (no calls, puts, sinks or floaters), has no Z-spread or OAS, compares yields as quoted with no compounding conversion, and knows no market levels, ratings, liquidity or history you did not paste. It is analysis, not investment advice. ## Links - App: https://spread-desk.skillsafe.ai/ - API tutorial: https://spread-desk.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@anthropics/bond-relative-value