con un clic
multi-game-codes-hub
快速为任何 Roblox 游戏生成完整的代码页面。包含一键复制、多语言支持、过期追踪、FAQ Schema 和自动更新机制。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
快速为任何 Roblox 游戏生成完整的代码页面。包含一键复制、多语言支持、过期追踪、FAQ Schema 和自动更新机制。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional 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 | multi-game-codes-hub |
| description | 快速为任何 Roblox 游戏生成完整的代码页面。包含一键复制、多语言支持、过期追踪、FAQ Schema 和自动更新机制。 |
| keywords | roblox codes, promo codes, game codes, code page generator, multilingual |
这个 skill 帮助你在 5 分钟内为任何 Roblox 游戏创建一个完整的、SEO 优化的代码页面。
代码页面是 Roblox 游戏网站的最高流量入口。这个 skill 提供了一个统一的模板系统,让你可以快速复制成功的代码页面结构到新游戏。
┌─────────────────────────────────────┐
│ Hero Section │
│ - H1: [Game] Codes (March 2026) │
│ - 简短介绍 │
│ - "Last Updated" 时间戳 │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Active Codes (绿色徽章) │
│ ┌───────────────────────────────┐ │
│ │ Code │ Reward │ Copy Btn │ │
│ │ CODE123 │ 50 Spins│ 📋 │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ How to Redeem (图文教程) │
│ Step 1: Launch Game │
│ Step 2: Open Settings │
│ Step 3: Enter Code │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Expired Codes (灰色徽章) │
│ - 历史代码参考 │
│ - 帮助用户排查输入错误 │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ FAQ (Schema Markup) │
│ - 如何兑换代码? │
│ - 为什么代码无效? │
│ - 多久发布新代码? │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Related Content │
│ - Tier List │
│ - Wiki │
│ - Trading Guide │
└─────────────────────────────────────┘
# 1. 准备代码数据 (JSON 格式)
cat > yba_codes.json << EOF
{
"gameName": "Your Bizarre Adventure",
"gameSlug": "yba",
"activeCodes": [
{
"code": "PARAGONLUCK",
"reward": "1 Lucky Arrow",
"expiryDate": "2026-04-01"
},
{
"code": "6YEARS",
"reward": "2x EXP + 1 Lucky Arrow",
"expiryDate": "2026-03-31"
}
],
"expiredCodes": [
{
"code": "CHRISTMAS2025",
"reward": "1 Lucky Arrow + Christmas Present",
"expiredDate": "2026-01-15"
}
]
}
EOF
# 2. 生成页面
python resources/generate_code_page.py \
--input yba_codes.json \
--output ./src/app/yba/page.tsx
# 3. 验证生成的页面
npm run build
npm run lint
# 完成! 页面已生成在 /yba
# 准备多个游戏的数据
games=(
"yba:Your Bizarre Adventure"
"kaizen:Kaizen"
"blue-lock:Blue Lock Rivals"
"volleyball:Volleyball Legends"
)
for game in "${games[@]}"; do
slug="${game%%:*}"
name="${game##*:}"
python resources/generate_code_page.py \
--game-name "$name" \
--game-slug "$slug" \
--template resources/templates/codes_page.tsx \
--output "./src/app/$slug/page.tsx"
done
echo "✅ 已生成 ${#games[@]} 个代码页面"
# 添加新代码
python resources/update_codes.py \
--game yba \
--add-code "NEWCODE2026" \
--reward "5 Lucky Arrows" \
--expiry "2026-04-15"
# 标记代码为过期
python resources/update_codes.py \
--game yba \
--expire-code "OLDCODE" \
--expired-date "2026-03-20"
# 自动触发重新部署
git add src/app/yba/
git commit -m "chore: update YBA codes"
git push
# 生成英语、西班牙语、葡萄牙语版本
python resources/generate_multilingual.py \
--game yba \
--languages en,es,pt \
--output ./src/app/
# 输出:
# - /yba/page.tsx (英语)
# - /es/yba/page.tsx (西班牙语)
# - /pt/yba/page.tsx (葡萄牙语)
# 自动添加 hreflang 标签
resources/templates/codes_page.tsx统一的代码页面模板:
import { Metadata } from 'next';
import { CopyButton } from '@/components/CopyButton';
import { CodeTable } from '@/components/CodeTable';
export const metadata: Metadata = {
title: '{{gameName}} Codes (March 2026) | Active & Expired',
description: 'All working {{gameName}} codes for March 2026. Get free {{rewards}}. Updated daily!',
};
export default function {{gameSlug}}CodesPage() {
const activeCodes = {{activeCodesData}};
const expiredCodes = {{expiredCodesData}};
return (
<div className="container">
<h1>{{gameName}} Codes (March 2026)</h1>
<section>
<h2>Active Codes</h2>
<CodeTable codes={activeCodes} status="active" />
</section>
<section>
<h2>How to Redeem Codes</h2>
<RedemptionGuide game="{{gameSlug}}" />
</section>
<section>
<h2>Expired Codes</h2>
<CodeTable codes={expiredCodes} status="expired" />
</section>
<section>
<h2>FAQ</h2>
<FAQ game="{{gameName}}" />
</section>
<script type="application/ld+json">
{JSON.stringify(faqSchema)}
</script>
</div>
);
}
resources/components/CopyButton.tsx一键复制按钮组件:
'use client';
import { useState } from 'react';
export function CopyButton({ code }: { code: string }) {
const [copied, setCopied] = useState(false);
const handleCopy = async () => {
await navigator.clipboard.writeText(code);
setCopied(true);
setTimeout(() => setCopied(false), 2000);
};
return (
<button
onClick={handleCopy}
className="copy-btn"
aria-label={`Copy code ${code}`}
>
{copied ? '✓ Copied!' : '📋 Copy'}
</button>
);
}
resources/components/CodeTable.tsx代码表格组件:
import { CopyButton } from './CopyButton';
interface Code {
code: string;
reward: string;
expiryDate?: string;
requirements?: string;
}
export function CodeTable({
codes,
status
}: {
codes: Code[];
status: 'active' | 'expired'
}) {
return (
<div className="code-table">
<table>
<thead>
<tr>
<th>Code</th>
<th>Reward</th>
{status === 'active' && <th>Expires</th>}
<th>Action</th>
</tr>
</thead>
<tbody>
{codes.map((code) => (
<tr key={code.code} className={status}>
<td>
<code>{code.code}</code>
{status === 'active' && (
<span className="badge-active">Active</span>
)}
</td>
<td>{code.reward}</td>
{status === 'active' && (
<td>{code.expiryDate || 'Unknown'}</td>
)}
<td>
<CopyButton code={code.code} />
</td>
</tr>
))}
</tbody>
</table>
</div>
);
}
resources/schemas/faq_schema.tsFAQ Schema 生成器:
export function generateFAQSchema(gameName: string) {
return {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: [
{
'@type': 'Question',
name: `How do I redeem ${gameName} codes?`,
acceptedAnswer: {
'@type': 'Answer',
text: `Open ${gameName}, click Settings, find the Codes button, enter the code exactly as shown, and click Submit.`
}
},
{
'@type': 'Question',
name: `Why isn't my ${gameName} code working?`,
acceptedAnswer: {
'@type': 'Answer',
text: 'Codes are case-sensitive and may have expired. Check the expiration date and ensure correct spelling.'
}
},
{
'@type': 'Question',
name: `How often are new ${gameName} codes released?`,
acceptedAnswer: {
'@type': 'Answer',
text: 'New codes are typically released during game updates, milestones, and special events. Check back weekly!'
}
}
]
};
}
const translations = {
en: {
title: 'Codes',
active: 'Active Codes',
expired: 'Expired Codes',
howToRedeem: 'How to Redeem',
copy: 'Copy',
copied: 'Copied!',
},
es: {
title: 'Códigos',
active: 'Códigos Activos',
expired: 'Códigos Expirados',
howToRedeem: 'Cómo Canjear',
copy: 'Copiar',
copied: '¡Copiado!',
},
pt: {
title: 'Códigos',
active: 'Códigos Ativos',
expired: 'Códigos Expirados',
howToRedeem: 'Como Resgatar',
copy: 'Copiar',
copied: 'Copiado!',
},
ru: {
title: 'Коды',
active: 'Активные Коды',
expired: 'Истекшие Коды',
howToRedeem: 'Как Использовать',
copy: 'Копировать',
copied: 'Скопировано!',
}
};
# resources/discord_code_monitor.py
import discord
import re
class CodeMonitor(discord.Client):
async def on_message(self, message):
# 检测代码发布
if message.channel.id == CODES_CHANNEL_ID:
code_match = re.search(r'Code:\s*(\w+)', message.content)
reward_match = re.search(r'Reward:\s*(.+)', message.content)
if code_match and reward_match:
code = code_match.group(1)
reward = reward_match.group(1)
# 更新数据库
add_code(game='yba', code=code, reward=reward)
# 触发网站更新
trigger_deploy()
# 发送通知
await message.channel.send(f'✅ Code {code} added to website!')
# resources/code_validator.py
import requests
from datetime import datetime
def validate_codes(game: str):
"""
定期验证代码是否仍然有效
"""
codes = load_codes(game)
for code in codes:
if code['status'] == 'Active':
# 尝试通过游戏 API 验证 (如果可用)
is_valid = check_code_validity(game, code['code'])
if not is_valid:
# 标记为过期
code['status'] = 'Expired'
code['expiredDate'] = datetime.now().isoformat()
print(f'⚠️ Code {code["code"]} has expired')
save_codes(game, codes)
/codesfunction CodeValueCalculator({ codes }) {
const totalValue = codes.reduce((sum, code) => {
return sum + calculateRewardValue(code.reward);
}, 0);
return (
<div className="value-calculator">
<h3>Total Value of Active Codes</h3>
<p className="total-value">{totalValue} Spins</p>
<p className="robux-equivalent">
≈ {totalValue * 10} Robux Value
</p>
</div>
);
}
function CodeSubmissionForm() {
return (
<form onSubmit={handleSubmit}>
<h3>Found a New Code?</h3>
<input name="code" placeholder="Enter code" />
<input name="reward" placeholder="What did you get?" />
<button type="submit">Submit Code</button>
<p className="note">
We'll verify and add it within 24 hours!
</p>
</form>
);
}
function CodeTimeline({ codes }) {
return (
<div className="timeline">
<h3>Code Release History</h3>
{codes.map(code => (
<div key={code.code} className="timeline-item">
<span className="date">{code.releaseDate}</span>
<span className="code">{code.code}</span>
<span className="reward">{code.reward}</span>
</div>
))}
</div>
);
}
// 检查浏览器兼容性
if (!navigator.clipboard) {
// 回退到旧方法
const textArea = document.createElement('textarea');
textArea.value = code;
document.body.appendChild(textArea);
textArea.select();
document.execCommand('copy');
document.body.removeChild(textArea);
}
# 使用 Google Rich Results Test
https://search.google.com/test/rich-results
# 常见问题:
# - mainEntity 必须是数组
# - acceptedAnswer 必须包含 @type
# - text 字段不能为空
// 确保每个语言版本都有完整的 hreflang 标签
<head>
<link rel="alternate" hreflang="en" href="https://site.com/yba" />
<link rel="alternate" hreflang="es" href="https://site.com/es/yba" />
<link rel="alternate" hreflang="pt" href="https://site.com/pt/yba" />
<link rel="alternate" hreflang="x-default" href="https://site.com/yba" />
</head>
准备好创建你的第一个代码页面了吗? 准备好游戏数据,让 AI 在 5 分钟内生成完整的页面!