agentsclimarketplace

Clear copy marketing

Skill DesiredPathConsulting/clear-copy/skills/clear-copy-marketing

Use when writing or revising marketing/consultant/editorial prose for human readers (landing pages, hero copy, About pages, services pages, founder letters, blog posts, newsletters, packet content, longform articles). Calibrated against a DTC-consultant corpus (shorter sentences, higher Flesch, lower abstract-noun ratio than legal prose). Skip for code, code comments, commit messages, README, CLAUDE.md, structured data, JSON-LD, developer documentation, Privacy/Terms/DMCA/legal disclaimers, bar-journal prose (use clear-copy instead).From its SKILL.md

Install
npx -y skills add DesiredPathConsulting/clear-copy --skill clear-copy-marketing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

16.5 KB, ~3.8k tokens by cl100k_base, as published. Nobody here has run it

Clear-Copy Skill (Marketing Register)

A prose linter, not a humanizer. The skill scores prose against a calibrated reference register, flags AI-tells and mechanical issues, and leaves the rewrite to the writer. Every commercial alternative (Undetectable, Humbot, StealthGPT, WriteHuman) and every public Claude Code skill in this space (blader/humanizer, Aboudjem, voice-humanizer, conorbronsdon) is a rewriter. This one isn't. The writer learns the calibration.

