Norton Design Lab · Free Resource

AI Specification
Starter Kit

Five ready-to-use spec templates for Marketing and Sales Operations professionals who are done getting 19% slower.

“If you can’t tell in 60 seconds whether the AI’s output is correct or wrong — you haven’t written a spec. You’ve written a vibe.”

Companion to The J-Curve · Brad Norton
Focus Area Marketing & Sales Operations
Templates 5 Specs + 1 Checklist
What’s Inside
  • How to Write a Spec (not a vibe)
  • 1 Campaign Brief Spec
  • 2 Sales Outreach Sequence Spec
  • 3 Weekly Performance Report Spec
  • 4 Lead Scoring & CRM Data Cleanse Spec
  • 5 Thought Leadership Content Spec
  • Spec Quality Evaluation Checklist
The Foundation

How to Write a Spec (Not a Vibe)

A specification is a contract between you and your AI. It tells the model exactly what done looks like — so you can evaluate the output in 60 seconds, not 60 minutes of rewrites.

The J-Curve Law of AI Adoption

A July 2025 randomized controlled trial by METR found experienced developers using AI were 19% slower — and believed they were 24% faster. The gap wasn’t the AI. It was the architecture around it. Factories that won the electricity era didn’t swap the steam engine for a motor. They redesigned the floor. Your AI specs are your factory floor redesign.

❌ Description (a vibe)
“Write a campaign brief.” Produces whatever the AI felt like doing. You’ll spend the next 45 minutes rewriting it. Congratulations — you’re 19% slower.
✅ Specification (a contract)
“Write a brief for oncology nurses that includes one primary message, two clinical proof points with citations, a 90-day CRM-measurable success metric, and a max length of one page.”

The 3 Non-Negotiable Parts of Every Spec

1
Output Definition
A clear, measurable description of what you want. Format, length, audience, tone, required elements — stated precisely.
2
Success Criterion
One condition you can check in 60 seconds that tells you the output is correct. If you can’t define it, you can’t evaluate it.
3
Failure Condition
What a bad output looks like. If you can’t describe “wrong,” you cannot recognize “right.” This is quality control infrastructure.

⏱ The 60-Second Test

After the AI returns output, set a timer for 60 seconds. Can you determine whether it’s correct or incorrect within that window? If yes — you wrote a spec. If no — you wrote a vibe, and that vibe is why you’re in the J-Curve dip. Go back and add a measurable success criterion and a failure condition.

3 Pitfalls That Keep Teams in the Dip

⚠️

Pitfall 1: Specifying the “What” but not the “Wrong”

Every spec needs a failure condition — not just a success criterion. If you can’t describe a bad output, you cannot evaluate a good one.

⚠️

Pitfall 2: Treating the First Spec as Final

A spec is a hypothesis, not a policy. Version 1.0 is a starting point. Iterate, tighten, and get precise. The developers who accelerated treated every spec as improvable.

⚠️

Pitfall 3: Building Documents Instead of Systems

If you’re running the same AI-assisted task more than three times, stop and systematize it. Repeating the same task manually is the definition of staying in the dip.

Template 01 · Marketing Operations

Campaign Brief Spec

Use this spec when briefing AI to produce a campaign brief for any product, audience, or channel. The spec constrains the output so you spend your time approving, not rewriting.

Marketing Ops Campaign Planning CRM-Linked
Field
Your Specification
Target Audience
e.g. “Oncology nurses at community cancer centers with 5+ years experience”
Campaign Objective
e.g. “Drive attendance at Q3 regional advisory board meeting”
Primary Message
One sentence only. e.g. “New dosing protocol reduces patient burden without compromising efficacy.”
Required Elements
1 primary message (max 1 sentence)
2 clinical/data proof points with source citations
1 clear call-to-action
1 success metric measurable in CRM within 90 days
Tone: e.g. “Clinically credible, peer-to-peer, not promotional”
Format & Length
e.g. “Single page, structured with labeled sections, no more than 400 words”
Exclusions
e.g. “Do not include competitor references, pricing, or off-label language”
60-Second Check
I can verify in 60 seconds that: (1) exactly one primary message is present, (2) two proof points include citations, (3) a CRM-trackable metric is named, (4) total length is ≤ one page.
More than one primary message (dilutes focus)
Proof points without source citations
No CRM-measurable metric specified
Output exceeds one page
Audience described generically (e.g. “healthcare professionals”)
Spec Version
v1.0 — Date: _________ — Owner: _________
Last Refined
What changed from previous version? _________
📝 Full Spec Prompt Example

