소스 정보
- 저장소
- kennyzir/7deer_skills
- 최근 소스 활동
- 2026년 4월 3일 17:20
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 287
- 포크
- 130
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/kennyzir/7deer_skills --skill multi-game-codes-hub명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
使用 SignalLayer.io 的真实 OpenClaw API 创建、查询和分页管理外链 Campaign。适用于用户要求配置 SignalLayer API Key、查询积分、创建外链任务、查看任务状态或列出 Campaign;客户端未指定数量时默认 200,但服务端 linkCount 始终必填。
专用于构建高流量 Roblox 游戏工具站的 SEO 架构与工程化方法论。从给定游戏词到最终上线部署的完整流程,包含每日自动关键词挖掘→页面构建→部署管道。
AI 热点雷达 - 在新 AI 工具/关键词爆火前发现它们,抢注域名、建站套利。 触发条件: - 用户说「跑雷达」、「热点扫描」、「X 雷达」 - cron 每 12 小时自动触发(9:00, 21:00) 核心目标: 在 AI 关键词/工具首次病毒传播 → 大众认知的 24-72h 窗口内发现, 抢注域名 + 建工具站 + 吃搜索流量红利。 典型案例:Nano Banana、Ghibli AI、OpenClaw、Hermes
| 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
Expired Codes
FAQ
);
}
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} =>
{code.code}
{status === 'active' && (
Active
)}
{code.reward}
{status === 'active' && (
{code.expiryDate || 'Unknown'}
)}
))}
);
}
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 分钟内生成完整的页面!