‹ 首页

domain-media

@signalpilot-labs · 收录于 5 天前 · 上游提交 6 天前

Media & entertainment domain knowledge: content catalogs, participation tables, ranking determinism.

适合你,如果需要获取媒体领域的结构化数据

/ 通过 npx 安装 校验哈希
npx oh-my-skill add signalpilot-labs/signalpilot/domain-media
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- signalpilot-labs/signalpilot/domain-media
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify signalpilot-labs/signalpilot/domain-media
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
473GitHub stars
~429上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 436a4c4 · 表述以原文为准
它做什么

装上后,Claude会按媒体行业标准查询数据:优先选宽表避免遗漏,不按参与类型过滤,从事件表聚合,排名用ROW_NUMBER()加主键作为决胜项。

什么时候触发

当请求媒体内容目录、参与者列表或排名时,Claude会自动采用这些规则构造SQL查询。

装好后可以这样说
排名结果稳定且包含所有内容类型
技能原文 SKILL.md作者撰写 · Apache-2.0 · 436a4c4

Media & Entertainment

WARNING: Use the Broadest Table Available

BEFORE writing any JOIN, check: does the project have BOTH a broad table (all content types) AND narrow tables (one content type only)?

IF YES - ALWAYS join to the broad table. Joining to a narrow table silently drops all rows for other content types. A model called podcast_engagement does NOT mean you join only to a podcasts table when a broader all_content table exists - the model name describes what the output represents, not which source rows to include.

IF NO - there is only one content table. Use it.

To verify: run SELECT COUNT(DISTINCT <key>) FROM <broad_table> and compare to SELECT COUNT(DISTINCT <key>) FROM <narrow_table>. If the broad table has MORE distinct entities, you MUST use it.

Participation Tables

Tables that record WHO participated in WHAT (credits, casts, rosters, lineups, contributors) contain ALL participant types - actors, directors, producers, writers, coaches, players.

Do NOT filter by participant type based on the model name or task description. The participation table defines the population. Include all rows unless the YML description contains an explicit filter condition.

Driving Table

When aggregating content metrics, drive FROM the participation/event table (credits, views, ratings, matches), not the content table (movies, players, tournaments). The participation table has one row per event - that is the correct grain.

Ranking and Scoring

When ranking entities (top-N, best-rated, most-X), use ROW_NUMBER() with a deterministic tiebreaker - the entity's primary key as the final ORDER BY term. Ordering by a non-unique column (rating, count) alone produces different rankings on each run.

NEVER use DENSE_RANK() for top-N selection - DENSE_RANK() can return more than N rows when ties exist at the boundary.

按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。