Communitygithub.com

mardab96/tiktok-ads-claude-skills

Strips personal data from TikTok ad comments, clusters them into objections, questions, proof requests, and noise with counts, links each cluster to product facts, and drafts reply options and hook ideas for approval. Use when the user pastes TikTok comments and asks "what are people objecting to", "mine the comments for hooks", "draft replies to these comments", "what do viewers keep asking", or wants an FAQ and creative briefs built from comment themes.

¿Qué es tiktok-ads-claude-skills?

tiktok-ads-claude-skills is a Claude Code agent skill that strips personal data from TikTok ad comments, clusters them into objections, questions, proof requests, and noise with counts, links each cluster to product facts, and drafts reply options and hook ideas for approval. Use when the user pastes TikTok comments and asks "what are people objecting to", "mine the comments for hooks", "draft replies to these comments", "what do viewers keep asking", or wants an FAQ and creative briefs built from comment themes.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mardab96/tiktok-ads-claude-skills/tree/HEAD/comment-objection-miner-tiktok-ads

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Comment Objection Miner - TikTok Ads

Use this skill when

Comments on a TikTok ad or Spark post hold the doubts that stop a viewer from buying. Sort them into clusters with counts, match each to what the product facts can honestly answer, and turn them into reply drafts, hook ideas, and FAQ candidates. Personal data is removed first, every time.

Common requests:

  • "What are people objecting to under this ad?"
  • "Mine these comments for hooks."
  • "Draft replies to the top questions."
  • "What should the next creator brief address?"

When not to use

  • The user wants full scripts from a winner -> winning-ad-remix-tiktok-ads.
  • The user wants a creator brief -> ugc-brief-writer-tiktok-ads (feed the clusters in).
  • The comments point at the page ("is this legit", "where is the price") -> confirm with landing-page-match-tiktok-ads.
  • A customer-service complaint needs resolving -> the brand's support owner; this skill only flags it.

Required input

  • The comment corpus: pasted or exported text from the ad or Spark post comments, as available in your account. Fields: comment text, date, ad id or post id. Optional: like count, reply count, whether the comment is a reply. Remove handles and names before pasting if you can; the skill strips any that remain.
  • Source and size: which ad, date range, and the total comment count versus the count supplied. A sample is a sample; say how it was picked.
  • Product fact sheet with ids (F1, F2...), existing FAQ or support macros, claim restrictions, reply tone, market and language.
  • Offer and price at the time of the comments, so objections can be read in context.

Optional: landing page text, creator brief, earlier clusters for comparison.

Before analysis: PII strip

Do this first and report a redaction log with categories and counts only, never the removed values.

  1. Remove @mentions, usernames, display names, profile links, emails, phone numbers, order or tracking numbers, street addresses, and locations finer than a country or region.
  2. Assign neutral ids (C001, C002...). Never keep a field that could point back to a person.
  3. Generalise sensitive personal disclosures. A comment about a personal health condition becomes a theme such as "skin sensitivity concern"; do not quote it.
  4. Exclude comments that indicate a minor.
  5. Quote only anonymised fragments of about 15 words or fewer [heuristic], or paraphrase. Never present a commenter's wording as a testimonial or reuse it in an ad without permission.
  6. Do not attempt to match a comment to a person, order, or customer record.

Analysis workflow

  1. Run the PII strip and write the redaction log. Count comments before and after exclusion.
  2. Assign each comment one primary cluster from the taxonomy below, plus an optional secondary. One comment is one count.
  3. Count per cluster and show two denominators: share of the supplied corpus, and share of classifiable comments (corpus minus noise). Treat clusters of two or fewer comments as anecdote [heuristic].
  4. Link each cluster to a fact id or mark it needs_data when no fact answers it. A cluster with no supporting fact is a gap, not a license to improvise.
  5. Check for claim risk: comments where viewers assert outcomes or medical effects. These are hold; the brand must not echo them.
  6. Draft the creative response per cluster: a public reply option, a hook idea, and an FAQ or page change where relevant.
  7. Flag escalations: safety complaints, delivery disputes, legal threats, minors, personal data. These go to a named human, with no public reply drafted.
  8. Mark which items are requests the product cannot meet and which are misunderstandings the ad can fix.

Cluster taxonomy

