TikTok Research
Use this as the TikTok research entrypoint when the user wants public TikTok
evidence for a growth, marketing, creator, audience, competitor, or paid
creative decision.
TikTok music/archive download is not part of the released public surface. Apply
shared rulebook and user-guidance rules from postplus-shared.
When a supported command completes but evidence is empty, sparse, noisy,
off-topic, or the wrong record type, apply the postplus-shared reference
research-quality-recovery.md; hard execution errors still fail fast.
Reference Index
Always apply references/shared-contract.md before running a route.
| User asks for |
Apply |
| Brand account, competitor account, profile health, account comparison |
references/account-and-competitor-audit.md |
| Organic examples, hooks, hashtags, formats, competitor videos, related videos |
references/organic-benchmark.md |
| Comments, audience voice, objections, FAQ, phrase bank, buyer language |
references/audience-voice.md |
| Creators, UGC makers, KOL/KOC, profile enrichment, creator shortlist |
references/creator-discovery.md |
| Paid ads, paid hooks, CTA, offers, region/objective ad examples |
references/paid-ads.md |
| Product demo fit, ecommerce angle, buyer objection, content-to-offer fit |
references/product-content-fit.md |
| Launch campaign, hashtag challenge, branded activity, competitor campaign |
references/campaign-scout.md |
| Market, region, language, cross-border localization, local angle comparison |
references/market-localization-scout.md |
| Profile facts only |
Apply references/shared-contract.md, then run a bounded tiktok-profiles or tiktok-users lookup |
| Mixed paid and organic |
Run separated paid and organic lanes; never fill one lane with the other |
| Shop, LIVE, private analytics, backend audience, GMV, conversion, hidden contacts, exact targeting, spend, ROAS |
Stop or ask for a supported public TikTok scope |
| Music/archive download or audio extraction |
Not provided on the current public surface. Say so and stop; analyze user-provided local files through media-router instead |
| Cross-platform request |
Run only the TikTok lane here; hand off other platforms |
First Question
Ask one question only when the answer changes platform, route,
public/private boundary, first-pass scope, or output shape.
| Missing |
Ask |
| Platform |
Which platform should I use first? |
| TikTok seed |
Please give one TikTok seed: keyword, hashtag, profile, video URL, competitor, product, creator criteria, or paid-ad scope. |
| Account audit without account |
Send the TikTok handle/profile URL, or tell me the brand and closest competitors to use as search seeds. |
| Ecommerce fit without product |
What product, audience, market, or offer should I test against TikTok evidence? |
| Campaign scout without campaign seed |
Send one campaign hashtag, slogan, brand profile, competitor, launch term, or example video. |
| Localization without market |
Which market or language should I compare first? |
| Audience voice without videos |
Send public TikTok video URLs, or give a keyword, hashtag, profile, or competitor so I can build a shortlist first. |
| Creator discovery without seed |
Give one niche, product, hashtag, competitor, customer type, video URL, or collaboration goal. |
| Paid ads without scope |
What paid scope should I sample: category, competitor, region/language, objective, hook, offer, or keyword? |
| Private/backend request |
This needs public evidence. Should I continue with public TikTok examples instead? |
Do not ask for credentials, private exports, retry strategy, cookies, or music
archive details.
Run Discipline
- Route the request with the table above.
- Apply
references/shared-contract.md.
- Apply the selected workflow reference.
- Run the narrowest collection chain that can answer the first pass.
- Stop after the first pass and report scope, evidence, limits, and next
action.
Result record shapes for every research route are documented in the
postplus-shared reference dataset-item-schemas.md; consult it before
writing result-processing code, and probe a single record only to verify.
Do not present a public sample as full TikTok truth. Do not use paid ads as
organic creator evidence. Do not use organic videos as paid ad proof. Use only
the filters shown by the selected route.
For local testing, optimize for a fast real first pass. Use the route cards in
references/shared-contract.md; do not inspect fixtures or product mappings.
Public Command Boundary
- Choose the smallest matching command or workflow from the user input and run
it directly.
- Readiness diagnostics:
postplus doctor --skill tiktok-research.
- If an owned CLI or script command fails, report the exact error and stop. Do
not bypass the failure with metadata-only answers, readiness probing, local
payload rewrites, alternate services, or unpublished tools.
- Inspect a route with
postplus research run <route> --help only when its
semantic flags are not already clear.
- Run
postplus research run <route> --<query/url/handle/hashtag flags> --limit <n> --wait --output <result.json>.
- Keep the first pass bounded; expand only after inspecting the first result.
- If the CLI returns a quote-confirmation challenge, run
postplus quote confirm --json --challenge-file <challenge.json> and retry
with the returned token.
postplus research run tiktok-ads-top \
--wait \
--output ./result.json
1---2name: tiktok-research3description: Route and run bounded public TikTok research for organic videos, comments, creators, profiles, related videos, and paid ad examples.4---56# TikTok Research78Use this as the TikTok research entrypoint when the user wants public TikTok9evidence for a growth, marketing, creator, audience, competitor, or paid10creative decision.1112TikTok music/archive download is not part of the released public surface. Apply13shared rulebook and user-guidance rules from `postplus-shared`.14When a supported command completes but evidence is empty, sparse, noisy,15off-topic, or the wrong record type, apply the `postplus-shared` reference16`research-quality-recovery.md`; hard execution errors still fail fast.1718## Reference Index1920Always apply `references/shared-contract.md` before running a route.2122| User asks for | Apply |23| --- | --- |24| Brand account, competitor account, profile health, account comparison | `references/account-and-competitor-audit.md` |25| Organic examples, hooks, hashtags, formats, competitor videos, related videos | `references/organic-benchmark.md` |26| Comments, audience voice, objections, FAQ, phrase bank, buyer language | `references/audience-voice.md` |27| Creators, UGC makers, KOL/KOC, profile enrichment, creator shortlist | `references/creator-discovery.md` |28| Paid ads, paid hooks, CTA, offers, region/objective ad examples | `references/paid-ads.md` |29| Product demo fit, ecommerce angle, buyer objection, content-to-offer fit | `references/product-content-fit.md` |30| Launch campaign, hashtag challenge, branded activity, competitor campaign | `references/campaign-scout.md` |31| Market, region, language, cross-border localization, local angle comparison | `references/market-localization-scout.md` |32| Profile facts only | Apply `references/shared-contract.md`, then run a bounded `tiktok-profiles` or `tiktok-users` lookup |33| Mixed paid and organic | Run separated paid and organic lanes; never fill one lane with the other |34| Shop, LIVE, private analytics, backend audience, GMV, conversion, hidden contacts, exact targeting, spend, ROAS | Stop or ask for a supported public TikTok scope |35| Music/archive download or audio extraction | Not provided on the current public surface. Say so and stop; analyze user-provided local files through `media-router` instead |36| Cross-platform request | Run only the TikTok lane here; hand off other platforms |3738## First Question3940Ask one question only when the answer changes platform, route,41public/private boundary, first-pass scope, or output shape.4243| Missing | Ask |44| --- | --- |45| Platform | `Which platform should I use first?` |46| TikTok seed | `Please give one TikTok seed: keyword, hashtag, profile, video URL, competitor, product, creator criteria, or paid-ad scope.` |47| Account audit without account | `Send the TikTok handle/profile URL, or tell me the brand and closest competitors to use as search seeds.` |48| Ecommerce fit without product | `What product, audience, market, or offer should I test against TikTok evidence?` |49| Campaign scout without campaign seed | `Send one campaign hashtag, slogan, brand profile, competitor, launch term, or example video.` |50| Localization without market | `Which market or language should I compare first?` |51| Audience voice without videos | `Send public TikTok video URLs, or give a keyword, hashtag, profile, or competitor so I can build a shortlist first.` |52| Creator discovery without seed | `Give one niche, product, hashtag, competitor, customer type, video URL, or collaboration goal.` |53| Paid ads without scope | `What paid scope should I sample: category, competitor, region/language, objective, hook, offer, or keyword?` |54| Private/backend request | `This needs public evidence. Should I continue with public TikTok examples instead?` |5556Do not ask for credentials, private exports, retry strategy, cookies, or music57archive details.5859## Run Discipline60611. Route the request with the table above.622. Apply `references/shared-contract.md`.633. Apply the selected workflow reference.644. Run the narrowest collection chain that can answer the first pass.655. Stop after the first pass and report scope, evidence, limits, and next66 action.6768Result record shapes for every research route are documented in the69`postplus-shared` reference `dataset-item-schemas.md`; consult it before70writing result-processing code, and probe a single record only to verify.7172Do not present a public sample as full TikTok truth. Do not use paid ads as73organic creator evidence. Do not use organic videos as paid ad proof. Use only74the filters shown by the selected route.7576For local testing, optimize for a fast real first pass. Use the route cards in77`references/shared-contract.md`; do not inspect fixtures or product mappings.7879## Public Command Boundary8081- Choose the smallest matching command or workflow from the user input and run82 it directly.83- Readiness diagnostics: `postplus doctor --skill tiktok-research`.84- If an owned CLI or script command fails, report the exact error and stop. Do85 not bypass the failure with metadata-only answers, readiness probing, local86 payload rewrites, alternate services, or unpublished tools.87- Inspect a route with `postplus research run <route> --help` only when its88 semantic flags are not already clear.89- Run `postplus research run <route> --<query/url/handle/hashtag flags> --limit90 <n> --wait --output <result.json>`.91- Keep the first pass bounded; expand only after inspecting the first result.92- If the CLI returns a quote-confirmation challenge, run93 `postplus quote confirm --json --challenge-file <challenge.json>` and retry94 with the returned token.9596<!-- BEGIN GENERATED EXECUTION EXAMPLE -->97```bash98postplus research run tiktok-ads-top \99 --wait \100 --output ./result.json101```102<!-- END GENERATED EXECUTION EXAMPLE -->