“Write a campaign brief targeting oncology nurses at community cancer centers. Include one primary message (max one sentence), two clinical proof points with source citations, a call-to-action for Q3 regional advisory board attendance, and one 90-day success metric trackable in Salesforce. Tone: clinically credible, peer-to-peer, never promotional. Format: one page, labeled sections, max 400 words. Do not include competitor references or off-label language.”

Template 02 · Sales Operations

Sales Outreach Sequence Spec

Use this spec when generating multi-touch outreach sequences — email, LinkedIn, voicemail — for a defined buyer persona and sales motion. Prevents generic output that reps won’t use.

Sales Ops Outreach Sequencing Pipeline Acceleration
Field
Your Specification
Buyer Persona
e.g. “VP of Sales Operations, 200-500 person company, uses Salesforce, focused on pipeline velocity”
Sales Motion
e.g. “Cold outbound, net-new logo, no prior contact”
Sequence Structure
Touch 1: Email — Day 1 — Subject line + body (max 100 words)
Touch 2: LinkedIn connection request — Day 3 — max 300 characters
Touch 3: Email — Day 7 — Value-add follow-up (max 80 words)
Touch 4: Voicemail script — Day 10 — max 30 seconds / 75 words
Touch 5: Break-up email — Day 14 — max 50 words
Core Value Prop
e.g. “We help sales ops leaders cut CRM data debt by 40% in 90 days”
Tone & Voice
e.g. “Direct, peer-to-peer, no jargon, no buzzwords — write like a senior rep, not a marketer”
CTA Per Touch
e.g. “One CTA per message only. Primary CTA: 15-min discovery call via Calendly link”
Personalization Hook
e.g. “Reference [COMPANY]’s recent funding/expansion. Leave [INSERT HOOK] placeholder in Touch 1.”
60-Second Check
I can verify: (1) exactly 5 touches present, (2) each touch is within word/character limit, (3) each touch has exactly one CTA, (4) no buzzwords (e.g. “synergy”, “leverage”, “best-in-class”), (5) personalization placeholder is present in Touch 1.
Any touch exceeds its word/character limit
More than one CTA per touch
Generic opener (e.g. “I hope this email finds you well”)
Product features listed instead of buyer outcomes
No personalization placeholder in Touch 1
Spec Version
v1.0 — Persona: _________ — Owner: _________
📝 Full Spec Prompt Example (Touch 1)

“Write a cold outreach email for a VP of Sales Operations at a 200-500 person company using Salesforce. Max 100 words. One CTA: 15-min call via Calendly. Lead with a personalization hook using placeholder [INSERT HOOK]. Core value prop: we cut CRM data debt by 40% in 90 days. Tone: direct, peer-to-peer, zero buzzwords. Do not open with ‘I hope this email finds you well.’ Lead with the buyer’s problem, not our product.”

Template 03 · Marketing & Sales Operations

Weekly Performance Report Spec

The difference between using AI to write a report faster and building a system that generates it automatically. This spec is designed to be systematized — run it once manually, then automate it.

