Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Activate the Super Dev SEEAI competition mode inside Codex CLI.
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shangyankeji/super-dev super-dev-seeai --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/super-dev-seeai .claude/skills/super-dev-seeai && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .claude/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeaiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shangyankeji/super-dev super-dev-seeai --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/super-dev-seeai .agents/skills/super-dev-seeai && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .agents/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shangyankeji/super-dev super-dev-seeai --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/super-dev-seeai .cursor/skills/super-dev-seeai && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .cursor/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/shangyankeji/super-dev.git --path .agents/skills/super-dev-seeai--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shangyankeji/super-dev super-dev-seeai --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/super-dev-seeai .gemini/skills/super-dev-seeai && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .gemini/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install shangyankeji/super-dev super-dev-seeaiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/super-dev-seeai .github/skills/super-dev-seeai && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .github/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shangyankeji/super-dev --skill super-dev-seeai -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shangyankeji/super-dev super-dev-seeai --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shangyankeji/super-dev.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/super-dev-seeai .opencode/skills/super-dev-seeai && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "super-dev-seeai" agent skill from https://github.com/shangyankeji/super-dev/tree/main/.agents/skills/super-dev-seeai into .opencode/skills/super-dev-seeai/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "super-dev-seeai", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
super-dev-seeaiActivate the Super Dev SEEAI competition mode inside Codex CLI.
Super Dev Seeai is an agent skill from shangyankeji/super-dev. Activate the Super Dev SEEAI competition mode inside Codex CLI.
Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA. The repository describes itself as: Engineering workflow layer for AI coding tools with specs, review, quality gates, and traceability.为 AI 编程工具提供工程化流程、质量门禁与可追溯能力。 The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d06e640. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are css, html, javascript and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Super Dev Seeai loads about 5.8k tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 902 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from shangyankeji/super-dev at commit d06e640, republished under its MIT licence (© shangyankeji). 902 words, ~5,772 tokens.
.claude/skills/super-dev-seeai/SKILL.md (or your agent's skills folder).以下规则在整个开发过程中始终有效,不得以任何理由违反:
图标系统: 功能图标只能来自 Lucide / Heroicons / Tabler 图标库。绝对禁止使用 emoji 表情 作为功能图标、装饰图标或临时占位。如果你发现自己即将输出包含 emoji 的 UI 代码,停下来,改用图标库组件。
AI 模板化禁令: 禁止紫/粉渐变主色调、禁止 emoji 图标、禁止无信息层级的卡片墙、禁止默认系统字体直出。
代码即交付: 不允许“先用 emoji 顶上后面再换”。图标库必须在第一行 UI 代码前就锁定。
自检规则: 在向用户展示任何 UI 代码或预览前,必须自检源码中不存在任何 emoji 字符(Unicode range U+2600-U+27BF, U+1F300-U+1FAFF)。发现后先替换为正式图标库再继续。
super-dev-seeai: <需求描述> and super-dev-seeai:<需求描述> as the AGENTS-driven natural-language SEEAI entry.$super-dev-seeai as the explicit Codex CLI Skill entry for the competition mode./super-dev-seeai from the slash Skill list is the official app entry.super-dev CLI for governance artifacts only when it materially helps the fast path.research。flow_variant = seeai 一起写入。SEEAI 首轮回复不要展开成长讨论。优先用极短结构锁定范围,然后立即进入 research:
作品类型:官网类 / 小游戏类 / 工具类,三选一。评委 wow 点:本次成品最值得被记住的一个亮点。P0 主路径:半小时内必须真正跑通的一条演示路径。主动放弃项:本轮明确不做的部分,避免范围失控。关键假设:只有在用户没说清时才写,最多 1 到 2 条。如果需求不缺关键信息,就不要反问。直接按这个模板给出判断,然后开始 fast research 和 compact 文档。
SEEAI 的文档必须真实落盘到 output/*,但只保留比赛需要的信息:
research.md:题目理解、目标观众、参考风格、评委 wow 点、风险与主动放弃项。prd.md:作品目标、P0 主路径、P1 wow 点、P2 可选项、非目标。architecture.md:页面/玩法主循环、技术栈、数据流、是否需要最小后端、降级方案。uiux.md:视觉关键词、主 KV、页面骨架、关键交互、动效重点、设计 token。spec:只保留一个 sprint 清单,按 P0 -> P1 -> polish 排序。research.md:# 题目理解 # 参考风格 # Wow 点 # 主动放弃项prd.md:# 作品目标 # P0 主路径 # P1 Wow 点 # P2 可选项 # 非目标architecture.md:# 主循环 # 技术栈 # 数据流 # 最小后端 # 降级方案uiux.md:# 视觉方向 # 首屏/主界面 # 关键交互 # 动效重点 # 设计 Tokenspec:# Sprint Checklist 下只列 P0、P1、Polish不要把文档写成长方案、长竞品分析或完整工程规划。文档存在的目的,是帮你更快做出更像成品的作品。
收到题目后,根据作品类型立刻选择技术栈。不纠结,不混搭。
题目类型?
|-- 小游戏 / 互动动画
| |-- 纯2D休闲 -> HTML Canvas + Vanilla JS(零依赖,开箱即用)
| |-- 复杂2D游戏 -> Phaser.js(场景管理、物理引擎、精灵动画一体化)
| `-- 3D/沉浸感 -> Three.js + React Three Fiber(如果用React)
|
|-- 官网 / 展示页 / 落地页
| |-- 纯静态展示 -> HTML + Tailwind CDN + GSAP/Framer Motion
| |-- 需要路由/多页 -> React + Vite + Tailwind + Framer Motion
| `-- 需要SSR/SEO -> Next.js + Tailwind + Framer Motion
|
|-- 工具 / 应用
| |-- 纯前端工具 -> React + Vite + Tailwind + Zustand
| |-- 需要后端API -> React前端 + Express/Fastify后端
| `-- 实时协作 -> React + Socket.io / WebSocket
|
`-- 数据看板 / 可视化
|-- 简单图表 -> React + Recharts / Chart.js
|-- 复杂交互 -> React + D3.js
`-- 实时数据 -> React + ECharts + WebSocket| 组合 | 适用场景 | CDN快速启动 | 需要构建 |
|---|---|---|---|
| HTML+Tailwind CDN+GSAP | 展示页/官网 | 是 | 否 |
| React+Vite+Tailwind+Framer | 工具/应用/多页 | 否 | 是 |
| HTML Canvas+Vanilla JS | 2D小游戏/互动 | 是 | 否 |
| Phaser.js | 复杂2D游戏 | 是 | 否 |
| Three.js | 3D展示/沉浸 | 是 | 否 |
赛事铁律: 能用 CDN 零构建的优先用 CDN,省掉构建和配置时间。
适用于所有 2D 休闲游戏(贪吃蛇、打砖块、弹球、飞机大战等)。 骨架包含:Canvas 初始化、游戏主循环、HUD、菜单/结束 Overlay、localStorage 最高分。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GAME_TITLE</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0a0a0a; display: flex; justify-content: center; align-items: center; min-height: 100vh; font-family: 'Inter', sans-serif; }
#gameContainer { position: relative; }
canvas { display: block; border-radius: 12px; box-shadow: 0 0 40px rgba(59,130,246,0.3); }
#hud { position: absolute; top: 0; left: 0; right: 0; padding: 16px 24px; display: flex; justify-content: space-between; color: #fff; font-size: 14px; font-weight: 600; pointer-events: none; z-index: 10; }
#overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; background: rgba(0,0,0,0.8); border-radius: 12px; z-index: 20; transition: opacity 0.3s; }
#overlay.hidden { opacity: 0; pointer-events: none; }
#overlay h1 { color: #fff; font-size: 36px; margin-bottom: 8px; }
#overlay p { color: #94a3b8; margin-bottom: 24px; }
#overlay button { padding: 12px 32px; border: none; border-radius: 8px; background: #3b82f6; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: transform 0.15s, background 0.15s; }
#overlay button:hover { transform: scale(1.05); background: #2563eb; }
.score-display { background: rgba(255,255,255,0.1); padding: 6px 16px; border-radius: 20px; backdrop-filter: blur(8px); }
</style>
</head>
<body>
<div id="gameContainer">
<canvas id="gameCanvas"></canvas>
<div id="hud">
<div class="score-display">Score: <span id="score">0</span></div>
<div class="score-display">Level: <span id="level">1</span></div>
<div class="score-display">Best: <span id="best">0</span></div>
</div>
<div id="overlay">
<h1>GAME_TITLE</h1>
<p>游戏描述</p>
<button id="startBtn">Start Game</button>
</div>
</div>
<script>
const CONFIG = { width: 800, height: 600, bgColor: '#0a0a0a', accentColor: '#3b82f6', fps: 60 };
const STATE = { MENU: 0, PLAYING: 1, PAUSED: 2, OVER: 3 };
let gameState = STATE.MENU, score = 0, level = 1;
let bestScore = parseInt(localStorage.getItem('game_best') || '0');
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
canvas.width = CONFIG.width; canvas.height = CONFIG.height;
const keys = {};
document.addEventListener('keydown', e => { keys[e.key] = true; e.preventDefault(); });
document.addEventListener('keyup', e => { keys[e.key] = false; });
let lastTime = 0;
function gameLoop(timestamp) {
const dt = (timestamp - lastTime) / 1000; lastTime = timestamp;
ctx.fillStyle = CONFIG.bgColor;
ctx.fillRect(0, 0, CONFIG.width, CONFIG.height);
if (gameState === STATE.PLAYING) { update(dt); draw(); }
requestAnimationFrame(gameLoop);
}
function update(dt) { /* game logic */ }
function draw() { /* render */ }
function addScore(pts) {
score += pts;
document.getElementById('score').textContent = score;
if (score > bestScore) {
bestScore = score; localStorage.setItem('game_best', bestScore);
document.getElementById('best').textContent = bestScore;
}
}
function startGame() {
score = 0; level = 1; gameState = STATE.PLAYING;
document.getElementById('overlay').classList.add('hidden');
}
function gameOver() {
gameState = STATE.OVER;
const o = document.getElementById('overlay');
o.classList.remove('hidden');
o.querySelector('h1').textContent = 'Game Over';
o.querySelector('p').textContent = 'Final Score: ' + score;
o.querySelector('button').textContent = 'Play Again';
}
document.getElementById('startBtn').addEventListener('click', startGame);
document.getElementById('best').textContent = bestScore;
requestAnimationFrame(gameLoop);
</script>
</body>
</html>// 矩形碰撞
function rectCollision(a, b) {
return a.x < b.x + b.w && a.x + a.w > b.x && a.y < b.y + b.h && a.y + a.h > b.y;
}
// 圆形碰撞
function circleCollision(a, b) {
const dx = a.x - b.x, dy = a.y - b.y;
return dx*dx + dy*dy < (a.r + b.r) * (a.r + b.r);
}
// 粒子效果
class Particle {
constructor(x, y, color) {
this.x=x; this.y=y; this.vx=(Math.random()-0.5)*8; this.vy=(Math.random()-0.5)*8;
this.life=1; this.decay=0.02+Math.random()*0.03; this.size=2+Math.random()*4; this.color=color;
}
update() { this.x+=this.vx; this.y+=this.vy; this.life-=this.decay; this.vy+=0.1; }
draw(ctx) {
ctx.globalAlpha=this.life; ctx.fillStyle=this.color;
ctx.fillRect(this.x-this.size/2, this.y-this.size/2, this.size, this.size);
ctx.globalAlpha=1;
}
get dead() { return this.life <= 0; }
}| 游戏类型 | 核心循环 | 关键对象 | 反馈重点 |
|---|---|---|---|
| 贪吃蛇 | 移动->吃食->变长->碰撞检测 | 蛇身数组、食物坐标 | 吃到食物闪烁、蛇身渐变色 |
| 打砖块 | 发球->挡板->砖块碰撞 | 挡板、球、砖块网格 | 砖块破碎粒子、连击特效 |
| 飞机大战 | 移动->射击->躲避->Boss | 玩家飞机、敌机数组、子弹数组 | 爆炸粒子、屏幕震动 |
| 消除游戏 | 选择->匹配->消除->下落 | 网格数组、选中状态、动画队列 | 消除爆炸、连锁得分飞字 |
| 跑酷 | 跳跃->障碍->加速->距离 | 角色、障碍物队列、地面 | 跳跃拉伸、落地压缩、速度线 |
// 屏幕震动
function screenShake(intensity=5, duration=200) {
const c = document.getElementById('gameContainer');
const start = Date.now();
function shake() {
const elapsed = Date.now() - start;
if (elapsed < duration) {
const f = 1 - elapsed/duration;
c.style.transform = `translate(${(Math.random()-0.5)*intensity*f}px,${(Math.random()-0.5)*intensity*f}px)`;
requestAnimationFrame(shake);
} else { c.style.transform = ''; }
}
shake();
}
// 得分飞字
function floatingText(x, y, text, color='#fbbf24') {
const el = document.createElement('div');
el.textContent = text;
Object.assign(el.style, { position:'absolute', left:x+'px', top:y+'px', color, fontSize:'20px', fontWeight:'bold', pointerEvents:'none', transition:'all 0.8s ease-out', zIndex:'30' });
document.getElementById('gameContainer').appendChild(el);
requestAnimationFrame(() => { el.style.top=(y-60)+'px'; el.style.opacity='0'; });
setTimeout(() => el.remove(), 800);
}:root {
--bg-primary: #0a0a0f;
--bg-secondary: #111827;
--text-primary: #f1f5f9;
--text-secondary: #94a3b8;
--accent: #3b82f6;
--accent-glow: rgba(59,130,246,0.4);
--gradient-hero: linear-gradient(135deg, #0a0a0f 0%, #1e1b4b 50%, #0a0a0f 100%);
--card-bg: rgba(17,24,39,0.8);
--card-border: rgba(59,130,246,0.15);
}:root {
--bg-primary: #fffbf5; --bg-secondary: #fef3e2;
--text-primary: #1c1917; --text-secondary: #78716c;
--accent: #f97316; --accent-glow: rgba(249,115,22,0.3);
--gradient-hero: linear-gradient(135deg, #fffbf5 0%, #fed7aa 100%);
--card-bg: rgba(255,251,245,0.9); --card-border: rgba(249,115,22,0.15);
}:root {
--bg-primary: #f0fdf4; --bg-secondary: #dcfce7;
--text-primary: #14532d; --text-secondary: #4d7c0f;
--accent: #16a34a; --accent-glow: rgba(22,163,74,0.3);
--gradient-hero: linear-gradient(135deg, #f0fdf4 0%, #bbf7d0 100%);
--card-bg: rgba(240,253,244,0.9); --card-border: rgba(22,163,74,0.15);
}:root {
--bg-primary: #fafafa; --bg-secondary: #f4f4f5;
--text-primary: #18181b; --text-secondary: #71717a;
--accent: #18181b; --accent-glow: rgba(24,24,27,0.1);
--gradient-hero: linear-gradient(180deg, #fafafa 0%, #e4e4e7 100%);
--card-bg: #ffffff; --card-border: rgba(24,24,27,0.08);
}:root {
--bg-primary: #042f2e; --bg-secondary: #134e4a;
--text-primary: #ccfbf1; --text-secondary: #5eead4;
--accent: #14b8a6; --accent-glow: rgba(20,184,166,0.4);
--gradient-hero: linear-gradient(135deg, #042f2e 0%, #0f766e 50%, #042f2e 100%);
--card-bg: rgba(19,78,74,0.6); --card-border: rgba(20,184,166,0.2);
}:root {
--bg-primary: #0c0015; --bg-secondary: #1a002e;
--text-primary: #f0e6ff; --text-secondary: #c084fc;
--accent: #e879f9; --accent-secondary: #06ffa5;
--accent-glow: rgba(232,121,249,0.4);
--gradient-hero: linear-gradient(135deg, #0c0015 0%, #2d1b69 50%, #0c0015 100%);
--card-bg: rgba(26,0,46,0.8); --card-border: rgba(232,121,249,0.2);
}禁止使用: 紫粉渐变、默认蓝色模板感配色。
// 1. 滚动渐入(Intersection Observer)
function setupScrollReveal() {
const observer = new IntersectionObserver(entries => {
entries.forEach(e => { if(e.isIntersecting) { e.target.classList.add('revealed'); observer.unobserve(e.target); } });
}, { threshold: 0.1 });
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
}
// CSS: .reveal { opacity:0; transform:translateY(30px); transition:all 0.6s cubic-bezier(0.16,1,0.3,1); }
// .reveal.revealed { opacity:1; transform:translateY(0); }
// 2. 数字滚动动画
function animateNumber(el, target, duration=1500) {
const start = parseInt(el.textContent)||0; const t0 = performance.now();
function update(now) {
const p = Math.min((now-t0)/duration, 1);
const eased = 1 - Math.pow(1-p, 3);
el.textContent = Math.round(start + (target-start)*eased).toLocaleString();
if(p<1) requestAnimationFrame(update);
}
requestAnimationFrame(update);
}
// 3. 鼠标跟随光晕
function setupCursorGlow(container) {
const glow = document.createElement('div');
Object.assign(glow.style, { position:'absolute', width:'400px', height:'400px',
borderRadius:'50%', pointerEvents:'none',
background:'radial-gradient(circle, var(--accent-glow) 0%, transparent 70%)',
transform:'translate(-50%,-50%)', zIndex:'0', opacity:'0.6' });
container.style.position = 'relative';
container.appendChild(glow);
container.addEventListener('mousemove', e => {
const r = container.getBoundingClientRect();
glow.style.left = (e.clientX-r.left)+'px';
glow.style.top = (e.clientY-r.top)+'px';
});
}
// 4. 打字机效果
function typeWriter(el, text, speed=60) {
let i = 0; el.textContent = '';
function type() { if(i<text.length) { el.textContent += text.charAt(i++); setTimeout(type, speed); } }
type();
}
// 5. 卡片3D倾斜
function setupTiltCard(card, intensity=15) {
card.addEventListener('mousemove', e => {
const r = card.getBoundingClientRect();
const x = (e.clientX-r.left)/r.width - 0.5;
const y = (e.clientY-r.top)/r.height - 0.5;
card.style.transform = `perspective(800px) rotateY(${x*intensity}deg) rotateX(${-y*intensity}deg) scale(1.02)`;
});
card.addEventListener('mouseleave', () => { card.style.transform = ''; });
}<section style="min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-primary)">
<div style="position:absolute;inset:0;opacity:0.5;background:var(--gradient-hero)"></div>
<div style="position:relative;z-index:10;text-align:center;max-width:800px;padding:0 24px">
<div style="display:inline-block;padding:6px 16px;border-radius:20px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;margin-bottom:24px">Tagline</div>
<h1 style="font-size:clamp(36px,6vw,72px);font-weight:800;color:var(--text-primary);line-height:1.1;margin-bottom:16px">主标题 <span style="color:var(--accent)">关键词高亮</span></h1>
<p style="font-size:18px;color:var(--text-secondary);margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto">副标题</p>
<div style="display:flex;gap:12px;justify-content:center">
<a href="#cta" style="padding:14px 32px;border-radius:8px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600">Primary CTA</a>
</div>
</div>
</section><section style="min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:80px 48px;background:var(--bg-primary)">
<div>
<h1 style="font-size:48px;font-weight:800;color:var(--text-primary)">标题</h1>
<p style="font-size:18px;color:var(--text-secondary);margin-bottom:24px">描述</p>
<button style="padding:12px 28px;border-radius:8px;background:var(--accent);color:#fff;border:none;font-weight:600;cursor:pointer">Get Started</button>
</div>
<div style="aspect-ratio:4/3;border-radius:16px;background:var(--card-bg);border:1px solid var(--card-border)"></div>
</section><section style="height:100vh;display:flex;align-items:center;justify-content:center;position:relative">
<div style="position:absolute;inset:0;background:var(--gradient-hero);z-index:1"></div>
<div style="position:relative;z-index:10;text-align:center;color:#fff">
<h1 style="font-size:clamp(40px,8vw,80px);font-weight:900;text-shadow:0 2px 20px rgba(0,0,0,0.3)">主标题</h1>
<p style="font-size:20px;max-width:600px;margin:16px auto 0;opacity:0.85">副标题</p>
</div>
</section>比赛不只看代码,文档和演示决定最终名次。以下模板在 Spec 确认后立即生成。
# PROJECT_NAME
> 一句话描述项目核心价值(评委3秒内能理解)
## 项目亮点
- 亮点1(技术实现/设计/创新)
- 亮点2
- 亮点3
## 技术栈
| 层级 | 技术 | 选型理由 |
|------|------|----------|
| 前端 | XXX | 快速/美观/生态 |
| 后端 | XXX(如无则写"纯前端") | 必要性 |
| 数据 | XXX | 轻量/够用 |
| 部署 | XXX | 一键/零配置 |
## 快速开始
```bash
npm install && npm run dev
### 模板2: 技术亮点文档
```markdown
## 1. 创新点:XXX
**问题**: 为什么要做这个
**方案**: 具体怎么实现的
**效果**: 数据/截图/对比
## 2. 技术难点突破:XXX
**挑战**: 遇到什么问题
**解决**: 怎么解决的
**收获**: 学到了什么## 30秒电梯演讲
大家好,我们是TEAM_NAME。我们做了PROJECT_NAME。
它解决的核心问题是【痛点】。我们的方案是【一句话方案】。
最大的亮点是【wow点】。谢谢!
## 2分钟完整演示
### 开场(15秒):我们注意到一个问题... 切到首页展示痛点场景
### 核心演示(60秒):按功能顺序走一条完整主路径
### 亮点展示(30秒):展示技术亮点/创新设计
### 总结(15秒):一句话总结核心价值 + 未来展望
## 演示注意
- 准备备用演示路径(主路径出问题时的Plan B)
- 数据预填充,不要现场输入
- 不依赖网络,本地运行## 必答题
1. 技术方案为什么这样选? -> 性能/生态/时间权衡
2. 再给一周时间优先做什么? -> 核心体验/用户反馈
3. 最大的技术挑战? -> 具体问题+解决方案
4. 和竞品相比核心差异? -> 创新点+用户价值
5. 用户体验有什么特别设计? -> 细节+数据支撑
## 加分回答(主动提及)
- 我们不只做了功能,还关注了XXX细节
- 我们在有限时间内做了降级方案确保演示稳定
## 减分避免
- 不要说"时间不够所以没做完"
- 不要说"这个功能比较简单"
- 不要说"AI帮我们写的"(改说"我们利用AI辅助提升了开发效率")进入 SEEAI 后,优先先判断当前更像哪一类题,再决定研究和实现重心:
如果需求跨多类,默认选最容易形成强演示效果的那一类做主轴,其余只做辅助。
在首轮判断时,优先用需求关键词快速归类,不要犹豫太久:
即使在半小时里,也必须守住这些底线:
research.output/*-research.md as a real file.output/*-prd.md, output/*-architecture.md, and output/*-uiux.md in the same session and save them as real files..super-dev/workflow-state.json, persist flow_variant = seeai so resume/continue stays in SEEAI mode..super-dev/SESSION_BRIEF.md,每次继续前必须先读取。© shangyankeji, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/super-dev-seeai of shangyankeji/super-dev.
Open the folder on GitHubat commit d06e640
Super Dev Seeai next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Super Dev Seeai this skillshangyankeji/super-dev | 274 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Bugsfossasia/eventyay-interpretation | 1.6k | 32 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| TDDpietheinstrengholt/rssmonster | 564 | 30 repos | ~906 | Automated safety check: Pass | MIT | |
| TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph | 112 | 11 repos | ~2.4k | Automated safety check: Pass | None | |
| TDDsanity-io/sanity | 6.4k | 20 repos | ~1k | Automated safety check: Pass | MIT |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
fossasia/eventyay-interpretation
Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.
pietheinstrengholt/rssmonster
Test-driven development. An agent skill from pietheinstrengholt/rssmonster.
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
sanity-io/sanity
Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.
Ibrahim-3d/orchestrator-supaconductor
A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…
shangyankeji/super-dev
Super Dev pipeline governance for research-first, commercial-grade AI coding delivery
shangyankeji/super-dev
Activate the Super Dev pipeline inside Codex CLI. An agent skill from shangyankeji/super-dev.
shangyankeji/super-dev
Super Dev Codex App/Desktop plugin entry. An agent skill from shangyankeji/super-dev.
shangyankeji/super-dev
Super Dev SEEAI Codex App/Desktop competition entry. An agent skill from shangyankeji/super-dev.
Categories
Activate the Super Dev SEEAI competition mode inside Codex CLI. Super Dev Seeai is an agent skill from shangyankeji/super-dev. Activate the Super Dev SEEAI competition mode inside Codex CLI.
Super Dev Seeai fits situations like: testing & QA work in your project.
Run `npx skills add shangyankeji/super-dev --skill super-dev-seeai -a claude-code`. Or copy the skill folder (.agents/skills/super-dev-seeai in shangyankeji/super-dev) into .claude/skills/super-dev-seeai in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shangyankeji/super-dev --skill super-dev-seeai -a codex`. Or copy the skill folder (.agents/skills/super-dev-seeai in shangyankeji/super-dev) into .agents/skills/super-dev-seeai in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shangyankeji/super-dev --skill super-dev-seeai -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/super-dev-seeai, .gemini/skills/super-dev-seeai, .github/skills/super-dev-seeai and .opencode/skills/super-dev-seeai in your project.
SKILL.md names no scripts, command-line tools or credentials: Super Dev Seeai is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Super Dev Seeai is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Super Dev Seeai: Web Application Testing (anthropics/skills, 180k stars), Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shangyankeji (a GitHub user) maintains it in shangyankeji/super-dev, which has 274 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on June 19, 2026.
Source: shangyankeji/super-dev on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.