---
title: "Patterns: marketing, sales, GTM, content, support and ops"
type: community
source_tier: community
tags: [ideas, patterns, gtm, marketing, support, fit-verdicts]
created: 2026-09-21
updated: 2026-09-21
confidence: medium
sources:
  - raw/x/INDEX.json
  - raw/x/AIGuide_-2101672522043273681.md
  - raw/x/shannholmberg-2101967092321026445.md
  - raw/x/startupideaspod-2101029801821941933.md
  - raw/x/yuhasbeentaken-2101315100904931352.md
  - raw/x/yuhasbeentaken-2101422913287004585.md
  - raw/x/yuhasbeentaken-2101561643968655776.md
  - raw/x/chddaniel-2100925069765534024.md
  - raw/x/skeptrune-2101209390992994570.md
  - raw/x/RoundtableSpace-2101668953978237335.md
  - raw/x/akshay_pachaar-2101309986156712025.md
  - raw/x/0xMovez-2101325703635435523.md
  - raw/x/Layton_Gott-2101450120466174351.md
  - raw/x-repos/monteduro__killmyidea.md
  - raw/x-repos/INDEX.json
jev_version: "jev-1.13.0"
summary: "Eleven community decision patterns for GTM, content, support and ops — lead scoring, next-best action, churn, draft QA, SEO, triage, approvals — each with a fit verdict."
---

# Patterns: marketing, sales, GTM, content, support and ops

> **TL;DR** Eleven business-side decision shapes from the captured X posts and repos: leads and deals, content and creative, support and approvals, plus one group (metric-driven ad and budget calls) that is a poor fit as posted and needs restructuring. Community tier: official pages win every conflict.

## How to read this

One pattern = one narrow judgment. **Fit** is our verdict against [[concepts/jaggedness-jev-1-13]] and [[concepts/system-one]]: `strong` = bounded, semantic, code owns the rest; `workable` = real, caveat named; `poor` = leans on arithmetic, dates, time series, generation or huge state. Pattern IDs are permanent; the index across all domains is [[ideas/patterns]]. Two main sources (@AIGuide_, @shannholmberg) are idea lists with no shipped system or measurement behind them: unverified until run on your own labelled examples.

## Lead, account and deal decisions

