knowledge: responsive-layout + anti-slop theme-defaults (frontend/design) - #122
Merged
Conversation
…ct (frontend/design) New verified page frontend/design/responsive-layout.md: viewport meta + zoom-enabled rule, mobile-first content-driven breakpoints, intrinsic grids/container queries, WCAG touch-target sizes (2.5.8/2.5.5), clamp() fluid type gated on 200% zoom (1.4.4), srcset/sizes + CLS reservation, minmax(0,1fr) overflow mechanism, dvh/svh, hover:none, safe-area-inset. 320px no-horizontal-scroll gate (1.4.10). All 14 sources live-verified; unverifiable Apple HIG/Material figures deliberately omitted. Plumbing: frontend/index.md design row + intro scope, related links both ways (anti-slop, interactive-elements, bundle-and-assets), log.md entry. Prohibition directives unchanged at 71; structure checks 252/13/0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Roy5iowjSyi8otXzQcxCRu
…default Amend frontend/design/anti-slop-visual-design with Anthropic Engineering "Improving frontend design through Skills" (primary, live-verified; the supplied velog post is its Korean translation) and Impeccable README: default-font avoid-list + distributional-convergence mechanism, feel- category font taxonomy, second-order convergence warning, quantified extreme-contrast thresholds, dominant-field + sharp-accent palettes, domain-derived aesthetic direction as the DEFAULT, staggered page-load motion budget, right-altitude guidance-authoring edge case, aurora-blob row reconciled with atmospheric backgrounds, gray-on-color and bounce easing anti-patterns. Unverifiable tistory/SKILL.md claims skipped. Prohibition directives unchanged at 71; structure 252/13/0; body 85. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Roy5iowjSyi8otXzQcxCRu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ingest report — responsive-layout (frontend/design)
One new verified page:
wiki/frontend/design/responsive-layout.md— the mobile-responsivelayout contract for UI that must work across viewport sizes (320px phone → desktop).
Verified best-practice
Every directive was live-verified this session by a research subagent that fetched each
cited URL (web.dev, MDN, W3C WCAG Understanding docs, WebKit official blog):
width=device-width, initial-scale=1; zoom stays enabled —user-scalable=no/maximum-scale=1block the ≥2× zoom WCAG requires and iOSignores them anyway (MDN Viewport_meta_element; ~980px virtual-viewport mechanism).
min-widthlayering with content-driven (not device-catalog)breakpoints (web.dev responsive-web-design-basics, quoted).
repeat(auto-fit, minmax(<min>, 1fr))(web.dev patterns) and
@container/container-typewith intrinsic fallback (MDN).and 44×44 AAA (SC 2.5.5) — W3C Understanding docs.
clamp()fluid type gated on a 200%-zoom check — a clamp ceiling can failWCAG 1.4.4 (web.dev min-max-clamp, quoted).
srcset/sizes+ explicitwidth/heightfor CLS-free responsive images (MDN img).min-width: auto→ min-content floor,fixed with
minmax(0, 1fr)/min-width: 0(MDN min-width).vh≈lvhvsdvh/svh(MDN length units),@media (hover: hover)long-tap emulation (MDN),
viewport-fit=cover+env(safe-area-inset-*)+max()(WebKit blog 7929).Deliberately NOT ingested (unverifiable this session): Apple HIG 44pt and Material 3
48dp exact figures (JS-rendered pages returned no body text — WCAG carries the
target-size claims instead) and the rem-vs-px media-query sub-claim (no authoritative
fetch performed).
confidence: verified, 14 sources in frontmatter, each annotatedin the page's Sources section with what it supports.
Existing-layer check
Pages read: frontend-design-anti-slop-visual-design, frontend-design-html-in-canvas,
frontend-accessibility-interactive-elements, frontend-performance-bundle-and-assets,
frontend-rendering-long-lists, frontend-data-fetching-infinite-scroll.
No existing page carries this trigger. Closest overlaps and how they were handled:
minmax(0,1fr)) — that row is symptom triage inside a visual-design audit, not a
responsive methodology; the new page owns the mechanism and the two are
cross-linked both ways (its edge case now routes to the new page and vice versa).
touch-target row routes onward to it rather than duplicating.
responsive selection (
srcset/sizes) + CLS reservation angle; related both ways.Open-PR check
gh pr list --state openreturned zero rows at ingest time — no open knowledge PRtouches frontend/design; routed as
new.Routing decision
Domain
frontend(web UI code), categorydesign(existing — visual/layout designdecisions; created 2026-08-20). New page rather than merge because the trigger
(viewport-range layout, breakpoints, touch targets, zoom/reflow failures) matches no
existing "load when" line. Plumbing: frontend/index.md +1 design row with the WCAG
SC numbers in the load-when line, routing intro extended with responsive scope,
log.md ingest entry appended. Lint: prohibition directives unchanged at 71 (no bats
bump needed); structure checks 252 pages / 13 indexes / 0 findings; page body 63
lines (≤120).
Ingest report — anti-slop theme-defaults reinforcement (same PR, second unit)
Amends
wiki/frontend/design/anti-slop-visual-design.mdso a committed non-generictheme is framed as the DEFAULT for unspecced screens, not an upgrade.
Verified best-practice
Primary source live-fetched: Anthropic Engineering, "Improving frontend design
through Skills" (claude.com/blog, 2025-11-12). The contributor-supplied
velog.io/@xxziiko post was confirmed to be its Korean translation (content
cross-checked as matching). Ingested from it: default-font avoid-list
(Inter/Roboto/Open Sans/Lato/system) with the distributional-convergence
mechanism; feel-category font taxonomy; the second-order convergence warning
(vary the escape choice — "Space Grotesk as the new Inter"); quantified extreme
contrast (weights 100–200 vs 800–900, 3×+ size jumps); dominant-field +
sharp-accent palettes with IDE-theme/cultural inspiration; domain-derived
aesthetic direction; staggered page-load motion budget; right-altitude rule for
authoring reusable design guidance. Secondary source live-fetched:
github.com/pbakaus/impeccable README (gray-text-on-colored-background,
bounce/elastic easing anti-patterns). The aurora-blob Instead-of row was
reconciled with Anthropic's atmospheric-background endorsement instead of left
contradictory.
Deliberately NOT ingested: javaexpert.tistory.com/1624's deeper Impeccable quotes
(the SKILL.md path it cites 404s — repo restructured, command set unstable
17→23), the 16px body floor, and "adapt don't delete" (third-party, no stated
mechanism, primary unverifiable).
Existing-layer check
Pages read: frontend-design-anti-slop-visual-design, frontend-design-responsive-layout,
frontend-design-html-in-canvas, frontend-accessibility-interactive-elements.
Same trigger as anti-slop-visual-design (styling unspecced UI / avoiding the
generated look) → merged into that page per the merge-before-create rule; no new
page. Fluid-type clamp() guidance from the tistory post was already covered by
this PR's responsive-layout page — not duplicated.
Open-PR check
This PR (#122) is the only open knowledge PR; the amendment lands on its branch
as a second commit, keeping one PR per flush.
Routing decision
Domain frontend, category design, existing page amended: +2 frontmatter sources,
+5 directive rows, +1 edge case, 2 rows reworded; frontend/index.md load-when
line extended (theme direction as default; LLM design-guidance authoring).
Confidence stays field-tested (page mixes Anthropic-verified and hallmark-distilled
rules). Prohibition directives unchanged at 71; structure checks 252/13/0; body
85 lines (≤120).