SuperAPI AI Directory

daymade-sector-research

Writing & research

View repository

Updated 10-15 20:34

About this skill

A-Share Industry Investment Research Skill

Deliver a complete investment research package for a given Shenwan industry/Eastmoney sector:Top N gainers → announcement window search → market sentiment assessment → Agent Team adversarial verification → comprehensive report。

Iron Rules (must be followed on every execution, highest cost of violation)

  1. Better to label uncertainty than to give a wrong answer(user's exact words, highest discipline). Facts without full confidence must be written as "uncertain/unverified"; do not fabricate, guess, or omit sources. Inferences and observations must be stated separately.
  2. Evidence-based, data-based. Every conclusion must trace to a first-hand data source (API return / CSV written to disk / official announcement); when reporting values, copy verbatim from tool output; transcription from memory is forbidden.
  3. Evidence grading L1–L3: L1 first-hand market data (real-time values from exchange/market data interface); L2 timestamped media/announcement reports; L3 unverified headlines or rumors. When judging sentiment, only L1/L2 are allowed to bear weight; L3 can only be listed as "leads pending verification."
  4. Zero-announcement bidirectional read: 0 announcements in a monthly window ≠ truly no announcements. Must widen the window (90 days) + cross-check with a second data source, proving "truly none" or discovering a parameter error, before drawing a conclusion.
  5. Dual-source cross-check: Announcement search must compare Cninfo + Eastmoney sources; an "important announcement" found by a single data source must also be confirmed to exist in the other source, and any inconsistency must be truthfully labeled.
  6. Flag intraday snapshot drift: Market data values taken intraday are instantaneous snapshots that drift; any citation must carry the snapshot timestamp, and the report must note "intraday snapshot."
  7. Copy values verbatim to CSV on disk: Intermediate values must be written to disk (script output CSV / agent disk files); when the report cites them, copy the CSV values verbatim, not from conversation memory.
  8. Agent Team orchestration discipline: see references/agent-orchestration.md——sub-agents explicitly model:'sonnet'; SendMessage delivery protocol; each finding carries a falsifiable anchor; verification uses a fresh-context adversarial agent; spawning duplicate agents is forbidden.

Workflow (five phases)

Phase 0  数据能力侦察 → 必要时 pivot 公开源
Phase 1  并行三 agent:Top N 名单 / 涨跌幅分桶分布 / 情绪证据清单
Phase 2  公告检索:Top N 全标的 × 周窗口 + 月窗口,双源交叉
Phase 3  对抗验证:fresh-context agent 复核假设(用户原话:「看哪些假设是错的」)
Phase 4  综合报告:名单 + 公告 + 情绪分级 + 显式不确定标注

Phase 0 — Data capability reconnaissance (Gangtise pivot decision)

If the user names Gangtise (or its official skill), first reconnoiter availability before deciding on data sources:

  1. Controlled experiment to judge "quota": Some endpoints are available with the same credentials (e.g., quote.py、stockpool.py、get_industries.py) while all content-search endpoints report POINT_NOT_ENOUGH → this is a holistic explanation of insufficient credits; the same credentials working on one and failing on another already rules out "network/configuration issues"; if different endpoints behave inconsistently, do not rush to conclude "quota exhausted"—run controlled experiments (switch endpoint/switch parameters/minimal request).
  2. Pivot decision table: Content search unavailable → for Top N switch to Eastmoney constituent stocks + Sina snapshots; for announcements switch to cninfo + Eastmoney; for sentiment switch to public market data + media. Reconnaissance conclusions and pivot decisionsmust be disclosed to the user; do not silently switch data sources.
  3. Complete reconnaissance matrix (measured behavior of each endpoint, credit error reports, controlled experiments) → references/gangtise-scout.md

Phase 1 — Three parallel agents

Dispatch 3 parallel agents (explicitly sonnet), each prompt with falsifiable-anchor requirements:

Agent Deliverable Data chain
Top N list top{N}_{board}_{日期}.csv scripts/top_n_pipeline.py(Eastmoney constituent stocks → Sina snapshots → ranking by gain)
Up/down bucketed distribution distribution_{board}_{日期}.csv + Market breadth conclusion Full-sector snapshot bucketed by 6 buckets (>5%/2-5%/0-2%/0%/-2-0%/<-2%) + up/down/flat summary; the sum of the six bucket counts must equal total
Sentiment evidence list Layered evidence table (separate columns for L1/L2/L3) First-hand market data + media search

Market data and sector interface details → references/market-data.md; sentiment evidence methodology and sources → references/sentiment-evidence.md。

Phase 2 — Announcement search

For all Top N tickers, search announcements, with weekly window (last 7 days) and monthly window (last 31 days) in mutually exclusive buckets:

# 脚本路径按本 skill 安装目录(SKILL.md 同级目录下的 scripts/)执行,示例用相对路径仅指 skill 包内
cd <本 skill 安装目录>
env -u http_proxy -u https_proxy -u all_proxy -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY \
  python3 scripts/ann_query.py --codes 002219,600613,920946 \
  --end 2026-08-13 --out-dir /path/out \
  --universe-csv /path/top10_xxx.csv

Built into the script: CNINFO orgId is always resolved via topSearch (do not assemble it yourself by market — Shenzhen's dual forms/Shanghai's leading zeros/STAR Market's gfbj all empirically produce false negatives when assembled incorrectly), B-shares (starting with 900/200) are automatically converted to the corresponding A-share code for search, dual-source cross-check and type backfill, pagination for both sources, automatic widening-window criterion when the monthly window has 0 records (latest date of the widened window vs. the monthly window start), and URL spot checks. orgId pitfalls and interface forms → references/cninfo-announcements.md。

Bucketing rules: announcement dates falling within the weekly window are marked 1周, otherwise (still within the monthly window) marked 1月, mutually exclusive with no duplicates. Output headers:股票代码,股票名称,公告标题,公告日期,公告类型(如有),公告URL,时间窗口(1周|1月)。

Mandatory verification: ① Dual-source cross-check (CNINFO vs East Money) counts match; ② confirm "truly none" for 0-record tickers by widening the window; ③ the two sources' coverage is not entirely consistent (some investor-relations announcements are only on East Money, some are also indexed by CNINFO); East Money-exclusive entries are added to the union and their source is labeled by URL domain.

Phase 3 — Adversarial verification (user's own words: "see which assumptions are wrong")

Dispatch 2 fresh-context adversarial agents (no fork, no sharing of this session's context), each with its own verification axis:

  • Verification axis 1 · Methodology and values: Top N list recomputation (independently re-run the data chain), bucket statistics recomputation (sum of the six bucket counts = total), snapshot timestamp verification
  • Verification axis 2 · Announcement completeness and sentiment evidence strength: spot-check whether the announcement monthly window missed any, check item by item whether sentiment conclusions are load-bearing on L1/L2, and whether there is any unlabeled inference

Each agent's finding must carry a falsifiable anchor (specific value/URL/command output); the prompt explicitly mandates "better to mark uncertain than to fabricate." Verification results form a separate section in the synthesis report:which assumptions were overturned, which were confirmed, which cannot be verified. Orchestration details → references/agent-orchestration.md。

Phase 4 — Synthesis report

Delivery structure:

  1. Data sources and pivot disclosure: which sources were used, which were unavailable, and why the pivot
  2. Top N list: table (rank/code/name/gain/price/turnover) + snapshot timestamp
  3. Announcement list: weekly/monthly buckets, aggregated by ticker, with source and cross-verification results labeled
  4. Sentiment judgment: presented in L1–L3 layers, with conclusions clearly labeled by evidence level; dimensions with insufficient evidence should state "Uncertain: no L1/L2 evidence"
  5. Verification results: adversarial verification findings, list of overturned assumptions
  6. Uncertainty list: explicitly list all items that did not reach "full confidence"

All report values must be copied verbatim from the persisted CSV; transcription from memory is prohibited.

Environment constraints

  • Domestic sites (East Money/Sina/CNINFO) curl/scripts must bypass the proxy:env -u http_proxy -u https_proxy -u all_proxy -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY
  • For Python use uv run --no-project or system python3 (script stdlib only)
  • Sina snapshot returns GBK encoding, requires Referer https://finance.sina.com.cn; Eastmoney announcement API can work without Referer (tested); Beijing Stock Exchange announcements do not go through bse.cn separately (official website API fails in three ways, use the Cninfo gfbj channel)
  • If the push2 domain resolves into 198.18.0.0/15 (proxy TUN fake-IP), disabling the proxy will not work; you must fix the proxy routing or use curl --resolve to directly connect to the real IP (see references/market-data.md)