Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate HK stock market morning report (股市晨報) for bank trading desks. Triggers: "生成晨报","股市晨报","今日股市","港股晨報" 推送:微信個人 + 飛書群 | 數據:騰訊財經+stcn.com+格隆匯+實時搜索
.claude/skills/leoyeai-hk-stock-morning-report/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 74% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 660% | 0% |
🔴股市晨報(x.xx) 🔵 | 標題1;標題2;標題3
「x內部文件 不得外傳」
📍一、[昨日/週X]股市回顧
[市場概況 + 強弱勢股]
📍二、南下資金凈買入XX億(港元)
📈 港股通(滬): 凈買入XX億
📉 港股通(深): 凈賣出XX億
其中:凈買入[股票]XX億;凈賣出[股票]XX億
📍三、熱點資訊
▶️ 標題
摘要(空一行)
▶️ 標題
摘要(空一行)
▶️ 標題
摘要(空一行)
📍四、熱門港股
▶️ [股票名稱+代碼]
摘要
資料來源: xxx
「只供內部參考,不可外傳」2.1 大標題 = 月份.日期 + ▶️分號連接
2.2 📍後無空格,直接接字
2.3 (港元):小標題行有;📈📉和個股明細無
2.4 ▶️ 標題↔摘要:空一行(\n\n,不是 )
2.5 港股通(滬)↔港股通(深):無空行,緊密排列
2.6 第四部分只寫1檔
2.7 搜不到數字 → 擴大搜索範圍、更換關鍵詞、換數據源,不存在「待更新」這個退出選項
3.1 確認今日日期與上一交易日,查gov.hk確認是否交易日
3.2 讀 references/stock_report_format.md 取格式
3.3 抓恒指/科指(騰訊財經API)
3.4 搜市場回顧(gelonghui.com)
3.5 搜南下資金(stcn.com全市場口徑),同時搜個股明細
3.6 搜第三部分(今日日期的新聞,不是舊聞)
3.7 搜第四部分(「熱門股票」主題,選1檔)
3.8 按模板組裝,大標題=▶️分號連接
3.9 核查9項(見下方)後發送
3.10 飛書只發卡片
⚠️ 每日必生成原則(2026-05-03 強化):
4.1 ] 大標題 = ▶️分號分隔
4.2 ] 📈📉方向正確(📈=凈買入)
4.3 ] (港元)只在正確位置
4.4 ] ▶️↔摘要有空行
4.5 ] 📍後無空格
4.6 ] 第四部分1檔
4.7 ] 數字有靠譜來源
4.8 ] 📈📉數字:必須找到真實來源,不得以任何理由寫待更新
4.9 ] 個股明細已完整填充
5.1 第一部分不準猜測假日 → 先查gov.hk
5.2 早上不引用當天收盤數 → 只用上一交易日
5.3 數字不確定 → 繼續搜,寫待更新等於承認失敗
5.4 修復報告時重新生成全報告 → 最小修改原則
5.5 個股明細留空 → 繼續搜完,不得以待更新敷衍
5.6 對話 session 轉發原則:收到「生成晨報」請求時,先檢查 stock_morning_report.md 是否存在且當日生成。若存在,直接讀取轉發,不重新搜索。若不存在,才走完整流程生成。
| 編號 | 文件 | 用途 | |------|------|------| | 6.1 | references/stock_report_format.md | 完整模板原文 | | 6.2 | references/errors.md | 錯誤歷史(14條) |
| 編號 | 內容 | 來源 | |------|------|------| | 7.1 | 指數(恒指/科指) | 騰訊財經API | | 7.2 | 南下資金 | stcn.com(全市場口徑) | | 7.3 | 市場回顧 | 格隆匯 | | 7.4 | 熱點資訊 + 熱門港股 | 實時搜索 |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-17 | pass→fail | 9,442 | 3,030 | -68% | 1 | 1 | 0% | 1,696 | 1,774 | +5% | 0 | 0 | — |
case-01 | fail→pass | 17,482 | 8,611 | -51% | 1 | 1 | 0% | 3,077 | 2,822 | -8% | 0 | 0 | — |
case-02 | pass→fail | 14,367 | 5,460 | -62% | 1 | 1 | 0% | 2,589 | 1,538 | -41% | 0 | 0 | — |
case-03 | fail→fail | 13,574 | 7,329 | -46% | 1 | 1 | 0% | 2,666 | 1,753 | -34% | 0 | 0 | — |
case-04 | fail→fail | 6,510 | 3,038 | -53% | 1 | 1 | 0% | 1,200 | 1,745 | +45% | 0 | 0 | — |
case-18 | fail→fail | 9,086 | 2,156 | -76% | 1 | 1 | 0% | 1,555 | 1,565 | +1% | 0 | 0 | — |
case-05 | fail→pass | 12,533 | 6,634 | -47% | 1 | 1 | 0% | 2,271 | 2,638 | +16% | 0 | 0 | — |
case-06 | fail→pass | 10,182 | 4,327 | -58% | 1 | 1 | 0% | 2,030 | 1,985 | -2% | 0 | 0 | — |
case-07 | pass→pass | 5,925 | 2,351 | -60% | 1 | 1 | 0% | 1,188 | 1,615 | +36% | 0 | 0 | — |
case-08 | fail→pass | 4,103 | 1,770 | -57% | 1 | 1 | 0% | 836 | 1,451 | +74% | 0 | 0 | — |
case-19 | pass→fail | 9,217 | 2,325 | -75% | 1 | 1 | 0% | 1,881 | 1,551 | -18% | 0 | 0 | — |
case-09 | fail→pass | 1,052 | 2,873 | +173% | 1 | 1 | 0% | 218 | 1,657 | +660% | 0 | 0 | — |
case-10 | fail→pass | 7,793 | 2,861 | -63% | 1 | 1 | 0% | 1,756 | 1,786 | +2% | 0 | 0 | — |
case-11 | fail→pass | 11,975 | 2,021 | -83% | 1 | 1 | 0% | 2,077 | 1,465 | -29% | 0 | 0 | — |
case-12 | fail→fail | 10,323 | 2,390 | -77% | 1 | 1 | 0% | 1,866 | 1,575 | -16% | 0 | 0 | — |
case-13 | fail→pass | 8,186 | 4,939 | -40% | 1 | 1 | 0% | 1,336 | 1,986 | +49% | 0 | 0 | — |
case-14 | fail→fail | 8,777 | 2,806 | -68% | 1 | 1 | 0% | 1,533 | 1,721 | +12% | 0 | 0 | — |
case-15 | pass→fail | 10,015 | 3,361 | -66% | 1 | 1 | 0% | 1,951 | 1,796 | -8% | 0 | 0 | — |
case-16 | pass→fail | 6,690 | 3,066 | -54% | 1 | 1 | 0% | 1,304 | 1,814 | +39% | 0 | 0 | — |
case-20 | pass→pass | 4,678 | 3,519 | -25% | 1 | 1 | 0% | 934 | 2,022 | +116% | 0 | 0 | — |
case-21 | pass→pass | 4,506 | 4,246 | -6% | 1 | 1 | 0% | 1,012 | 2,170 | +114% | 0 | 0 | — |
case-22 | pass→pass | 3,706 | 2,949 | -20% | 1 | 1 | 0% | 867 | 1,843 | +113% | 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. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 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 +14 percentage points is the difference between those two pass rates over the 20 comparable cases. 6 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.