Sales Ops Marketing Ops Systematize This
“Using AI to write a weekly report faster? That’s a document — you do it again next week, from scratch, again. Using AI to build a system that pulls CRM data every Friday, applies your formatting rules, flags anomalies, and generates the report automatically? That’s a system. The first time takes longer. The tenth time is free.” — Brad Norton, The J-Curve
Field
Your Specification
Report Audience
e.g. “VP of Sales + CMO. Assume no time to read — lead with the number that matters most.”
Data Source
e.g. “Salesforce weekly export [paste CSV here] / HubSpot dashboard export”
Required Sections
Section 1: Top-line number (pipeline created, revenue, MQLs — pick one) vs. target
Section 2: 3 key movements (what changed most this week — up or down)
Section 3: Anomaly flag (any metric outside ±15% of 4-week average)
Section 4: One recommended action — specific, owner named, due date
Section 5: Next week forecast (single number with confidence level: High/Med/Low)
Format
e.g. “Executive email format, max 250 words, no tables, bold the single most important number”
Anomaly Threshold
e.g. “Flag any metric that is more than 15% above or below its 4-week rolling average”
Tone
e.g. “Direct, factual, no spin. If numbers are bad, say they’re bad and explain why.”
60-Second Check
I can verify: (1) all 5 sections present, (2) one bolded top-line number, (3) at least one anomaly flag if threshold is breached, (4) recommended action names a specific owner and due date, (5) total word count ≤ 250.
No anomaly flag when data shows ±15% variance
Recommended action is vague (e.g. “focus on pipeline” with no owner or date)
Report exceeds 250 words
Numbers not compared to target or prior period
Report buries the lead — top-line number is not the first line
Automate When
Once you’ve run this spec manually 3 times with consistent output quality, build a system: schedule a weekly CRM export → auto-feed to AI with this spec → auto-deliver to distribution list. The manual spec becomes the automation spec. Same document. Different lever.
Template 04 · Sales Operations

Lead Scoring & CRM Data Cleanse Spec

Use this spec when asking AI to evaluate, score, or clean a list of leads or accounts — one of the highest-leverage, most commonly botched AI use cases in Sales Ops.

Sales Ops CRM / Data High Leverage
Field
Your Specification
Input Data
e.g. “CSV with columns: Company, Title, Industry, Employee Count, Last Activity Date, Open Opps, Annual Revenue”
Ideal Customer Profile
e.g. “B2B SaaS, 100-1000 employees, VP or C-level title, industry: healthcare or financial services, last activity within 90 days”
Scoring Output
Score each lead: Hot / Warm / Cold
Add a one-line rationale per lead (max 15 words)
Flag leads with missing critical data fields in a separate column
Return output as CSV with original columns + Score + Rationale + Data_Flag
Cleanse Rules
Standardize all job titles to a controlled vocabulary list (provide list)
Flag duplicate company names (fuzzy match within 90% similarity)
Identify records with no activity in 180+ days and tag as “Dormant”
Do not delete any records — flag only, with recommended action
Output Format
e.g. “Return full CSV with added columns: Standardized_Title, Duplicate_Flag, Activity_Status, Recommended_Action”
What NOT to Do
e.g. “Do not infer missing data. Do not rename existing columns. Do not remove rows. Only add new columns.”
60-Second Check
I can verify: (1) every lead has a score (Hot/Warm/Cold), (2) every lead has a rationale ≤ 15 words, (3) a Data_Flag column exists, (4) no original rows have been deleted, (5) no missing data has been fabricated.
AI fills in missing fields with assumed data (critical — verify manually)
Row count in output does not match row count in input
Rationale exceeds 15 words (signals vague scoring logic)
Scores applied without referencing ICP criteria
Duplicate flag applied to non-similar records

🔑 Critical Data Rule for This Template

AI will hallucinate missing CRM data if you don’t explicitly prohibit it. Always include the instruction: “Do not infer, assume, or fill in any missing data fields. Flag them only.” Verify row counts before and after. The failure condition of a fabricated data field is the most expensive error in sales ops.

Template 05 · Marketing Operations

Thought Leadership Content Spec

Use this spec when producing LinkedIn posts, articles, executive ghostwriting, or newsletter content. Prevents generic AI output that sounds like everyone else — and preserves the author’s distinct voice.

