본문으로 건너뛰기
cccskills
무료GitHub에 공개

type-design

Build an original font from lettering or a brief — measured spec, code-built outlines, gated build, rendered proof. Use to turn a wordmark into a font.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(5)

  • SKILL.md9.7 KB
  • evals/triggers.json2.5 KB
  • references/font-spec.md3.7 KB
  • references/gates.md5.5 KB
  • references/toolchain.md3.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

type-design

Design an original font as a constructed system: measure parameters, let code build every outline from measured parts, set spacing before kerning, and build through gates that measure outlines, metrics, coverage and fidelity — with a rendered proof the agent looked at. The model perceives, decides and judges; code writes every coordinate.

The skill bundles no script and no font. It runs a pinned peer-side toolchain in the consumer's environment (references/toolchain.md).

When to use

  • "Turn this wordmark into a font", "the rest of the alphabet in this lettering".
  • "Design an original display face for our brand" from a written brief.
  • A logo or a lettering image exists and the person wants a typeable family.

When NOT to use

  • Choosing or pairing existing fonts, or building a type scale → typography-system.
  • Making a logo or a single mark → logo-generation; tracing one icon or mark → svg-authoring; an icon font from an existing set → iconography.
  • Reproducing a typeface someone else published — license it instead (§ Rights gate).

The honest limit

A coherent display or brand family — one weight, Latin, shared stems, overshoot and spacing — is in reach. Text-grade optical refinement (hinting, optical compensation at small sizes, a multi-weight interpolated family) is a type designer's work. Say so before the first build, and never label a result beyond what the gates showed (§ Maturity).

Rights gate — before any trace

  1. Own or commissioned lettering proceeds.
  2. Lettering set in an existing typeface — name the typeface and recommend licensing it instead of reconstructing it. Proceed only on a stated decision that the result is a different design.
  3. A third party's mark stops until its owner's rights are stated.
  4. An origin the agent cannot establish is treated as not owned, and asked about. Never assume a lettering image is the person's own.

Record the class (own, commissioned, typeface-named, third-party, unknown) in the spec's source block.

License — asked, never stamped

Ask which license the new font carries. Record the answer in font-spec.yaml and in the font's name table (license description and URL). With no answer the license is unknown, written as such in both places. Never choose one on the person's behalf: a default license is a commitment made for someone else.

No freehand outlines

The model never writes path data for a glyph by hand and never ships a freehand SVG glyph. To change a shape, change a spec parameter or a construction rule and let code rebuild. A glyph that cannot be expressed through the spec is a sign the spec is missing a parameter — add it.

