← Typography StudioCONTENT HISTORY

Update to Typography Studio

Snapshot Oct 24, 2026 · 13:55 UTC · version 0.4.2

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Typography Studio and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Design, refine and evaluate typefaces using editable font sources and real rendered proofs. Use for glyph construction, optical corrections, spacing, kerning, italics, font families, variable fonts, OpenType exports, or typographic hierarchy and readability. Inspect actual images, identify the font in use, and distinguish technical validity, visual judgment and measured reading performance. Works with the user's own brief, fonts and tools, without a required brand, family or design style.",
  "included_files": [
    {
      "relative_path": "LICENSE",
      "size_in_bytes": 1071
    },
    {
      "relative_path": "SKILL.es.md",
      "size_in_bytes": 9787
    },
    {
      "relative_path": "agents/openai.es.yaml",
      "size_in_bytes": 399
    },
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 382
    },
    {
      "relative_path": "assets/brief-template.es.md",
      "size_in_bytes": 841
    },
    {
      "relative_path": "assets/brief-template.md",
      "size_in_bytes": 766
    },
    {
      "relative_path": "assets/corpus.es.json",
      "size_in_bytes": 2395
    },
    {
      "relative_path": "assets/corpus.json",
      "size_in_bytes": 2345
    },
    {
      "relative_path": "assets/interface-language.es.json",
      "size_in_bytes": 23
    },
    {
      "relative_path": "assets/interface-language.json",
      "size_in_bytes": 23
    },
    {
      "relative_path": "assets/practice-template.es.md",
      "size_in_bytes": 702
    },
    {
      "relative_path": "assets/practice-template.md",
      "size_in_bytes": 660
    },
    {
      "relative_path": "assets/reading-tokens.es.json",
      "size_in_bytes": 1362
    },
    {
      "relative_path": "assets/reading-tokens.json",
      "size_in_bytes": 1226
    },
    {
      "relative_path": "assets/review-template.es.md",
      "size_in_bytes": 1674
    },
    {
      "relative_path": "assets/review-template.md",
      "size_in_bytes": 1443
    },
    {
      "relative_path": "references/brief-to-form.es.md",
      "size_in_bytes": 3263
    },
    {
      "relative_path": "references/brief-to-form.md",
      "size_in_bytes": 3137
    },
    {
      "relative_path": "references/construction-workbench.es.md",
      "size_in_bytes": 4002
    },
    {
      "relative_path": "references/construction-workbench.md",
      "size_in_bytes": 4160
    },
    {
      "relative_path": "references/families-and-exports.es.md",
      "size_in_bytes": 3209
    },
    {
      "relative_path": "references/families-and-exports.md",
      "size_in_bytes": 3191
    },
    {
      "relative_path": "references/formation-and-design.es.md",
      "size_in_bytes": 2192
    },
    {
      "relative_path": "references/formation-and-design.md",
      "size_in_bytes": 2217
    },
    {
      "relative_path": "references/optical-review.es.md",
      "size_in_bytes": 3218
    },
    {
      "relative_path": "references/optical-review.md",
      "size_in_bytes": 3368
    },
    {
      "relative_path": "references/practice-and-calibration.es.md",
      "size_in_bytes": 2283
    },
    {
      "relative_path": "references/practice-and-calibration.md",
      "size_in_bytes": 2287
    },
    {
      "relative_path": "references/reading-and-hierarchy.es.md",
      "size_in_bytes": 3732
    },
    {
      "relative_path": "references/reading-and-hierarchy.md",
      "size_in_bytes": 3899
    },
    {
      "relative_path": "references/sources.es.md",
      "size_in_bytes": 7756
    },
    {
      "relative_path": "references/sources.md",
      "size_in_bytes": 7797
    },
    {
      "relative_path": "references/standards-and-acceptance.es.md",
      "size_in_bytes": 3814
    },
    {
      "relative_path": "references/standards-and-acceptance.md",
      "size_in_bytes": 3727
    },
    {
      "relative_path": "references/tooling.es.md",
      "size_in_bytes": 4613
    },
    {
      "relative_path": "references/tooling.md",
      "size_in_bytes": 4724
    },
    {
      "relative_path": "scripts/build_proof.py",
      "size_in_bytes": 13035
    },
    {
      "relative_path": "scripts/capture_proof.mjs",
      "size_in_bytes": 4824
    },
    {
      "relative_path": "scripts/font_evidence.py",
      "size_in_bytes": 5589
    },
    {
      "relative_path": "scripts/inspect_font.py",
      "size_in_bytes": 1103
    }
  ],
  "name": "typography-design-review",
  "skill_md_contents": "---\nname: typography-design-review\ndescription: Design, refine and evaluate typefaces using editable font sources and real rendered proofs. Use for glyph construction, optical corrections, spacing, kerning, italics, font families, variable fonts, OpenType exports, or typographic hierarchy and readability. Inspect actual images, identify the font in use, and distinguish technical validity, visual judgment and measured reading performance. Works with the user's own brief, fonts and tools, without a required brand, family or design style.\n---\n\n# Type design and visual review\n\nWork from a brief to a coherent system of forms, then draw, render, inspect,\ncorrect and document. Use the user's language for explanations and reports.\nDo not approve a drawing because its files compile or its curves are smooth.\n\nFor requests in Spanish, read [the Spanish instructions](SKILL.es.md) and use\nthe Spanish references and templates linked there. Keep the same technical\nidentifiers and evidence requirements in either language.\n\n## Select the resources\n\n- New design or inconsistent tone: [brief-to-form.md](references/brief-to-form.md).\n- Drawing a new control set: [construction-workbench.md](references/construction-workbench.md).\n- Shapes, spacing, kerning or confusion: [optical-review.md](references/optical-review.md).\n- Weights, italics, variable fonts or exports: [families-and-exports.md](references/families-and-exports.md).\n- Sizes, headings, leading, measure or responsive composition: [reading-and-hierarchy.md](references/reading-and-hierarchy.md).\n- Specifications or release decisions: [standards-and-acceptance.md](references/standards-and-acceptance.md).\n- Construction exercises and feedback: [practice-and-calibration.md](references/practice-and-calibration.md).\n- Teaching influences and attribution: [formation-and-design.md](references/formation-and-design.md) and [sources.md](references/sources.md).\n- Deterministic helpers: [tooling.md](references/tooling.md).\n\n## 1. Establish the intended use\n\nRecover the role, audience, tone, languages/scripts, sizes, platforms, formats\nand ownership of the sources. Infer what the user already supplied; ask only\nfor consequential missing information while continuing independent work.\n\nRecord a brief with [brief-template.md](assets/brief-template.md). Define\nobservable constraints: proportions, contrast, curves, terminals, apertures,\nweight, rhythm and recognition. A label such as \"sans\" or \"serif\" does not\ndetermine a voice. Select licensed references for comparison, not for tracing.\n\nFor a new Latin design, begin with H/O/n/o and then critical e/s/r/a structures\nin words. Choose appropriate controls for another script. Do not extrapolate\na complete alphabet from an unreviewed control set. For existing fonts, inspect\nthe user's actual words before inventing a replacement design.\n\n## 2. Identify and preserve the artifacts\n\nIdentify editable sources, exported binaries, version and SHA-256. Preserve\nthe prior iteration. Avoid bootstrap scripts that replace existing drawings.\nBuild a new candidate into a new directory; record the compiler and options.\n\nUse the project's supported editor/compiler. UFO/designspace, Glyphs or SFD\nsources are inputs to editing, not interchangeable finished binaries. Do not\nrename a font's metadata and describe that as a new original drawing.\n\n`scripts/inspect_font.py` reports metadata and corpus coverage without changing\nthe font. It does not evaluate curves, shaping or aesthetics. Missing glyphs,\nsilent fallback, synthetic styles and horizontal transforms invalidate evidence\nabout a drawing. Mark uncovered material as not evaluated.\n\n## 3. Produce proofs and actually inspect them\n\nUse the real binary in an available rendering engine. Wait for font loading\nand verify the face used by the renderer. Keep size, weight, axis position,\nbaseline, text, viewport, spacing and polarity comparable between iterations.\n\nPrepare whole words and phrases at intended sizes, then enlarged silhouettes\nand outlines with nodes/handles to locate causes. Add paragraph, punctuation,\nnumbers and language-specific marks. Test minimum, typical and stress sizes,\nboth polarities, and the actual repertoire rather than a fixed pangram alone.\n\nThe optional `scripts/build_proof.py` creates a self-contained HTML proof from\na supplied font and corpus. Use `--language es` for Spanish labels and messages;\n`--language en` selects English. It withholds drawing samples that lack characters.\n`scripts/capture_proof.mjs` can capture them with Playwright and report renderer\nfont use. Adapt the corpus, sizes and toolchain to the project.\n\n**Open and inspect the images.** Producing screenshots is not visual review.\nMake sure complete words, contours and heading context are visible. Reframe\ncropped proofs and view readable sections of long pages. If image inspection\nis unavailable, declare the visual review pending; do not invent observations.\n\n## 4. Judge the system before repairing a detail\n\nDescribe the constants and deliberate variations across the letters. Evaluate\neach criterion as `LOCALLY_ACCEPTABLE`, `DEFECT`, or `NOT_EVALUATED`, tied to\nimage, string, face, size and reason:\n\n| Criterion | Observe |\n| --- | --- |\n| Form, curves and terminals | Accidental kinks, bulges, flats, pinches and inconsistent cuts |\n| Optical weight and counters | Dark joins, blocked apertures and unintended changes in color |\n| Spacing and rhythm | False pauses, collisions, word space and punctuation attachment |\n| Recognition at use size | Covered confusions such as I/l/1, O/0 and rn/m in words |\n| Voice and function | Whether local details support the brief and the whole word |\n\nFor a serious mismatch to the brief, recommend `REDRAW_REQUIRED`. Technical\nchecks do not compensate for it. If the necessary letters/context are absent,\nuse `FUNCTIONAL_CHECK_INCOMPLETE` and produce that evidence first.\n\nResolve base sidebearings and word space before accumulating kerning pairs.\nCheck punctuation in abbreviations and endings, not just letter pairs. Keep\ntracking changes separate from kerning. A tighter font is not inherently\nmore readable. A round contour is not inherently playful.\n\n## 5. Make a bounded correction and check the result\n\nState the hypothesis and expected visible effect before changing a source.\nSeparate changes in drawing from changes in metrics when practical. Preserve\nthe original and compare variants under the same conditions, with neutral\nlabels before revealing the construction choice when useful.\n\nEdit structure, strokes, counters and terminals together; use useful nodes,\nnot a geometric recipe. Revisit words after adjusting an isolated letter.\nCheck neighboring letters, accents, punctuation and extreme weights for\nregressions. Change the hypothesis when the evidence contradicts it.\n\nFor families, inspect every distributed weight/style and axis extremes plus\nintermediate positions. Extrapolated instances are candidates, not finished\nweights. An italic requires a deliberate structure, not an unreviewed slant.\nValidate real feature substitutions and mark positioning with shaping tools.\n\n## 6. Review composition as its own requirement\n\nSelect roles before sizes: title, subtitle, lead, body, interface and guide.\nUse [reading-tokens.json](assets/reading-tokens.json) as an adjustable starting\nprofile, not a norm. Compensate for apparent size, x-height, cap height, weight,\nlanguage and screen. The body, subtitle and guide must remain coherent.\n\nFor the supplied Latin editorial profile, start around body 18–20 px,\nline-height 1.5–1.65 and about 65 graphemes per full desktop line. These are\ndesign choices requiring rendered review. Mobile uses the available width\nwithout forcing desktop line length. Print uses points and a separate scale.\n\nMeasure computed size, actual ink height and line box separately. Count\ngraphemes in wrapped lines; `65ch` is not 65 characters. Examine title/lead\nline breaks and proportions, including the first line above a headline.\nDo not approve a golden-ratio scale by arithmetic or assume current Medium\nstyles without inspecting them.\n\nCheck contrast, text enlargement, reflow and user spacing overrides on real\ncontent. Apply the relevant WCAG criteria as documented in the standards\nreference. Neither CSS metrics nor visual preference demonstrates faster\nreading or better comprehension; such claims require appropriate reader tests.\n\n## 7. Close the specified review and preserve what was learned\n\nSeparate technical requirements, project decisions and visual judgment.\nRecord exact files/hashes, corpus, versions, engines/platforms, opened images,\ndefects corrected, remaining limitations and warnings. Use\n[review-template.md](assets/review-template.md) for the decision.\n\nState the local result: redraw, gather evidence, or acceptable within the\ndeclared scope. Follow the user's acceptance criteria; do not invent required\nexternal signatures, certifications or an additional publication gate.\nRespect existing rejection of the exact candidate. A relative A/B preference\ndoes not automatically approve a whole family.\n\nStop an iteration when its checks pass and inspection identifies no further\nconcrete defect in scope. Do not keep changing outlines without a hypothesis.\nNew evidence can reopen the review. Never certify \"perfect\", \"unimprovable\",\n\"best in the world\" or all-platform compatibility from a finite proof set.\n\nPreserve the initial judgment when feedback corrects it. Treat repeated cases\nas practice, not an independent test of skill effectiveness or model training.\nNo included script produces a typographic quality score.\n"
}

SHA-256 of public snapshot: 8d1942b6f44c257de2f4dda1c0c2fbcce0fec1c5001f6ece826a6eb7a91e6ba2