# Premium Font Scan

> Use when a font category is known and local premium files must be checked before choosing the OFL baseline. Unlike font-selection-and-pairing, this resolves availability and licence evidence; embedding routes to font-embedding-and-licensing.

- Skill: `peterbamuhigire/premium-font-scan` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add peterbamuhigire/premium-font-scan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/peterbamuhigire/premium-font-scan/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: peterbamuhigire (https://skillmd.com/u/peterbamuhigire)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/peterbamuhigire/premium-font-scan

---


# Premium Font Scan
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com.

<!-- dual-compat-start -->
## Use When

- About to commit to a typeface and you want to check whether a purchased premium family is
  available and would look better than the OFL baseline.
- Called as step 2 of `font-selection-and-pairing`.

## Do Not Use When

- No font category has been chosen yet - classify the artifact first.

## Required Inputs

| Input | Supplied by | Required? | Why |
|---|---|---|---|
| Design-intent category | Typeface selector | yes | Limits the scan to the correct role |
| Format and distribution model | Delivery brief | yes | Determines licence permission |
| Local font tree and manifests | Repository/device | yes | Establishes actual availability |

- The chosen font category and the artifact's output format and intended use, so the licence
  check is meaningful: embedding, reference, or raw file shipment.

## Workflow

1. **Verify the shared folder taxonomy:** before scanning on a new device or after a pull, ensure
   these exact top-level folders exist under `fonts/`:
   `01-formal-institutional`, `02-editorial-literary`, `03-modern-product-grotesque`,
   `04-technical-data-code`, `05-friendly-humanist`, `06-expressive-display-artistic`,
   `07-script-cursive-handwritten`, and `08-body-ui-workhorses`.
   Create any missing category folder using the idempotent setup command in `fonts/README.md`.
   Do not rename categories or move local font files while doing this check.
2. **Locate the folder:** `fonts/<matching-category>/` in this engine.
3. **List present families.** Premium binaries are gitignored, so they may or may not be on this
   device. List whatever `.ttf`/`.otf`/`.woff2` families are actually present.
4. **Read `MANIFEST.md`** in that folder. For each present family confirm: role, voice, best
   use, avoid-for notes, pairing guidance, licence, embedding permitted?, and file
   redistribution permitted?
5. **Decide:** if a present family fits the artifact's voice and role better than the baseline
   and its MANIFEST grants the permission the format needs, use it. Otherwise use the named OFL
   baseline from `font-groups-and-usage.md`.
6. **Never ship a file you may not redistribute.** Embedding a Fontshare face into a built
   artifact is fine; committing or shipping the raw file is not.
7. **Report** which family was chosen and why: premium vs baseline, category, role, pairing,
   and licence basis.

## Anti-Patterns

- Using a premium family whose MANIFEST does not grant the needed permission.
- Assuming a premium file is present because it is on another device - always list first.
- Skipping the eight-folder taxonomy preflight on a new device, then creating ad hoc categories.
- Committing premium binaries into any repo.
- Scanning a body workhorse category when the artifact needs an expressive display face.
- Using a script/cursive face for body text or dense UI.

## Outputs

| Output | Consumer | Evidence / acceptance |
|---|---|---|
| Availability inventory | Typeface selector | Files grouped by family and category |
| Licence disposition | Embedding workflow | Permission and restriction recorded |
| Resolved font choice | Design owner | Role, pairing, availability, and reason stated |

- The resolved typeface, premium or baseline, with role, voice, pairing, and licence basis
  recorded for the embedding step.

## Examples

- See `examples/premium-scan-worked.md` for a file, manifest, licence, and fallback decision.

## Quality Standards

- Treat filesystem evidence and the manifest as authoritative for local availability.
- Record embedding and redistribution permissions separately.
- Stop selection when licence evidence is absent; recover with the named OFL baseline.

## Decision Rules

| Condition | Decision | Wrong-choice failure |
|---|---|---|
| Premium face is present, suitable, and licensed | Prefer it when it improves the artefact | Purchased differentiation is missed |
| File is absent on this device | Use the OFL baseline | Build depends on an unavailable binary |
| Embedding allowed but redistribution forbidden | Embed only in the permitted artefact | Raw font is unlawfully shipped |
| Licence evidence is missing | Stop and use the baseline | Permission is guessed |

## Capability Contract

Read and filesystem search are required. Create a missing taxonomy directory only through the documented idempotent preflight; do not move, delete, commit, or redistribute binaries. Network access is optional for licence verification.

## Degraded Mode

Without local file access, return the category baseline and a pending scan checklist. Without reliable rights evidence, mark the premium option blocked and recover with the OFL baseline.

- `examples/premium-scan-worked.md` - a full worked scan for a startup-product artifact: scan
  `fonts/03-modern-product-grotesque/`, read its MANIFEST, find Satoshi present, apply its
  Fontshare embed-yes/redistribute-no rule, decide premium-vs-baseline with the licence basis
  stated, and record the resolved face.

## References

- `fonts/README.md` - required eight-category folder taxonomy and new-device setup command.
- `doctrine/references/font-groups-and-usage.md`, `licensing-and-embedding.md`;
  the per-category `fonts/<category>/MANIFEST.md`.
<!-- dual-compat-end -->