ClusterWhat it looks likeTypical route
Price or value"Is it worth that?"Fact on price, returns
Efficacy"Does it actually work?"Demo, allowed proof only
Fit or compatibility"Will it work for my X?"Fact or needs_data
Safety or ingredientsQuestions on materials, ingredientsFact sheet, reviewer
Trust or legitimacy"Is this a scam?"Page trust signals
Shipping or availabilityDelivery time, where to buyFAQ, page
How to useSetup, routine questionsCreator demo
Comparison"How is it different from Y?"Comparison angle, no unapproved names
Proof requestAsks for reviews, demos, resultsAllowed proof only
Post-purchase complaintOrder or quality issueSupport owner
PraisePositive statementsDo not reuse without permission
Tag-a-friend, spam, off-topicNoiseExcluded from shares

Decision rules

Comment frequency is confirmed only for the supplied corpus and window. Selection bias applies: commenters are not buyers and not a random sample.

ConditionVerdictNext step
Cluster counted in the supplied corpusCount confirmed for that corpusReport with both denominators
Cluster claimed to suppress conversionspossibleTest a response in creative, read via hook-rate-scorer-tiktok-ads
Cluster has a supporting factResponse readyDraft reply and hook; approval_needed
Cluster has no factneeds_dataOwner supplies the fact or the cluster stays unanswered
Commenters assert medical or outcome claimsholdDo not echo; reviewer decides
Complaint, safety, or personal-data contentEscalateNamed human; no public reply drafted
Corpus is small or one-sidedmonitorCollect more comments
Product change requestedpossibleBrand owner decides

No numeric register threshold applies to comments. If a later read of a hook built from a cluster is needed, T02 sets the floor (3,000 impressions).

Output format

### Redaction log
Comments in: [n] | Excluded: [n] (reasons by category) | Fields removed: [categories and counts] | Window: [dates] | Source: [ad or post id] [comment_cluster]

### Objection bank
| Theme | Anonymized wording | Count | Share of corpus | Share of classifiable | Fact support | Creative response | Verdict |
|---|---|---|---|---|---|---|---|

### Reply drafts (approval_needed)
| Cluster | Reply option (1 to 2 sentences, facts only, no tags, no personal data) | Fact id | Do not say |
|---|---|---|---|

### Hook ideas
| Cluster | First line | First frame | Answers with (fact id) | Feeds |
|---|---|---|---|---|
(Feeds = `winning-ad-remix-tiktok-ads` or `ugc-brief-writer-tiktok-ads`)

### FAQ and page candidates
[question] -> [answer from fact id] -> [where it goes]

### Escalations
[category] -> [named human]. No reply drafted.

### Decision table
| Finding | Evidence | Verdict | Severity | Confidence | Business impact | Next step |
|---|---|---|---|---|---|---|

### Data gaps and approval needed
[missing item] -> [verdict prevented]. [publishing a reply] -> [named owner].

Practical example

Illustrative numbers only. A hair-styling tool ad: 143 comments supplied, 3 excluded as possibly from minors, 140 analysed. Redaction log: handles and mentions removed from most comments.

Cluster counts (primary, share of 140): price or value 31 (22.1%), fit for thick or curly hair 27 (19.3%), shipping 14 (10.0%), trust or legitimacy 12 (8.6%), proof request 9 (6.4%), praise 22 (15.7%), tag-a-friend 17 (12.1%), spam 8 (5.7%). Classifiable comments: 140 minus 25 noise = 115, so price is 27.0% of classifiable.

Facts: F1 ceramic plates; F2 three heat settings; F3 price 59 with 30-day returns; F4 ships within 2 business days. No fact covers thick or curly hair, so that cluster is needs_data, severity medium, impact conversion.

Reply (price, F3): "It is 59 and comes with a 30-day return window, details are on our page." Hook for price: first line "Is it really 59? Here is what is in the box", first frame the open box, feeds ugc-brief-writer-tiktok-ads. Hook for fit: held until the owner supplies a tested-hair-type fact. Escalation: none. Verdict: the counts are confirmed for this corpus; price as a barrier is possible, to be tested in creative.

Common failure modes

  • Treating the loudest comment as a theme; count first.
  • Reading comments as buyer research; commenters self-select.
  • Answering an unsupported fit or efficacy question with a confident reply.
  • Echoing a viewer's outcome or medical claim in a brand reply.
  • Using praise comments as testimonials without permission.
  • Mixing comments from several ads or dates into one count without saying so.
  • Forgetting that a Spark post carries comments from before the ad ran; date the corpus.
  • Replying publicly to a support complaint with order details.

