demand-research
Skill0 starsChanged 16 days agoMITView on GitHub
Check whether people want a product or niche, and what exactly they want, from live public signals. What they type into Google and TikTok Shop, what sells on eBay and at what price, how much attention the topic gets on TikTok and YouTube, what Reddit complains about, and whether the news is picking it up. Use for product validation, niche and keyword research, pricing research, "is there demand for X", or sizing up a category before launching.
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- awaik/direct-mcp-ai-projecttheir own version, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- awaik/direct-mcp-ai-project★ 17same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- ad-researchSkill
- creator-vettingSkill
- lurkapiSkill
- lurkSkill
- reddit-researchSkill
- video-transcriptsSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Start from a seed: a product or category in plain words ("standing desk", "collagen gummies").
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Demand research
Is there demand for a product or niche, and what shape does it take: the words buyers search with, what already sells and for how much, how much attention the topic gets, and what people wish existed.
<!-- lurkapi:access -->Calling LurkAPI
With MCP (the LurkAPI plugin or connector), call the tools by name, like tiktok_profile; your client may prefix them (mcp__plugin_lurkapi_lurkapi__tiktok_profile). With only find_endpoints and call_endpoint, run a tool as call_endpoint with endpoint set to its name and params to its arguments. Results come trimmed: no nulls, one URL per image or video. A long result comes in parts: its _note gives the offset for the next part, which is free.
Without MCP (Codex, Cursor, scripts), every tool is GET https://api.lurkapi.com plus its path, with the same params as a query string (URL-encoded) and the key from LURKAPI_API_KEY in the x-api-key header:
curl -s "https://api.lurkapi.com/v1/tiktok/profile?handle=nike" -H "x-api-key: $LURKAPI_API_KEY"If LURKAPI_API_KEY isn't set but LURKAPI_KEY is (the name older docs used), use that. Raw answers are big: pipe them through jq to keep the fields you need. No key yet? Ask the user to create one at https://lurkapi.com/dashboard (100 free credits on sign-up, then a balance below 25 tops back up to 25 every day) and to set LURKAPI_API_KEY in their shell. Never ask for the key in the chat, and never print it.
Credits. Each call costs what the table at the end says, not_found included; failures on our side (5xx) are free. Every answer carries credits_remaining. Before a run of more than 20 calls, check the balance with account_credit_balance (free) and tell the user what the run will cost. If a call answers missing_api_key, insufficient_credits or signup_required, stop and pass on what it says.
<!-- /lurkapi:access -->Run
Start from a seed: a product or category in plain words ("standing desk", "collagen gummies").
- What people search.
google_autocomplete(query=<seed>), then the same with a word after it to open up intent: "<seed>for", "<seed>vs", "best<seed>", "<seed>without". Each answer has up to about 15suggestions; theirvalues are real searches. Addregionandlanguagefor another market. Thentiktok_shop_suggestions(query=<seed>): what US shoppers type into TikTok Shop, brand names included, which shows who already owns the category there. - What sells, and for how much.
ebay_search(query=<seed>, condition=new): 60 listings a page withprice,sold(units that listing has sold),watchersandcondition. Rank bysoldto see what moves; take the price range of the sellers, not of everything listed. If the user names a TikTok Shop store or a competitor's product,tiktok_shop_products(url=<store url>)(withsold_count,ratingandpriceper product) ortiktok_product(url=<product url>). - How much attention it gets.
tiktok_search_keyword(query=<seed>): 20 videos withstats.playCount;youtube_search(query=<seed>, uploadDate=this_year, sortBy=popular): what got watched this year. Many recent videos with big views means live interest; a few old ones means a niche or a fad that passed. - What people wish existed.
reddit_search(query=<seed>, timeframe=year), thenreddit_post_comments(url=<thread url>, trim=true)on the two or three most-discussed threads (https://www.reddit.com plus the result'spermalink). For more depth, use thereddit-researchskill. - Is it in the news.
google_news(query=<seed>, date_posted=last-month): count thearticlesand read the titles for launches, trends or trouble.
Budget
A full scan is about 12 calls; eBay pages cost more than most calls (see the table). For a quick yes or no, steps 1 and 2 alone are about 5 calls. To compare several seeds, run step 1 for all of them first and go deep only on the promising ones.
Read it
- Demand: many specific autocompletes (with modifiers like "for", "vs", "without") and recent high-view videos mean people are actively looking.
- Proven spend: listings with high
soldcounts at healthy prices mean money already changes hands; many listings with no sales mean supply without demand. - Price bands: cluster what sells into budget, mid and premium, and note where the gaps are.
- Unmet needs: the "without", "for" and "vs" suggestions plus Reddit's complaints point at the product to build.
- Who's there: brands in TikTok Shop suggestions and top listings; a category with no clear brand is open.
Report
# Demand: <seed>, <date>
**Verdict:** strong / moderate / weak / unclear, in one sentence, with the two strongest signals.
| Signal | What we saw |
| --- | --- |
| Search | <n> Google and <n> TikTok Shop suggestions; the telling ones quoted |
| Sales | eBay: <n> listings sampled, top sellers at $<a>–$<b>, best seller <n> sold |
| Attention | TikTok top videos <views>; YouTube this year <views> |
| Complaints | Reddit themes, with links |
| News | <n> articles in the last month; what they're about |
## How buyers say it
The phrases to target, from autocomplete and Reddit.
## Price bands
## Openings
2 to 4 product or positioning ideas, each tied to the evidence.Pitfalls
- Autocomplete shows what's searched, not how often. Treat it as wording and intent, not volume.
- eBay's
soldis per listing and lifetime; it isn't a market total. - TikTok search ranks by relevance with no date filter: check
createTimebefore calling something a trend. - One market at a time: Google suggestions follow
regionandlanguage, TikTok Shop suggestions and eBay are US.
<!-- lurkapi:calls -->Calls and credits
| Tool | REST path | Credits |
google_autocomplete | /v1/google/autocomplete | 1 credit |
tiktok_shop_suggestions | /v1/tiktok/shop/search/suggestions | 1 credit |
ebay_search | /v1/ebay/search | 2 credits |
tiktok_shop_products | /v1/tiktok/shop/products | 1 credit |
tiktok_product | /v1/tiktok/product | 1 credit |
tiktok_search_keyword | /v1/tiktok/search/keyword | 1 credit |
youtube_search | /v1/youtube/search | 1 credit |
reddit_search | /v1/reddit/search | 1 credit |
reddit_post_comments | /v1/reddit/post/comments | 1 credit |
google_news | /v1/google/news | 1 credit |
Each tool's link opens its docs as markdown: every param and its values, and a real response.
<!-- /lurkapi:calls -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