Procedure

  1. Toolchain — install the pinned set from references/toolchain.md into an isolated environment in the consumer tree. Missing and not installable → stop and say which tool; never substitute a hand-written approximation.
  2. Spec first — write font-spec.yaml per references/font-spec.md: units per em, vertical metrics, stems, contrast, stress angle, overshoot, aperture, terminals, spacing, the coverage tier, license and source blocks.
  3. Path A — from lettering (raster or SVG, including a wordmark just made by logo-generation or image-generation):
    1. Ingest — parse the SVG, or threshold and deskew the raster.
    2. Segment — code splits the letters; the model labels a numbered contact sheet of the segments, never the raw image by eye.
    3. Trace with the fill rule declared and counters wound opposite to their outer contour (svg-authoring § Trace to measure, construct to deliver).
    4. Measure the spec from the traced letters, then normalise the present letters to it, and extend per step 4.
    5. A wordmark's one-off tweaks become alternates or ligatures, never the default forms. A signature letter the brief names is a locked glyph; its drift fails the fidelity gate.
    6. A source below 600 px cap height (or an SVG under 1,000 units) is reported as low confidence and cannot reach validated-static on fidelity — a stated default, not a measured one; the benchmark is what can move it.
  4. Path B — from a brief: brief → spec with numbers → build n o H O → render the proof sheet → the person asking approves the four control glyphs before anything else is built. A rejection changes the spec, and the four are rebuilt.
  5. Construction order — n o H O first, then the derivation chains: n → h m u r · o → c e b d p q · H → E F I L T · O → C D G Q. Then the diagonals (A K M N V W X Y k v w x y), then the free shapes (a g s S f t z and the figures), then composites for diacritics through anchors — the German set (ä ö ü Ä Ö Ü ß ẞ „ “ ‚ ‘) included when the tier asks for it.
  6. Spacing before kerning — sidebearings from edge classes first, kerning classes only afterwards (references/gates.md § 4).
  7. Build and gate — UFO source → compiled ttf and woff2. Run every gate in references/gates.md; each prints a threshold and a failure message to act on.
  8. Rendered proof — generate a host page whose specimens are SVG <text> elements set in the new family (waterfall 12 to 72 px, HHOHH nnonn, every letter between n and n and between o and o, the kerning strings, the wordmark text), with the built woff2 beside it, and run the witness:
    agent-config ui:render proof/index.html --profile asset
    
    The new family must read loaded — never error, unloaded, timeout or synthesised. Open the PNG and state what you saw.
  9. Fidelity (path A) — the wordmark text set in the new font against the source by silhouette IoU (gates § 6); produce the diff overlay and look at it.
  10. Fallback — emit the metric-matched fallback @font-face (gates § 7).
  11. Repair budget — a failing gate gets at most three repair rounds. After that the QA report names the gate and the label stays below validated-static.

Outputs — in the consumer tree

UFO source, font-spec.yaml, built woff2 and ttf, the proof page with its PNG, and the QA report — at the location design-system-capture conventions give the project's design-system assets, never inside the package. Record the family there as a custom family with its source and license.

Maturity — exactly one label

LabelMeans
conceptspec and control glyphs exist; the tier is not covered
prototypethe tier is covered and the font builds; at least one gate is open
validated-staticevery gate in references/gates.md that applies to the path is green (gate 6 applies to path A only), the witness read loaded, and the proof was looked at

Never a claim the run cannot show.

Output format

  1. QA report — coverage tier, maturity label, the license (or unknown), the rights class, and each gate with its measured value, threshold and result.
  2. Witness reading — the face state the asset profile reported for the new family, the PNG path, and one sentence on what the agent saw in it.
  3. Fidelity (path A) — per-glyph and per-word IoU, the locked glyph's IoU, the registration they were measured against, and the overlay path.
  4. Files — every output path, read back from disk, with byte size.

Gotcha

  • A plausible font is not a system. Glyphs that each look fine and share no stems, overshoot or spacing pass a glance and fail the consistency gate — run it, do not eyeball it.
  • Same-direction counters paint solid. Under fill-rule: nonzero, the default, an o whose inner contour winds like its outer one fills its counter.
  • Kerning cannot rescue spacing. Kerning pairs on unspaced glyphs grow without bound and still look uneven; set sidebearings first.
  • The witness reads the face, not the look. A fallback face that resembles the new one reads error there — trust the state, not the screenshot.

Do NOT

  • Do NOT trace lettering whose rights class is unknown, or third-party until the owner's rights are stated and it is recorded as commissioned.
  • Do NOT write or ship glyph path data by hand.
  • Do NOT stamp a license the person did not give.
  • Do NOT claim a coverage tier the font does not cover, or validated-static with a gate open.
  • Do NOT write outputs into the package, or add a font binary to it.

See also

Named rather than linked: some of these neighbours ship in other packs.

  • typography-system — choosing and pairing fonts; consumes a custom family.
  • svg-authoring — trace-to-measure and the counter rule this skill reuses.
  • logo-generation, brand-identity — where a wordmark is born and handed here.
  • design-system-capture — where the finished family is recorded.
  • supply-chain-intake — the gate every toolchain pin passed.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 19일 업데이트

event4u-app의 스킬 모두 보기

이 스킬의 문제 신고