guofeng-threejs

guofeng-threejs is a skill for Claude Code, Codex from sanhuang520-ship-it/awesome-chinese-ai-tools. It costs 89 tokens per session (6,083 once invoked), scanned A, original, MIT.

A skill for creating Chinese-style real-time 3D web visuals with Three.js, a JavaScript library for displaying 3D graphics in a browser. It focuses on ink-wash, blue-green landscape, mural, paper-cut, and other non-realistic styles.

In plain words
What is it for?
Use it for Chinese-style websites, tourism pages, campaign pages, interactive ink effects, and game prototypes with animated 3D scenes.
Why use it?
It provides guidance for achieving these specific visual styles and warns about heat and dropped frames on weaker Android phones.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it for Chinese-style websites, tourism pages, campaign pages, interactive ink effects, and game prototypes with animated 3D scenes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add sanhuang520-ship-it/awesome-chinese-ai-tools --skill guofeng-threejs
Clone the repo
git clone --depth 1 https://github.com/sanhuang520-ship-it/awesome-chinese-ai-tools

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for guofeng-threejs

README.md
[![agentmods](https://agentmods.dev/badge/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs/github.svg)](https://agentmods.dev/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs)
Your own site
<a href="https://agentmods.dev/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs"><img src="https://agentmods.dev/badge/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for guofeng-threejs

Your own site · 80×15
<a href="https://agentmods.dev/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs"><img src="https://agentmods.dev/badge/skills/sanhuang520-ship-it/awesome-chinese-ai-tools/guofeng-threejs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 89 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,083 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00089 $0.06083
Opus 5 $0.00044 $0.03041
Sonnet 5 $0.00018 $0.01217
Haiku 4.5 $0.00009 $0.00608

Measured 12d ago against content hash ead83bdbd099, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

guofeng-threejs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/guofeng-threejs/SKILL.md · 395 lines

How it starts

The opening of the file, as written. The whole thing — 395 lines — stays where its author put it; the contents beside it link to each section on GitHub.

国风 Three.js 渲染

定位说明:通用 Three.js 教程已经很多(英文社区有大量高质量资源)。 这个技能只做一件他们不做的事——中式美学的实时渲染

什么时候用

中国风官网 / 文旅 H5 / 品牌活动页 / 水墨风交互 / 国风游戏原型 / 非真实感渲染(NPR)。

不适用:通用 3D 建模、物理仿真、写实渲染——那些去看 Three.js 官方文档更好。

先问清楚

  1. 载体(PC 官网 / 手机 H5 / 微信内嵌)—— 决定性能预算
  2. 要哪种中式质感(水墨 / 青绿山水 / 敦煌壁画 / 剪纸皮影)
  3. 有没有模型(有 glTF?还是用几何体?)
  4. 动效需求(自动旋转 / 跟随鼠标 / 滚动驱动)

⚠️ 移动端警告:Three.js + 自定义 shader 在中低端安卓上会明显发热掉帧。 H5 项目务必先确认目标机型,必要时降级为静态图。

水墨渲染的三个核心

水墨效果不是加个滤镜,是三件事的组合

1️⃣ 墨分五色 —— 色阶量化

真实光照是连续的,水墨是分层的。把明暗量化成 5 阶:

float lam = max(dot(N, normalize(uLight)), 0.0);
float steps = 5.0;
float q = floor(clamp(lam, 0.0, 1.0) * steps) / (steps - 1.0);
vec3 col = mix(uInk, uPaper, q);   // 浓墨 → 纸白

阶数太多(>8)失去水墨感,太少(<3)像色块。5 阶是甜点

2️⃣ 边缘积墨 —— rim 压深

毛笔在轮廓处停留更久,墨更浓。用视线与法线夹角模拟:

float rim  = 1.0 - max(dot(N, normalize(vV)), 0.0);
float edge = smoothstep(0.45, 0.95, rim);
col = mix(col, uInk, edge * 0.85);

3️⃣ 笔触扰动 —— 噪声打破机械感

纯数学量化的边界太整齐,不像手绘。在量化前扰动光照值

float n = noise(vP * 5.5 + uTime * 0.06);
lam += (n - 0.5) * 0.16;          // 扰动幅度别超过 0.2

再叠一层细噪声当宣纸颗粒:

col *= 0.97 + 0.03 * noise(vP * 40.0);

青绿山水:和工笔只差一个参数

这个方案没有引入任何新技术——描边用的是和 gongbi-demo.html 完全同一套反向外壳, 连代码都一样。唯一的差别是 uLine 传进去的是暖金而不是墨黑。

但气质完全不同。demo 里的「墨线对照」档就是为了证明这件事: 同样的山、同样的青绿配色,只换线色,「金碧山水」的贵气立刻消失。 「金碧山水」这个名字,就是从那条金线来的。

石青石绿要按海拔映射,不是按明暗

这是青绿山水的固定语法:山脚石绿、山顶石青。不是随机分色,也不是用明暗分:

// 顶点着色器里把世界坐标传出来
vW = (modelMatrix * vec4(position, 1.0)).xyz;

// 片元着色器:按 y 取海拔,归一化范围要贴合实际山高
float alt = clamp((vW.y + 1.45) / 3.05, 0.0, 1.0);
alt = smoothstep(0.08, 0.92, alt);
vec3 base = mix(uLow, uHigh, alt);   // uLow=石绿, uHigh=石青

⚠️ 归一化范围一定要贴合实际模型高度。初版系数没对上,alt 大部分时间挤在中段, 青绿两色根本分不开,看着就是一片墨绿。

金不只在线上,也在山脊

除了描边,受光的山脊再敷一层金粉,「金碧」才立得住:

float ridge = smoothstep(0.72, 0.98, lam) * smoothstep(0.35, 0.8, alt);
col = mix(col, uLine, ridge * uGold * 0.42);

uGold = 0 时这条完全不生效,正好用来做墨线对照档。

又栽了一次的坑

Read the full file on GitHub · 395 lines

Files

What ships with it

6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 395 lines · 89 tokens per session scan A ead83bdbd099

Subscribe to this mod's changes

guofeng-threejs is a skill published in the GitHub repository sanhuang520-ship-it/awesome-chinese-ai-tools (10 stars, last pushed 8d ago), licensed MIT. It adds 89 tokens to every session and 6,083 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build landing pages, websites, dashboards, web components, or any frontend UI. Generates creative, polished code that avoids generic AI aesthetics.

tobihagemann/turbo · 48 tokens

prototype

Build a self-contained local prototype at .turbo/prototypes/ .html, drive it, and hand it to the user to settle unknowns that prose cannot answer. Use when the user asks to "prototype this", "build a prototype", "mock this up", "show me what it would look like", "let me try the interaction first", or when a decision…

tobihagemann/turbo · 88 tokens

fastreact

Scaffold and build a full-stack web app: FastAPI backend (Python, uv, SQLModel, Postgres, Alembic, JWT + Google OAuth, boto3/S3) + React frontend (Vite, TypeScript, shadcn/ui + Tailwind, TanStack Router/Query/Table, Zod, Axios), wired with Docker Compose. Use this skill whenever the user wants to spin up, bootstrap…

vanducng/skills · 214 tokens

web-perf

Measure Core Web Vitals (LCP, CLS, INP, FCP, TTFB), JS heap, and record DevTools performance traces against a running Chrome - attaches to vd:browser-profile's deterministic CDP ports, no Puppeteer, no separate browser. Use when the user says "why is this page slow", "measure web vitals", "check LCP/CLS/INP", "record…

vanducng/skills · 109 tokens

design-preview

A method for turning an existing or proposed interface into a self-contained HTML preview that can be opened and checked in Chrome.

BackToCimaCoppi/Praxis · 84 tokens

uiuxdesign

UI/UX design quality across interfaces - visual design, UX review, accessibility audits, design systems, and design critique - plus modern web frontend implementation. Use for design-quality scoring and refactor loops, design reviews, style selection (40+ named styles), color palettes and font pairing by product type…

vanducng/skills · 136 tokens