用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/projectbluefin/website --skill validation命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when changing the `/wolves/` teaser hero, Trailer 1 player, the delivered-render embed, poster, ended URL card, or trailer fidelity tests.
Use at session start, before commits, before pushes, at factory gates, and when a task crosses local, GitHub, Cloudflare, or production boundaries.
Use when configuring Cloudflare DNS, Workers, Pages, custom domains, redirects, or Wrangler authentication.
正在显示 SKILL.md
| name | validation |
| description | Use when checking changes, staging files, pushing commits, or deciding whether production is live. |
Choose checks that prove the changed behavior without claiming more than they prove.
Use before completion reports, commits, pushes, deployment checks, or live-status claims.
Do not run the full application suite for documentation-only changes.
git diff --check.git status --short and the diff; classify unrelated dirty files
before staging.Documentation-only check:
git diff --check
Application content or data checks:
npm run typecheck
npm run test:gate
npm run build
Full code checks:
npm run lint:fix
npm run typecheck
npm run test:gate
npm run build
| Rationalization | Reality |
|---|---|
| "The build passed, so it works." | A build does not run route initialization. An eager import.meta.glob() manifest failure only appears in a browser. |
| "The suite is red anyway, so this failure is expected." | test:gate judges against a recorded baseline. Re-derive the count from tests/known-failures.txt; never decide safety from a bare test:run. |
| "The deploy is green, so my change is live." | Match the SHA. A green run for a different commit says nothing about yours. |
| "My change is missing from the browser, so the code is wrong." | Identify the process on the port first. A stale vite preview serves a frozen dist/ and never hot-reloads. |
| "Nothing references this file, so it is dead code." | WolvesComicReader.vue serves eleven non-Wolves albums. A /wolves/ smoke test will not notice their loss. |
git add . or git add -A is used.vite preview is up during source
work.npm run test:run output is used to decide whether a change is safe.tests/known-failures.txt is re-recorded in the same commit as the change that
added the failures.WolvesComicReader.vue.After pushing, verify the exact commit:
sha=$(git rev-parse HEAD)
gh run list --repo projectbluefin/website \
--workflow "Deploy to GitHub Pages" --commit "$sha" --limit 1 \
--json databaseId,headSha,status,conclusion,url
Production is complete only when the run has the same SHA, status completed,
and conclusion success. For multi-entry builds, also smoke-test every path
listed in ../../reference/production-entrypoints.md; adding an HTML entry alone
is insufficient unless the Vite Rollup input and directory redirect include it.
For runtime manifests, the browser smoke must assert both a non-empty rendered
body and zero pageerror events.
Procedure lives here; the detail each area has already cost the repo lives in these references. Load only the one the change needs.
| Reference | Covers |
|---|---|
references/baseline-gate.md | Why test:gate is the signal, tests/known-failures.txt, and re-recording rules. |
references/wolves-show-validation.md | Why a green suite proves nothing about the show, and Wolves timing validation. |
references/component-tests.md | Component test patterns and the traps that shipped past them. |
references/dev-server-hygiene.md | "I don't see my change": ports, stale vite preview, HMR proof. |
references/ci-signals.md | Cache keys as part of the cache path list, and red integration branches. |
../../reference/production-entrypoints.md../../architecture/runtime-data-flow.md