Guardrails

  • Do not output, quote, or retain handles, names, links, contact details, or order data; log redaction by category and count only.
  • Do not quote more than a short anonymised fragment, and never as a testimonial.
  • Do not draft a reply or hook that makes a claim without a fact id.
  • Do not reply to or amplify comments that assert medical or outcome claims.
  • Do not treat comment counts as audience-wide or as proof that an objection suppresses conversions.
  • Do not post, reply to, hide, or moderate any comment; stop at drafts awaiting a named approver.
  • Do not draft public replies for safety, legal, minor, or personal-data cases; escalate them.

Individual skills in this repo

This repo contains 18 individual skills — each has its own dedicated page.

mardab96/tiktok-ads-claude-skills

Runs an ordered, layer-by-layer triage of an unfamiliar TikTok Ads account (tracking, structure, learning, creative, bidding, landing page) and hands the first blocker to one named sibling skill. Use when the user inherits a TikTok account, onboards a client, asks where to start, says TikTok results dropped with no known cause, asks whether an account is ready to scale, or says "audit this TikTok account" without naming a problem.

mardab96/tiktok-ads-claude-skills

Reconciles TikTok Ads Manager conversions with GA4, Shopify, CRM, or app analytics using a baseline-ratio method, separating click-through from view-through credit, attribution window and timezone differences, and real tracking drift (T07). Use when a TikTok media buyer or client says "TikTok says 200 sales, Shopify says 90", "GA4 does not show our TikTok conversions", "TikTok ROAS looks too good", "the gap got bigger this month", or "which number do we report to the client".

mardab96/tiktok-ads-claude-skills

Checks whether a TikTok ad group's bidding strategy fits its goal, budget, and conversion volume using the labels TikTok currently lists (Maximum Results, Target Cost per Result, value options as shown in the account) and asks for a screenshot before mapping any legacy name. Use when someone types "Maximum Results or Target Cost per Result", "Cost Cap vs Lowest Cost on TikTok", "our target CPA is too low and delivery died", "bid strategy check", or "should we use hybrid bidding".

mardab96/tiktok-ads-claude-skills

Builds a staged TikTok budget plan with entry gates, one change per observation window, stop rules, and a recorded rollback, using T04, T05, T06, and T10 from the shared register. Use when someone types "can we scale this TikTok campaign", "double the budget on the winner", "how fast can I raise the daily budget", "scale before the sale", or "plan the budget increase for next week".

mardab96/tiktok-ads-claude-skills

Diagnoses a TikTok CPA jump by splitting it into CPM, CTR, and CVR movement between a baseline and a current window with the cpa_decompose.py helper, then checking tracking, changes, mix, creative, and landing page in that order. Use when someone types "TikTok CPA doubled", "cost per purchase is up 40%", "why did CPA spike", "CVR dropped but clicks are fine", or "the client wants to know what broke".

mardab96/tiktok-ads-claude-skills

Detects whether a TikTok ad is tiring by comparing the last seven distinct dates with the preceding seven for frequency and CTR, using the bundled fatigue_scan.py script and a 14-date rule, then builds a control-versus-refresh queue. Use when the user asks "is this TikTok ad fatigued", says CTR is dropping while frequency climbs, wants to know when to refresh TikTok creative, or pastes a daily ad export and asks which ads to replace.

mardab96/tiktok-ads-claude-skills

Turns TikTok Shop and GMV Max reporting into a per-product cost-stack ledger with refunds, affiliate commissions, seller-funded coupons, referral fees, ad spend, COGS, and seller-borne shipping, using gmv_profit.py to flag any incomplete cost stack (T09). Use when a TikTok Shop seller or media buyer says "GMV Max ROI looks great but we are not making money", "is this product profitable on TikTok Shop", "check our TikTok Shop margins", "affiliate commissions are eating us", or before raising a GMV Max budget or ROI target.

mardab96/tiktok-ads-claude-skills

Scores the opening seconds of TikTok ads by computing 2-second and 6-second view rates and a thumb-stop proxy from ad-level export columns, comparing them with like-for-like ads, and scoring the script opening on a five-point rubric. Use when the user asks "which TikTok hook is weak", "what's my hook rate", "why do people scroll past my ad", wants a hook test plan, or pastes a transcript of the first seconds next to video-view columns.

mardab96/tiktok-ads-claude-skills

