Loading...
Loading...
This is used when users want to learn about industry hotspots, check topic challenge rankings, view recent hot search events or public domain popularity trends. It supports two dimensions: topic challenges and hot list events. Manual trigger: /trending
npx skill4agent add bytedance/agentkit-samples byted-marketing-agent-trending-list/trending⛔ OUTPUT RULE — Highest Priority
- Do not output any intermediate processes to users during execution, including but not limited to technical steps such as self-check, virtual environment creation, dependency installation, connectivity verification, etc.
- It is forbidden to output any of the following content (violation means failure):
- ❌ "Let me do a self-check first" / "Creating virtual environment" / "Installing dependencies" / "Installation is still in progress"
- ❌ "Let me check the skill file first" / "First prepare the environment"
- ❌ Interface addresses, credentials, tokens, script paths, internal field names, SDK version information
- ❌ Database table names (such as
), English field names (such ascdp_voc.hot_topic_insights,main_challenge), query_type values (such asheat_value,hot_topic_insights) — no matter in process or result, it is strictly forbidden to disclose to usershot_event- If the environment is not ready and needs to be installed, only one user-friendly prompt is allowed (such as "Initializing the query service for you, please wait…"), and the business result will be returned directly after completion, without broadcasting technical details.
- Only output once after completion: business results (industry list / ranking list / single detail) or "No data available / missing parameters need to be selected".
⚠️ Mandatory Rules
- All script calls must use the Python of the virtual environment:
$VENV_PY- When using for the first time or self-check fails, you must first complete the "Install Virtual Environment" step below, and then re-pass the self-check before executing business calls.
- It is forbidden to directly use the system
to avoid dependency pollution or version mismatch.python3
if [ -z "$VOLCENGINE_ACCESS_KEY" ] || [ -z "$VOLCENGINE_SECRET_KEY" ]; then
echo "CREDENTIALS_MISSING"
else
echo "VOLCENGINE_ACCESS_KEY: 已设置"
fiCREDENTIALS_MISSING🔑 Volcano Engine access credentials need to be configured, please provide:
- AccessKey(AK):
- SecretKey(SK):
VOLC_AK_INPUTVOLC_SK_INPUT--ak "$VOLC_AK_INPUT" --sk "$VOLC_SK_INPUT"VOLCENGINE_ACCESS_KEYVOLCENGINE_SECRET_KEYSCRIPTS_DIR=$(dirname "$(find ~ -maxdepth 8 -name "openapi_client.py" -path "*byted-marketing-agent-trending-list*" 2>/dev/null | head -1)")
SKILL_DIR=$(dirname "$SCRIPTS_DIR")
VENV_PY=$SKILL_DIR/venv/bin/python3
# 1) Check if the virtual environment exists
test -f $VENV_PY && echo "venv OK" || echo "venv 不存在,请先执行安装步骤"
# 2) Check if dependencies are available
$VENV_PY -c "import volcenginesdkcore; from volcenginesdkcore import ApiClient; print('deps OK')"
# 3) Check volcengine-python-sdk version (must be >= 4.0.43)
$VENV_PY -c "from importlib.metadata import version; print(version('volcengine-python-sdk'))"
# 4) Syntax check
$VENV_PY -m py_compile $SCRIPTS_DIR/openapi_client.py && echo "syntax OK"SCRIPTS_DIR=$(dirname "$(find ~ -maxdepth 8 -name "openapi_client.py" -path "*byted-marketing-agent-trending-list*" 2>/dev/null | head -1)")
SKILL_DIR=$(dirname "$SCRIPTS_DIR")
# 1. Create virtual environment (only for the first time)
python3 -m venv $SKILL_DIR/venv
# 2. Install dependencies
$SKILL_DIR/venv/bin/pip install 'volcengine-python-sdk>=4.0.43'Known defect reminder: The built-in retry mechanism of volcengine-python-sdk historical versions 4.0.1 ~ 4.0.42 (inclusive) has defects, it is strongly recommended to use >=4.0.43.
If the system lacks:python3-venv, then re-execute the above steps.apt update && apt install python3-venv -y
SCRIPTS_DIR=$(dirname "$(find ~ -maxdepth 8 -name "openapi_client.py" -path "*byted-marketing-agent-trending-list*" 2>/dev/null | head -1)")
SKILL_DIR=$(dirname "$SCRIPTS_DIR")
VENV_PY=$SKILL_DIR/venv/bin/python3
# If the user provides credentials, append --ak / --sk; otherwise omit
$VENV_PY $SCRIPTS_DIR/openapi_client.py --format text \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
list-industries$VENV_PY $SCRIPTS_DIR/openapi_client.py --format text \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
query \
--category "{Select one from industry enumeration}" \
--query-type hot_topic_insights \
--task-date "2026-03-12" \
--page 1 \
--page-size 5$VENV_PY $SCRIPTS_DIR/openapi_client.py --format text \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
query \
--category "{Select one from industry enumeration}" \
--query-type hot_event \
--task-date "2026-03-12" \
--page 1 \
--page-size 5type$VENV_PY \
$SCRIPTS_DIR/openapi_client.py \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
--format text list-industrieshot_topic_insightshot_eventtypetrending_listhot_topic_insightshot_eventTotal plays DESCRanking DESCYESTERDAY=$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d "yesterday" +%Y-%m-%d)
$VENV_PY \
$SCRIPTS_DIR/openapi_client.py --format json \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
query \
--category "{industry_name}" \
--query-type {hot_topic_insights|hot_event} \
--task-date "$YESTERDAY" \
--order-by "{Total plays DESC | Ranking DESC}" \
--page 1 \
--page-size 20--format json--order-by"Total plays DESC""Total likes DESC""Total comments DESC""Total shares DESC""Number of related videos DESC""Ranking DESC""Heat value DESC"💡 Currently sorted by total plays, you can also ask me to sort by "likes", "comments", "shares", "number of related videos".
YESTERDAY=$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d "yesterday" +%Y-%m-%d)
$VENV_PY \
$SCRIPTS_DIR/openapi_client.py --format json \
${VOLC_AK_INPUT:+--ak "$VOLC_AK_INPUT"} ${VOLC_SK_INPUT:+--sk "$VOLC_SK_INPUT"} \
query \
--category "{industry_name}" \
--query-type {hot_topic_insights|hot_event} \
--task-date "$YESTERDAY" \
--filter "{Filter expression}" \
--page 1 \
--page-size 1--filter "Task ID = '{Task ID value}'"--filter "Event name = 'Discussion on anti-peep screen and imaging functions of Samsung S26 Ultra'"Ranking = 1| Field Name | Description |
|---|---|
| Main topic | Main challenge content in hot topics |
| Related challenge 1 ~ Related challenge 5 | 1st to 5th related challenges |
| Proportion 1 ~ Proportion 5 | Proportion of corresponding related challenges |
| Is official | Whether it is an official hot spot (0=unofficial, 1=official) |
| Is commercial | Whether it is commercial related (0=non-commercial, 1=commercial) |
| Related video titles | List of video titles related to the topic |
| Number of related videos | Number of videos related to the topic |
| Total plays | Total plays of the topic |
| Total likes | Total likes of the topic |
| Total comments | Total comments of the topic |
| Total shares | Total shares of the topic |
| Total follows | Total follows of the topic |
| Total favorites | Total favorites of the topic |
| Total complete plays | Total complete plays of the topic |
| Topic description | Topic description information |
| Generation date | Task run end date |
| Task name / Task date / Task ID | Task meta information |
| Field Name | Description |
|---|---|
| Event name | Event name |
| Summary | One-sentence background/opinion summary |
| Related videos | List of related video titles (text) |
| Link | Search/aggregation page link |
| Heat value | Heat value |
| Ranking | Heat ranking |
| Speech text | Speech to text (if any) |
| Analysis content | Structured analysis (if any) |
| Generation date | Generation date |
| Task name / Task date | Task meta information |
⛔ It is forbidden to add any content outside the structure specified in the template below, including introduction, summary, personal analysis or additional instructions. It is forbidden to paste raw JSON directly.
## 🔥 {Industry} Hot Topic List ({task_date}) | Sorted by {Chinese name of sort field}
| # | Main Topic | Plays | Likes | Number of related videos |
|---|--------|--------|------|-----------|
| 1 | {Main topic} | {Total plays} ten thousand | {Total likes} ten thousand | {Number of related videos} |
...
💡 You can continue to ask me:
- {Guide question 1}
- {Guide question 2}
- {Guide question 3}### 🔍 {Main topic}
{Topic description}
**Related challenge distribution:**
| Related challenge | Proportion |
|----------|------|
| {Related challenge 1} | {Proportion 1}% |
| {Related challenge 2} | {Proportion 2}% |
... (Only show non-empty items)
**Data:** Plays {Total plays} ten thousand · Likes {Total likes} ten thousand · Comments {Total comments} ten thousand · Related videos {Number of related videos} items
💡 You can continue to ask me:
- {Guide question 1}
- {Guide question 2}
- {Guide question 3}## 📰 {Industry} Hot List Events ({task_date})
| Ranking | Event | Summary | Heat value | Link |
|------|------|------|--------|------|
| {Ranking} | {Event name} | {Summary} | {Heat value} | [View](url) |
...
💡 You can continue to ask me:
- {Guide question 1}
- {Guide question 2}
- {Guide question 3}### 🔍 {Event name}
**Summary:** {Summary}
**Related videos (Top3):**
- {Top 3 related videos, one per line}
**Analysis:** {Analysis content}
Heat value {Heat value} · Ranking {Ranking} [View aggregation page](url)
💡 You can continue to ask me:
- {Guide question 1}
- {Guide question 2}
- {Guide question 3}url💡 You can continue to ask me:
- "Help me check the trend videos of [a certain industry]" (fill in the industry name, the user can confirm directly)
- "I want to see what hot events are there recently"
💡 You can continue to ask me:
- "Help me expand the detailed content of {No.1 main challenge}"
- "What hot list events are there recently in {Current industry}?" (Automatically switch to hot_event)
- "Change to another industry, such as [Recommend another industry]"
💡 You can continue to ask me:
- "Expand the detailed content of {No.1 event name}"
- "What hot topic challenges are there recently in {Current industry}?" (Automatically switch to hot_topic_insights)
- "Change to another industry to view hot list events"
💡 You can continue to ask me:
- "Look at the next item in the list"
- "What hot list events are there in {Current industry}?" Or "What hot topics are there in {Current industry}?" (Guide to view another type)
- "Change to another industry to check"
Principle: Drain traffic between the two types — after reading the topic trend, guide to view the hot list events, after reading the events, guide to view the related topic challenges, forming a complete content exploration closed loop.
industry_nametypetrending_listquery_typehot_topic_insightshot_eventtask_date$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d "yesterday" +%Y-%m-%d)This Skill usesto initiate a signature request tovolcenginesdkcore.ApiClient. Action:cdp-saas.cn-beijing.volcengineapi.com, Version:ArkOpenClawSkill.2022-08-01
--ak--skVOLCENGINE_ACCESS_KEYVOLCENGINE_SECRET_KEYVOLCENGINE_ACCESS_KEYVOLCENGINE_SECRET_KEYVOLC_SERVICEcdp_saasVOLCENGINE_REGIONcn-beijinghot_topic_insightshot_eventPUBLIC_INSIGHT_API_URLSecurity requirement: It is forbidden to hardcode plaintext AK/SK inor code.SKILL.md