Reddit Search
Use this skill for bounded public Reddit research. Apply the 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.
Experience Rules
- Speak in the user's business language, not collection terminology.
- Ask at most one question, and only when it changes the route or credit bound.
- Start with the smallest useful sample and expand only after review.
- Keep implementation, delivery, and network controls out of the conversation.
- Fail fast on hard command, contract, auth, or private-surface failures. When
a supported run completes with empty, sparse, noisy, or off-topic evidence,
apply the shared bounded research-quality recovery rule before concluding
that the evidence is exhausted.
Route Index
Read references/shared-contract.md for every route, then the route reference
and references/result-shapes.md. All references are direct from this file.
| User asks for |
Route references |
Default first pass |
| Keyword posts, communities, or a Reddit search URL |
references/search.md |
20 posts or 10 communities |
| Keyword comment evidence |
references/search.md, then references/post-comments.md |
20 discovery posts, then up to 3 relevant threads |
| One supplied post URL's comments |
references/post-comments.md |
1 post and up to 50 comments |
| A guided pain-point or product-opinion deep-dive |
references/search.md, then references/post-comments.md |
20 discovery posts, then 3 suggested threads |
| A subreddit search, feed, metadata, or deep collection |
references/community.md |
20 feed posts; deep scope is bounded separately |
| An explicitly named public Reddit profile and its activity |
references/profile.md |
20 posts and 20 comments |
| Normalizing, deduplicating, or presenting any result |
references/result-shapes.md |
Preserve the raw result file |
First Question
Do not ask when the user supplied a keyword, URL, subreddit, or profile and a
safe default applies. Otherwise ask only the highest-information question:
| Missing decision |
Ask |
| No research target |
What Reddit topic, URL, subreddit, or public profile should I research? |
| A deep subreddit request has no bound |
What date range or maximum post count should bound the deep collection? |
| Multiple expensive directions compete |
Which one should I run first: discovery, a thread deep-dive, a subreddit, or a public profile? |
Never ask for credentials, schema fields, implementation
choice, delivery settings, or retry strategy.
Run Protocol
- Select one route and apply its references.
- Run the narrowest semantic route that answers the first pass.
- Keep the JSON result under
.postplus/ as durable evidence.
- Inspect record types and relevance. If the evidence is not useful, apply the
recovery flow in
references/shared-contract.md without repeating an
identical request or exceeding the approved PostPlus credit bound.
- Keep the complete raw records in the result file; normalize only the
user-facing evidence according to
references/result-shapes.md.
- Report scope, counts by result type, representative evidence, limits, and
one useful next action. Do not imply a bounded pass is exhaustive.
Multiple keywords are separate, attributable requests. They may run in
parallel, but their result sets remain separate until presentation.
Public Command Boundary
- Readiness:
postplus doctor --skill reddit-search.
- Inspect route flags only when needed with
postplus research run <route> --help.
- Select the route:
reddit-search for keyword discovery, public search URLs, community search,
and ordinary subreddit feeds;
reddit-post-comments for one or more selected post threads;
reddit-subreddit-posts for bounded deep subreddit collection;
reddit-user-activity for an explicitly named public profile.
- Run
postplus research run <route> --<query/url/subreddit/handle flags> --limit <n> --wait --output <result.json>.
- Use only the semantic flags shown by the selected route.
- If a run returns a saved async checkpoint, resume it with
postplus research run --resume-from <result.json> rather than starting
a duplicate run.
- If a quote-confirmation challenge appears, show its scope and PostPlus credits. Only
after the user confirms, run
postplus quote confirm --json --challenge-file <challenge.json> and retry
with the returned token.
- If an owned CLI command fails, report the exact error and stop. Do not use
unpublished tools, payload rewrites, or another service as a fallback.
Scope Boundary
Supported: public keyword discovery, public search URLs, public post threads,
public subreddit content and metadata, and explicitly requested public profile
activity.
Excluded: login or account access, posting or messaging, private/deleted
content recovery, real-identity inference, private-data enrichment, automated
sentiment analysis, media download, external delivery, and network tuning.
postplus research run reddit-search \
--wait \
--output ./result.json
1---2name: reddit-search3description: Research public Reddit posts, comments, communities, post threads, and user profiles with bounded collection. Use for audience voice, pain points, product opinions, subreddit discovery or feeds, comment deep-dives, and explicitly requested public profile activity.4---56# Reddit Search78Use this skill for bounded public Reddit research. Apply the shared rulebook9and user-guidance rules from `postplus-shared`.10When a supported command completes but evidence is empty, sparse, noisy,11off-topic, or the wrong record type, apply the `postplus-shared` reference12`research-quality-recovery.md`; hard execution errors still fail fast.1314## Experience Rules15161. Speak in the user's business language, not collection terminology.172. Ask at most one question, and only when it changes the route or credit bound.183. Start with the smallest useful sample and expand only after review.194. Keep implementation, delivery, and network controls out of the conversation.205. Fail fast on hard command, contract, auth, or private-surface failures. When21 a supported run completes with empty, sparse, noisy, or off-topic evidence,22 apply the shared bounded research-quality recovery rule before concluding23 that the evidence is exhausted.2425## Route Index2627Read `references/shared-contract.md` for every route, then the route reference28and `references/result-shapes.md`. All references are direct from this file.2930| User asks for | Route references | Default first pass |31| --- | --- | --- |32| Keyword posts, communities, or a Reddit search URL | `references/search.md` | 20 posts or 10 communities |33| Keyword comment evidence | `references/search.md`, then `references/post-comments.md` | 20 discovery posts, then up to 3 relevant threads |34| One supplied post URL's comments | `references/post-comments.md` | 1 post and up to 50 comments |35| A guided pain-point or product-opinion deep-dive | `references/search.md`, then `references/post-comments.md` | 20 discovery posts, then 3 suggested threads |36| A subreddit search, feed, metadata, or deep collection | `references/community.md` | 20 feed posts; deep scope is bounded separately |37| An explicitly named public Reddit profile and its activity | `references/profile.md` | 20 posts and 20 comments |38| Normalizing, deduplicating, or presenting any result | `references/result-shapes.md` | Preserve the raw result file |3940## First Question4142Do not ask when the user supplied a keyword, URL, subreddit, or profile and a43safe default applies. Otherwise ask only the highest-information question:4445| Missing decision | Ask |46| --- | --- |47| No research target | `What Reddit topic, URL, subreddit, or public profile should I research?` |48| A deep subreddit request has no bound | `What date range or maximum post count should bound the deep collection?` |49| Multiple expensive directions compete | `Which one should I run first: discovery, a thread deep-dive, a subreddit, or a public profile?` |5051Never ask for credentials, schema fields, implementation52choice, delivery settings, or retry strategy.5354## Run Protocol55561. Select one route and apply its references.572. Run the narrowest semantic route that answers the first pass.583. Keep the JSON result under `.postplus/` as durable evidence.594. Inspect record types and relevance. If the evidence is not useful, apply the60 recovery flow in `references/shared-contract.md` without repeating an61 identical request or exceeding the approved PostPlus credit bound.625. Keep the complete raw records in the result file; normalize only the63 user-facing evidence according to `references/result-shapes.md`.646. Report scope, counts by result type, representative evidence, limits, and65 one useful next action. Do not imply a bounded pass is exhaustive.6667Multiple keywords are separate, attributable requests. They may run in68parallel, but their result sets remain separate until presentation.6970## Public Command Boundary7172- Readiness: `postplus doctor --skill reddit-search`.73- Inspect route flags only when needed with `postplus research run <route>74 --help`.75- Select the route:76 - `reddit-search` for keyword discovery, public search URLs, community search,77 and ordinary subreddit feeds;78 - `reddit-post-comments` for one or more selected post threads;79 - `reddit-subreddit-posts` for bounded deep subreddit collection;80 - `reddit-user-activity` for an explicitly named public profile.81- Run `postplus research run <route> --<query/url/subreddit/handle flags>82 --limit <n> --wait --output <result.json>`.83- Use only the semantic flags shown by the selected route.84- If a run returns a saved async checkpoint, resume it with85 `postplus research run --resume-from <result.json>` rather than starting86 a duplicate run.87- If a quote-confirmation challenge appears, show its scope and PostPlus credits. Only88 after the user confirms, run89 `postplus quote confirm --json --challenge-file <challenge.json>` and retry90 with the returned token.91- If an owned CLI command fails, report the exact error and stop. Do not use92 unpublished tools, payload rewrites, or another service as a fallback.9394## Scope Boundary9596Supported: public keyword discovery, public search URLs, public post threads,97public subreddit content and metadata, and explicitly requested public profile98activity.99100Excluded: login or account access, posting or messaging, private/deleted101content recovery, real-identity inference, private-data enrichment, automated102sentiment analysis, media download, external delivery, and network tuning.103104<!-- BEGIN GENERATED EXECUTION EXAMPLE -->105```bash106postplus research run reddit-search \107 --wait \108 --output ./result.json109```110<!-- END GENERATED EXECUTION EXAMPLE -->