04 — QUALITY: Delivery Page
Format: Pass/fail with blocking failures When to run: After every build, before deploying. Fix all failures before sharing.
1. URLs & Downloads (Blocking)
| # | Check | Blocking |
|---|---|---|
| 1 | Download button href points to the correct Cloudinary URL | Yes |
| 2 | Cloudinary URL actually downloads the .md file (test it) | Yes |
| 3 | download attribute names the file correctly (e.g., download="client-intelligence-brief.md") | Yes |
| 4 | HTML matches the page name and brand | Yes |
| 5 | is present | Yes |
| 6 | OG meta tags present: og:title, og:description, og:type | No |
| 7 | OG content matches what should appear in social sharing previews | No |
2. Header
| # | Check | Blocking |
|---|---|---|
| 8 | Header is sticky with position: sticky; top: 0; z-index: 100 | No |
| 9 | Background: #0f2d3e (Deep Teal) | No |
| 10 | Gold border-bottom: 3px solid #b79d64 | No |
| 11 | Logo image loads correctly (not a broken image) | Yes |
| 12 | Logo links to the correct website URL | No |
| 13 | Brand name in Fraunces serif, cream color | No |
| 14 | "Download the Skill" anchor button links to #download | No |
| 15 | Anchor button: gold background, deep teal text | No |
3. Hero
| # | Check | Blocking |
|---|---|---|
| 16 | Background: teal-to-slate gradient linear-gradient(135deg, #0f2d3e 0%, #3e666e 100%) | No |
| 17 | Centered layout | No |
| 18 | Eyebrow: inline-flex with gold lines on either side | No |
| 19 | Eyebrow text says "Free AI Skill" — NOT "Free Claude Skill" or any LLM brand name | Yes |
| 20 | H1: Fraunces serif, cream, weight 800, -0.02em letter-spacing | No |
| 21 | Subtitle: Fraunces serif, muted cream rgba(241, 237, 230, 0.7) | No |
4. What This Skill Does
| # | Check | Blocking |
|---|---|---|
| 22 | Cream background #f1ede6 | No |
| 23 | Section eyebrow: #6b5d3e (gold-on-cream), uppercase, letter-spacing 2px | No |
| 24 | H2 in Fraunces, deep teal color, weight 800 | No |
| 25 | Lead paragraph describes what user does (paste X) and what they get back (Y) | Yes |
| 26 | Contrast line present — differentiates the skill from a generic summary | No |
| 27 | Container max-width: 700px | No |
5. What You Get Back (Output Rows)
| # | Check | Blocking |
|---|---|---|
| 28 | Background: teal-to-slate gradient (same as hero) | No |
| 29 | Container max-width: 900px (wider than standard) | No |
| 30 | Grid layout per row: 40px 170px 1fr with 16px gap | No |
| 31 | Number: Fraunces serif, gold #b79d64, weight 700 | No |
| 32 | Section name: uppercase, 0.65rem, 0.12em letter-spacing, cream | No |
| 33 | Description: 0.875rem, muted rgba(241,237,230,0.7) | No |
| 34 | Border-left on each row: 3px solid rgba(241,237,230,0.06) | No |
| 35 | Every output section from the skill file is represented — no omissions | Yes |
| 36 | Output sections described factually, not sold | Yes |
| 37 | Last row has no bottom margin (visual clean close) | No |
6. Setup
| # | Check | Blocking |
|---|---|---|
| 38 | Off-white background #f7f5f0 | No |
| 39 | Setup block: rgba(183, 157, 100, 0.08) background with gold left border | No |
| 40 | Numbered steps with generic platform language — no LLM brand names | Yes |
| 41 | Setup steps say "Open your preferred AI assistant" or equivalent generic phrasing | Yes |
| 42 | Note at bottom: works with any large language model | No |
| 43 | "Running It" subsection present with trigger phrase bolded | Yes |
| 44 | Input description matches the skill's actual requirements | Yes |
7. Download (CTA)
| # | Check | Blocking |
|---|---|---|
| 45 | Background: teal-to-slate gradient | No |
| 46 | id="download" on section (anchor target) | Yes |
| 47 | H2: "Get the Skill" | No |
| 48 | CTA button: gold background #b79d64, deep teal text #0f2d3e | No |
| 49 | Button text: "Download Skill File" — no hype language | Yes |
| 50 | Button has both href (Cloudinary URL) and download attribute | Yes |
| 51 | Subtext: "Works with any large language model." | No |
| 52 | Centered layout, max-width 700px | No |
8. Tips
| # | Check | Blocking |
|---|---|---|
| 53 | Deep teal background #0f2d3e (solid, not gradient) | No |
| 54 | Each tip: label + explanation | No |
| 55 | Tips are from real testing — not generic advice | Yes |
| 56 | 3-4 tips present | No |
| 57 | Bottom border separators between tips, none on last tip | No |
9. Footer
| # | Check | Blocking |
|---|---|---|
| 58 | Deep teal background #0f2d3e with gold top border 3px solid #b79d64 | No |
| 59 | Meta compliance disclaimer present (left-aligned, muted) | Yes |
| 60 | Results disclaimer present (left-aligned, muted) | Yes |
| 61 | Copyright line: "Practice Builders is a brand of Creating Your Plan" (or AOS equivalent) | No |
| 62 | Contact email: kathryn@creatingyourplan.com with gold link | No |
| 63 | Legal links: Privacy Policy, Terms of Service, Disclaimer — all on creatingyourplan.com | Yes |
10. Technical & Responsive
| # | Check | Blocking |
|---|---|---|
| 64 | All styles are inline — no external CSS file, no block CSS classes referenced | No |
| 65 | No var() anywhere — all values hardcoded hex/rgba | Yes |
| 66 | No JavaScript or scroll-reveal animations | Yes |
| 67 | present | Yes |
| 68 | Google Fonts loaded: Fraunces + Montserrat (CYP) or Cormorant Garamond + Inter (AOS) | No |
| 69 | Responsive media queries in block for 840px and 640px breakpoints | No |
| 70 | No horizontal scroll at any viewport width | Yes |
| 71 | Scrollbar styled: gold thumb on teal track | No |
11. Content & Voice
| # | Check | Blocking |
|---|---|---|
| 72 | No LLM brand names anywhere on the page (ChatGPT, Claude, Gemini, etc.) | Yes |
| 73 | No mention of price or paid offers in core sections (Header through Tips) | Yes |
| 74 | No marketing funnel language: capture, convert, unlock, claim, grab | Yes |
| 75 | No forbidden voice terms: leverage, synergy, coaching, mindset, crush it, game-changer, journey | Yes |
| 76 | Output sections described factually — not sold with superlatives | Yes |
| 77 | CTA button has no exclamation marks | No |
| 78 | Uses locked terms correctly: skill (not tool/app), download (not get/claim), install (not set up), run (not use/try) | No |
| 79 | used only for intentional line-break control in H1/H2 headlines | No |
Blocking Failure Summary
Any of these = do not deploy:
- Cloudinary URL does not download the correct file
- Download attribute missing or names the file incorrectly
noindex, nofollowmeta tag missing- Logo image broken
- LLM brand name appears anywhere on the page
- Setup instructions reference a specific LLM platform
- Paid offer or price mentioned in core delivery sections
- Marketing funnel language present
- Output sections from skill file are missing
var()used in any inline style- JavaScript present
- Legal links missing from footer
- Meta compliance disclaimer missing from footer
Common Failure Modes
| Failure | What Happens | How to Fix |
|---|---|---|
| LLM brand name in setup | Page references "Claude" or "ChatGPT" specifically | Replace with "your preferred AI assistant" or "any large language model" |
| Cloudinary URL not tested | Button downloads wrong file, 404, or corrupted content | Test the exact URL in an incognito browser before building |
| Missing output sections | Skill has 8 sections but page only shows 6 | Cross-reference skill file section-by-section spec against output rows |
var() in inline styles | Browser renders raw var() text instead of colors | Search the file for var( — replace every instance with the hardcoded hex value |
| Marketing language leak | "Unlock," "claim," or "grab" in CTA or copy | Search for forbidden terms list in 02-terminology — fix all instances |
| Cross-sell in core sections | Paid offer mentioned before the optional What's Next section | Move all cross-sell content to What's Next section, or remove if not campaign-appropriate |
| Missing Meta disclaimer | Page linked from Meta ads but footer lacks the required disclaimer | Add the standard Meta compliance paragraph to the footer |
| Orphan word in headline | H1 or H2 has a single word on the last line | Add between the last two words to keep them together |
| Wrong brand treatment | CYP page uses AOS colors or fonts (or vice versa) | Check brand mapping in 02-terminology — verify every color, font, and logo matches the target brand |