Sentence-length variance is the load-bearing engagement metric. Some detection literature calls this signal "burstiness" (e.g., GPTZero's whitepaper, where it is operationalized as the coefficient of variation of sentence length). The tool computes standard deviation of sentence length, which serves the same role: low values flag uniform, machine-like rhythm. The engagement target and the detection-evasion target are the same number, which is what makes the metric useful.

Register-awareness as a methodological choice

Burstiness-based detection has been criticized (Pangram's own essay, 2024; multiple false-positive studies) for elevated false-positive rates on formal registers and non-native English: 15-45% FPR depending on the study. The two-register design in this skill (legal allows long sentences, marketing doesn't) is the response to that problem. Marketing prose runs short and concrete; legal prose runs long and citation-dense; scoring them against one threshold produces noise. Calibrating against a target corpus is the correction.

Generation-time principles (apply while drafting)

  1. Visualizable, falsifiable, non-obvious. Every claim either paints a picture (concrete noun, specific scene), can be checked (a number, a citation, a falsifiable statement), or delivers insight the reader couldn't derive from a Google search. If a sentence fails all three, cut or rewrite. Recapping what's widely known without adding a specific observation, number, or first-hand angle is not analysis.
  2. Concrete nouns, calibrated. "Two-attorney firm in Tampa" beats "small firms in Florida" when the specificity matters. "Small firms" is right when generalizing across many. Do not auto-specify; pick the level that serves the claim.
  3. Sentence-length variance. Mix short with long. A 4-word sentence next to a 25-word sentence creates the rhythm readers feel as human. Standard deviation of sentence length is the single load-bearing stat.
  4. Do not manufacture variance. A 4-word sentence must carry meaning. Empty fragments are worse than uniform length. Anti-pattern: "It works. The system runs. Here's why." (Three filler fragments, no information.)
  5. Universal hedge blocklist. Avoid:
    • "In today's [X] landscape"
    • "When it comes to"
    • "It's worth noting that"
    • "Whether you're X or Y"
    • "At the end of the day"
    • "Moreover/Furthermore/Additionally" as sentence openers
    • Note: "It's important to" is NOT on this list. It is load-bearing in legal disclaimers and similar contexts.
  6. Opener variance. Of the first 5 sentences, no more than 2 should start with the same construction (subject pronoun, "The X is," "When X," "If X," etc.).
  7. Paragraph rhythm. Vary paragraph length. Vary paragraph openers. AI prose often has fine sentence variance but every paragraph is the same length and shape (3-5 sentences each, all topic-sentence-then-support).
  8. No em dashes. Use commas, colons, parentheses, periods.
  9. Voice over polish. A specific awkward sentence in the writer's voice beats a smooth generic one. Where the writer's voice exists in source material (notes, transcripts, prior drafts), preserve idiom.
  10. Mechanical sanity checks (these replace any "read-aloud" intuition):
    • Cap sentence length at 35 words. Restructure anything longer.
    • Limit prepositional-phrase chains: at most 2 in a row before a clause break.
    • Avoid 3+ consecutive sentences with the same syntactic skeleton.
    • Heading check: headings should describe what the section delivers, not promise more. "How We Cut Onboarding Time by 40%" beats "The Results Speak for Themselves." If a heading overpromises relative to the content below it, rewrite the heading or expand the content.
  11. Experience signals. When writing from first-hand knowledge (client work, direct sourcing, original research), surface that concretely. "In a four-month engagement with a 12-attorney firm" beats "in our experience." Where first-hand experience doesn't exist, cite the source who does. Prose that shows the author was in the room or did the work is more credible and more persuasive than prose that doesn't.

Vocabulary-level AI tells (drafting blocklist)

Statistical variance can come out clean while the prose is still riddled with vocabulary that's instantly AI-coded. Sourced from Wikipedia's "Signs of AI writing" and observed AI output.

AI-era vocabulary (single words): delve, testament, enduring, intricate, intricacies, tapestry, pivotal, vibrant, underscores/underscoring, showcase (as verb), garner, foster (as verb), groundbreaking, nestled, breathtaking. Project-specific additions: leverage (as verb), robust (as marketing adj), seamless/seamlessly, best-in-class, cutting-edge, unlock (marketing verb), empower (marketing verb), future-proof, "navigate the complexities of", "in an ever-changing regulatory landscape".

Marketing-specific cliché blocklist (additions for this register):

  • Generic puffery adjectives: world-class, results-driven, next-level, next-gen, industry-leading, mission-critical, purpose-built, hand-crafted (when not literal), bespoke (when not literal). These are decorative, not informative.
  • Vague benefit verbs: supercharge, accelerate (as marketing claim without a number), amplify, ignite (marketing sense), turbocharge. Replace with the specific outcome.
  • Empty consultant phrases: "tailored to your needs", "tailored to your business", "comprehensive solution", "end-to-end solution" (the word "solution" is the tell here; "I do end-to-end product work" is fine), "proven track record", "best practices" (when used as a positive claim without qualification — Brian's positioning specifically rejects this), "drive (real|true|meaningful) results".
  • AI-era marketing verbs: elevate (already on universal list), unleash, unlock (already on universal list), transform, revolutionize. Replace with the actual change verb.
  • Hero-copy anti-patterns: "We help [audience] [generic verb] their [generic noun]" without a number or named example. AJF Growth's "Hi. I'm Andrew. And I grow ecommerce brands." is the counter-example — voice + concrete claim, no puffery.

Founder-letter exemptions: "I" / "we" pronoun openers are fine in this register (legal prose hides the author; marketing puts them forward). Career-arc parallelism ("From founding team at X to first hire at Y") is good when the X and Y are real and the arc means something. AJF Growth uses this pattern well.

Copula avoidance. Replace "serves as a / stands as a / functions as a / marks a [pivotal] moment / represents a shift" with plain "is" or "has". "The opinion is the leading authority" beats "The opinion serves as the leading authority."

Vague attributions. "Experts believe", "industry observers note", "critics argue", "some sources suggest" are AI tells AND violate the project rule that all claims trace to a primary source. Either name the source or cut the claim.

Knowledge-cutoff disclaimers. "As of my last training", "while specific details are limited", "based on available information", "readily available sources". These are chatbot artifacts that should never ship.

Generic positive conclusions. "The future looks bright", "exciting times lie ahead", "a major step in the right direction", "journey toward excellence". Replace with a specific concrete next thing or cut.

Persuasive authority tropes. "At its core,", "the real question is", "what really matters", "the deeper issue", "the heart of the matter". The sentence that follows usually just restates an ordinary point with extra ceremony.

Signposting. "Let's dive in", "let's explore", "let's break this down", "here's what you need to know", "without further ado". Cut the announcement and start the actual sentence.

Negative parallelisms. "It's not just X, it's Y." "Not only X but Y." Tail-negation fragments ("no guessing", "no wasted motion") tacked onto the end of a sentence. Convert to direct positive statements.

-ing tacking. Present-participle phrases tacked onto the end of a sentence to fake depth: "..., highlighting/underscoring/reflecting/contributing to/symbolizing/emphasizing X." Either cut the tail or split it into its own sentence with a real subject.

False ranges. "From X to Y" where X and Y aren't on a meaningful scale. "From the singularity of the Big Bang to the dance of dark matter" is decorative, not informative.

Triple rhetorical question hook. Opening with two or three short questions back-to-back to manufacture intrigue ("What if X? What if Y? What if Z?"). Replace with a direct opening claim or a specific story.

Three-part negation. "It's not about X. It's about Y. It's about Z." or "It's not just X. It's not just Y. It's also Z." Replace with a single direct sentence stating the actual point.

Stat bomb opener. Three or more standalone statistical fragments in sequence ("80% of firms. $400 average premium. 12 weeks to renewal."). Weave the numbers into real sentences with subjects and context.

Punchy orphan closer. Ending a paragraph or section with a standalone short fragment as a mic-drop ("Game changer." / "And it works." / "Every time."). Either fold it into the prior sentence or replace it with a real concluding thought.

Curly quotes. Use straight " and '. Smart quotes (", ", ', ') are a ChatGPT default that should never ship.

Verification flow (when writing prose >=5 sentences for the user)

After drafting, run the stats compute. Tool location: tools/prose-check.mjs (at the root of this repo). Always pass --register=marketing for this skill. The marketing register uses tighter sentence-mean targets (7-18 vs legal's 10-22) and stricter abstract-noun thresholds (warn at 4, fail at 6) because marketing prose runs shorter and more concrete than legal prose by convention.

Marketing-register typical values for human consultant copy:

  • sentMean: 8-15 words (median ~11)
  • sentStdev: 5-12 (variance comes from mixing hero fragments with longer About prose)
  • Flesch: 50-75 (much higher than legal; lower means probably overwrought)
  • abstractRatio: 1-4 per 100 words (much lower than legal)
  • paraStdev: 0.8-2.5 (high; hero/sub/CTA paragraphs are short, About paragraphs longer)

The reference algorithm is in references/stats-compute.md. The reference distribution is in references/comparison-samples.md.

  1. Compute: sentence-length mean and stdev, paragraph-length mean and stdev, Flesch reading ease, abstract-noun ratio, hedge regex hits, vocab/phrase hits, curly-quote count, opener-pattern flag, mechanical flags (long sentences, prep chains, repeated-shape runs).

  2. Look up comparison ranges from the corpus. Output a stats block in this shape:

    Stats for this draft:
    - Score: 84 / 100  (PASS)
    - Sentence-length stdev / burstiness: 7.2  (within target)
    - Mean sentence length: 18 words  (within target)
    - Flesch reading ease: 52
    - Abstract-noun ratio: 4.0 / 100 words  (within target)
    - Paragraph-length stdev: 1.1 sentences
    
    Mechanical flags (-0 pts): None.
    Hedges (-0 pts): None.
    Vocab and phrasing (-3 pts):
    - 3 vocab/phrase AI tells:
      - vocab (2): line 4: "pivotal", line 11: "underscores"
      - copula (1): line 7: "serves as a"
    
  3. Emit this block into the response so skipping is visible.

  4. Revise if the draft has multiple load-bearing metrics in AI-sample range AND any mechanical flag. Single-metric outliers are not auto-revise triggers.

Final anti-AI audit pass

After the stats-block revision settles, run one more pass before declaring the draft done. Ask, in your own context: "What about this still reads as AI-generated?" Answer with 2-3 specific tells (rhythm too tidy, closer too slogan-y, unnamed source still vague, etc.). Then revise to address them. This catches voice-level patterns that no regex will.

This pass is from blader/humanizer. It's lightweight and high-yield: half the time it surfaces a tell the metrics missed.

Real enforcement

The stats block is a soft check during writing. The hard gate is a project-level CI script (see references/ci-enforcement.md) that runs the same algorithm in GitHub Actions on every PR. Any project that adopts this skill should also wire the CI script if it has content that's at risk of AI flags.

Review-loop pattern (batch reviews)

When reviewing more than ~5 prose files in one session, do not edit them serially in the main context. The cost is that the main context fills up with file content, slowing every subsequent step.

Instead:

  1. Triage first. Run node scripts/prose-check.mjs --triage <files> to get one line per file, sorted worst-first, with the top 3 deductions for each. This is the per-file budget allocator: no need to read pages that scored 80+.
  2. Diff mode for inspection. For pages you intend to fix, --diff prints the offending spans (long sentences, prep chains, vocab hits) without the full stats block. Faster signal than reading the page.
  3. Subagent dispatch per file. For the actual rewrites, dispatch one Explore-or-general-purpose subagent per file (or per small group of related files) with: the file path, the prose-check output, and the relevant generation-time principles. The main context only sees the resulting diffs.
  4. Re-run triage at the end. Confirm the sweep moved scores in the right direction; spot-check anything that regressed.

Source format note

For .astro / .tsx / framework-component pages, score the built HTML in dist/, not the source files. Source-side regex extraction is heuristic and misses prose passed via component props or slots. Run npm run build first, then node scripts/prose-check.mjs --html --triage dist/<paths>. The CLI honors data-prose-check-ignore on any element and has a default skip list for legal/utility pages (privacy, terms, disclaimer, accessibility, 404, search).

The skill itself stays one skill. This pattern is the workflow that makes batch reviews cheap.

Prior art and how this skill differs

Each metric this skill computes has documented prior art. The contribution is the combination: deterministic CLI + AI-tell lexicon + corpus-calibrated thresholds + transparent scoring formula, in one pass.

  • Wikipedia's "Signs of AI writing" (May 2026, WikiProject AI Cleanup): catalogs vocabulary tells, em-dash overuse, negative parallelisms, rule-of-three lists. Does not cover sentence-length variance, perplexity, or burstiness. This skill adds the statistical layer the Wikipedia article omits.
  • blader/humanizer, Aboudjem/humanizer-skill, conorbronsdon/avoid-ai-writing, dannwaneri/voice-humanizer: all Claude Code skills covering the lexical axis (vocabulary blocklists, pattern lists). All prompt-based; none ship a deterministic CLI with reproducible numbers. The Aboudjem skill emits a 0-100 score with undisclosed formula. This skill publishes the formula (see references/stats-compute.md).
  • proselint (Suchow & Griffiths, 2016): rule-based style linter using expert-codified rules with fixed thresholds. No corpus calibration, no AI-tell coverage. This skill adds both.
  • GPTZero / Pangram / Copyleaks / DetectGPT / Binoculars: detectors targeting the same signals (perplexity, burstiness, n-gram repetition). Closed; flag rather than explain at writer-actionable granularity. This skill exposes the same signals in writer-facing output.
  • Stylometric corpus comparison (Burrows's Delta, 2002, and the genre-aware variants): score a candidate text against a reference distribution. This skill inverts the typical detection use case: a domain corpus as a positive style target for a human writer, not as detector training data. Closest published analog; the inversion is the contribution.

What ships with it: 3 files

14.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,499. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.