guardian-character-cards · git:20260726.6f0b5c0 · 2026-07-26 · sha256 c0296b468b0a33f3

guardian-character-cards git:20260726.6f0b5c0A

Immutable. This exact content is served forever at /api/v1/blob/c0296b468b0a33f3.

---
name: guardian-character-cards
description: Use when adding, updating, or regenerating Wolves guardian character cards, their share pages, or the lobby character gallery manifest.
---

# Guardian character cards

## Overview

`scripts/guardian-cards/` generates the Destiny-styled character cards under
`public/wolves/characters/`: one 1200×630 Open Graph card PNG per guardian, a
share page per guardian that forwards to that guardian's scene in the official
Bungie trailer on YouTube, and the `characters.json` manifest that
`WolvesCharacterGallery.vue` renders on the Wolves lobby.

Canonical share URL shape: `https://projectbluefin.io/wolves/characters/<slug>/`
(`wolves.projectbluefin.io` 301s to `/wolves/` and drops the path).

## When to Use

Use when adding a new guardian, changing a guardian's plate copy or scene
timestamp, or regenerating cards, share pages, or the gallery manifest.

## When NOT to Use

Do not use for other Wolves content (`wolves-content/SKILL.md`) or for changing
the gallery component's design (`design-gate/SKILL.md`).

## Legal Conditions

Cards use frames from official Destiny trailers under Bungie's fan-content
policy (<https://help.bungie.net/hc/en-us/articles/360049201911>). Every card
and share page must stay compliant:

- Non-commercial community use only; never behind payment or ads.
- Transformative: plates, theming, and composition over raw frames — never
  publish an unmodified trailer clip or frame alone.
- Keep the disclaimer on cards, share pages, and the gallery: "Destiny 2 ©
  Bungie, Inc. Fan-made, non-commercial community art — not affiliated with or
  endorsed by Bungie."
- Deep links point to the official YouTube uploads, never re-hosted video.

## Core Process

1. Add or edit the guardian's entry in `scripts/guardian-cards/characters.json`
   (slug, label, class, name, title, videoId, videoTitle, sceneTime, linkTime,
   optional trustee/leader flags and dino bond).
2. Capture the scene still: `node scripts/guardian-cards/capture-scenes.mjs
   [slug ...]`. Stills land in `scripts/guardian-cards/scenes/` (gitignored;
   re-capturable). Pick `sceneTime` a few seconds after any in-video overlay
   fades; the tool seeks 6 s early and screenshots while playing.
3. Generate outputs: `node scripts/guardian-cards/generate.mjs [slug ...]`.
   Writes `public/wolves/characters/<slug>.png`, `<slug>/index.html`, and
   refreshes `characters.json` (the public gallery manifest) for all entries.
4. View the rendered PNG and confirm the plate copy and scene read well.
5. Commit the changed files under `public/wolves/characters/` plus any
   manifest/tooling edits with explicit paths.

## Red Flags

- Hand-editing files in `public/wolves/characters/` — they are generated.
- A card without the Bungie disclaimer line.
- Share page URLs referencing `/wolves/social/` (the retired path).
- Committing `scripts/guardian-cards/scenes/` stills.
- Adding monetized or affiliate destinations to card links.

## Verification

- `node scripts/guardian-cards/generate.mjs <slug>` exits cleanly and the PNG
  looks correct.
- The share page redirects to the right YouTube timestamp in Chromium via
  `npx vite preview`.
- The lobby gallery at `/wolves/` shows the new card
  (`WolvesCharacterGallery.vue` fetches the public manifest at runtime).

## References

- `scripts/guardian-cards/characters.json` — source-of-truth manifest.
- `src/components/wolves/WolvesCharacterGallery.vue` — lobby gallery.
- `src/components/wolves/WolvesIntroOverlay.vue` — authoritative plate design
  the card template mirrors.
- `docs/skills/wolves-content/SKILL.md`, `docs/skills/validation/SKILL.md`.