Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A股涨跌停板分析/连板追踪/涨停板统计。当用户说"涨停"、"跌停"、"涨停板"、"连板"、"打板"、"炸板"、"涨停分析"、"今天多少家涨停"、"连板股"、"首板"、"二板"、"三板"、"涨停原因"、"XX涨停了"、"涨停板分析"时触发。MUST USE when user asks about limit-up/limit-down board analysis, consecutive board tracking, or daily limit statistics for A-shares. 分析当日涨跌停数量、连板梯队、涨停原因归类、炸板率,追踪连板龙头股走势。支持研报风格(formal)和快速解读风格(brief)。
.claude/skills/aifinlab-a-share-board-analysis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-02 | ✓→✗ | ▼ Worse | 9% | 0% |
| case-03 | ✓→✗ | ▼ Worse | -47% | 0% |
| case-04 | ✓→✗ | ▼ Worse | -69% | 0% |
| case-05 | ✓→✗ | ▼ Worse | -46% | 0% |
bashSCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts" # 涨停池(当日涨停股票列表,含连板天数、涨停原因等) python -c "import akshare as ak; df=ak.stock_zt_pool_em(date='YYYYMMDD'); print(df.to_json(orient='records', force_ascii=False))" # 跌停池(当日跌停股票列表) python -c "import akshare as ak; df=ak.stock_zt_pool_dtgc_em(date='YYYYMMDD'); print(df.to_json(orient='records', force_ascii=False))" # 炸板池(当日曾触及涨停但未封住的股票) python -c "import akshare as ak; df=ak.stock_zt_pool_zbgc_em(date='YYYYMMDD'); print(df.to_json(orient='records', force_ascii=False))" # 强势股池(当日涨幅较大的非涨停股) python -c "import akshare as ak; df=ak.stock_zt_pool_strong_em(date='YYYYMMDD'); print(df.to_json(orient='records', force_ascii=False))" # 个股行情(通过 cn-stock-data) python "$SCRIPTS/cn_stock_data.py" quote --code [CODE] # K线(看连板股历史走势) python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [日期]
补充:通过 web 搜索确认涨停原因/题材概念。
根据用户意图分类:
获取涨停池 + 跌停池 + 炸板池数据。如分析个股,额外获取该股 K 线和行情报价。日期参数用 YYYYMMDD 格式,默认为最近交易日。
> 注意:非交易日或盘中时段数据可能不完整,需注明数据状态。
> 详见 references/board-analysis-guide.md 中的涨跌停制度和连板术语。
根据风格生成报告:
| 维度 | formal | brief | |------|--------|-------| | 输出格式 | 完整涨跌停复盘报告 | 快速要点 | | 连板梯队 | 逐层详列+个股点评 | 仅列最高板和关键股 | | 板块归类 | 分行业/概念详细归类 | 仅标注最强主线 | | 炸板分析 | 炸板股逐只分析 | 仅炸板率数字 | | 结论 | 客观陈述市场情绪 | 可加简要判断 |
默认风格:brief。用户要求"详细分析"/"出报告"/"复盘"时用 formal。
python# 调用 skill result = run_skill({ "param1": "value1", "param2": "value2" })
bashpython scripts/run_skill.py --input data.json
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 33,594 | 12,416 | -63% | 1 | 1 | 0% | 4,400 | 1,950 | -56% | 0 | 0 | — |
case-02 | pass→fail | 13,384 | 13,291 | -1% | 1 | 1 | 0% | 1,679 | 1,832 | +9% | 0 | 0 | — |
case-03 | pass→fail | 27,369 | 9,927 | -64% | 1 | 1 | 0% | 2,984 | 1,567 | -47% | 0 | 0 | — |
case-04 | pass→fail | 32,708 | 8,535 | -74% | 1 | 1 | 0% | 5,137 | 1,567 | -69% | 0 | 0 | — |
case-05 | pass→fail | 19,530 | 11,927 | -39% | 1 | 1 | 0% | 2,797 | 1,503 | -46% | 0 | 0 | — |
case-06 | pass→fail | 27,938 | 9,985 | -64% | 1 | 1 | 0% | 2,366 | 1,770 | -25% | 0 | 0 | — |
case-07 | pass→pass | 12,591 | 7,684 | -39% | 1 | 1 | 0% | 1,037 | 2,363 | +128% | 0 | 0 | — |
case-13 | fail→fail | 18,262 | 17,916 | -2% | 1 | 1 | 0% | 2,770 | 4,172 | +51% | 0 | 0 | — |
case-08 | pass→pass | 7,824 | 9,157 | +17% | 1 | 1 | 0% | 1,227 | 2,449 | +100% | 0 | 0 | — |
case-09 | pass→pass | 4,379 | 4,559 | +4% | 1 | 1 | 0% | 776 | 2,070 | +167% | 0 | 0 | — |
case-10 | pass→fail | 15,190 | 12,862 | -15% | 1 | 1 | 0% | 1,418 | 1,903 | +34% | 0 | 0 | — |
case-11 | fail→fail | 29,270 | 12,245 | -58% | 1 | 1 | 0% | 3,623 | 1,869 | -48% | 0 | 0 | — |
case-12 | pass→fail | 18,218 | 13,512 | -26% | 1 | 1 | 0% | 2,577 | 1,979 | -23% | 0 | 0 | — |
case-14 | pass→pass | 6,444 | 6,073 | -6% | 1 | 1 | 0% | 1,027 | 2,048 | +99% | 0 | 0 | — |
case-15 | pass→pass | 8,465 | 4,165 | -51% | 1 | 1 | 0% | 1,523 | 1,889 | +24% | 0 | 0 | — |
case-16 | pass→pass | 12,686 | 4,310 | -66% | 1 | 1 | 0% | 1,685 | 1,858 | +10% | 0 | 0 | — |
case-17 | fail→pass | 8,993 | 4,764 | -47% | 1 | 1 | 0% | 1,600 | 1,883 | +18% | 0 | 0 | — |
case-18 | pass→pass | 9,969 | 3,039 | -70% | 1 | 1 | 0% | 1,590 | 1,655 | +4% | 0 | 0 | — |
case-19 | pass→pass | 23,089 | 22,659 | -2% | 1 | 1 | 0% | 3,000 | 4,308 | +44% | 0 | 0 | — |
case-20 | pass→pass | 9,802 | 16,615 | +70% | 1 | 1 | 0% | 1,293 | 2,915 | +125% | 0 | 0 | — |
case-21 | fail→fail | 18,355 | 12,876 | -30% | 1 | 1 | 0% | 2,376 | 1,764 | -26% | 0 | 0 | — |
case-22 | pass→pass | 14,033 | 13,096 | -7% | 1 | 1 | 0% | 1,997 | 3,409 | +71% | 0 | 0 | — |
case-23 | pass→pass | 27,263 | 21,393 | -22% | 1 | 1 | 0% | 3,641 | 4,426 | +22% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 13 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -26 percentage points is the difference between those two pass rates over the 13 comparable cases. 8 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.