一键导入
roblox-game-data-scraper
自动化抓取 Roblox 游戏数据的完整工具链。支持从 Trello、Discord、Reddit 和游戏内 API 收集代码、物品、角色、交易价值等结构化数据。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
自动化抓取 Roblox 游戏数据的完整工具链。支持从 Trello、Discord、Reddit 和游戏内 API 收集代码、物品、角色、交易价值等结构化数据。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
专用于构建高流量 Roblox 游戏工具站的 SEO 架构与工程化方法论。从给定游戏词到最终上线部署的完整流程,包含每日自动关键词挖掘→页面构建→部署管道。
SignalLayer 外链投放客户端(通用版)。供其他 OpenClaw 用户安装使用,通过 SignalLayer.io API 为网站创建外链投放 campaign。支持创建 campaign、查询状态、管理多任务。用户需自行配置自己的 SignalLayer API Key。
AI 热点雷达 - 在新 AI 工具/关键词爆火前发现它们,抢注域名、建站套利。 触发条件: - 用户说「跑雷达」、「热点扫描」、「X 雷达」 - cron 每 12 小时自动触发(9:00, 21:00) 核心目标: 在 AI 关键词/工具首次病毒传播 → 大众认知的 24-72h 窗口内发现, 抢注域名 + 建工具站 + 吃搜索流量红利。 典型案例:Nano Banana、Ghibli AI、OpenClaw、Hermes
Hunt for fresh browser-playable games on itch.io /newest that are worth building SEO arbitrage sites for. Crawls new releases, scores them by signals, produces ranked shortlist.
HTML5 游戏发现雷达 - 多源监测又新又热的 HTML5 游戏,识别 SEO 套利窗口。 触发条件: - 用户说「跑 HTML5 雷达」、「启动 HTML5 监控」、「HTML5 游戏扫描」 - 每天 cron 自动触发(建议 10:00 / 16:00) 监测平台: 1. itch.io — 独立游戏最大源头,HTML5 首发首选 2. Reddit r/webgames — 玩家发现新游戏第一线 3. Google Trends — 搜索量爆发判断 4. X/Twitter — 游戏病毒扩散早期信号(基于游戏名搜索) 5. Crazy Games / YouTube — 补充信号源 信号评分(0-20)判断游戏是否值得做 SEO 内容。
整站关键词研究与深度挖掘。输入一个网站域名或URL,自动完成:首页主题分析 → 递归式关键词树扩展(Google联想词多级分叉)→ 去重合并 → 关键词分层 → 10词SERP详细分析 → 3词定方向,最终输出完整 Markdown 报告。 触发条件:用户说"分析网站关键词"、"关键词研究"、"keyword research"、"挖掘某网站的关键词"、或提供一个URL说"分析这个网站的SEO关键词机会"。
| name | roblox-game-data-scraper |
| description | 自动化抓取 Roblox 游戏数据的完整工具链。支持从 Trello、Discord、Reddit 和游戏内 API 收集代码、物品、角色、交易价值等结构化数据。 |
| keywords | roblox, data scraping, trello, discord, reddit, game data, automation |
这个 skill 帮助你自动化收集 Roblox 游戏的所有核心数据,是内容生成的数据基础。
手动从 Trello、Discord、Reddit 收集游戏数据需要数小时。这个 skill 能在 10 分钟内自动抓取并结构化所有数据,直接生成可用的 TypeScript 类型定义。
interface GameCode {
code: string;
reward: string;
status: 'Active' | 'Expired';
expiryDate?: string;
requirements?: string;
source: 'Discord' | 'Twitter' | 'Trello';
verifiedDate: string;
}
// 示例输出
export const jujutsuInfiniteCodes: GameCode[] = [
{
code: 'LUNAR_FAREWELL',
reward: '50 Spins',
status: 'Active',
expiryDate: '2026-03-22',
source: 'Discord',
verifiedDate: '2026-03-17'
}
];
interface GameItem {
id: string;
name: string;
category: 'Weapon' | 'Accessory' | 'Material' | 'Consumable';
rarity: 'Common' | 'Rare' | 'Legendary' | 'Mythical';
stats: Record<string, number>;
dropRate?: number;
obtainMethod: string[];
tradingValue?: string;
description: string;
}
// 示例输出
export const items: GameItem[] = [
{
id: 'split-soul-katana',
name: 'Split Soul Katana',
category: 'Weapon',
rarity: 'Mythical',
stats: {
damage: 150,
speed: 1.2,
range: 5
},
dropRate: 0.0025,
obtainMethod: ['Soul Curse Raid', 'Craft at Zen Forest'],
tradingValue: '15 DF',
description: 'Legendary katana with soul-splitting abilities'
}
];
interface Technique {
id: string;
name: string;
tier: 'S' | 'A' | 'B' | 'C' | 'D';
rarity: number; // 掉落率百分比
moves: Move[];
domain?: DomainExpansion;
awakening?: Awakening;
pvpRating: number;
pveRating: number;
}
interface Move {
name: string;
damage: number;
cooldown: number;
ceConsumption: number;
description: string;
}
interface TradeValue {
itemId: string;
itemName: string;
value: string; // "15 DF" 或 "2,200 DF"
demand: 'Hyped' | 'High' | 'Medium' | 'Low';
trend: 'Rising' | 'Stable' | 'Falling';
lastUpdated: string;
}
# 1. 配置游戏信息
python resources/scraper_config.py --game "Your Bizarre Adventure" \
--trello "https://trello.com/b/..." \
--discord "https://discord.gg/..." \
--reddit "r/YourBizarreAdventure"
# 2. 运行完整抓取
python resources/full_scraper.py --game yba --output ./data/yba/
# 3. 生成 TypeScript 类型
python resources/generate_types.py --input ./data/yba/ --output ./src/data/yba/
# 输出文件:
# - ./src/data/yba/codes.ts
# - ./src/data/yba/items.ts
# - ./src/data/yba/techniques.ts
# - ./src/data/yba/trading_values.ts
# 设置 Discord webhook 监控
python resources/discord_monitor.py \
--channel-id "123456789" \
--keywords "code,codes,redeem" \
--webhook "https://your-site.com/api/new-code"
# 当检测到新代码时,自动:
# 1. 提取代码和奖励
# 2. 更新 codes.ts 文件
# 3. 触发网站重新部署
# 4. 发送通知
# 从 Reddit 帖子提取交易价值
python resources/reddit_value_scraper.py \
--subreddit "QMGames" \
--keywords "trading,value,worth" \
--output ./data/trading_values.json
# 自动识别:
# - "Split Soul = 15 DF"
# - "Heian Gauntlets worth 2.2K DF"
# - "LF: Dragon Bone (1.8K DF)"
resources/trello_scraper.py从 Trello 看板抓取结构化数据:
def scrape_trello_board(board_url: str) -> dict:
"""
抓取 Trello 看板的所有卡片和列表
返回:
{
'items': [...],
'techniques': [...],
'mechanics': [...],
'changelog': [...]
}
"""
# 使用 Trello API 或 Selenium
# 解析卡片标题、描述、标签
# 提取数值数据 (掉落率、伤害等)
resources/discord_monitor.py实时监控 Discord 频道:
import discord
class CodeMonitor(discord.Client):
async def on_message(self, message):
if 'code' in message.content.lower():
# 提取代码
code = extract_code(message.content)
# 保存到数据库
save_code(code)
# 触发网站更新
trigger_deploy()
resources/reddit_crawler.py爬取 Reddit 帖子和评论:
import praw
def scrape_subreddit(subreddit_name: str, keywords: list) -> list:
"""
搜索 Reddit 帖子并提取相关信息
返回:
[
{
'title': '...',
'content': '...',
'upvotes': 123,
'comments': [...]
}
]
"""
reddit = praw.Reddit(...)
subreddit = reddit.subreddit(subreddit_name)
# 搜索关键词
# 提取数据
resources/data_schemas/TypeScript 类型定义模板:
data_schemas/
├── codes.schema.ts
├── items.schema.ts
├── techniques.schema.ts
├── trading_values.schema.ts
└── game_config.schema.ts
def validate_code_data(code: dict) -> bool:
"""验证代码数据的完整性"""
required_fields = ['code', 'reward', 'status']
return all(field in code for field in required_fields)
def validate_item_data(item: dict) -> bool:
"""验证物品数据的完整性"""
# 检查必填字段
# 验证数值范围
# 确保枚举值有效
def deduplicate_codes(codes: list) -> list:
"""
去除重复的代码
保留最新的验证日期
"""
seen = {}
for code in codes:
if code['code'] not in seen:
seen[code['code']] = code
elif code['verifiedDate'] > seen[code['code']]['verifiedDate']:
seen[code['code']] = code
return list(seen.values())
# cron 配置
0 */6 * * * python resources/full_scraper.py --game jujutsu-infinite
0 */1 * * * python resources/discord_monitor.py --check-codes
0 0 * * 0 python resources/reddit_value_scraper.py --weekly-update
# 每次抓取保存快照
./data/
├── jujutsu-infinite/
│ ├── 2026-03-17/
│ │ ├── codes.json
│ │ ├── items.json
│ │ └── techniques.json
│ └── latest/ # 符号链接到最新版本
try:
data = scrape_trello_board(url)
except TrelloAPIError as e:
# 记录错误
logger.error(f"Trello API 失败: {e}")
# 使用缓存数据
data = load_cached_data()
except Exception as e:
# 发送告警
send_alert(f"抓取失败: {e}")
// 1. 运行抓取器
// npm run scrape-data
// 2. 导入生成的数据
import { jujutsuInfiniteCodes } from '@/data/jujutsu-infinite/codes';
import { items } from '@/data/jujutsu-infinite/items';
// 3. 在页面中使用
export default function CodesPage() {
return (
<div>
{jujutsuInfiniteCodes.map(code => (
<CodeCard key={code.code} {...code} />
))}
</div>
);
}
# .github/workflows/data-update.yml
name: Update Game Data
on:
schedule:
- cron: '0 */6 * * *' # 每 6 小时
jobs:
scrape:
runs-on: ubuntu-latest
steps:
- name: Scrape Data
run: python resources/full_scraper.py
- name: Generate Types
run: python resources/generate_types.py
- name: Commit Changes
run: |
git add data/
git commit -m "chore: update game data"
git push
- name: Trigger Deploy
run: curl -X POST ${{ secrets.DEPLOY_WEBHOOK }}
def scrape_item_images(item_name: str) -> str:
"""
从游戏 Wiki 或 Discord 抓取物品图片
自动下载并优化为 WebP 格式
"""
def extract_youtube_guides(keyword: str) -> list:
"""
搜索 YouTube 相关教程视频
提取视频 ID、标题、观看量
"""
def analyze_community_sentiment(item_name: str) -> dict:
"""
分析 Reddit/Discord 对某物品的讨论
返回:
{
'sentiment': 'Positive' | 'Neutral' | 'Negative',
'hype_level': 0-100,
'common_opinions': [...]
}
"""
# 检查 Token 是否有效
python -c "import discord; print(discord.__version__)"
# 确认 Bot 权限
# 需要: Read Messages, Read Message History
# 使用 PRAW 的内置限流处理
reddit = praw.Reddit(
client_id='...',
client_secret='...',
user_agent='...',
ratelimit_seconds=600 # 限流时等待 10 分钟
)
# 使用灵活的解析器
def parse_trello_card(card):
try:
return extract_structured_data(card)
except Exception:
# 回退到模糊匹配
return fuzzy_extract(card)
准备好开始抓取数据了吗? 配置你的第一个游戏数据源,让 AI 自动收集所有信息!