Fix skills.json determinism (CI blocker) and upgrade the playground

The check-generated CI step was failing with "web/skills.json is stale"
because build-skills.mjs stamped a wall-clock generatedAt into the file, so
every rebuild differed and git diff --exit-code never matched.

- web/build-skills.mjs: drop the unused generatedAt timestamp -> deterministic
  output the CI staleness check can verify. Also tags each skill with its tier.
- skill-tiers.json: single machine-readable source for tier membership
  (Production-Ready / Experimental); TIERS.md points to it.

Playground upgrades (hosted on GitHub Pages):
- Tier filter (Production-Ready / Stable / Experimental) + per-tile tier badges.
- "Use this skill in another tool" panel: copy the instructions formatted for
  ChatGPT, Gemini, or raw — mirrors the generated exports/ files.
- web/README documents the new options and the deterministic build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
This commit is contained in:
Claude
2026-06-17 08:16:46 +00:00
parent 46f5d939de
commit 69d4fab0b3
9 changed files with 158 additions and 5 deletions
+4
View File
@@ -81,3 +81,7 @@ list in the [README](README.md#-all-167-skills).
once they have a stable output format and real-world use — see
[SKILL-AUTHORING-STANDARD.md](SKILL-AUTHORING-STANDARD.md#7-tiering). Think a skill is
mis-tiered? [Open an issue](../../issues).*
> **For tooling:** the machine-readable tier membership lives in
> [`skill-tiers.json`](skill-tiers.json) (the Skill Playground reads it to badge and
> filter skills). Keep this page and that file in sync when re-tiering.