This skill is used tobatch-maintain the coverage company pool— the highest-frequency but most tedious work for analyst teams.
Mandatory process (v0.3 hard constraints)
⛔ Before any analysis output, you must strictly execute the 5-step pre-start process of
../../core/preamble.mdpre-start process in 5 steps⛔ Before any output is completed, you must strictly execute the 6-step post-completion process of
../../core/postamble.mdpost-completion process in 6 stepsOutput archiving follows the
../../core/output-archive.mdnaming convention Output acceptance is self-checked item by item according to the../../core/acceptance.mdchecklistSkipping any step is considered an incomplete task.
Batch Refresh special note: the [Preflight] in preamble Step 4 must list the target list + dimensions + estimated number of tool calls for this refresh, ensuring the user knows this is a large-batch task.
Applicable scenarios
- Every Monday morning: refresh quotes, this week's announcements, and this week's news for the entire coverage pool
- The first working day of each month: refresh financial metrics + shareholder structure for all companies
- Before each quarterly earnings season: batch pre-fetch earnings disclosure calendars
- Ad hoc full scan: batch-assess impact after industry events ("US restrictions updated, scan the AI compute chain")
Core tasks
- Read the coverage pool list: pull all tickers from
{coverage_root}/INDEX.mdFilter scope - Filter scope: filter by user specification (full / sub-sector / individual)
- Execute one by one: call the corresponding data-fetching tool for each ticker
- Automatic archiving: write each company's update to
{coverage_root}/{ticker}_{name}/data/{YYYY-MM-DD}-refresh.md - Generate overall report: summarize success / failure / significant changes
Output format
Overall summary
# Batch Refresh · {YYYY-MM-DD}
**范围**:{全量 82 家 / 光模块子赛道 22 家 / ...}
**维度**:{行情+公告+新闻 / 全部财务字段 / ...}
**用时**:{X 分钟}
## 摘要
- ✅ 成功更新:N 家
- ⚠️ 部分成功:M 家
- ❌ 失败:K 家
## 显著变化(关注点)
| Ticker | 名称 | 变化类型 | 详情 |
|---|---|---|---|
| 688256 | 寒武纪 | 重大公告 | 新增订单合同 (财报披露) |
| 688981 | 中芯国际 | 财务异常 | Q4 毛利率超预期 (财报披露) |
## 失败清单
| Ticker | 名称 | 失败原因 |
|---|---|---|
| {ticker} | {name} | iFind 超时 / 数据未披露 |
Update details for each target (written to the data/ directory)
# {ticker} {name} · Refresh {YYYY-MM-DD}
## 行情快照
- 收盘价 / 周涨跌 / 月涨跌 / YTD (财报披露-iFind)
## 财务最新
- 最近一期 PE / PB / PS / ROE (财报披露-iFind)
- 营收 / 净利 / 毛利率 同比 (财报披露-iFind)
## 股东变化
- 十大股东最新一期 (财报披露-iFind)
- 与上一期对比 (合理推演)
## 本周公告 / 新闻
- {公告 1} (财报披露)
- {新闻 1} (市场共识)
## 自动告警
- ⚠️ 任何"显著变化"必须在这里标出(毛利率突变、股东大幅减持、重大公告等)
## 仍需补的资料
- {缺失项}
Best practices for batch execution
Throttling
- At least 200ms interval between each ticker to avoid triggering data source rate limits
- iFind MCP supports at most 100 queries per session; split into batches if exceeded
Failure retry
- Any ticker failure is immediately recorded in the failure list,do not interrupt the entire batch task
- Report failures together after all runs are complete
Incremental update
- Compare against the snapshot from the last refresh,only output fields that have changed
- avoid rewriting all data every time
Task persistence
- Long batch tasks must support interruption and resumption
- Record "completed N/total M" in active-tasks.md, and continue from the breakpoint
Collaboration with other skills
- Trigger deep research: if a "significant change" is detected for a target,automaticallytrigger
sm-catalyst-monitorsingle-point analysis - Trigger red-team review: if a target rises more than 20% this week,automatically suggestusing
sm-red-team - Trigger thesis update: If the financial data contradicts the assumptions in the previous thesis,proactively remindthe user to run
sm-thesisupdate
Output acceptance (in addition to the general checklist)
- The list of tickers refreshed this time has been listed
- Each ticker has a "updated fields" summary
- Failed tickers clearly list the reasons
- Significant changes have been flagged and trigger follow-up skill suggestions