This Ya helps you scan through viral cultural tourism long-form articles in WeChat Official Accounts by keyword—fishing out the articles with the highest reads among city, scenic area, and route guides, laying them out in the terminal as a clickable viral article table, then clustering them into several cultural tourism topic directions, building a directly actionable post benchmarking list.
WeChat Official Accounts are the stronghold for in-depth cultural tourism content: guides, city stories, and cultural tourism policy interpretations all produce long-tail viral hits here. Suitable forcultural tourism bureau WeChat Official Accounts, scenic area subscription accounts, city cultural tourism operationsfinding in-depth topics, reviewing peers' posts, and refining title angles.
Data goes through doubaoya.com in one line, authentication uses your own key (environment variable
DOUBAOYA_API_KEY, in the formdyh_…)。
Note: the underlying layer is the WeChat Official Account content feed, which retrieves articles by the keyword you provide. "Cultural tourism" uses keywords as a cultural tourism topic lens—results depend on the feed's hits for your word; the closer the word is to cultural tourism, the more accurate.
Applicable scenarios
| Scenario | How to use | What you get |
|---|---|---|
| Post topic selection | Use 文旅、城市旅游 to scan high-read viral articles |
See clearly what is hot in cultural tourism long-form articles right now |
| Scenic area in-depth benchmarking | Use 景区、古镇、非遗 , etc. |
Lock onto the angles and structures of scenic area long-form articles |
| City story mining | Use 城市、小众目的地 to find entry points |
Find story-driven ways to write about city cultural tourism |
| Viral popularity ranking | Sort by likeCount likes from high to low |
Instantly lock onto the strongest viral hits among cultural tourism long-form articles |
| Title angle breakdown | Look at how high-like articles write their titles | Extract viral title formulas for cultural tourism posts |
Workflow (4 steps)
1. Set keyword
Extract one cultural tourism direction keyword(required) from the user's description, such as 文旅、城市旅游、景区、古镇、非遗、小众目的地. Broader words get more hits, narrower words are more focused; scan only one keyword at a time.
2. Call script
python3 "$SKILL_PATH/scripts/fetch_culture_feed.py" "文旅"
Pagination / adjust items per page (optional):
python3 "$SKILL_PATH/scripts/fetch_culture_feed.py" "城市旅游" --page 2 --size 30
The script outputs the data from the success envelope as JSON to stdout.Run the script only once per query, read the full stdout directly, do not use head/tail preview, and do not call repeatedly with the same parameters.
3. Render viral article table
Take fields from data.items(article array) and lay them out as a Markdown table. Read fields defensively—title(title) / likeCount(likes) may be missing; if missing, leave blank, do not error. Render titles asclickable links(pointing to the article's original URL; if URL is missing, plain text).
| Title | Likes |
|---|---|
| Example cultural tourism viral article | 1,200 |
4. Cluster into topic directions + one-sentence insight
Cluster this batch of articles from a cultural tourism perspectiveclustering(such as city stories / scenic area guides / food maps / intangible cultural heritage / policy interpretation), pick out a representative hit for each direction, and put together a brief benchmarking list. At the end, add a line in this duck's tone withtopic insight: which angle of current cultural tourism long-form articles is most popular, and what kind of narrative still has room. Don't pile on clichés, and don't ask the user about their purpose.
Get the key (secret key)
- Open doubaoya.com
- Log in
- Go to Key Center
- Generate key(in the form
dyh_…)
Configure it as an environment variable (the script only recognizes this):
export DOUBAOYA_API_KEY="dyh_你的密钥"
Iron rule: never print the key, never write it into a file, never echo it back to the user. The script itself also never outputs the key. All requests are sent only to doubaoya.com。
Interface and envelope
POST https://doubaoya.com/api/apis/gongzhonghao/gongzhonghao-playlet-feed/call- Auth header:
Authorization: Bearer $DOUBAOYA_API_KEY - Request body:
{ "keyword": "文旅", "pageNum": 1, "pageSize": 20 }keyword: string, requiredpageNum: integer, optional (default 1, controlled by--page)pageSize: integer, optional (default 20, controlled by--size)
- Return envelope:
{ "success": true, "requestId": "...", "data": { "items": [ { "title": "...", "likeCount": 1200 } ] }, "error": null } - First check
success: only readtruewhen it isdata; otherwise readerror.code/error.message。
Error handling
When the script fails, it prints to stderr [error] CODE: message and exits with code 1. Common cases:
| HTTP | code | Meaning | Handling |
|---|---|---|---|
| 401 | MISSING_API_KEY / UNAUTHORIZED |
No key provided or invalid key | Check DOUBAOYA_API_KEY, go to the Key Center to regenerate |
| 400 | VALIDATION_ERROR |
Invalid parameter (such as empty keyword) | Fix the keyword and retry |
| 402 | INSUFFICIENT_CREDITS |
Insufficient quota | Go to doubaoya.com to top up/renew quota |
| 502 | PROVIDER_FAILED |
Temporary upstream failure (automatically refunded) | Safe to retry |
502 PROVIDER_FAILEDwill automatically refund; retrying is safe and will not double-charge.
Directory structure
cultural-tourism-wechat-feed/
├── SKILL.md # 本文件
└── scripts/
└── fetch_culture_feed.py # 零依赖脚本(urllib),调用 doubaoya.com
About the notice field in the response
After calling the doubaoya API corresponding to this skill, if the notice field appears at the top level of the returned JSON, please relay this sentence to the user as-is—this is a notice that this skill has an update, it does not affect the result of this call, and there is no need to retry or change behavior.