**P19 Lead and ICP scoring, fit kept apart from intent**
- *Decision* how well does this account match the ICP; does it want to buy now
- *State* firmographics, role, inbound form or message, the ICP definition verbatim, the account record you already hold
- *Ask* separate `Score`s for fit, intent, urgency, pain — never one blended one; then a `Choice` over `sales | self_serve | nurture | review` for the next step
- *Code* weight the dimensions yourself; keep each answer beside the lead record so a rep can inspect the assessment; change coefficients, not prompts
- *Fit* strong — textbook composite scoring, and the fit/intent split is the key move
- *Map* [[patterns/composite-scoring]], [[concepts/score]]
- *Seen* [@yuhasbeentaken](https://x.com/yuhasbeentaken/status/2101315100904931352), [@chddaniel](https://x.com/chddaniel/status/2100925069765534024), [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (form response + ICP criteria, four next steps), [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (inbound qualification, outbound account prioritisation), [@startupideaspod](https://x.com/startupideaspod/status/2101029801821941933) (a design agency's contact form scored 0–1 on "is good lead")

**P20 Signal detection and reply prioritisation**
- *Decision* does this post signal a switch, hire, raise or pain point; which comment to answer
- *State* one post or comment plus minimal author context
- *Ask* one `Noul` per signal type in a single request, plus a reply-value `Score`
- *Code* rank by probability, dedupe by author, hand the top slice to a human
- *Fit* strong — many tiny independent judgments per record
- *Map* [[patterns/fan-out]]
- *Seen* [@yuhasbeentaken](https://x.com/yuhasbeentaken/status/2101422913287004585), [@skeptrune](https://x.com/skeptrune/status/2101209390992994570), [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (re-score accounts on hiring, funding and site changes instead of working a static list)

**P28 Next-best action on a deal or account**
- *Decision* after a call, email or CRM update, what should happen next
- *State* the deal record: stage, last interactions summarised by an LLM, open objections, what has already been sent — not the whole CRM history
- *Ask* `Choice` over `call | email | wait | send_proof | bring_in_founder | nurture | close_lost`, one criterion per option; the live-call variant picks `bring_in_ae | technical_help | case_study | surface_pricing | book_next_meeting | nothing`
- *Code* map the answer onto a playbook step code already owns; keep the `probabilities` on the record; *when* a wait or follow-up fires is a code rule, not part of the answer (see P33)
- *Fit* workable — bounded options and a semantic judgment, but the options overlap easily (call vs email vs wait) and Jev reads criteria literally, so write each option as a distinct situation and run it recommendation-only first
- *Map* [[patterns/intent-routing]], [[guides/writing-instructions-and-criteria]]
- *Seen* [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (next-best action, live-call escalation, "CRM automation as choices rather than if-X-then-Y"), [@chddaniel](https://x.com/chddaniel/status/2100925069765534024)

**P29 Churn and retention intervention triage**
- *Decision* does this account need an intervention right now, and which one
- *State* pre-computed labels only: account-value band, usage change in words ("weekly sessions roughly halved since the last billing period"), support-history summary, NPS band, contract stage, interventions already tried
- *Ask* `Noul` per risk signal (unresolved support issue? champion gone?), a severity `Score`, then `Choice` over `ignore | send_education | csm_outreach | offer_help | escalate`
- *Code* your telemetry computes every delta, ratio and date gap before the call; cap outreach per account per period; log the chosen intervention so thresholds can be retuned
- *Fit* workable — the usage drop and the contract date are arithmetic and date comparison (failure modes 2 and 3 in [[concepts/jaggedness-jev-1-13]]); bucket them in code and what is left is an ordinary routing choice
- *Map* [[patterns/intent-routing]], [[concepts/jaggedness-jev-1-13]]
- *Seen* [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (usage drop → ignore, education, CSM outreach, help, escalate)

## Content and creative

**P21 Creative scoring, ad teardown and content dedupe**
- *Decision* which hook is worth testing first; does this idea already exist on our site
- *State* one creative with its format attributes; or one idea paired with one existing page
- *Ask* structural `Noul`s (does the first line open a loop?); `Noul` "does `existing` cover `candidate`?"; for teardowns a `Choice` per defined axis (hook, format, offer, awareness level) plus `Noul` "does the landing page support the ad's promise?"
- *Code* loop the pairs in code; store classifications beside the source links; join labels to your performance data and compute rates there
- *Fit* strong for labels and per-pair dedupe; poor as "here are 50 ideas and my site, pick 10"
- *Map* [[cookbooks/entity-alignment]]
- *Seen* [@RoundtableSpace](https://x.com/RoundtableSpace/status/2101668953978237335) (430 ads/second, $0.6), [@yuhasbeentaken](https://x.com/yuhasbeentaken/status/2101561643968655776), [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (Meta Ad Library research into fixed categories), `usenotra/notra`

**P30 Draft QA against voice, brand and claim rules**
- *Decision* does this draft pass each rule, and is every claim supported
- *State* the draft plus the rule text verbatim — voice file, anti-slop rules, approved and rejected examples, the brief, approved claims, required offer details, channel requirements, and the source passages
- *Ask* one `Noul` per rule, each written literally ("does the draft state the trial length?", "is claim `C` supported by `sources`?"), plus a `Score` per dimension (voice, clarity, brand fit); give the claim check an `uncertain` option rather than forcing a verdict
- *Code* aggregate failures with `max`, not a mean; return failed drafts to the writing agent with the failed criteria attached; passes move to sign-off, uncertain claims to a person; chunk long drafts — 32k covers `state` plus the longest question
- *Fit* strong per rule; poor as a single "is this good?" question. Never ask Jev to rewrite the draft
- *Map* [[cookbooks/citation-check]], [[cookbooks/llm-guardrails]], [[guides/writing-instructions-and-criteria]]
- *Seen* [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (voice/brand check on drafts; pre-sign-off check of offer details, claim support and channel requirements)

**P31 Brief, idea and news-response triage**
- *Decision* is this creative brief ready for production; is this incoming idea worth developing; does this story deserve a response
- *State* one item plus the campaign goal, audience, offer, brand rules and production limits; for news, the story with its source and publication time
- *Ask* a `Score` per named criterion (hook clarity, brand fit, offer clarity, fit with the campaign goal, similarity to work in production); `Noul` "does this fit an active campaign?"; `Choice` over `open_brief | link_duplicate | save | editor`, or `research | skip | review` for news
- *Code* rank and route on the scores yourself; attach the weak criteria to anything returned to the briefing agent. "Already published?" is P21's per-pair dedupe — loop candidate × existing page in code, never paste the content inventory into one state
- *Fit* strong per criterion and per pair. Publication time is a date: bucket it in code before asking
- *Map* [[patterns/composite-scoring]], [[cookbooks/entity-alignment]]
- *Seen* [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (brief review, idea triage, news response), `monteduro/killmyidea` (8 questions scored 0–4 in one request; weighted average, KILL/FIX/SHIP thresholds and an understandability gate all in code)

**P32 SEO page review and internal-link checks**
- *Decision* does this page answer its target query, what is missing, and is this internal link worth adding
- *State* one page or draft with its target query and business priority; for links, the source page, destination page and proposed anchor text
- *Ask* `Score` "how completely does this page answer `query`?", one `Noul` per subtopic you care about, and `Noul` "does the destination help the reader take the next step?"
- *Code* the missing subtopics are your `false` answers, not a list you ask Jev for; sort the update queue in code; approved links enter the implementation queue with both URLs
- *Fit* workable per page and per link. Flag: "current search results" comparisons smuggle in ranking *positions* — numeric inputs jev-1.13 handles badly. Ask pairwise semantic questions ("does the competing page cover `X` that ours omits?") and keep positions and any ranking estimate in code
- *Map* [[cookbooks/rerank]], [[concepts/jaggedness-jev-1-13]]
- *Seen* [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (SEO prioritisation, internal links; the quoted 2026-09-18 post adds top-10 SERP comparison — the part to restructure)

## Support, ops and approvals

**P22 Inbound triage fan-out: tickets and email**
- *Decision* owning team, urgency, category, spam, refund intent, frustration, churn risk, whether a reply is needed
- *State* one message with the minimum context — plan, account age, recent history; never the archive
- *Ask* `Choice` for department or next action, `Score` for priority and for reply value, `Noul` per intent, all in one request per item
- *Code* worker pools for volume; your policy combines the answers. Same shape backfills: run an old inbox or ticket archive to surface missed leads. Which results a person sees is P06 in [[ideas/patterns-agents]], not a new question
- *Fit* strong — the canonical documented shape, and no writing is required
- *Map* [[patterns/fan-out]], [[patterns/intent-routing]]
- *Seen* [@chddaniel](https://x.com/chddaniel/status/2100925069765534024), [@akshay_pachaar](https://x.com/akshay_pachaar/status/2101309986156712025), [@0xMovez](https://x.com/0xMovez/status/2101325703635435523) (cites 500 emails for ~3.5 cents), [@startupideaspod](https://x.com/startupideaspod/status/2101029801821941933) (Vogel: 1,700 real emails → category, priority `low | medium | high | important | urgent`, spam score, reply score, 18 cents; plus ticket routing to product teams and old-inbox mining)

**P23 Policy-bounded approval triage (refunds, incidents, discounts)**
- *Decision* approve, counter, hold, review, deny or escalate inside a policy you already wrote
- *State* the request, the policy text verbatim, relevant history, fraud signals, and for a discount the stage and any competitor pressure — as words, with the numbers pre-bucketed
- *Ask* `Noul` "is this covered by `policy`?", `Noul` per fraud or exception signal, severity `Score`, `Choice` over `approve | counter | hold | escalate`
- *Code* every currency limit, margin floor, deal-size band and cap is a code comparison, not a question — the numeric half of a discount call belongs to P33
- *Fit* workable — coverage is semantic, money is arithmetic; run recommendation-only until you have a labelled set
- *Map* [[concepts/jaggedness-jev-1-13]], [[cookbooks/llm-guardrails]]
- *Seen* [@Layton_Gott](https://x.com/Layton_Gott/status/2101450120466174351), [@chddaniel](https://x.com/chddaniel/status/2100925069765534024), [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (rep asks 20% off → approve, counter, hold, escalate)

## Metric-driven decisions (poor fit)

**P33 Metric-driven ad, budget and timing decisions**
- *Decision* stop/scale/hold an ad; refresh or replace a creative; where the next ad dollar goes; when the next touch happens; whether margin supports a discount
- *State* as posted: spend, conversions, CPA, ROAS, frequency, click/conversion history, reporting period, margin, deal size
- *Ask* as posted: `Choice` over `stop | scale | hold`, `refresh | replace | leave | review`, or a delay bucket
- *Fit* **poor** as posted — comparing CPA/ROAS to a target is arithmetic and numeric representation (failure mode 2); "last three periods", "every few minutes", "5 minutes vs 2 hours" are date/time comparison (mode 3); a metric history is a digit-heavy time series with no semantic content (mode 5) ([[concepts/jaggedness-jev-1-13]]). **Workable** once restructured:
- *Code* computes every metric, threshold and trend, then sends labels plus the semantic parts only. A human owns spend changes. Sketch (inferred, not from a post):

```json
{"model": "jev-latest",
 "state": {"ad": "UGC testimonial v3", "goal": "demo bookings",
  "cpa_vs_target": "above target, 3 periods running", "roas_trend": "falling",
  "frequency": "in fatigue band", "comments_summary": "several 'seen this already'",
  "landing_page_matches_promise": "yes"},
 "questions": {
  "fatigued": {"type": "noul", "instructions": "Do the comments show audience fatigue with this creative?"},
  "action": {"type": "choice", "instructions": "Which action do the labels support?",
   "criteria": {"stop": "goal missed and no fix in sight", "scale": "beating target, no fatigue",
    "hold": "on target", "refresh_creative": "concept works, creative is tired",
    "human_review": "labels conflict"}}}}
```

  Gate `action` on its `confidence`; low → `human_review`. Timing: Jev labels the lead (`buying signal | researching | cold`), a code table maps label → delay.
- *Map* [[concepts/jaggedness-jev-1-13]], [[cookbooks/date-extraction]], [[patterns/confidence-routing]]
- *Seen* [@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445) (stop/scale/hold; refresh/replace/leave/review), [@AIGuide_](https://x.com/AIGuide_/status/2101672522043273681) (response timing, budget reallocation "every few minutes", the numeric half of discount approval; policy half is P23)

## Starting point

- **Find the expensive queue.** Greg Isenberg's filter: a business with a costly queue of incoming information; "put Jev at the front of the queue" — inbox, contact form, tickets ([@startupideaspod](https://x.com/startupideaspod/status/2101029801821941933)).
- **One task, on examples you already reviewed.** Start with a single decision and items your team has already judged; compare Jev's answers with those reviews *before* the workflow acts ([@shannholmberg](https://x.com/shannholmberg/status/2101967092321026445)). Method: [[guides/testing-and-evaluation]].
- **Advisory first.** Vogel keeps Jev advisory, not on 100% of interactions: high-value or low-confidence items go to a person ([[patterns/confidence-routing]]).
- **Cost check (`verified`).** Vogel's 1,700 emails, ~4M input tokens, 18 cents: 4M × $0.042/M = $0.168, output free ([[reference/models-and-pricing]]). His ~200 ms/query is `unverified`.

## Related

- [[ideas/patterns]] — the index of all patterns; [[ideas/consult]] — running the "could Jev help this project?" conversation
- [[ideas/patterns-agents]] — agent internals, routing, guardrails (P06 human queue); [[ideas/patterns-data]] — search, ranking, labelling at scale
- [[ideas/field-reports]] — independent measurements; [[ideas/community-repos]] — the repos named in *Seen*
- [[concepts/use-case-map]] — the official use-case map by industry

## Sources

Post and repo links are inline in each pattern's *Seen* line. The three lists driving this page are @AIGuide_ (GTM, 2026-09-20), @shannholmberg (marketing workflows, 2026-09-21) and Ryan Vogel on the Startup Ideas Podcast via @startupideaspod (2026-09-18). Every captured file, including the earlier posts and `monteduro/killmyidea`, is in this page's frontmatter `sources:` under `raw/x/` and `raw/x-repos/` in the private repo (indexes `raw/x/INDEX.json`, `raw/x-repos/INDEX.json`).
