安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install football-player-comparison
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-football-player-comparison。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
football-player-comparison
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install football-player-comparison - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 football-player-comparison。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
足球运动员比较利用 Crawlora FotMob 数据,帮助制作兼顾角色和时期的统计比较。它会核实球员身份和特定赛季 ID,检查赛事和出场时间背景,并保留来源细节,以便将比较结果追溯至相关证据。作为用于体育数据分析的 Openclaw Skills 之一,它可支持球探简报,同时避免将不可直接比较的统计数据混为一谈。
此技能强调计算透明度和不确定性:除总数和每 90 分钟数据外,还会报告出场时间;区分数据缺失与数值为零;并明确呈现角色、对手、球队及数据提供商模型的限制。它不会声称仅凭统计数据就能确定未来表现、身体状态、转会适配性或总体排名。
应用场景
使用经核实的赛季统计数据,比较位置或战术角色相近的球员。
准备球探简报,列明每位球员的赛事、赛季、球队、出场时间和指标来源。
在明确的日期和赛事范围内,使用边界清晰的已解析比赛样本考察近期状态。
在具备实际出场时间和基于次数的分子数据时,计算兼容的每 90 分钟数据。
解释表面差异可能源于出场时间、角色、对手、球队背景或数据提供商模型的原因。
在进行排名或评估之前,识别缺失或不可比较的数据。
工作原理
确定比较范围:球员、角色、赛事、赛季或日期窗口、所需指标,以及最低出场时间门槛。
搜索 FotMob 并核实每位球员的数字 ID、身份、球队和位置;将当前资料背景与过去效力球队区分开来。
读取每份球员资料中的 statSeasons,并使用该球员自己的 entryId 获取赛季统计数据。
核实每条观测数据对应的赛事、时期、球队、出场时间和出场次数;将国内联赛、杯赛、国际赛事及其他赛事分开处理。
对近期状态分析,遵循球员的 matchFilters 联赛/球队组合和上游 before 游标,收集有明确边界的样本;在获取单场球员统计数据前,先解析比赛 ID 并核实比赛状态。
仅使用 count / minutes × 90 规范化兼容的次数统计;保留提供的单位、标签、评分和模型背景,并将缺失值视为未知。
展示身份与范围记录、指标公式和分母、选定的比赛证据、特定角色的优势、限制及缺失数据。只有在采用用户提供的标准并披露权重时,才给出总体排名。
配置指南
将 CRAWLORA_API_KEY 设置为有效的 Crawlora API 密钥。
如有可用工具,请使用所列的 Crawlora MCP 工具;否则使用捆绑的 scripts/crawlora.sh 客户端,该客户端会将密钥发送至 Crawlora API。
查阅 reference/endpoints.md,了解准确的方法和参数。
同时检查 HTTP 状态和应用程序 code;响应载荷位于 data 中。遇到身份验证错误时停止,遇到 HTTP 429 时退避,并对暂时性上游故障重试一次。调用次数和分页数量不得超出请求范围及额度预算。
搜索球员并核实返回的身份,然后使用经核实的球员 ID 和该球员特定赛季的 entry ID 获取统计数据。
export CRAWLORA_API_KEY="your-crawlora-api-key"
scripts/crawlora.sh /fotmob/search term="Mohamed Salah"
Verify the returned player before using its ID.
scripts/crawlora.sh /fotmob/player id="$PLAYER_ID"
scripts/crawlora.sh /fotmob/player-stats player_id="$PLAYER_ID" season_id="$PLAYER_SEASON_ID"
scripts/crawlora.sh /fotmob/player-matches player_id="$PLAYER_ID"
数据架构
此技能使用 Crawlora FotMob 响应,并要求观测数据始终附带来源信息和比较范围。
数据类别 字段及处理方式
球员身份 经核实的数字球员 ID、如有提供则包含资料 URL、球队和位置;不要仅凭姓氏识别球员,也不要重复使用其他数据提供商的 ID。
赛季统计 球员专属的 statSeasons 条目和 entryId,以及如有提供的赛事、时期、球队、数据提供商统计键、标签、单位、出场时间和出场次数。
比赛样本 球员的 matchFilters 联赛/球队组合、上游 before 游标、已解析的比赛 ID 和状态,以及单场球员统计数据。样本应有明确边界,并清楚说明日期和赛事范围。
来源信息 如有提供,保留来源 ID、URL、检索时间和来源日期。
派生指标 包含公式和分母。仅当次数分子数据兼容,且实际出场时间来自同一样本时,才计算每 90 分钟数据。将总数、比率和出场时间一并展示。
缺失数据和背景信息 将缺失统计视为未知,而非零。将守门员和场上球员指标分开;将射门图和热区图视为数据提供商提供的观测结果,而非可直接比较的总数。
不要将赛季总数与有重叠的比赛总数合并。没有适当的按事件加权分母时,不要对百分比取平均。将当前资料背景与历史效力球队分开,并区分国内联赛、杯赛、国际赛事和其他赛事数据。
高级特性
支持使用已连接的 Crawlora MCP 工具,或捆绑的
scripts/crawlora.sh
API 客户端。
使用球员专属的赛季 ID 和比赛筛选条件,避免混淆联赛 ID、年份标签或其他球员的赛季条目。
使用上游游标收集近期比赛证据,并明确限制调用次数、分页数量和额度使用。
谨慎处理 API:遇到身份验证错误时停止,收到 429 响应时退避,并对暂时性上游故障重试一次。
仅在具备兼容的事件次数和样本实际出场时间时计算每 90 分钟数据;避免对比率、百分比、平均值或评分再次标准化。
如有提供,保留数据提供商的统计标签、单位、评分、来源标识符、URL、时间戳和来源日期。
明确说明不确定性和可比性限制,包括小样本、球队实力、战术角色、对手构成和数据提供商模型差异。
总体排名必须采用用户标准并披露权重;不将缺乏依据的指标转为零,也不将市场价值视为转会报价。
name: football-player-comparison description: Compare football players using Crawlora FotMob profiles, player-specific season statistics, and bounded match samples. Use for role-aware form comparisons, statistical scouting briefs, or explaining differences with minutes, competition, season, and metric provenance preserved.
Football player comparison
Access and scope
Set CRAWLORA_API_KEY to your Crawlora key. Prefer the listed Crawlora MCP tools when connected; otherwise use the bundled scripts/crawlora.sh, which sends x-api-key to https://api.crawlora.net/api/v1. Read reference/endpoints.md for exact methods and parameters. Check application code as well as HTTP status; payloads are inside data. Stop on authentication errors, back off on 429, and retry a transient upstream failure once. Bound pages and calls by the requested scope and credit budget. Preserve source IDs, URLs, retrieval times, and source dates where supplied.
Produce a role- and period-aware statistical comparison of the selected players. Establish the position/role, competition, season/date window, desired metrics, and minimum playing-time criterion before selecting comparison rows.
Resolve players and comparable observations
Use fotmob_search and profile detail to verify numeric player IDs, team, position, and identity. Do not identify players by surname alone or reuse another provider's IDs. Keep current profile context separate from past teams.
Discover each player's statSeasons from their profile, then pass that player's entryId to fotmob_player_stats. Player season IDs are player-specific: do not reuse a league ID, a year label, or another player's season entry.
Verify competition, period, team, and supplied minutes/appearances for each row. Separate domestic league, cup, international, and other competitions. Keep goalkeeper-specific metrics apart from outfield metrics; shot/heat maps are provider observations rather than directly comparable totals.
For recent form, follow player matchFilters league/team pairs and the upstream before cursor to collect a bounded match sample. Resolve match IDs and statuses before per-match player stats. Match-history appearance does not mean the player played 90 minutes or that a scheduled match has finished.
Preserve provider stat keys, labels, units, and supplied rating/model context. Missing stats are unknown, not zero. An unavailable injury/profile field does not establish fitness or medical status.
scripts/crawlora.sh /fotmob/search term="Mohamed Salah"
# Select and verify the actual returned player ID first:
# scripts/crawlora.sh /fotmob/player id="$PLAYER_ID"
# scripts/crawlora.sh /fotmob/player-stats player_id="$PLAYER_ID" season_id="$PLAYER_SEASON_ID"
# scripts/crawlora.sh /fotmob/player-matches player_id="$PLAYER_ID"
Normalize metrics and show uncertainty
Calculate a per-90 rate only when the numerator is a compatible count and actual minutes for that same sample are supplied: count / minutes × 90. Do not divide percentages, per-game averages, provider ratings, or already-normalized rates by minutes again. Do not average match percentages when the correct event-weighted denominator is missing. Show totals, rates, and minutes together and apply the same minimum-minute criterion to each player; small samples remain visible.
Do not combine season totals with overlapping match totals. Compare recent form under matched date/competition/role scopes; an equal number of games can span different periods. Keep team strength, tactical role, opponent mix, and provider model differences as limits rather than silently attributing every difference to player ability. Market values are estimates, not offers or transfer fees.
Return an identity/scope ledger, metric comparison with formulas and denominators, selected match evidence, role-specific strengths/uncertainties, and missing data. An overall ranking needs the user's criteria and disclosed weights; unsupported metrics must not silently become zero. Statistics alone do not prove future performance, transfer suitability, or a completed scouting evaluation.
优惠发现研究