Instagram Research
Use this as the single Instagram research entrypoint when the user has not
already chosen a narrower Instagram skill. It routes the request, applies the
public-surface contract, and runs the smallest supported first pass.
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 |
| Known account, handle, profile URL, competitor account |
references/account-audit.md |
| Organic examples, hooks, formats, "what works", competitor content |
references/organic-benchmark.md |
| Comments, audience voice, objections, FAQ, consumer language |
references/audience-voice.md |
| Creators, influencers, KOL/KOC, UGC makers, affiliates, contacts |
references/creator-discovery.md |
| Campaign, hashtag, branded UGC sample, watchlist, competitor campaign |
references/campaign-scout.md |
| Paid ads, Stories, Shop, LIVE, private data, backend analytics, broad social listening |
Stop or ask for a supported public Instagram scope |
| Cross-platform request |
Run only the Instagram lane here; hand off other platforms |
First Question
Ask one question only when the answer changes platform, route,
public/private boundary, or first-pass scope.
| Missing |
Ask |
| Platform |
Which platform should I use first? |
| Instagram seed |
Please give one Instagram seed: handle, profile URL, post/Reel URL, hashtag, brand/search query, campaign term, or creator criteria. |
| Brand audit without handle |
Do you have the official handle, or should I first run search recall for candidate accounts? |
| Audience voice without post source |
Send 1-5 public post/Reel URLs, or give an account, hashtag, or query so I can build a shortlist first. |
| Creator discovery without seed |
Give one niche, category, hashtag, competitor account, audience keyword, region/language, or collaboration goal. |
| Contact enrichment without shortlist |
Send the narrowed creator usernames/profile URLs, or let me first shortlist candidates. |
Do not ask for credentials, private exports, or retry strategy.
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.
- If execution succeeds but evidence is empty, sparse, noisy, or off-topic,
apply the shared bounded research-quality recovery rule; do not repeat the
same request or silently expand the approved PostPlus credit scope.
- Stop after the bounded 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 sample as full-platform truth. Do not add hidden implementation
fields, analysis notes, unsupported filters, or compatibility fallbacks.
Public Command Boundary
- Choose the smallest matching command or workflow from the user input and run
it directly.
- Readiness diagnostics:
postplus doctor --skill instagram-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> --<semantic flags> --wait --output <result.json>.
- Pass only public handles, URLs, hashtags, search terms, locations, and limits
through flags shown by the selected route.
- 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 instagram-comments \
--url "https://example.com/source" \
--wait \
--output ./result.json
1---2name: instagram-research3description: Route and run bounded public Instagram research for account audits, organic benchmarks, audience voice, creator discovery, campaign scouting, and public contact-signal enrichment.4---56# Instagram Research78Use this as the single Instagram research entrypoint when the user has not9already chosen a narrower Instagram skill. It routes the request, applies the10public-surface contract, and runs the smallest supported first pass.1112Apply shared rulebook and user-guidance rules from `postplus-shared`.13When a supported command completes but evidence is empty, sparse, noisy,14off-topic, or the wrong record type, apply the `postplus-shared` reference15`research-quality-recovery.md`; hard execution errors still fail fast.1617## Reference Index1819Always apply `references/shared-contract.md` before running a route.2021| User asks for | Apply |22| --- | --- |23| Known account, handle, profile URL, competitor account | `references/account-audit.md` |24| Organic examples, hooks, formats, "what works", competitor content | `references/organic-benchmark.md` |25| Comments, audience voice, objections, FAQ, consumer language | `references/audience-voice.md` |26| Creators, influencers, KOL/KOC, UGC makers, affiliates, contacts | `references/creator-discovery.md` |27| Campaign, hashtag, branded UGC sample, watchlist, competitor campaign | `references/campaign-scout.md` |28| Paid ads, Stories, Shop, LIVE, private data, backend analytics, broad social listening | Stop or ask for a supported public Instagram scope |29| Cross-platform request | Run only the Instagram lane here; hand off other platforms |3031## First Question3233Ask one question only when the answer changes platform, route,34public/private boundary, or first-pass scope.3536| Missing | Ask |37| --- | --- |38| Platform | `Which platform should I use first?` |39| Instagram seed | `Please give one Instagram seed: handle, profile URL, post/Reel URL, hashtag, brand/search query, campaign term, or creator criteria.` |40| Brand audit without handle | `Do you have the official handle, or should I first run search recall for candidate accounts?` |41| Audience voice without post source | `Send 1-5 public post/Reel URLs, or give an account, hashtag, or query so I can build a shortlist first.` |42| Creator discovery without seed | `Give one niche, category, hashtag, competitor account, audience keyword, region/language, or collaboration goal.` |43| Contact enrichment without shortlist | `Send the narrowed creator usernames/profile URLs, or let me first shortlist candidates.` |4445Do not ask for credentials, private exports, or retry strategy.4647## Run Discipline48491. Route the request with the table above.502. Apply `references/shared-contract.md`.513. Apply the selected workflow reference.524. Run the narrowest collection chain that can answer the first pass.535. If execution succeeds but evidence is empty, sparse, noisy, or off-topic,54 apply the shared bounded research-quality recovery rule; do not repeat the55 same request or silently expand the approved PostPlus credit scope.566. Stop after the bounded first pass and report scope, evidence, limits, and57 next action.5859Result record shapes for every research route are documented in the60`postplus-shared` reference `dataset-item-schemas.md`; consult it before61writing result-processing code, and probe a single record only to verify.6263Do not present a sample as full-platform truth. Do not add hidden implementation64fields, analysis notes, unsupported filters, or compatibility fallbacks.6566## Public Command Boundary6768- Choose the smallest matching command or workflow from the user input and run69 it directly.70- Readiness diagnostics: `postplus doctor --skill instagram-research`.71- If an owned CLI or script command fails, report the exact error and stop. Do72 not bypass the failure with metadata-only answers, readiness probing, local73 payload rewrites, alternate services, or unpublished tools.74- Inspect a route with `postplus research run <route> --help` only when its75 semantic flags are not already clear.76- Run `postplus research run <route> --<semantic flags> --wait --output77 <result.json>`.78- Pass only public handles, URLs, hashtags, search terms, locations, and limits79 through flags shown by the selected route.80- Keep the first pass bounded; expand only after inspecting the first result.81- If the CLI returns a quote-confirmation challenge, run `postplus quote confirm --json --challenge-file <challenge.json>` and retry with the returned token.8283<!-- BEGIN GENERATED EXECUTION EXAMPLE -->84```bash85postplus research run instagram-comments \86 --url "https://example.com/source" \87 --wait \88 --output ./result.json89```90<!-- END GENERATED EXECUTION EXAMPLE -->