[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MMTPE053C8GQ8R2AA5ME4M":3,"skill-same:01M6MMTPE053C8GQ8R2AA5ME4M":104},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6MMTPE053C8GQ8R2AA5ME4M","x-humanizer",null,"Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity. Also --mode audit (280-char fit and format), --mode profile (learns how you write) and --mode interview (fills your Story Bank: the numbers, turning points and positions posts are made of). Not for writing from scratch (use x-post-writer). Keywords: humanize, de-AI tweet, AI slop, interview me, audit before posting.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1566,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"humanizer","x humanizer","human","2026","reveal","slop","bank","mode","posts","you","de","positions","writing","me","writer","humanize","remove","write","how","audit","react","2026-11-10 10:12:30",false,"---\nname: x-humanizer\ndescription: \"Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity. Also --mode audit (280-char fit and format), --mode profile (learns how you write) and --mode interview (fills your Story Bank: the numbers, turning points and positions posts are made of). Not for writing from scratch (use x-post-writer). Keywords: humanize, de-AI tweet, AI slop, interview me, audit before posting.\"\n---\n\n# X Humanizer V3\n\nRewrites any tweet or thread to remove the AI tells that human readers notice,\nand audits a finished draft against the 2026 X ranking checklist. Based on\nWikipedia's \"Signs of AI writing\" taxonomy, the 2025-2026 stylometry\nliterature, and our own length-controlled X corpus (n=445). **V3 (2026-09):**\nrecalibrated on 2026 evidence. Vocabulary is scored by density, em dashes are\ncapped instead of banned, forced rhythm is now a tell instead of a fix, and\nthere is an over-correction guard.\n\n**What this skill does not do:** it does not make text \"pass\" GPTZero,\nPangram, Turnitin or Originality. Those are trained classifiers keyed on the\ninstruction-tuning style signature; prompt-style \"sound like a real person\"\nrewrites are caught 92-95% of the time, and light mechanical rewriting raises\ndetectability. On tweet-length text (under 300 words) detector scores are\nnoise. The real value is elsewhere: expert human readers cite vocabulary (53%)\nand sentence structure (36%) as what gives AI text away, and X readers punish\nit with the ratio, the quote-dunk, and the scroll. This skill removes what\nthose readers react to.\n\n## What changed in V3\n\nEvidence tier in brackets: [strong] = replicated across 2+ independent\n2025-2026 studies or our own length-controlled corpus; [vendor] = single\nplatform or vendor dataset; [weak] = one study or expert-panel report.\n\n- **Vocabulary moved from a delete-list to density scoring.** The 2023-24 words\n  (delve, tapestry, realm, journey) are decaying as humans avoid them [strong].\n  The durable 2026 markers are common words (significant, crucial, notably,\n  comprehensive, insights, robust, leverage, foster, landscape, nuanced,\n  streamline, elevate) plus grammar: nominalisations and \"-ing\" clause openers\n  at 5.3x the human rate [strong]. In our X corpus AI vocabulary appears in 14%\n  of top tweets and those tweets earn 0.58x the median engagement [strong].\n  One marker in a tweet is not a verdict. Three is.\n- **Em dash is no longer a tell; the density is.** GPT-5.4 emits 1.43 per\n  1,000 words, below the 3.23 human baseline [strong]. On X specifically em\n  dashes are rare in top tweets (11%) and those tweets earn 0.52x the median\n  [strong: corpus], so the cap here is tight: **at most one per tweet**, and\n  none in a tweet that does not need one. Replace the excess with a comma, a\n  colon, `..`, or a rewrite. Never a period (a split dash stacks fragments).\n- **Forced burstiness is the #1 2026 tell, not the fix.** Mechanical\n  long\u002Fshort alternation is a learnable humanizer fingerprint [weak], and on X\n  the rhythm rule flips with length: **uniform rhythm wins on short posts**\n  (about 75 words, 1.7x median engagement for low-variance tweets) and natural\n  variance only helps on long threads (about 430 words, 1.8x) [strong: corpus,\n  length-controlled]. So Pass 2 never forces variance on a single tweet, and on\n  a thread it only removes manufactured variance and un-flattens what reads\n  machine-flat. \"Short. Punchy. Done.\", \"No X. No Y. Just Z.\", one-word\n  tweets for drama and \"The result?\" reveals are the current top tells.\n- **Rule of three is still a tell, at density.** Tricolon runs at 2x\n  expert-human rate across 2026 frontier models [strong]. 26% of top human\n  tweets contain exactly one [strong: corpus], so one natural triple with\n  concrete items stays. Stacked, perfectly parallel triads and a second triad\n  in the same tweet get scrubbed.\n- **Fingerprint injection was half wrong.** Named entities and concreteness are\n  supported [strong]; an odd-precision number with a referent in line 1 is the\n  strongest opener. Bare numbers are not a discriminator, and inserted hedges\n  and confessions backfire: performed hesitancy is 2x more common in LLM text,\n  and sincerity announcements (\"let me be honest\", \"unpopular opinion:\" on a\n  popular take) are a named 2026 tell [strong]. Pass 3 asks for a flat, dated,\n  uncomfortable fact instead.\n- **Over-correction guard.** Humanizer output has its own fingerprint [weak].\n  Pass 4 checks whether Passes 1-3 introduced the very patterns they were meant\n  to remove. Edits are proportional to real problems. When in doubt, leave it.\n\n## When to use\n\n- Before publishing any AI-drafted tweet or thread (rewrite mode)\n- Pre-publish review of a finished draft (audit mode, see `sub-skills\u002Fpost-audit.md`)\n- When a draft feels off and you cannot pinpoint why\n\n## Input\n\nAny text: a single tweet, a thread (with or without `---` breaks), a reply, or a\nquote-tweet draft. Optional: target voice samples (the user's past tweets).\n\n## Output\n\n- Rewritten text with AI tells removed\n- A diff showing what changed and why\n- Per-tweet char count (flagging anything over 280, emoji counted as 2)\n- Per-tweet tell density (markers per tweet; 3+ triggered a rewrite)\n- Reader-read confidence: \"reads human\", \"mixed\", \"reads AI\" (a reader-tell\n  estimate, not a detector score)\n\n## Modes\n\n```bash\n# Default: scrub AI tells (forensic + strict) and fix X-format issues\nx-humanizer \u003Ctext>\n\n# Forensic only - minimum touch, just kill model leakage\nx-humanizer --mode forensic \u003Ctext>\n\n# Audit - detection-only pass-fail review, no rewrite\n# Runs the 2026 X checklist: 280-char fit, first-line hook, hashtag\u002Femoji\n# limits, link placement, thread tap-through, goal clarity.\n# Returns Blockers + Warnings + suggested fixes. See sub-skills\u002Fpost-audit.md.\nx-humanizer --mode audit \u003Ctext>\n\n# Profile - build\u002Fupdate the user's Voice & Brand Profile. See the section below.\nx-humanizer --mode profile\n\n# Interview - fill the Story Bank: what you have to say, not how you say it.\n# 20-40 minutes, resumable, or --mode interview post for one focused topic.\nx-humanizer --mode interview\n```\n\n## The four passes\n\n### Pass 1 - SCRUB (score, then delete or replace)\n\nApply the tiered catalogs in `references\u002Fscrub-rules.md`. The unit of\njudgement is the **tweet, not the word** (in a Premium long post over 280\nchars, the paragraph): count markers per unit, rewrite the unit at 3+, leave a single marker alone unless it is a reveal bridge, negative\nparallelism, a sincerity marker, or forensic leakage.\n\n- **Forensic** (always on): real model leakage no human types. AI tool markers\n  (oaicite, contentReference, turn0search0), knowledge-cutoff disclaimers (\"As\n  of my last update\"), template blanks ([Your Name]), and em dashes above the\n  cap (more than one in a tweet).\n- **Strict** (default on): what readers react to. The durable 2026 vocabulary\n  set scored by density (significant, crucial, notably, particularly,\n  comprehensive, insights, robust, leverage, foster, landscape, nuanced,\n  streamline, elevate, empower), grammar markers (nominalisations,\n  sentence-opening \"-ing\" clauses), the 2026 model-idiom layer (quietly, \"X\n  matters.\", compound, \"a signal\", \"the work\", \"built different\", \"let that\n  sink in\"), reveal bridges on a single hit (\"The result?\", \"Here's what\",\n  \"Stop X, start Y\", \"plot twist:\"), all forms of negative parallelism,\n  stacked or perfectly parallel triads and any second triad in a tweet, phrase\n  cleanups (\"in today's fast-paced world\", \"game-changer\", \"deep dive\"), and\n  dead closers (\"what do you think?\").\n- **X-format scrubs** (always apply): 280-char fit with emoji as 2, hashtag and\n  emoji limits, link placement, first line that stands alone.\n\n### Pass 2 - RHYTHM (never force it)\n\nDetectors do not score burstiness. On X the corpus says rhythm depends on\nlength: **uniform rhythm wins on short posts** and natural variance only helps\non long threads. So Pass 2 has two jobs: remove manufactured variance\neverywhere, and un-flatten only a long thread that reads machine-flat. It\nnever adds variance as a tactic.\n\n- **Single tweet, reply, or quote tweet: do not touch the rhythm.** A tweet of\n  three same-length sentences is how top tweets read (1.7x median engagement\n  for uniform rhythm at about 75 words). Never insert a fragment, never chop a\n  sentence to \"add punch\".\n- **Threads:** a mix of tweet lengths that arises from the material is fine and\n  is what human variance looks like. Edit only when every tweet runs the same\n  length and reads flat, and then let the tweet carrying the most content take\n  one real clause, once. Never insert a 3-word \"punch tweet\" for rhythm; the\n  inserted punch is the humanizer fingerprint.\n- Standalone fragments: at most 1 per tweet and 2 per thread. \"Every time.\"\n  once is a voice quirk; three in a thread is a pattern.\n- Banned outright (rewrite as full sentences): \"The X? Y.\" reveals; \"No X. No\n  Y. Just Z.\"; \"All the X. None of the Y.\"; \"Simple. Effective. Easy.\"\n  adjective stacks; one-word tweets or lines for drama (\"Still.\" \"Exactly.\");\n  pseudo-Socratic Q&A (\"Why? Because...\"); \"Short. Punchy. Done.\" staccato\n  runs. Fragment runs are the tell.\n- Layout is not rhythm. A hard return between two short lines is native X\n  pacing and stays. Fragment-for-drama inside those lines is the tell.\n- Never alternate long\u002Fshort\u002Flong\u002Fshort across a thread. That seesaw is the\n  humanizer fingerprint.\n\nThe check is \"did I add a staccato pattern, and does any long thread read\nmachine-flat\", not a variance number.\n\n### Pass 3 - ADD (human fingerprints)\n\nRequire where the content allows:\n- One odd-precision number WITH a named referent: who, what, when, or what it\n  cost (\"$4,730 in Vercel overages, March invoice\", not \"$5k\" and not\n  \"massive costs\"). A bare number is not a fingerprint; the referent carries\n  the signal.\n- One named entity (real person, company, date, tool)\n- One first-person concrete detail\n- One specific, dated, uncomfortable fact stated flat, with no framing sentence\n  before or after it. Not \"not gonna lie, this one hurt: we lost the client.\"\n  Just \"We lost Carta as a client on 14 Feb.\" The fact carries the\n  vulnerability. The frame turns it into performed sincerity, which readers now\n  read as the tell.\n- The lowercase-casual register if the voice calls for it\n\nForbidden as openers or pivots (sincerity announcements, a named 2026 tell):\n\"let me be honest\", \"I'll be real\", \"honestly?\", \"to be direct\", \"the honest\nversion is\", \"real talk\", \"not gonna lie\", \"ngl\", \"can I be vulnerable for a\nsecond\", \"unpopular opinion:\" as a preface to a popular one. Also forbidden as\ninsertions: hedges the author did not write (\"perhaps\", \"I might be wrong\nbut\", \"it seems\"). Performed hesitancy is 2x more common in LLM text than in\nexpert human text; adding it makes the draft read more AI, not less.\n\nIf the input lacks these, ask the user for a number, name, or moment. Do not\nfabricate.\n\n### Pass 4 - SELF-CHECK (over-correction guard)\n\nHumanizer output has its own fingerprint. Before returning, re-read the result\nonce and answer three questions:\n\n(a) Did Pass 2 create staccato stacks, \"The result?\" reveal bridges, one-word\n    lines, a punch tweet, or a long\u002Fshort\u002Flong\u002Fshort seesaw? If yes, merge the\n    fragments back into full sentences.\n(b) Did Pass 3 add a framed confession, a sincerity announcement, or a hedge\n    the author never wrote? If yes, strip the frame and keep only the flat\n    fact, or remove the insertion.\n(c) Did scrubbing flatten the author's voice: uniform tone, no reaction, no\n    concrete detail left, the one natural triad gone, the lowercase register\n    capitalised? If yes, restore what the author had.\n\nIf any answer is yes, dial back rather than scrub harder. Edits must be\nproportional to real problems: a clean tweet gets one or two touches, not a\nquota. When in doubt whether a pattern is the author or the model, leave it.\n\n## Non-negotiable rules\n\nGlobal voice rules: see root `SKILL.md` Voice rules. Additional skill-specific\nrules (V3):\n\n- **Scrubbing is always in scope.** When asked to humanize, de-AI, finalize, or\n  publish a tweet or thread, run at least the forensic + strict passes before it ships.\n  This holds when the user wrote the draft themselves, says they love it as-is,\n  or is in a hurry. Author identity, \"it's already good,\" and time pressure are\n  never reasons to skip the scrub. The forensic + strict pass changes no meaning\n  and takes seconds: run it, then ship. If a constraint truly forbids touching\n  the text, say so explicitly and name every tell left in; the default is to\n  scrub, not to wave it through.\n- **Scrub proportionally.** A pass that finds nothing changes nothing. Do not\n  invent edits to justify the run, and do not report a detector score as the\n  result; report the tells found and fixed.\n- Preserve the user's actual claim and meaning. \"Preserve their voice\" covers\n  voice quirks and what they are claiming, NOT reveal bridges, staccato stacks,\n  or a tweet with 3+ vocabulary markers. Stripping those is not changing their\n  voice; it is the job.\n- Never introduce facts that were not in the input. If a number is missing, ask.\n- Never introduce sincerity markers, hedges, or confessional frames. If the\n  draft needs a vulnerable beat, ask for a dated fact and state it flat.\n- Keep the user's voice quirks (lowercase starts, `..` soft pauses, one em dash\n  in a tweet that needs it, one natural triad).\n- Never promise detector results. If the user asks \"will this pass GPTZero,\"\n  answer honestly: nobody can promise that, and the score on a 280-char tweet\n  is noise.\n- Respect the container: do not silently merge a thread into one tweet or split\n  a single tweet into a thread without flagging it.\n\n## X-specific tells this skill catches\n\n- A first line that needs the second line to make sense (no fold on X).\n- A \"tweet\" that is actually 320 chars because two emoji pushed it over 280.\n- 3+ hashtags, or hashtags mid-sentence.\n- An external link in tweet 1 of a thread meant to reach.\n- A thread with an inserted 3-word \"punch tweet\" for rhythm (the humanizer\n  fingerprint), or a long thread where every tweet reads machine-flat.\n- ALL CAPS openers reaching for intensity.\n- \"A thread:\" with no actual promise in the words.\n- \"Unpopular opinion:\" on a take that is actually popular.\n\n## Example\n\nSee `references\u002Fexamples.md` for worked before\u002Fafter rewrites.\n\n## Files\n\n- `SKILL.md` - this file (rewrite scrubber + audit-mode entry)\n- `references\u002Fscrub-rules.md` - V3 regex patterns by tier, density scoring, em dash cap, rhythm rules, forbidden insertions\n- `references\u002Fexamples.md` - worked before\u002Fafter rewrites for tweets and threads\n- `references\u002Faudit-checklist.md` - the pre-publish checklist with thresholds\n- `sub-skills\u002Fpost-audit.md` - pre-publish audit workflow (detection-only, no rewrite)\n- `sub-skills\u002Fvoice-profile.md` - build\u002Fupdate the user's Voice & Brand Profile (`--mode profile`)\n- `sub-skills\u002Fstory-bank-interview.md` - interview the user and fill the Story Bank (`--mode interview`)\n- `sub-skills\u002Fillustration.md` - optional Pixfaro image workflow\n\n## Voice profile mode (`--mode profile`)\n\n`x-humanizer --mode profile` builds or updates the user's Voice & Brand Profile at `..\u002F..\u002Freferences\u002Fvoice-profile.md` from 3-6 of their real X (Twitter) posts pasted in (portable, no token) or, if a read token is set, from pulled activity. Once filled, every writing skill in this bundle drafts in the user's voice automatically. See `sub-skills\u002Fvoice-profile.md`. Triggers: \"build my voice profile\", \"learn my voice\".\n\n## Story Bank mode (`--mode interview`)\n\n`x-humanizer --mode interview` interviews the user and writes\n`..\u002F..\u002Freferences\u002Fstory-bank.md`: the numbers, dated moments, turning points, scars\nand positions their posts are made of. The Voice Profile holds how they sound; the\nbank holds what they have to say, and an empty bank is the usual reason drafts come\nout generic. Budget 20 to 40 minutes, resumable across sessions.\n\n`--mode interview post` runs the short version: 5 to 8 questions on one topic,\nending in a five-line spine (Moment, Number, Correction, Opposition, Ask) handed to\n`x-post-writer`.\n\nNever invents an answer: a line with nothing real in it stays empty and the section\nis marked thin. See `sub-skills\u002Fstory-bank-interview.md`. Triggers: \"interview me\",\n\"ask me questions\", \"help me work out what to post about\".\n\n## Related skills\n\n- `x-post-writer` - generates single tweets that already pass the humanizer\n- `x-thread-builder` - generates threads that already pass the humanizer\n","# X Humanizer V3\n\nRewrites any tweet or thread to remove the AI tells that human readers notice,\nand audits a finished draft against the 2026 X ranking checklist. Based on\nWikipedia's \"Signs of AI writing\" taxonomy, the 2025-2026 stylometry\nliterature, and our own length-controlled X corpus (n=445). **V3 (2026-09):**\nrecalibrated on 2026 evidence. Vocabulary is scored by density, em dashes are\ncapped instead of banned, forced rhythm is now a tell instead of a fix, and\nthere is an over-correction guard.\n\n**What this skill does not do:** it does not make text \"pass\" GPTZero,\nPangram, Turnitin or Originality. Those are trained classifiers keyed on the\ninstruction-tuning style signature; prompt-style \"sound like a real person\"\nrewrites are caught 92-95% of the time, and light mechanical rewriting raises\ndetectability. On tweet-length text (under 300 words) detector scores are\nnoise. The real value is elsewhere: expert human readers cite vocabulary (53%)\nand sentence structure (36%) as what gives AI text away, and X readers punish\nit with the ratio, the quote-dunk, and the scroll. This skill removes what\nthose readers react to.\n\n## What changed in V3\n\nEvidence tier in brackets: [strong] = replicated across 2+ independent\n2025-2026 studies or our own length-controlled corpus; [vendor] = single\nplatform or vendor dataset; [weak] = one study or expert-panel report.\n\n- **Vocabulary moved from a delete-list to density scoring.** The 2023-24 words\n  (delve, tapestry, realm, journey) are decaying as humans avoid them [strong].\n  The durable 2026 markers are common words (significant, crucial, notably,\n  comprehensive, insights, robust, leverage, foster, landscape, nuanced,\n  streamline, elevate) plus grammar: nominalisations and \"-ing\" clause openers\n  at 5.3x the human rate [strong]. In our X corpus AI vocabulary appears in 14%\n  of top tweets and those tweets earn 0.58x the median engagement [strong].\n  One marker in a tweet is not a verdict. Three is.\n- **Em dash is no longer a tell; the density is.** GPT-5.4 emits 1.43 per\n  1,000 words, below the 3.23 human baseline [strong]. On X specifically em\n  dashes are rare in top tweets (11%) and those tweets earn 0.52x the median\n  [strong: corpus], so the cap here is tight: **at most one per tweet**, and\n  none in a tweet that does not need one. Replace the excess with a comma, a\n  colon, `..`, or a rewrite. Never a period (a split dash stacks fragments).\n- **Forced burstiness is the #1 2026 tell, not the fix.** Mechanical\n  long\u002Fshort alternation is a learnable humanizer fingerprint [weak], and on X\n  the rhythm rule flips with length: **uniform rhythm wins on short posts**\n  (about 75 words, 1.7x median engagement for low-variance tweets) and natural\n  variance only helps on long threads (about 430 words, 1.8x) [strong: corpus,\n  length-controlled]. So Pass 2 never forces variance on a single tweet, and on\n  a thread it only removes manufactured variance and un-flattens what reads\n  machine-flat. \"Short. Punchy. Done.\", \"No X. No Y. Just Z.\", one-word\n  tweets for drama and \"The result?\" reveals are the current top tells.\n- **Rule of three is still a tell, at density.** Tricolon runs at 2x\n  expert-human rate across 2026 frontier models [strong]. 26% of top human\n  tweets contain exactly one [strong: corpus], so one natural triple with\n  concrete items stays. Stacked, perfectly parallel triads and a second triad\n  in the same tweet get scrubbed.\n- **Fingerprint injection was half wrong.** Named entities and concreteness are\n  supported [strong]; an odd-precision number with a referent in line 1 is the\n  strongest opener. Bare numbers are not a discriminator, and inserted hedges\n  and confessions backfire: performed hesitancy is 2x more common in LLM text,\n  and sincerity announcements (\"let me be honest\", \"unpopular opinion:\" on a\n  popular take) are a named 2026 tell [strong]. Pass 3 asks for a flat, dated,\n  uncomfortable fact instead.\n- **Over-correction guard.** Humanizer output has its own fingerprint [weak].\n  Pass 4 checks whether Passes 1-3 introduced the very patterns they were meant\n  to remove. Edits are proportional to real problems. When in doubt, leave it.\n\n## When to use\n\n- Before publishing any AI-drafted tweet or thread (rewrite mode)\n- Pre-publish review of a finished draft (audit mode, see `sub-skills\u002Fpost-audit.md`)\n- When a draft feels off and you cannot pinpoint why\n\n## Input\n\nAny text: a single tweet, a thread (with or without `---` breaks), a reply, or a\nquote-tweet draft. Optional: target voice samples (the user's past tweets).\n\n## Output\n\n- Rewritten text with AI tells removed\n- A diff showing what changed and why\n- Per-tweet char count (flagging anything over 280, emoji counted as 2)\n- Per-tweet tell density (markers per tweet; 3+ triggered a rewrite)\n- Reader-read confidence: \"reads human\", \"mixed\", \"reads AI\" (a reader-tell\n  estimate, not a detector score)\n\n## Modes\n\n```bash\n# Default: scrub AI tells (forensic + strict) and fix X-format issues\nx-humanizer \u003Ctext>\n\n# Forensic only - minimum touch, just kill model leakage\nx-humanizer --mode forensic \u003Ctext>\n\n# Audit - detection-only pass-fail review, no rewrite\n# Runs the 2026 X checklist: 280-char fit, first-line hook, hashtag\u002Femoji\n# limits, link placement, thread tap-through, goal clarity.\n# Returns Blockers + Warnings + suggested fixes. See sub-skills\u002Fpost-audit.md.\nx-humanizer --mode audit \u003Ctext>\n\n# Profile - build\u002Fupdate the user's Voice & Brand Profile. See the section below.\nx-humanizer --mode profile\n\n# Interview - fill the Story Bank: what you have to say, not how you say it.\n# 20-40 minutes, resumable, or --mode interview post for one focused topic.\nx-humanizer --mode interview\n```\n\n## The four passes\n\n### Pass 1 - SCRUB (score, then delete or replace)\n\nApply the tiered catalogs in `references\u002Fscrub-rules.md`. The unit of\njudgement is the **tweet, not the word** (in a Premium long post over 280\nchars, the paragraph): count markers per unit, rewrite the unit at 3+, leave a single marker alone unless it is a reveal bridge, negative\nparallelism, a sincerity marker, or forensic leakage.\n\n- **Forensic** (always on): real model leakage no human types. AI tool markers\n  (oaicite, contentReference, turn0search0), knowledge-cutoff disclaimers (\"As\n  of my last update\"), template blanks ([Your Name]), and em dashes above the\n  cap (more than one in a tweet).\n- **Strict** (default on): what readers react to. The durable 2026 vocabulary\n  set scored by density (significant, crucial, notably, particularly,\n  comprehensive, insights, robust, leverage, foster, landscape, nuanced,\n  streamline, elevate, empower), grammar markers (nominalisations,\n  sentence-opening \"-ing\" clauses), the 2026 model-idiom layer (quietly, \"X\n  matters.\", compound, \"a signal\", \"the work\", \"built different\", \"let that\n  sink in\"), reveal bridges on a single hit (\"The result?\", \"Here's what\",\n  \"Stop X, start Y\", \"plot twist:\"), all forms of negative parallelism,\n  stacked or perfectly parallel triads and any second triad in a tweet, phrase\n  cleanups (\"in today's fast-paced world\", \"game-changer\", \"deep dive\"), and\n  dead closers (\"what do you think?\").\n- **X-format scrubs** (always apply): 280-char fit with emoji as 2, hashtag and\n  emoji limits, link placement, first line that stands alone.\n\n### Pass 2 - RHYTHM (never force it)\n\nDetectors do not score burstiness. On X the corpus says rhythm depends on\nlength: **uniform rhythm wins on short posts** and natural variance only helps\non long threads. So Pass 2 has two jobs: remove manufactured variance\neverywhere, and un-flatten only a long thread that reads machine-flat. It\nnever adds variance as a tactic.\n\n- **Single tweet, reply, or quote tweet: do not touch the rhythm.** A tweet of\n  three same-length sentences is how top tweets read (1.7x median engagement\n  for uniform rhythm at about 75 words). Never insert a fragment, never chop a\n  sentence to \"add punch\".\n- **Threads:** a mix of tweet lengths that arises from the material is fine and\n  is what human variance looks like. Edit only when every tweet runs the same\n  length and reads flat, and then let the tweet carrying the most content take\n  one real clause, once. Never insert a 3-word \"punch tweet\" for rhythm; the\n  inserted punch is the humanizer fingerprint.\n- Standalone fragments: at most 1 per tweet and 2 per thread. \"Every time.\"\n  once is a voice quirk; three in a thread is a pattern.\n- Banned outright (rewrite as full sentences): \"The X? Y.\" reveals; \"No X. No\n  Y. Just Z.\"; \"All the X. None of the Y.\"; \"Simple. Effective. Easy.\"\n  adjective stacks; one-word tweets or lines for drama (\"Still.\" \"Exactly.\");\n  pseudo-Socratic Q&A (\"Why? Because...\"); \"Short. Punchy. Done.\" staccato\n  runs. Fragment runs are the tell.\n- Layout is not rhythm. A hard return between two short lines is native X\n  pacing and stays. Fragment-for-drama inside those lines is the tell.\n- Never alternate long\u002Fshort\u002Flong\u002Fshort across a thread. That seesaw is the\n  humanizer fingerprint.\n\nThe check is \"did I add a staccato pattern, and does any long thread read\nmachine-flat\", not a variance number.\n\n### Pass 3 - ADD (human fingerprints)\n\nRequire where the content allows:\n- One odd-precision number WITH a named referent: who, what, when, or what it\n  cost (\"$4,730 in Vercel overages, March invoice\", not \"$5k\" and not\n  \"massive costs\"). A bare number is not a fingerprint; the referent carries\n  the signal.\n- One named entity (real person, company, date, tool)\n- One first-person concrete detail\n- One specific, dated, uncomfortable fact stated flat, with no framing sentence\n  before or after it. Not \"not gonna lie, this one hurt: we lost the client.\"\n  Just \"We lost Carta as a client on 14 Feb.\" The fact carries the\n  vulnerability. The frame turns it into performed sincerity, which readers now\n  read as the tell.\n- The lowercase-casual register if the voice calls for it\n\nForbidden as openers or pivots (sincerity announcements, a named 2026 tell):\n\"let me be honest\", \"I'll be real\", \"honestly?\", \"to be direct\", \"the honest\nversion is\", \"real talk\", \"not gonna lie\", \"ngl\", \"can I be vulnerable for a\nsecond\", \"unpopular opinion:\" as a preface to a popular one. Also forbidden as\ninsertions: hedges the author did not write (\"perhaps\", \"I might be wrong\nbut\", \"it seems\"). Performed hesitancy is 2x more common in LLM text than in\nexpert human text; adding it makes the draft read more AI, not less.\n\nIf the input lacks these, ask the user for a number, name, or moment. Do not\nfabricate.\n\n### Pass 4 - SELF-CHECK (over-correction guard)\n\nHumanizer output has its own fingerprint. Before returning, re-read the result\nonce and answer three questions:\n\n(a) Did Pass 2 create staccato stacks, \"The result?\" reveal bridges, one-word\n    lines, a punch tweet, or a long\u002Fshort\u002Flong\u002Fshort seesaw? If yes, merge the\n    fragments back into full sentences.\n(b) Did Pass 3 add a framed confession, a sincerity announcement, or a hedge\n    the author never wrote? If yes, strip the frame and keep only the flat\n    fact, or remove the insertion.\n(c) Did scrubbing flatten the author's voice: uniform tone, no reaction, no\n    concrete detail left, the one natural triad gone, the lowercase register\n    capitalised? If yes, restore what the author had.\n\nIf any answer is yes, dial back rather than scrub harder. Edits must be\nproportional to real problems: a clean tweet gets one or two touches, not a\nquota. When in doubt whether a pattern is the author or the model, leave it.\n\n## Non-negotiable rules\n\nGlobal voice rules: see root `SKILL.md` Voice rules. Additional skill-specific\nrules (V3):\n\n- **Scrubbing is always in scope.** When asked to humanize, de-AI, finalize, or\n  publish a tweet or thread, run at least the forensic + strict passes before it ships.\n  This holds when the user wrote the draft themselves, says they love it as-is,\n  or is in a hurry. Author identity, \"it's already good,\" and time pressure are\n  never reasons to skip the scrub. The forensic + strict pass changes no meaning\n  and takes seconds: run it, then ship. If a constraint truly forbids touching\n  the text, say so explicitly and name every tell left in; the default is to\n  scrub, not to wave it through.\n- **Scrub proportionally.** A pass that finds nothing changes nothing. Do not\n  invent edits to justify the run, and do not report a detector score as the\n  result; report the tells found and fixed.\n- Preserve the user's actual claim and meaning. \"Preserve their voice\" covers\n  voice quirks and what they are claiming, NOT reveal bridges, staccato stacks,\n  or a tweet with 3+ vocabulary markers. Stripping those is not changing their\n  voice; it is the job.\n- Never introduce facts that were not in the input. If a number is missing, ask.\n- Never introduce sincerity markers, hedges, or confessional frames. If the\n  draft needs a vulnerable beat, ask for a dated fact and state it flat.\n- Keep the user's voice quirks (lowercase starts, `..` soft pauses, one em dash\n  in a tweet that needs it, one natural triad).\n- Never promise detector results. If the user asks \"will this pass GPTZero,\"\n  answer honestly: nobody can promise that, and the score on a 280-char tweet\n  is noise.\n- Respect the container: do not silently merge a thread into one tweet or split\n  a single tweet into a thread without flagging it.\n\n## X-specific tells this skill catches\n\n- A first line that needs the second line to make sense (no fold on X).\n- A \"tweet\" that is actually 320 chars because two emoji pushed it over 280.\n- 3+ hashtags, or hashtags mid-sentence.\n- An external link in tweet 1 of a thread meant to reach.\n- A thread with an inserted 3-word \"punch tweet\" for rhythm (the humanizer\n  fingerprint), or a long thread where every tweet reads machine-flat.\n- ALL CAPS openers reaching for intensity.\n- \"A thread:\" with no actual promise in the words.\n- \"Unpopular opinion:\" on a take that is actually popular.\n\n## Example\n\nSee `references\u002Fexamples.md` for worked before\u002Fafter rewrites.\n\n## Files\n\n- `SKILL.md` - this file (rewrite scrubber + audit-mode entry)\n- `references\u002Fscrub-rules.md` - V3 regex patterns by tier, density scoring, em dash cap, rhythm rules, forbidden insertions\n- `references\u002Fexamples.md` - worked before\u002Fafter rewrites for tweets and threads\n- `references\u002Faudit-checklist.md` - the pre-publish checklist with thresholds\n- `sub-skills\u002Fpost-audit.md` - pre-publish audit workflow (detection-only, no rewrite)\n- `sub-skills\u002Fvoice-profile.md` - build\u002Fupdate the user's Voice & Brand Profile (`--mode profile`)\n- `sub-skills\u002Fstory-bank-interview.md` - interview the user and fill the Story Bank (`--mode interview`)\n- `sub-skills\u002Fillustration.md` - optional Pixfaro image workflow\n\n## Voice profile mode (`--mode profile`)\n\n`x-humanizer --mode profile` builds or updates the user's Voice & Brand Profile at `..\u002F..\u002Freferences\u002Fvoice-profile.md` from 3-6 of their real X (Twitter) posts pasted in (portable, no token) or, if a read token is set, from pulled activity. Once filled, every writing skill in this bundle drafts in the user's voice automatically. See `sub-skills\u002Fvoice-profile.md`. Triggers: \"build my voice profile\", \"learn my voice\".\n\n## Story Bank mode (`--mode interview`)\n\n`x-humanizer --mode interview` interviews the user and writes\n`..\u002F..\u002Freferences\u002Fstory-bank.md`: the numbers, dated moments, turning points, scars\nand positions their posts are made of. The Voice Profile holds how they sound; the\nbank holds what they have to say, and an empty bank is the usual reason drafts come\nout generic. Budget 20 to 40 minutes, resumable across sessions.\n\n`--mode interview post` runs the short version: 5 to 8 questions on one topic,\nending in a five-line spine (Moment, Number, Correction, Opposition, Ask) handed to\n`x-post-writer`.\n\nNever invents an answer: a line with nothing real in it stays empty and the section\nis marked thin. See `sub-skills\u002Fstory-bank-interview.md`. Triggers: \"interview me\",\n\"ask me questions\", \"help me work out what to post about\".\n\n## Related skills\n\n- `x-post-writer` - generates single tweets that already pass the humanizer\n- `x-thread-builder` - generates threads that already pass the humanizer\n",{"name":5,"description":7},"main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer",483,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-13 02:16:32",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill x-humanizer",{"tool":66,"command":67},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill x-humanizer",{"tool":69,"command":70},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill x-humanizer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002FSKILL.md",true,[74,80,84,88,92,96,100],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Faudit-checklist.md","REFERENCE","参考文档",3883,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Freferences\u002Faudit-checklist.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fexamples.md",2784,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Freferences\u002Fexamples.md",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fscrub-rules.md",21038,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Freferences\u002Fscrub-rules.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"sub-skills\u002Fillustration.md",3847,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Fsub-skills\u002Fillustration.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"sub-skills\u002Fpost-audit.md",4841,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Fsub-skills\u002Fpost-audit.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"sub-skills\u002Fstory-bank-interview.md",6678,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Fsub-skills\u002Fstory-bank-interview.md",{"path":101,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":102,"sourceHtmlUrl":103},"sub-skills\u002Fvoice-profile.md",2347,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsergebulaev\u002Fx-skills\u002Fskills\u002Fx-humanizer\u002Fsub-skills\u002Fvoice-profile.md",[105,113,120,127,153,178],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":112},"01M746ZWACVKMZ1BJXJZHYJSSX","migrate-to-e2e","Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for \u002Fmigrate-to-e2e, \"migrate our tests to e2e\", \"port these Maestro flows\", \"move our TesterArmy tests\", or when a project has an e2e config and an older suite still running.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fmigrate-to-e2e\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":112},"01M746ZPTAX1Q0FBKAB1CYND7E","e2e","Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fe2e\u002FSKILL.md",[],[],{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":112},"01M746ZJN784HVHMDP9MQGCSGG","create-verification-skill","Generate a project-local verify-\u003Capp> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for \u002Fcreate-verification-skill, \"make a verification skill for this repo\", or when a project has no scripted way to prove UI behavior.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fcreate-verification-skill\u002FSKILL.md",[],[],{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":45},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[134,135,136,137,138,139,140,141,142,143,144,145,33,146,147,148,149,150,151,152],"search","deja search","never","error","ready","memory","re","decide","fix","design","debugging","when","done","reviewer","io","change","cli","merge","past",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":45},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[160,161,162,148,163,164,165,166,167,168,169,170,171,172,139,173,174,175,176,177],"deja reflect","reflect","review","with","record","github","next","https","node","Rules","decisions","brew","remember","project rules","project","session","end","reflection",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":195,"publishedAt":45},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[184,189,192],{"categoryNo":185,"categoryName":186,"taxonomyType":187,"taxonomyTypeDesc":188},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":190,"categoryName":191,"taxonomyType":187,"taxonomyTypeDesc":188},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":193,"categoryName":194,"taxonomyType":187,"taxonomyTypeDesc":188},"01JBSEEDCAT000000000000010","后端与接口",[180,196,197,198,199,200,201,174,202,140,203,204,205,206,145,207,208,209,210,211],"URL","Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","image","mcp server","schedule","api","publish"]