Marketing Ops Content Strategy Executive Voice
Field
Your Specification
Content Type
e.g. “LinkedIn post / Newsletter section / Short-form article (choose one per spec)”
Author & Voice
e.g. “Brad Norton, Sales Strategy Consultant. Voice: direct, contrarian, data-first, plain language. Never uses: ‘leverage’, ‘synergy’, ‘best-in-class’, ‘game-changer’.”
Core Argument
e.g. “One clear, defensible point of view that most people in the industry would push back on”
Evidence Required
e.g. “Must cite at least one specific study, stat, or named example. No vague claims.”
Structure
Hook: First line must create tension or state an uncomfortable truth (no question hooks)
Body: Argument + evidence + one concrete example
Close: One specific, actionable takeaway the reader can apply by Monday morning
CTA: One question to drive comments (not “what do you think?”)
Length
e.g. “LinkedIn: 150-250 words. Newsletter: 300-450 words. No bullet lists unless explicitly requested.”
Banned Phrases
e.g. “In today’s fast-paced world / The future is now / As we navigate / I’m excited to share / This is a game-changer”
Target Audience
e.g. “Sales Ops and Marketing Ops leaders, 10+ years experience, skeptical of hype, respect data”
60-Second Check
I can verify: (1) first line creates tension — doesn’t start with “I” or a question, (2) at least one specific data point or named example, (3) closes with a concrete Monday-morning action, (4) no banned phrases present, (5) word count within specified range.
Hook is a question (weak engagement signal for LinkedIn algorithm)
No specific data, stat, or named example in the body
Any banned phrase appears
Takeaway is vague (e.g. “embrace AI in your workflow”)
Post could have been written by anyone — no distinctive POV
Voice Sample
Paste 2-3 examples of past content that nailed the voice. This becomes your few-shot training data for the spec.
📝 Full Spec Prompt Example (LinkedIn Post)

“Write a LinkedIn post in the voice of Brad Norton — direct, contrarian, data-first, plain language. Core argument: AI is making most professionals slower right now, not faster, and the research proves it. Cite the METR July 2025 study. Hook: first line must state an uncomfortable truth, not a question. Body: argument + METR data + one concrete example. Close: one specific action the reader can take Monday morning. CTA: one specific question (not ‘what do you think?’). Length: 180-220 words. No bullet lists. Never use: ‘leverage,’ ‘game-changer,’ or ‘In today’s fast-paced world.'”

Quality Control Tool

Spec Evaluation Checklist

Run this checklist against any spec before you submit it to AI — and against any AI output before you approve it. This is your quality control system. Your job is now setting the standard, not doing the work.

🔁

Treat Every Spec as v1.0

A spec is a hypothesis, not a policy. After each AI output, note what the failure condition missed or what the success criterion didn’t catch. Update the spec. The teams that exit the J-Curve fastest are the ones who treat spec refinement as a discipline, not a one-time task.

Before You Submit: Output Definition
Audience is named specifically (not “stakeholders” or “professionals”)
Required elements are listed as a numbered or bulleted set
Format is defined (length, structure, medium)
Tone/voice is described with at least one example or negative example
Explicit exclusions are listed (what NOT to include)
Before You Submit: Criteria
At least one success criterion is present
Success criterion is checkable in 60 seconds
At least one failure condition is defined
Failure condition describes a specific, recognizable bad output
You could evaluate this output without re-reading the spec
After Output: Evaluate the Result
All required elements are present
Output passes the 60-second test
No failure conditions are triggered
No fabricated data, citations, or assumed information
Output requires no more than 10% revision
After Output: Improve the Spec
Note what the output got wrong that the spec didn’t catch
Add a new failure condition based on what failed
Tighten the output definition based on edge cases
Increment version number (v1.0 → v1.1)
If running 3+ times: is this ready to systematize?
1

Write the Spec — Not the Prompt

Pick one task you want to hand to AI. Define the output, success criterion, and failure condition before you write a single word of the prompt.

2

Run the 60-Second Test

After receiving output, set a timer. Can you determine correct vs. incorrect within 60 seconds? If not, the spec needs a tighter success criterion.

3

Refine — Then Systematize

Once the spec reliably produces ≥90% correct output with ≤10% revision, systematize it. Same spec, automated delivery. That’s the surge.

Related Resources from Norton Design Lab

Leave a Reply

Your email address will not be published. Required fields are marked *