Sequences planned TikTok edits around the learning phase, separating urgent repairs from optimisation, naming which edits TikTok itself labels as affecting learning, and ordering one observable action at a time with rollback. Use when someone types "can I edit this ad group during learning", "will this reset the learning phase", "campaign is in learning, what can we change", "sequence these changes", or "the client wants five edits this week".

mardab96/tiktok-ads-claude-skills

Checks TikTok Pixel and Events API health from Events Manager screenshots and an Ads Manager export, covering event match signals, event_id deduplication between browser and server events, parameter completeness on value events, and primary-event drops against stable clicks (T10). Use when a TikTok media buyer says "purchases dropped but clicks are flat", "check our TikTok pixel", "is Events API deduplicating", "Events Manager shows a diagnostic warning", "TikTok value does not match our orders", or before any bid, budget, or scale call that depends on TikTok conversion data.

mardab96/tiktok-ads-claude-skills

Reviews TikTok Ads delivery split between the TikTok placement and Pangle or TikTok Ad Network inventory (as labelled in your Ads Manager), testing CPA and downstream quality per placement against T08 and keeping brand safety and suitability as a separate question. Use when a TikTok media buyer says "should we turn off Pangle", "where is our TikTok spend actually going", "automatic placement is eating budget", "network traffic converts badly", "is our TikTok ad showing next to unsafe content", or when a client asks for a placement and brand safety readout.

mardab96/tiktok-ads-claude-skills

Reviews TikTok Search Ads search terms and keywords and decides what to add as a keyword, add as a negative, or watch, with match handling as labelled in the account and a lag-aware waste floor. Use when someone types "review our TikTok search terms", "negative keyword list for TikTok Search Ads", "which queries should become keywords", "broad match is bringing junk", or "Search Ads spend with zero conversions".

mardab96/tiktok-ads-claude-skills

Audits a TikTok Smart+ campaign by mapping what Smart+ automates against what the media buyer still controls (creative supply, audience exclusions, conversion event, budget, bidding), then ranks the risks. Use when someone types "audit our Smart+ campaign", "what does Smart+ actually control", "Smart+ vs manual", "Smart+ spend is up but results are flat", or "can we trust Smart+ with this budget".

mardab96/tiktok-ads-claude-skills

Compares TikTok Spark Ads with brand-handle ads like-for-like by matching objective, optimization event, audience, offer, placements, bidding label, dates, and concept before any metric is read, then records authorization status and designs a matched test when no clean pair exists. Use when the user asks "do Spark ads perform better than our brand ads", "Spark vs non-Spark", "should we boost creator posts", "why is the creator ad cheaper", or pastes ad-level data with a format column and wants a verdict.

mardab96/tiktok-ads-claude-skills

Writes a complete creator-facing UGC brief for TikTok ads, with viewer situation, one message, three hook options, scene structure, claims allowed and forbidden, do and don't lists, disclosure, usage rights, and a Spark authorization note, plus an internal approval checklist. Use when the user says "write a UGC brief for TikTok", "brief a creator", "I need a creator script with approved claims", "what rights do I need to run this creator video as an ad", or has product facts and needs something a creator can film from.

mardab96/tiktok-ads-claude-skills

Finds mature TikTok campaigns, ad groups, and ads that spent past a CPA-based floor with zero reported conversions, after excluding rows still inside the conversion lag, using the wasted_spend.py helper. Use when someone types "where is the wasted spend on TikTok", "which ad groups burn budget with no conversions", "what can we cut before we scale", "zero conversion ads", or "clean this account before the client call".

mardab96/tiktok-ads-claude-skills

Writes the weekly TikTok Ads client report as a plain-language narrative, a scorecard against the client goal, and next-week decisions with owners and approvals, after an integrity check on tracking, lag, and learning status (T04, T05, T07, T10). Use when an agency or freelance TikTok media buyer says "write the weekly TikTok report", "client update is due", "explain this week's TikTok results to the client", "what do we tell the client about CPA going up", or "set up a repeatable TikTok report format".

mardab96/tiktok-ads-claude-skills

Turns one proven TikTok ad into N distinct angle scripts, each with hook, body beats, CTA, on-screen text, and a shot list, after deconstructing why the winner worked and checking every claim against product facts and rights. Use when the user says "remix my winning TikTok ad", "give me new angles on this winner", "I need five scripts like this one", "my best ad is wearing out, what next", or pastes a winning transcript and asks for variations.

Skills relacionados