CONTENT SKILL
SEO article writer
Write a complete SEO article in four phases (research, content-type decision, knowledge extraction, write) under an explicit anti-AI-slop ruleset: banned words, banned phrases, banned structural patterns, and a 30% rule for details no generic model could produce.
No key, no account needed
Claude CodeClaude Desktop
Cursorany agent that reads SKILL.md
npx skills add addition-labs/skills --skill write-content
Run this in a terminal inside your project folder. Claude Code, Cursor and Codex then read the skill from where it lands.
- Step 01Open a terminal in your project folder
- Step 02Paste the command and press Enter
- Step 03Pick the agents to install to
- Step 04Ask the agent for the job; it reads the skill
write-contentaddition-labs/skillsApache-2.0 licencecommit 9cf22ccupdated 2026-09-03
The distinctive part is the ruleset. Twenty-four words never used (delve, landscape, leverage, seamless, robust, comprehensive as an adjective), seven phrases never used ("It’s worth noting", "In today’s", "In conclusion"), and seven structural tells to avoid: rule-of-three groupings, synonym cycling, copula avoidance, em-dash chains, binary contrasts, participial tack-ons, hedge clustering.
Phase 3 asks you two or three questions to extract what only you know ("what do most people get wrong", "give me a number", "who should not follow this advice") and weaves the answers in as first-person experience. Without answers it writes from research and marks where your input would lift the piece.
Nineteen content-type templates ship in the references (how-to, comparison, listicle, pillar, statistics page, product page, category page and so on), loaded one at a time after the type decision.
When to use it
The phrases that trigger it
Say any of these and an agent that has the skill installed will usually load it; you can also call it by name. The phrases are the skill’s own, from its description.
- write a complete SEO article
- write an article for [keyword]
What’s inside
The playbook, section by section
Business context, saved once
Five questions on first use (what the business does, tone, language, forbidden topics, competitors), saved where you say, loaded every run after.
Content type decision, stated aloud
"The top results for X are all [format]. I’ll write a [type] with [element]. Sound good?" Then it waits, unless the run is autonomous.
Voice and stance
Practitioner to peer, clear positions, "you" and "I", real specifics only, contractions, thinking shown changing.
Rhythm rules
Sentence length varied dramatically, paragraphs uneven, fragments allowed, registers shifted, sections covered asymmetrically, no summaries at section ends.
The 30% rule
At least 30% of a long article must be details no generic model could produce: your data, examples, opinions, experience.
Final checks
The "so what" test per section and a self-scan for blacklisted words, topic-sentence monotony and participial tack-ons.
Reference files the agent loads on demand
15 files in the skill folder, read only when an instruction calls for one.
anti-slop-ruleset.md- Detecting and rewriting AI writing patterns, built from six anti-slop skills and Wikipedia’s guidance.
voice-injection-playbook.md- Putting a real voice, personality and specificity back into generated text.
information-gain-writing.md- Writing that adds new information relative to what already ranks, after Google’s information-gain patent.
serp-driven-writing.md- Deriving headings, length and format from the pages that rank for the keyword.
intent-matching.md- Matching the format and depth a searcher expects for the query.
eeat-signal-embedding.md- Embedding experience, expertise, authority and trust as demonstrated proof, not as claims.
structured-data-snippets.md- Which SERP features each content type can win, formatting for featured snippets, FAQ, HowTo, Article and Product schema, validation.
geo-optimization.md- Writing to be cited by ChatGPT, Claude, Perplexity and AI Overviews, from the Princeton GEO paper onwards.
navboost-engagement.md- Writing for the click, dwell and pogo-stick signals in Google’s NavBoost.
quality-scoring.md- A 100-point score across five dimensions, applied before output; below threshold the draft is revised.
writing-pipeline.md- A multi-phase, multi-agent writing pipeline distilled from fifteen agentic writing systems.
seo-optimization-layer.md- The pass after writing: keyword placement, meta elements, structured data, internal links, readability.
fact-checking.md- Verifying every claim, statistic, quote and attribution, because models fabricate them.
human-input-framework.md- Collecting and integrating the human input that generated articles lack.
content-types/ (19 templates)- Templates for nineteen page types: how-to, definition, comparison, listicle, pillar, FAQ, landing, product, category and more.
See it in action
One real run, in full
The request on the left went to the skill as installed. On the right is everything it returned, unedited; scroll inside the box to read it all.
Write the article for the keyword 'mql vs sql' for a B2B SaaS marketing audience, in English. This is an autonomous run: there is no one to answer the business-context or knowledge-extraction questions, so proceed as the skill says for that case and note where first-party input would lift the piece. Research the SERP by fetching what you can.
write-content: "mql vs sql"
Before the article: two things the skill would normally ask
Business context (first use). No saved business-context.md was found and this run is autonomous, so these stay open. The article below assumes: B2B SaaS marketing audience, English, no brand voice, no competitor exclusions.
- What does the business do, and who is it for?
- What's the brand's tone of voice? (Professional / Casual / Technical / Authoritative / Conversational)
- What language should content be written in?
- What topics should NEVER appear? (compliance, competitor mentions, etc.)
- Who are the 2-3 main competitors?
Phase 1 research (top results fetched 11 Sep 2026): HubSpot (~3,200 words, updated 31 Jul 2026), Klipfolio (~2,800), Cognism (~2,200, Oct 2025), Salesforce (~2,100, Jan 2024), AdRoll (~1,500, Dec 2025). Adobe timed out.
- Every result is a definition-plus-comparison explainer: "What is an MQL" / "What is an SQL" / differences / funnel position / how to convert / (sometimes) handoff. Four of five carry an FAQ block.
- Only HubSpot publishes conversion benchmarks, and they disagree with the Gartner figure Salesforce quotes (13% vs 21%). Nobody addresses the disagreement.
- Nobody covers the Sales Accepted Lead (SAL) step, the written SLA between teams, or product-qualified leads (PQLs), which is the one angle a SaaS audience actually needs.
- None of the five engages with the "MQL is dead" argument that is all over the second-page results (marketingops.com, learn.g2.com).
- No comparison table in any of them, despite the query being a "vs" query.
Phase 2 decision: The top results for "mql vs sql" are all definition-style explainers. I'll write a concept comparison with a verdict-first opener and an at-a-glance table, then the differences, benchmarks, handoff and the "is the MQL dead" question. Proceeding without confirmation (autonomous run).
Phase 3: No one to interview. Written from Phase 1 research alone; first-party gaps are marked at the end.
MQL vs SQL: The Difference, the Handoff, and Where B2B SaaS Teams Get It Wrong
MQL vs SQL in one paragraph
An MQL (marketing qualified lead) is a contact marketing believes is worth pursuing, based on fit and engagement. An SQL (sales qualified lead) is a contact sales has confirmed is ready for a buying conversation. The MQL is a prediction. The SQL is a verified intent. Everything else in the debate is about who gets to decide, and when.
If you only remember one thing: the MQL is marketing's claim, and the SQL is sales' acceptance of that claim after checking it. Most MQL vs SQL problems are really disagreements about that check.
MQL vs SQL at a glance
| MQL | SQL | |
|---|---|---|
| Who qualifies it | Marketing (usually automated, via a scoring model) | Sales (a human, after a conversation or a vetted request) |
| What it's based on | Fit (title, company size, industry) plus engagement (content, pages, events) | Confirmed need, budget, authority and timing, or a direct request such as a demo or pricing |
| Funnel stage | Awareness to consideration | Decision |
| Typical trigger | Webinar signup, guide download, several visits to key pages | Demo request, pricing inquiry, feature questions, active vendor comparison |
| What should happen next | Nurture, or a fast SDR touch if the score is high | Discovery call within a day, then an opportunity |
| Owner of the number | Marketing reports MQL volume | Sales reports SQL count and acceptance rate |
What is an MQL?
A marketing qualified lead is a person who fits your ideal customer profile closely enough and has engaged enough that marketing flags them for follow-up. The bar is set by marketing, and in most SaaS companies the bar is a number: a lead score crosses a threshold and the CRM flips the lifecycle stage.
The things that typically push a contact over the line: downloading a guide, registering for a webinar, visiting the pricing page twice in a week, opening a certain number of emails. HubSpot's own explainer uses 75 or more points as its example threshold. Yours will differ, and it should.
Here is what an MQL is not. It isn't someone who wants to talk to you. A VP of Marketing at a 400-person company who downloaded your "State of Email Deliverability" report is an MQL by almost any model. She may also never think about you again.
What is an SQL?
A sales qualified lead is a contact a salesperson has looked at and said yes to. The vetting can be a conversation, or it can be a request so explicit that no conversation is needed (someone booking a demo and filling in company size, current tool and go-live date is doing your discovery for you).
The classic checklist is BANT: budget, authority, need, timeline. HubSpot, Salesforce and Cognism all lean on it. It's fine as a starting point. It's also 1960s IBM methodology, and in a SaaS deal with a $12k ACV the "budget" question is often answered by a corporate card, so treat BANT as a prompt, not a gate.
The SQL is where marketing's forecast meets reality. That's why the count matters more than the MQL count. Ten thousand MQLs that produce forty SQLs is a marketing problem. Forty SQLs that produce two closed deals is a sales problem. The split is how you tell which one you have.
The difference that matters: who made the promise
Read the top-ranking articles on MQL vs SQL and the difference is always described as funnel position. Top versus bottom. Awareness versus decision. True, and not that useful, because a lead doesn't wear a badge saying which stage it's in.
The more useful frame: an MQL is a promise marketing makes to sales ("this person is worth your time"), and an SQL is sales accepting that promise. Between them sits a step almost nobody writes about, the Sales Accepted Lead (SAL). That's the moment a rep opens the record and decides whether to work it.
Why does that middle step matter? Because it's where the number that actually predicts your pipeline lives. Acceptance rate. If reps accept 90% of what marketing sends and 15% of those become SQLs, your scoring is decent and the leads just aren't ready. If reps accept 40% and 60% of those become SQLs, marketing is sending junk mixed with gold, and the fix is upstream. Same MQL-to-SQL rate in both cases (roughly 13%). Completely different diagnosis.
Track SAL. Most CRMs don't ship a stage for it by default. Add one.
What is a good MQL to SQL conversion rate?
There is no agreed benchmark, and the two most-cited sources disagree with each other. HubSpot's explainer (updated July 2026) puts the typical MQL-to-SQL rate at 10% to 20%, with 13% for B2B SaaS specifically. Salesforce's article cites Gartner research saying "just 21% of MQLs convert to SQLs," and that SDR teams then convert 59% of SQLs to opportunities.
So is 13% good or bad? Depends on which article you read. That's the honest answer, and it's also why your own trailing 12-month rate matters more than either number. A published benchmark tells you roughly whether you're in the room. It can't tell you whether your MQL definition is too loose (rate too low, reps ignore the queue) or too tight (rate looks great, volume starves the team).
One test I'd run before trusting any benchmark: split your MQL-to-SQL rate by source. Inbound demo requests and content downloads usually sit at opposite ends of the range, and an average across both hides the fact that one of them is doing all the work.
How long does it take to move from MQL to SQL?
HubSpot's explainer says B2B companies typically see the move happen within 30 to 90 days. Klipfolio's piece, citing martech.org, notes that B2B buyers consume around 13 pieces of content before choosing a vendor, which is the practical reason the window is measured in months and not days.
The two things that shorten it, in my reading of what the top sources agree on:
- Response time on high-intent actions. HubSpot recommends reaching out to a newly qualified lead within 24 hours. In practice, the demo request that sits in a queue over a weekend is the one that books with a competitor on Monday.
- Scoring on behavior, not just profile. A CFO who never opened an email and a CFO who read your pricing page four times both fit the profile. Only one of them should be on a rep's list this week.
How to move a lead from MQL to SQL
Score fit and intent separately
Most scoring models in SaaS blend fit points (title, company size, tech stack) with engagement points (page views, email clicks) into one number. That single number is what causes the classic complaint from sales: "marketing sends us students who read four blog posts."
Keep two scores. Fit answers "should we ever sell to this account?" and mostly doesn't change. Intent answers "is something happening right now?" and decays. Set the MQL threshold as a combination (fit above X and intent above Y in the last 14 days), and the student problem largely disappears. So does the opposite problem, the perfect-fit CTO who did one thing in 2024 and is still sitting in the queue.
Weight the actions that actually precede a deal
The pages and actions that predict an SQL are rarely the ones marketing is proudest of. Pricing page, integrations page, security or compliance documentation, "vs" comparison pages naming your competitors, a second person from the same company showing up. Those are hand-raises in disguise. An ebook download is not.
You can find your own list by pulling the last 50 closed-won deals and looking at what the champion did in the 30 days before the first sales call. No vendor benchmark will be as accurate as that.
For SaaS with a free tier: add the PQL
If people can use your product before they talk to you, the most reliable qualifier is product usage, not content. The product qualified lead (PQL) is a user or account that has hit a usage signal that correlates with buying: invited teammates, hit a plan limit, connected an integration, used a paid-only feature during a trial.
None of the top-ranking MQL vs SQL articles mention PQLs. For a product-led SaaS company that's the biggest gap in the whole SERP, because a PQL routinely skips the MQL stage and lands straight on a rep's desk as something very close to an SQL.
Setting up the MQL to SQL handoff
The handoff is where the definitions stop being a marketing exercise and start costing money. Four things belong in a written service-level agreement between the two teams. Written, not "we discussed it in the QBR."
1. The definition, in CRM terms. Not "a lead that shows interest." The actual field values: lifecycle stage flips to MQL when fit score is at least X and intent score is at least Y, or when the contact submits a demo or pricing form regardless of score. If a rep and a marketer can't both point to the same rule in the same system, you don't have a definition.
2. Marketing's volume commitment and sales' response commitment. Marketing commits to N MQLs per month at a target acceptance rate. Sales commits to a first touch inside a fixed window (HubSpot's 24-hour recommendation is a sane default; many SaaS teams run tighter for demo requests) and to a decision, accept or reject, inside another.
3. The reject reason. Every rejected MQL needs a reason from a short fixed list: wrong persona, wrong company size, no timeline, already a customer, competitor, bad data. That list is the feedback loop. Without it, the only thing marketing learns from a rejection is that sales is grumpy.
4. The recycle rule. What happens to an SQL that stalls? The default in most CRMs is that it rots in a rep's pipeline as a "nurture" opportunity forever, and marketing stops emailing it because it's "with sales." Write down when it goes back: no activity for 45 days, say, and it returns to marketing with the reject reason attached.
The handoff meeting you actually need is a 30-minute weekly review of last week's rejects. Not a monthly alignment session. The rejects are where the definition gets sharpened.
Is the MQL dead?
You'll see the claim everywhere on page two of the results: the MQL is dead, buying groups and intent signals replaced it, form fills are a trailing indicator. Some of that is true and some of it is vendors selling intent data.
The true part: in a B2B SaaS deal, the buyer is a group, and the MQL is scored on one person. If your model flags an individual because she downloaded a report and ignores that four people from her company visited your pricing page this month, the model is measuring the wrong unit. Account-level scoring fixes that, and you don't need a new acronym to do it. Klipfolio's piece cites Gartner's finding that 77% of B2B buyers found their last purchase difficult. Buying committees are a big part of why.
The overstated part: the label. Whether you call the stage MQL, "engaged account," or "buying group surge," someone still has to decide when a rep should spend an hour on it, and sales still has to accept or reject the call. That is the MQL vs SQL split, renamed. The teams that retired the MQL and got better results mostly did two things: moved scoring to the account level, and started scoring on high-intent behavior instead of content consumption. Both work inside the MQL framework. Neither requires abandoning it.
My position: keep the two stages, change what feeds them.
Who should not bother with an MQL and SQL split
A few cases where the whole two-stage model is overhead:
- One founder doing both jobs. If the same person runs the webinar and takes the demo call, the "handoff" is a thought. Track SQLs only.
- Pure product-led, no sales team. Self-serve SaaS with no reps has no one to accept a lead. Score product usage for expansion and support, and skip the MQL vocabulary entirely.
- Fewer than roughly 50 inbound leads a month. Below that, a rep can look at every lead by hand faster than you can maintain a scoring model. Add the model when the queue gets longer than one person can read.
- Enterprise ABM with a named account list. When the target list is 200 accounts and every one of them is "qualified" by definition, the useful stages are engagement tiers per account, not MQL/SQL per contact.
FAQ
What comes first, MQL or SQL?
MQL comes first. A lead becomes an MQL when marketing's criteria are met, then sales reviews it (the Sales Accepted Lead step) and either converts it to an SQL or rejects it back to nurture. Direct demo or pricing requests can skip the MQL stage and go straight to sales review.
Can a lead be both an MQL and an SQL?
Not at the same time, if your lifecycle stages are set up properly. A contact moves from MQL to SQL, and the MQL date stays on the record so you can measure how long the move took. If your CRM lets one record sit in both, you'll double-count in every funnel report.
What's the difference between an SQL and an opportunity?
An SQL is a person sales has agreed is worth a conversation. An opportunity is a deal record with a value and a close date, created after that conversation confirms there's something to sell. Salesforce's article cites Gartner's figure that SDR teams convert 59% of SQLs into opportunities, which is a reminder that plenty of SQLs never become deals.
Should marketing be measured on MQLs or SQLs?
On SQLs, or better, on pipeline sourced. Measuring marketing on MQL volume rewards loosening the definition. Measuring on SQLs (which sales controls) rewards sending fewer, better leads and forces the two teams to agree on the definition, which is the entire point.
Delivery note: where first-party input would lift this article
The piece is written from the five top-ranking sources only. Every number is attributed to the article it came from; none are independently verified against Gartner or martech.org. These slots would move it from "well-argued" to "unmistakably ours":
- Your own MQL-to-SQL rate, split by source, with the date range. One real table beats both published benchmarks.
- The reject-reason distribution from a real quarter (what percentage was "wrong persona" vs "no timeline"). The handoff section is the strongest part of the article and currently has no data behind it.
- A closed-won lookback: which pages or product actions your last 50 champions took before the first call. This would replace the generic "pricing page, integrations page" list with a real one.
- One story of the split going wrong (the quarter marketing hit its MQL number and pipeline still fell, or the SLA that got written after a fight). The "show thinking changing" rule in the skill can't be honored without a real moment.
- A PQL definition from your product, if there is a free tier. It's the SERP's biggest gap and the one place a SaaS company can say something no competitor article says.
- Internal links were not placed: no site map was available. Candidate anchors: lead scoring model, sales and marketing SLA template, product qualified lead definition, demo request follow-up playbook.
What this run could not do
The five business-context answers and the two or three knowledge-extraction answers were missing (no saved context file, no interviewee), so the rules that depend on first-party detail could not be honoured and are flagged; internal links are listed as candidate anchors because no site map was supplied; no business-context file was written because the skill confirms the location with you first.
Method behind it
Where we would differ, and why
Our content engine shares this skill’s enemy and adds the part it does not have: the source pool with minimums, the claim ledger no sentence may bypass, the figure plan, and a second model’s blind review. This skill makes prose sound human; our guide describes what makes it true.
The SEO structure section targets "~2% body density". Density targets went out of good practice a decade ago; the claude-seo content-brief skill on this shelf says so explicitly. Keep the placement rules, ignore the percentage.
The article length rule is right (match the top results, never pad). The 40 to 60 word answer block after the main H2 is a featured-snippet habit; it still helps AI extraction, so we keep it.

SKILL.md
The file the agent reads
Written by InhouseSEO and published under the Apache-2.0 licence. Read the full file (1,838 words) on GitHub, at the commit we reviewed: inhouseseo/superseo-skills/skills/write-content/SKILL.md. The reference files are in the same folder.
Questions
Questions people ask before installing
Does the banned-word list make prose better?
It removes the loudest tells. It cannot add the thing that makes a piece worth reading, which is why Phase 3 exists: the questions that pull out what only the author knows.
Will it invent statistics to hit the specificity rule?
Its own rule forbids it: an invented specific is worse than a generic sentence, and a claim with no real number is cut or asked about.
How does it install?
As a Claude Code plugin from the superseo-skills marketplace (all eleven skills at once), or by copying the skill folder into ~/.claude/skills/.



