30 pieces (15 blogs + 10 resources + 5 lead magnets) — the pre-confirmed slug plan from the handoff, all written verbatim to spec. All files prefixed 2026-05-23-. Frontmatter mirrors existing posts (title, description, date, author, image). Voice: confident, direct, technical-but-accessible. Audience: founders/operators/lean finance. Real tools referenced (Vercel, Figma, Notion, Linear, Cursor, Ramp, Brex, etc.). Positioned per the tech-spend pivot + manifesto: Gmail-first SaaS spend discovery, "the audit comes before the optimization," trust/restraint on inbox access.
Per
easy-invoice-website/CLAUDE.md: new blog posts must be added tonitro.prerender.routesinnuxt.config.jsor Nuxt's crawler won't generate them and they'll 404 on the static host. I did not touchnuxt.config.js(per the hard constraint). You need to add these 30 routes manually.
The existing posts live at /blog/<slug> (no date prefix). The handoff mandated 2026-05-23-<slug>.md filenames. By default, Nuxt Content will generate these at /blog/2026-05-23-<slug> (filename = route). That creates two problems:
relatedLinks and in-body cross-links in this batch use the date-stripped form (/blog/saas-spend-discovery-guide/), matching the existing-post pattern — so they'd 404 against date-prefixed routes.Recommended (Option A): strip the date from the public URL so it matches existing posts and the internal links resolve. Either add a slug: field to each post's frontmatter, or add a Nuxt Content route rule that maps 2026-05-23-<slug> → <slug>. Then use the Option A route list below.
Option B: keep the prefix in the URL. Then use the Option B route list below and update every internal cross-link in the 30 files to include the prefix.
/blog/saas-spend-discovery-guide
/blog/shadow-it-audit-playbook-blog
/blog/saas-renewal-tracking-system
/blog/zombie-saas-spend-calculation
/blog/founder-saas-audit-90-minutes
/blog/ai-tool-sprawl-startups
/blog/typical-startup-saas-cost-2026
/blog/cancel-saas-without-losing-data
/blog/saas-spend-vs-ramp-brex
/blog/former-employee-subscriptions
/blog/annual-vs-monthly-saas-decision
/blog/per-seat-license-audit
/blog/saas-cost-benchmarks-2026
/blog/vendor-consolidation-startups
/blog/billing-inbox-setup
/blog/saas-spend-audit-checklist
/blog/vendor-categorization-rubric
/blog/renewal-calendar-template
/blog/is-this-tool-worth-it-scoring
/blog/shadow-it-audit-playbook
/blog/saas-cancellation-script-library
/blog/trial-decision-framework
/blog/owner-assignment-worksheet
/blog/duplicate-tool-detection-guide
/blog/gmail-search-operators-saas
/blog/saas-audit-playbook-full
/blog/annual-renewal-review-template
/blog/founder-quarterly-saas-review
/blog/vendor-consolidation-framework
/blog/zombie-spend-recovery-workbook
Same 30 paths, each prefixed /blog/2026-05-23-… instead of /blog/….
2026-05-23-saas-spend-discovery-guide.md — What SaaS spend discovery is; one-afternoon method.2026-05-23-founder-saas-audit-90-minutes.md — Time-boxed 6-step founder audit.2026-05-23-zombie-saas-spend-calculation.md — Calculate your zombie spend; 5 leak types.2026-05-23-former-employee-subscriptions.md — Find and reclaim departed-employee tools.2026-05-23-saas-renewal-tracking-system.md — Build a renewal tracker in Gmail.2026-05-23-cancel-saas-without-losing-data.md — Safe cancellation checklist.2026-05-23-annual-vs-monthly-saas-decision.md — When each billing model wins.2026-05-23-shadow-it-audit-playbook-blog.md — Find tools nobody approved.2026-05-23-ai-tool-sprawl-startups.md — Auditing 12+ AI subscriptions.2026-05-23-typical-startup-saas-cost-2026.md — What a 10-person startup pays.2026-05-23-saas-spend-vs-ramp-brex.md — Why spend cards miss SaaS bills.2026-05-23-per-seat-license-audit.md — Spotting wasted seats.2026-05-23-saas-cost-benchmarks-2026.md — Benchmarks that actually matter (waste ratio).2026-05-23-vendor-consolidation-startups.md — Which categories to consolidate first.2026-05-23-billing-inbox-setup.md — Set up a billing-only inbox.2026-05-23-saas-spend-audit-checklist.md — 40-item checklist across 6 phases.2026-05-23-vendor-categorization-rubric.md — 10 categories, example vendors, billing signals.2026-05-23-renewal-calendar-template.md — Copy-fill calendar + 30-day trigger + monthly routine.2026-05-23-is-this-tool-worth-it-scoring.md — Weighted 5-factor keep/cut scoring model (worked example).2026-05-23-shadow-it-audit-playbook.md — 7-stage step-by-step detection workflow.2026-05-23-saas-cancellation-script-library.md — 7 copy-paste cancellation email templates.2026-05-23-trial-decision-framework.md — Trial log + decision date + keep/kill test.2026-05-23-owner-assignment-worksheet.md — Owner definition, worksheet, orphan report.2026-05-23-duplicate-tool-detection-guide.md — Group-by-job method + common duplicate patterns.2026-05-23-gmail-search-operators-saas.md — Copy-paste Gmail query reference for an audit.2026-05-23-saas-audit-playbook-full.md — Complete end-to-end audit playbook (4 parts).2026-05-23-annual-renewal-review-template.md — Full pre-renewal review template (6 sections).2026-05-23-founder-quarterly-saas-review.md — 60-minute recurring quarterly routine + scorecard.2026-05-23-vendor-consolidation-framework.md — Repeatable 5-stage consolidation system.2026-05-23-zombie-spend-recovery-workbook.md — 5-part find/kill/recover/prevent workbook./img/blog/2026-05-23-<slug>.png (matching existing .png pattern). Those images don't exist yet — generate or repoint before publish or they'll 404.nuxt.config.js, any code, or any config. Markdown only.Week 1: the discovery/hook cluster — #1 (discovery guide), #5 (90-min audit), #4 (zombie calc), #16 (checklist), #25 (Gmail operators). These are the top-of-funnel "see your stack" pieces that match the product's core hook. Then rotate pillars weekly.
Scan Gmail for software receipts, invoices, signup emails, and renewal notices.
Scan Gmail Free