用途
Sports Reporter 是一个体育新闻撰稿技能。它从 sports-skills 技能采集真实数据,据此生成原创的体育新闻文章,涵盖赛前预览、实时报道、赛后战报、球队分析、球员档案以及每日综述等类型。其核心理念是:在撰写任何文字之前,必须先通过 sports 技能采集必要数据,绝不编造统计数据、比分或事实,所有信息都必须来自确认过的 CLI 调用。
主要能力
该技能支持六种文章类型,并依据上下文自动识别:
- Preview(赛前预览):针对尚未开赛的比赛,包含近期状态、可能首发阵容、对比赛的预期。
- Live(实时报道):针对进行中的比赛,提供实时比分、事件和比赛进程更新。
- Match Report(赛后战报):针对已结束的比赛,提供完整报告,包括进球、统计、亮点和分析。
- Team Analysis(球队分析):包含球队当前排名、近期状态、伤员、赛季亮点。
- Player Profile(球员档案):包含球员的进球、助攻、赛季表现等个人统计与分析。
- Daily Roundup(每日综述):汇总当天所有覆盖赛事的比分与亮点。
覆盖的运动项目模块包括:football(英超、西甲、德甲、意甲、法甲、欧冠、巴甲、MLS、世界杯、FIFA 友谊赛等)、nba(含实时 play-by-play)、nfl、nhl、mlb、cfb/cbb(大学橄榄球/篮球)、tennis(ATP/WTA)、f1(一级方程式)、golf(PGA Tour)。
使用方式
安装命令:
which sports-skills || pip install sports-skills
用户无需指定文章类型,只需自然提问,技能会自动识别上下文。示例:
- 赛前预览:“preview do jogo Flamengo x Palmeiras de amanhã”
- 实时报道:“como está o jogo do Flamengo agora?”
- 赛后战报:“quanto ficou o jogo do Brasil e Croácia ontem?”
- 球队分析:“como está o Flamengo na temporada?”
- 球员档案:“estatísticas do Vinicius Jr esta temporada”
- 每日综述:“quais os jogos de hoje?”
若参数为 help 或 --help(不区分大小写,可带或不带 --),则执行帮助命令并停止,不生成文章。
工作流程
在写任何文章之前:识别文章类型;识别运动项目(依据上下文,必要时参考 sport-mapping.md 确定正确的 CLI 模块);在调用具体端点前解析 ID,绝不猜测 team_id、event_id 或 player_id;尽可能并行采集数据;仅使用确认过的数据写作。不同文章类型对应不同的数据采集流程,例如赛前预览会调用 get_schedule 或 get_daily_schedule 查找比赛,再解析 team_ids,并并行采集排名、伤病、球队赛程等。
写作风格与限制
- 风格要求新闻化、客观,以数据为锚点,不做无依据的推测。
- 始终提供背景,例如排名、赛季阶段、比赛重要性。
- 首句要有力,抓住最相关的事实。
- 长文使用清晰的小标题分段。
- 数字精确,引用数据中的确切统计,不随意四舍五入而不加说明。
- 使用用户的语言撰写,默认葡萄牙语(PT-BR)。
在数据缺失时进行优雅降级:xG 不可用(联赛在前五之外)则省略该部分;比赛尚未开始则写预览;找不到 event_id 则尝试 get_scoreboard 或 get_daily_schedule,绝不猜测 ID;player_id 未知则用 search_player 或 get_team_roster 解析;端点报错则省略相应章节。
该技能还明确列出不存在的命令,禁止调用,例如 generate_article、get_live_scores、get_match / get_results、get_box_score、get_odds。任何未在 api-reference.md 中列出的命令都不存在。
适用场景
适合需要依据真实数据快速产出体育新闻内容的场景,覆盖赛前、赛中、赛后及各球队、球员的报道需求。
限制
部分功能存在数据源限制,例如 xG 仅支持前五联赛,且在比赛后存在 24–48 小时的延迟;实时数据不可用时需标注比赛状态并使用 get_scoreboard 的数据。收费、价格、平台或效果等信息,资料中暂未提供。