howone 0.1.20 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/vite/.howone/skills/hallmark/LICENSE +21 -0
- package/templates/vite/.howone/skills/hallmark/README.md +147 -0
- package/templates/vite/.howone/skills/hallmark/ROADMAP.md +201 -0
- package/templates/vite/.howone/skills/hallmark/SKILL.md +551 -0
- package/templates/vite/.howone/skills/hallmark/docs/recipes.md +186 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +176 -0
- package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +364 -0
- package/templates/vite/.howone/skills/hallmark/package.json +36 -0
- package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +412 -0
- package/templates/vite/.howone/skills/hallmark/references/assets.md +399 -0
- package/templates/vite/.howone/skills/hallmark/references/color.md +95 -0
- package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +256 -0
- package/templates/vite/.howone/skills/hallmark/references/components/c1-outlined-chip.md +12 -0
- package/templates/vite/.howone/skills/hallmark/references/components/c2-inline-form-as-cta.md +16 -0
- package/templates/vite/.howone/skills/hallmark/references/components/c3-typographic-link.md +8 -0
- package/templates/vite/.howone/skills/hallmark/references/components/c4-sticky-bottom-bar.md +16 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f1-bento-grid.md +20 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +20 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f3-tabular-spec-sheet.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f4-step-sequence.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f5-annotated-screenshot.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/f6-product-card-grid.md +41 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft1-mast-headed.md +13 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft2-inline-rule-single-line.md +10 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft3-index-style-category-list.md +12 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft4-dense-typographic.md +10 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft5-statement.md +21 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +19 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft7-newsletter-first.md +27 -0
- package/templates/vite/.howone/skills/hallmark/references/components/ft8-marquee-scroll.md +25 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h1-marquee.md +15 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h2-split-diptych.md +15 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h3-quote-led.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h4-stat-led.md +14 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h5-letter-hero.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h6-photographic-fold.md +16 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +27 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h8-mockup-split-browser-framed.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +27 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n1-wordmark-2-links.md +12 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +19 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n2-floating-chip.md +14 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n3-side-rail.md +14 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n4-hidden-behind-k.md +9 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n5-floating-pill.md +28 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n6-newspaper-masthead.md +24 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n7-brutal-slab.md +22 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n8-terminal-command.md +21 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +17 -0
- package/templates/vite/.howone/skills/hallmark/references/components/s1-left-margin-numbered.md +15 -0
- package/templates/vite/.howone/skills/hallmark/references/components/s2-hanging.md +13 -0
- package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +19 -0
- package/templates/vite/.howone/skills/hallmark/references/components/s4-inline-no-break.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/s5-bottom-anchored.md +13 -0
- package/templates/vite/.howone/skills/hallmark/references/components/t1-pull-quote-with-marginalia.md +12 -0
- package/templates/vite/.howone/skills/hallmark/references/components/t2-logo-wall-hairline.md +19 -0
- package/templates/vite/.howone/skills/hallmark/references/components/t3-single-huge-quote.md +11 -0
- package/templates/vite/.howone/skills/hallmark/references/components/t4-numbered-stat-strip.md +14 -0
- package/templates/vite/.howone/skills/hallmark/references/contract.md +24 -0
- package/templates/vite/.howone/skills/hallmark/references/copy.md +182 -0
- package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +626 -0
- package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +329 -0
- package/templates/vite/.howone/skills/hallmark/references/design-md.md +116 -0
- package/templates/vite/.howone/skills/hallmark/references/export-formats.md +328 -0
- package/templates/vite/.howone/skills/hallmark/references/floating-nav.md +89 -0
- package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +65 -0
- package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +70 -0
- package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +67 -0
- package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +65 -0
- package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +474 -0
- package/templates/vite/.howone/skills/hallmark/references/imagery-kit.md +170 -0
- package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +207 -0
- package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +111 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/01-bento-grid.md +35 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/02-long-document.md +34 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/03-marquee-hero.md +31 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +32 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/05-workbench.md +32 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/06-conversational-faq.md +33 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/07-manifesto.md +32 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/08-photographic.md +34 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/09-quote-led.md +32 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/10-specimen.md +32 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/11-catalogue.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/13-index-first.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/14-narrative-workflow.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/15-split-studio.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/17-type-specimen.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/18-portfolio-grid.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/19-map-diagram.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/20-ecosystem-index.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/21-component-playground.md +23 -0
- package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +89 -0
- package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +260 -0
- package/templates/vite/.howone/skills/hallmark/references/motion.md +109 -0
- package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +49 -0
- package/templates/vite/.howone/skills/hallmark/references/responsive.md +138 -0
- package/templates/vite/.howone/skills/hallmark/references/slop-test.md +205 -0
- package/templates/vite/.howone/skills/hallmark/references/structure.md +164 -0
- package/templates/vite/.howone/skills/hallmark/references/study.md +486 -0
- package/templates/vite/.howone/skills/hallmark/references/typography.md +243 -0
- package/templates/vite/.howone/skills/hallmark/references/verbs/audit.md +25 -0
- package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +269 -0
- package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +71 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +64 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +240 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +65 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +105 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +250 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +64 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +131 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +240 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +67 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +86 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +262 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +63 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +167 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +457 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +65 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +159 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +288 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +64 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +146 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +484 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +64 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +116 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +354 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +638 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +515 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +515 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +608 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +587 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +157 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +77 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +238 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +110 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +326 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +134 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +262 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +30 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +17 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +56 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +160 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +29 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +63 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +72 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +374 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +52 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +29 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +61 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +193 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +66 -0
- package/templates/vite/.howone/skills/hallmark/site/css/base.css +194 -0
- package/templates/vite/.howone/skills/hallmark/site/css/components.css +4886 -0
- package/templates/vite/.howone/skills/hallmark/site/css/sections.css +2072 -0
- package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +1129 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +475 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +1584 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +96 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +344 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +103 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +1103 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +83 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +368 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +133 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +1062 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +97 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +84 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +446 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +1087 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +101 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +359 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +1168 -0
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +81 -0
- package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +5 -0
- package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +5 -0
- package/templates/vite/.howone/skills/hallmark/site/index.html +1043 -0
- package/templates/vite/.howone/skills/hallmark/site/js/main.js +1175 -0
- package/templates/vite/.howone/skills/hallmark/vercel.json +6 -0
- package/templates/vite/.howone/skills/howone-sdk/01-architect/01-app-generation.md +101 -0
- package/templates/vite/.howone/skills/howone-sdk/02-database/01-schema-design.md +147 -0
- package/templates/vite/.howone/skills/howone-sdk/02-database/02-schema-operations.md +96 -0
- package/templates/vite/.howone/skills/howone-sdk/02-database/03-data-access-patterns.md +172 -0
- package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/01-client-setup.md +3 -3
- package/templates/vite/.howone/skills/howone-sdk/{references/04-auth.md → 03-sdk/03-auth.md} +120 -3
- package/templates/vite/.howone/skills/howone-sdk/04-ai/.gitkeep +1 -0
- package/templates/vite/.howone/skills/howone-sdk/SKILL.md +67 -93
- package/templates/vite/.howone/skills/howone-sdk/agents/openai.yaml +3 -3
- package/templates/vite/.howone/skills/impeccable/SKILL.md +168 -0
- package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
- package/templates/vite/.howone/skills/impeccable/reference/adapt.md +190 -0
- package/templates/vite/.howone/skills/impeccable/reference/animate.md +175 -0
- package/templates/vite/.howone/skills/impeccable/reference/audit.md +133 -0
- package/templates/vite/.howone/skills/impeccable/reference/bolder.md +113 -0
- package/templates/vite/.howone/skills/impeccable/reference/brand.md +118 -0
- package/templates/vite/.howone/skills/impeccable/reference/clarify.md +174 -0
- package/templates/vite/.howone/skills/impeccable/reference/codex.md +105 -0
- package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +106 -0
- package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +105 -0
- package/templates/vite/.howone/skills/impeccable/reference/colorize.md +154 -0
- package/templates/vite/.howone/skills/impeccable/reference/craft.md +123 -0
- package/templates/vite/.howone/skills/impeccable/reference/critique.md +273 -0
- package/templates/vite/.howone/skills/impeccable/reference/delight.md +302 -0
- package/templates/vite/.howone/skills/impeccable/reference/distill.md +111 -0
- package/templates/vite/.howone/skills/impeccable/reference/document.md +427 -0
- package/templates/vite/.howone/skills/impeccable/reference/extract.md +69 -0
- package/templates/vite/.howone/skills/impeccable/reference/harden.md +347 -0
- package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +234 -0
- package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +195 -0
- package/templates/vite/.howone/skills/impeccable/reference/layout.md +141 -0
- package/templates/vite/.howone/skills/impeccable/reference/live.md +622 -0
- package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +109 -0
- package/templates/vite/.howone/skills/impeccable/reference/onboard.md +234 -0
- package/templates/vite/.howone/skills/impeccable/reference/optimize.md +258 -0
- package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +130 -0
- package/templates/vite/.howone/skills/impeccable/reference/personas.md +179 -0
- package/templates/vite/.howone/skills/impeccable/reference/polish.md +242 -0
- package/templates/vite/.howone/skills/impeccable/reference/product.md +62 -0
- package/templates/vite/.howone/skills/impeccable/reference/quieter.md +99 -0
- package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +114 -0
- package/templates/vite/.howone/skills/impeccable/reference/shape.md +165 -0
- package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +100 -0
- package/templates/vite/.howone/skills/impeccable/reference/teach.md +156 -0
- package/templates/vite/.howone/skills/impeccable/reference/typeset.md +124 -0
- package/templates/vite/.howone/skills/impeccable/reference/typography.md +159 -0
- package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +107 -0
- package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +94 -0
- package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +242 -0
- package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +820 -0
- package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +21 -0
- package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
- package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +69 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +595 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +4860 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +75 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +18 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +446 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +200 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +48 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +838 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +254 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +47 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +632 -0
- package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +247 -0
- package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +141 -0
- package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +214 -0
- package/templates/vite/AGENTS.md +2 -12
- package/templates/vite/package.json +1 -1
- /package/templates/vite/.howone/skills/howone-sdk/{references/08-manifest-codegen.md → 01-architect/02-manifest-codegen.md} +0 -0
- /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/02-entity-operations.md +0 -0
- /package/templates/vite/.howone/skills/howone-sdk/{references/06-react-integration.md → 03-sdk/04-react-integration.md} +0 -0
- /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/05-file-upload.md +0 -0
- /package/templates/vite/.howone/skills/howone-sdk/{references/07-raw-http.md → 03-sdk/06-raw-http.md} +0 -0
- /package/templates/vite/.howone/skills/howone-sdk/{references/03-ai-actions.md → 03-sdk/07-ai-action-calls.md} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
### H2 · Split Diptych
|
|
2
|
+
Headline + lede on one side, image or product capture on the other. 6/6 or 7/5 columns.
|
|
3
|
+
*Use when:* you can pair every claim with a visual proof.
|
|
4
|
+
*Don't confuse with:* H6 Photographic (which puts the image full-bleed, not paired).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-split">
|
|
8
|
+
<div><h1>…</h1><p>…</p><a class="cta-outline">…</a></div>
|
|
9
|
+
<figure><img src="" /></figure>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.hero-split { display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-2xl); align-items: center; }
|
|
14
|
+
@media (max-width: 56rem) { .hero-split { grid-template-columns: 1fr; } }
|
|
15
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### H3 · Quote-Led
|
|
2
|
+
A pull-quote with attribution is the hero. Your headline is borrowed credibility.
|
|
3
|
+
*Use when:* you have a real testimonial that earns the front page.
|
|
4
|
+
*Don't confuse with:* T3 Single huge quote (which lives mid-page, not in the hero slot).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-quote">
|
|
8
|
+
<blockquote class="display-italic">"…"</blockquote>
|
|
9
|
+
<p class="attribution">— Name, Role, Company</p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### H4 · Stat-Led
|
|
2
|
+
A giant number or metric is the hero. A small qualifier line below.
|
|
3
|
+
*Use when:* you have one defensible, externally-verifiable number.
|
|
4
|
+
*Don't confuse with:* T4 Numbered stat strip (which is several stats in a row, not one focal).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-stat">
|
|
8
|
+
<p class="figure tnum">99.97<span class="unit">%</span></p>
|
|
9
|
+
<p class="qualifier">…</p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.figure { font-size: clamp(6rem, 18vw, 16rem); font-variant-numeric: tabular-nums; line-height: 0.85; }
|
|
14
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### H5 · Letter Hero
|
|
2
|
+
First-person opening — "Dear reader,". No buttons in fold. Reads as personal correspondence.
|
|
3
|
+
*Use when:* the founder's voice is the brand.
|
|
4
|
+
*Don't confuse with:* H1 Marquee (which is impersonal declaration).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-letter">
|
|
8
|
+
<p class="salutation"><em>Dear reader,</em></p>
|
|
9
|
+
<p class="lede">…</p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
### H6 · Photographic Fold
|
|
2
|
+
Single full-bleed image fills the viewport. Caption sits in a corner.
|
|
3
|
+
*Use when:* you have real photography that earns full-bleed.
|
|
4
|
+
*Don't confuse with:* H2 Split (which pairs image with text in a grid).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-photo">
|
|
8
|
+
<img class="bleed" src="" alt="" />
|
|
9
|
+
<p class="caption">Spring, 2026.</p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.hero-photo { position: relative; height: 80dvh; }
|
|
14
|
+
.hero-photo .bleed { width: 100%; height: 100%; object-fit: cover; }
|
|
15
|
+
.hero-photo .caption { position: absolute; bottom: var(--space-md); right: var(--space-md); }
|
|
16
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
### H7 · Demo Video — Clipped-by-viewport-edge
|
|
2
|
+
Display headline left, demo video right, the rightmost ~10–20 % extending past the viewport so it's intentionally cut off. The clip *is* the design — implies "there's more product than fits the screen". Pioneered by Linear, refined by Vercel / Resend / Cursor.
|
|
3
|
+
*Use when:* the brief is SaaS / dev-tool / dashboard / platform AND you have real footage of the product (or a hand-built CSS-art mockup of it).
|
|
4
|
+
*Don't confuse with:* H4 Stat-Led (number-led, no video) or H8 Mockup Split (still screenshot, not video).
|
|
5
|
+
|
|
6
|
+
See [`hero-enrichment.md`](hero-enrichment.md) for the full E1 recipe (codec chain, autoplay rules, `prefers-reduced-motion` fallback, mobile collapse). The cookbook entry below is the structural sketch.
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<section class="hero hero--clipped">
|
|
10
|
+
<div class="hero__copy">
|
|
11
|
+
<h1>Plan, build, ship.</h1>
|
|
12
|
+
<p>The project tracker your engineering team won't ignore.</p>
|
|
13
|
+
</div>
|
|
14
|
+
<figure class="hero__media">
|
|
15
|
+
<video autoplay muted loop playsinline preload="metadata"
|
|
16
|
+
poster="/hero-poster.webp" fetchpriority="high">
|
|
17
|
+
<source src="/hero.av1.mp4" type='video/mp4; codecs="av01.0.05M.08"'>
|
|
18
|
+
<source src="/hero.h264.mp4" type="video/mp4">
|
|
19
|
+
</video>
|
|
20
|
+
</figure>
|
|
21
|
+
</section>
|
|
22
|
+
```
|
|
23
|
+
```css
|
|
24
|
+
.hero--clipped { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--space-2xl); overflow: visible; }
|
|
25
|
+
.hero__media { width: calc(100% + 12vw); aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; }
|
|
26
|
+
@media (max-width: 60rem) { .hero--clipped { grid-template-columns: 1fr; } .hero__media { width: 100%; } }
|
|
27
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
### H8 · Mockup Split (browser-framed)
|
|
2
|
+
Headline left, browser-frame mockup right, the mockup tilted 1–3° for life. Frame can be browser chrome, macOS toolbar, minimal hairline, or floating no-frame.
|
|
3
|
+
*Use when:* you're selling a web app and you have a clean, well-lit screenshot.
|
|
4
|
+
*Don't confuse with:* H7 Clipped-Edge (which extends past the viewport) or H2 Split Diptych (which uses photography or proof column, not a product mockup).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="hero-mock">
|
|
8
|
+
<div>
|
|
9
|
+
<h1>The studio's new mute button.</h1>
|
|
10
|
+
<p>Press <kbd>⌘ M</kbd> from anywhere.</p>
|
|
11
|
+
</div>
|
|
12
|
+
<figure class="mock">
|
|
13
|
+
<header class="mock__chrome"><span></span><span></span><span></span></header>
|
|
14
|
+
<div class="mock__body"><!-- screenshot or CSS-art mockup --></div>
|
|
15
|
+
</figure>
|
|
16
|
+
</section>
|
|
17
|
+
```
|
|
18
|
+
```css
|
|
19
|
+
.hero-mock { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-2xl); align-items: center; }
|
|
20
|
+
.mock { transform: rotate(1.5deg); border-radius: 12px; overflow: hidden; box-shadow: 0 24px 60px -20px oklch(20% 0.02 60 / 0.18); }
|
|
21
|
+
.mock__chrome { display: flex; gap: 6px; padding: 10px 12px; background: var(--color-paper-2); border-block-end: var(--rule-hair) solid var(--color-rule); }
|
|
22
|
+
.mock__chrome span { width: 10px; height: 10px; border-radius: 50%; background: var(--color-rule-2); }
|
|
23
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
### H9 · Custom Illustration Centerpiece
|
|
2
|
+
A single hand-built SVG (Tier B in the enrichment hierarchy — or pure CSS at Tier A for simpler shapes) sitting on the hero as one illustrative element. The bakery loaf, the studio's mascot, the workflow diagram.
|
|
3
|
+
*Use when:* the brand has a *thing* that benefits from being drawn — a craft, a character, a process.
|
|
4
|
+
*Don't confuse with:* H6 Photographic (real photography) or H8 Mockup (a product screenshot, not artwork).
|
|
5
|
+
|
|
6
|
+
The illustration itself is *built*, not picked from Storyset / Humaaans / unDraw / Lottie. See [`custom-craft.md`](custom-craft.md) for full recipes (CSS art, hand-built SVG, declarative animation). The cookbook entry below is the page-level structural sketch.
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<section class="hero-art">
|
|
10
|
+
<div>
|
|
11
|
+
<p class="eyebrow">Maple Street Bread · est. 2026</p>
|
|
12
|
+
<h1>Sourdough, every morning.</h1>
|
|
13
|
+
<p>Slow-fermented overnight, baked on stone, before you wake.</p>
|
|
14
|
+
</div>
|
|
15
|
+
<svg viewBox="0 0 200 100" class="loaf" aria-label="A loaf of bread">
|
|
16
|
+
<path class="loaf__body" d="M 20 70 Q 100 10 180 70 L 180 90 L 20 90 Z" />
|
|
17
|
+
<path class="loaf__score" d="M 60 50 L 90 30 M 100 45 L 130 25 M 140 50 L 165 35" />
|
|
18
|
+
</svg>
|
|
19
|
+
</section>
|
|
20
|
+
```
|
|
21
|
+
```css
|
|
22
|
+
.hero-art { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); align-items: center; }
|
|
23
|
+
.loaf__body { fill: oklch(72% 0.14 50); }
|
|
24
|
+
.loaf__score{ stroke: oklch(38% 0.10 35); stroke-width: 2; fill: none; stroke-linecap: round; }
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
### N1 · Wordmark + 2 links
|
|
3
|
+
Top-of-page bar: wordmark on the left, two text links on the right ("Pricing" / "Sign in"). No logo image, no menu icon.
|
|
4
|
+
*Use when:* the page has very few destinations.
|
|
5
|
+
*Don't confuse with:* N3 Side-rail (which is vertical).
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<nav class="nav-min">
|
|
9
|
+
<a class="wordmark">Studio</a>
|
|
10
|
+
<ul><li><a>Pricing</a></li><li><a>Sign in</a></li></ul>
|
|
11
|
+
</nav>
|
|
12
|
+
```
|
package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
### N10 · Floating-on-scroll morph
|
|
2
|
+
A sticky bar at the top that **morphs into a floating pill** as the user scrolls past a threshold. Two visual modes share one DOM — `.nav` (outer) owns the bar look, `.nav__inner` (inner) owns the pill look. Cross-faded on a single class toggle (`.is-floating`) with one timing curve. Active layer feels seamless; AI defaults always botch this.
|
|
3
|
+
*Use when:* atmospheric / modern-minimal pages where the kinetic micro-moment earns its place. Adds a single tasteful surprise; resists novelty.
|
|
4
|
+
*Don't confuse with:* N5 Floating pill (always-on, no scroll behaviour). N10 is N5 plus a default-bar state that morphs *into* it.
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="nav">
|
|
8
|
+
<div class="nav__inner">
|
|
9
|
+
<a class="wordmark">Hallmark</a>
|
|
10
|
+
<ul class="nav__links">…</ul>
|
|
11
|
+
</div>
|
|
12
|
+
</header>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The full recipe — the four laws (height-constant, transform-for-offset, cross-fade-everything, single-curve), the property-morph table, the scroll-handler script, and the eight anti-patterns Hallmark refuses — lives in [`floating-nav.md`](floating-nav.md). Reach for that file *before* building this archetype. Skipping the four laws is what makes 90% of attempts read as broken.
|
|
16
|
+
|
|
17
|
+
*Anti-pattern (one of eight in floating-nav.md):* swapping two `<header>` elements via opacity instead of cross-fading one DOM. Doubles markup, fights focus order, desyncs content.
|
|
18
|
+
|
|
19
|
+
---
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### N2 · Floating chip
|
|
2
|
+
A small fixed chip in a corner — wordmark + a single action ("Try it"). Doesn't sit in document flow.
|
|
3
|
+
*Use when:* the page is fold-heavy and traditional nav would fight the content.
|
|
4
|
+
*Don't confuse with:* C4 Sticky bottom bar (which is full-width).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<aside class="nav-chip">
|
|
8
|
+
<a class="wordmark">Studio</a>
|
|
9
|
+
<a class="cta-outline">Try →</a>
|
|
10
|
+
</aside>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.nav-chip { position: fixed; top: var(--space-md); right: var(--space-md); display: inline-flex; gap: var(--space-md); padding: 0.5rem 0.75rem; background: var(--color-paper); border: 1px solid var(--color-rule); }
|
|
14
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### N3 · Side-rail
|
|
2
|
+
A thin vertical strip on the left edge — wordmark rotated, plus 2–3 dot-indicators for sections. Editorial / portfolio energy.
|
|
3
|
+
*Use when:* the page is long and section-numbered.
|
|
4
|
+
*Don't confuse with:* N1 Top wordmark (which is horizontal).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<nav class="nav-rail">
|
|
8
|
+
<p class="wordmark vertical">Studio</p>
|
|
9
|
+
<ul class="dots"><li></li><li></li><li></li></ul>
|
|
10
|
+
</nav>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.nav-rail { position: fixed; left: 0; top: 0; bottom: 0; width: 3rem; padding: var(--space-md); writing-mode: vertical-rl; }
|
|
14
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
### N4 · Hidden behind ⌘K
|
|
2
|
+
No visible nav. The user opens a command palette via `⌘K` to get anywhere. Designed for keyboard-first audiences.
|
|
3
|
+
*Use when:* the page is for technical users who expect this affordance.
|
|
4
|
+
*Don't confuse with:* N2 Floating chip (which is visible always).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<button class="kbd-hint">⌘ K</button>
|
|
8
|
+
<dialog class="palette">…</dialog>
|
|
9
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
### N5 · Floating pill
|
|
2
|
+
A rounded full-pill nav, *visibly detached* from the page edges, sitting ~`var(--space-md)` from the top, soft blur backdrop, soft shadow. Reads as contemporary modern-minimal — Vercel, Linear, Framer, Raycast.
|
|
3
|
+
*Use when:* the page is modern-minimal / atmospheric and the hero has a distinct surface or imagery beneath the pill that the blur can sit over.
|
|
4
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is full-width); N2 Floating chip (which is corner-anchored).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<nav class="nav-pill" aria-label="Primary">
|
|
8
|
+
<a class="wordmark">Studio</a>
|
|
9
|
+
<ul class="nav-pill__links"><li><a>Catalog</a></li><li><a>Voice</a></li></ul>
|
|
10
|
+
<a class="cta-fill">Get →</a>
|
|
11
|
+
</nav>
|
|
12
|
+
```
|
|
13
|
+
```css
|
|
14
|
+
.nav-pill {
|
|
15
|
+
position: fixed; inset: var(--space-md) auto auto 50%;
|
|
16
|
+
transform: translateX(-50%);
|
|
17
|
+
display: inline-flex; align-items: center; gap: var(--space-md);
|
|
18
|
+
padding: 0.5rem 0.875rem;
|
|
19
|
+
background: color-mix(in oklch, var(--color-paper) 78%, transparent);
|
|
20
|
+
backdrop-filter: blur(14px) saturate(120%);
|
|
21
|
+
border: var(--rule-hair) solid var(--color-rule);
|
|
22
|
+
border-radius: 999px;
|
|
23
|
+
box-shadow: 0 8px 24px -12px oklch(0% 0 0 / 0.18);
|
|
24
|
+
z-index: 20;
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
*Anti-pattern:* a "pill" that's ~95 % viewport-wide is just a full-width nav with rounded ends — defeats the point. The pill must be visibly detached and content-sized; if your link list pushes it past ~720 px, drop a link or switch to N1.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
### N6 · Newspaper masthead
|
|
2
|
+
Full-width header, large centred wordmark on the top row, thin issue/date line above or below in serif small caps, optional inline link row beneath, double-rule below the whole thing. Reads as editorial, broadsheet — NYT, FT, Vogue.
|
|
3
|
+
*Use when:* the page is editorial, magazine-shaped, or framed as an issue / edition.
|
|
4
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is asymmetric and small).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="nav-mast">
|
|
8
|
+
<p class="mast-line muted">No 22 · Spring 2026 · Studio</p>
|
|
9
|
+
<h1 class="mast-name">STUDIO</h1>
|
|
10
|
+
<nav class="mast-nav" aria-label="Primary">
|
|
11
|
+
<ul><li><a>Catalog</a></li><li><a>Voice</a></li><li><a>Letters</a></li></ul>
|
|
12
|
+
</nav>
|
|
13
|
+
<hr class="mast-rule double" aria-hidden="true">
|
|
14
|
+
</header>
|
|
15
|
+
```
|
|
16
|
+
```css
|
|
17
|
+
.nav-mast { display: grid; gap: var(--space-2xs); padding: var(--space-md) var(--page-gutter) 0; text-align: center; }
|
|
18
|
+
.mast-name { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 3.75rem); letter-spacing: -0.01em; line-height: 0.95; margin: 0; }
|
|
19
|
+
.mast-line { font-variant: small-caps; letter-spacing: 0.08em; font-size: var(--text-xs); }
|
|
20
|
+
.mast-nav ul { display: inline-flex; gap: var(--space-md); list-style: none; padding: 0; margin: var(--space-2xs) 0 0; }
|
|
21
|
+
.mast-rule.double { border: 0; border-top: var(--rule-hair) solid var(--color-rule); border-bottom: var(--rule-hair) solid var(--color-rule); height: 4px; margin: var(--space-sm) 0 0; }
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
*Anti-pattern:* using N6 on a SaaS dashboard or a developer-tool product page. The masthead vocabulary belongs to long-form / editorial sites; on a B2B product, it reads as costume.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
### N7 · Brutal slab
|
|
2
|
+
A heavy, full-width nav with a 2 px solid border-bottom, all-caps wordmark and tracked uppercase link row, dense rhythm, no shadow, no rounded corners. Reads as Pentagram project pages, Liquid Death, brutalist-leaning agencies.
|
|
3
|
+
*Use when:* the genre is playful (Brutal, Manifesto, Sport) or the brand voice is heavy / declarative.
|
|
4
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which is small and quiet).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="nav-slab">
|
|
8
|
+
<a class="slab-mark">STUDIO</a>
|
|
9
|
+
<nav class="slab-nav" aria-label="Primary">
|
|
10
|
+
<ul><li><a>CATALOG</a></li><li><a>VOICE</a></li><li><a>WORK</a></li></ul>
|
|
11
|
+
</nav>
|
|
12
|
+
<a class="cta-fill cta-fill--slab">GET</a>
|
|
13
|
+
</header>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.nav-slab { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-sm) var(--page-gutter); border-bottom: 2px solid var(--color-ink); background: var(--color-paper); }
|
|
17
|
+
.slab-mark { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.04em; }
|
|
18
|
+
.slab-nav ul { display: flex; gap: var(--space-md); list-style: none; padding: 0; margin: 0 0 0 auto; }
|
|
19
|
+
.slab-nav a { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-sm); font-weight: 600; }
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
*Anti-pattern:* combining N7 with rounded corners, soft shadows, or backdrop-blur — those vocabularies fight. If you reach for blur, drop to N5; if you reach for round, drop to N1.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
### N8 · Terminal command
|
|
2
|
+
A nav formatted as a CLI prompt: `> studio --catalog --voice --get▮`. The "links" are command flags. The blinking cursor (`▮`) is allowed *only here* (it has purpose — signals "you'd type next"); never standalone elsewhere on the page. Reads as Vercel CLI docs landing, Charm, Mitchell Hashimoto's site.
|
|
3
|
+
*Use when:* the page is a CLI tool, dev-tool docs, or carries the Terminal theme.
|
|
4
|
+
*Don't confuse with:* N4 ⌘K-only (which is a palette, not a visible bar).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="nav-term">
|
|
8
|
+
<pre class="nav-term__line"><span class="prompt">></span> studio <a href="#catalog">--catalog</a> <a href="#voice">--voice</a> <a href="#get">--get</a><span class="caret" aria-hidden="true">▮</span></pre>
|
|
9
|
+
</header>
|
|
10
|
+
```
|
|
11
|
+
```css
|
|
12
|
+
.nav-term { padding: var(--space-sm) var(--page-gutter); border-bottom: var(--rule-hair) solid var(--color-rule); }
|
|
13
|
+
.nav-term__line { font-family: var(--font-outlier, ui-monospace, "JetBrains Mono", monospace); font-size: var(--text-sm); margin: 0; }
|
|
14
|
+
.nav-term__line .prompt { color: var(--color-accent); padding-right: 0.4ch; }
|
|
15
|
+
.nav-term__line a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
|
|
16
|
+
.caret { display: inline-block; width: 1ch; animation: blink 1.05s steps(2) infinite; color: var(--color-accent); }
|
|
17
|
+
@keyframes blink { 50% { opacity: 0; } }
|
|
18
|
+
@media (prefers-reduced-motion: reduce) { .caret { animation: none; opacity: 1; } }
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
*Anti-pattern:* using `>` prompt vocabulary on a non-developer site (a wedding photographer's portfolio with a `> view --gallery` nav reads as set decoration). N8 belongs to genuine terminal / CLI brands only.
|
package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
### N9 · Edge-aligned minimal
|
|
2
|
+
Wordmark hard-left, single CTA hard-right, vast empty space between, no link row at all. The *absence* is the design — Apple product pages, Carl Hauser, luxury sites.
|
|
3
|
+
*Use when:* the page is luxury / quiet / Atelier / Salon and the brand earns the silence.
|
|
4
|
+
*Don't confuse with:* N1 Wordmark + 2 links (which fills the middle).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="nav-edge">
|
|
8
|
+
<a class="wordmark">Studio</a>
|
|
9
|
+
<a class="cta-outline">Get →</a>
|
|
10
|
+
</header>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
.nav-edge { display: flex; justify-content: space-between; align-items: center; padding: var(--space-md) var(--page-gutter); }
|
|
14
|
+
.nav-edge .wordmark { font-family: var(--font-display); font-size: var(--text-md); }
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
*Anti-pattern:* adding 4 inline links between the wordmark and CTA "to fill the space". The space *is* the design; if you fill it, you've made N1 with extra steps.
|
package/templates/vite/.howone/skills/hallmark/references/components/s1-left-margin-numbered.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
### S1 · Left-margin numbered
|
|
3
|
+
A narrow left column holds `01 — LABEL.`; the wide right column holds the heading and content.
|
|
4
|
+
*Use when:* the page is editorial / specimen.
|
|
5
|
+
*Don't confuse with:* S5 Bottom-anchored (which puts the label *under* the section).
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<header class="head-margin">
|
|
9
|
+
<p class="num-label">01 — Foundations</p>
|
|
10
|
+
<h2>…</h2>
|
|
11
|
+
</header>
|
|
12
|
+
```
|
|
13
|
+
```css
|
|
14
|
+
.head-margin { display: grid; grid-template-columns: 10rem 1fr; gap: var(--space-xl); align-items: baseline; }
|
|
15
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### S2 · Hanging
|
|
2
|
+
Heading floats above the section in negative space; no border, no rule.
|
|
3
|
+
*Use when:* the content has a quiet, room-to-breathe energy.
|
|
4
|
+
*Don't confuse with:* S3 Sticky-pinned (which moves with scroll).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="head-hang">
|
|
8
|
+
<h2>…</h2>
|
|
9
|
+
</header>
|
|
10
|
+
```
|
|
11
|
+
```css
|
|
12
|
+
.head-hang { padding-block: var(--space-3xl) var(--space-xl); }
|
|
13
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
### S3 · Sticky pinned
|
|
2
|
+
Heading remains in viewport while content scrolls beneath. Orientation aid.
|
|
3
|
+
*Use when:* the section is dense and the user benefits from always seeing where they are.
|
|
4
|
+
*Don't confuse with:* S1 Left-margin (which doesn't move).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<header class="head-sticky">
|
|
8
|
+
<p class="num-label">02</p>
|
|
9
|
+
<h2>…</h2>
|
|
10
|
+
</header>
|
|
11
|
+
```
|
|
12
|
+
```css
|
|
13
|
+
/* If the page has a sticky top nav, offset by its height so the sticky
|
|
14
|
+
head docks BENEATH it instead of bleeding over (slop-test gate 68).
|
|
15
|
+
Use --z-sticky (in-page) so the nav's --z-sticky-nav out-paints it. */
|
|
16
|
+
.head-sticky { position: sticky; top: var(--banner-height, 0px); background: var(--color-paper); padding-block: var(--space-sm); border-bottom: 1px solid var(--color-ink); z-index: var(--z-sticky); }
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Sticky pairing rule:** if the page emits a sticky `<header>` / `<nav>` / `.banner` (anything with `position: sticky; top: 0`), you MUST also declare `--banner-height` (a px value matching the nav's height) and `--z-sticky-nav` (≥ 1 above `--z-sticky`) in `tokens.css`. The S3 recipe above pulls both. Without those tokens the section head paints over the nav during scroll — see slop-test gate 68.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### S4 · Inline (no break)
|
|
2
|
+
The heading is a small caps phrase that emerges *inside* the body flow; no spatial break.
|
|
3
|
+
*Use when:* the page is prose-led; reading should be continuous.
|
|
4
|
+
*Don't confuse with:* S2 Hanging (which separates with negative space).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<p>… <span class="head-inline">A small heading.</span> …</p>
|
|
8
|
+
```
|
|
9
|
+
```css
|
|
10
|
+
.head-inline { font-variant-caps: all-small-caps; letter-spacing: 0.06em; font-weight: 500; }
|
|
11
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### S5 · Bottom-anchored
|
|
2
|
+
The label or heading sits *below* the section's content. Inverts hierarchy.
|
|
3
|
+
*Use when:* the content is the primary act and the label is a footer to it.
|
|
4
|
+
*Don't confuse with:* S1 Left-margin (which leads with the label).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section>
|
|
8
|
+
<div class="content">…</div>
|
|
9
|
+
<p class="num-label">— end of 02</p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
### T1 · Pull-quote with marginalia
|
|
3
|
+
A quote sits in the wide column; the attribution and source link float in the narrow margin column.
|
|
4
|
+
*Use when:* the page already has a marginalia rhythm (Tufte-leaning, editorial).
|
|
5
|
+
*Don't confuse with:* T3 Single huge quote (which is centered and dominates).
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<aside class="proof-margin">
|
|
9
|
+
<blockquote class="serif-italic">"…"</blockquote>
|
|
10
|
+
<p class="attribution muted">— Name<br />Role, Company</p>
|
|
11
|
+
</aside>
|
|
12
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
### T2 · Logo wall (hairline)
|
|
2
|
+
A row of customer logos, monochromatic, separated by hairline rules. No card boxes, no shadows.
|
|
3
|
+
*Use when:* you have recognisable customers and want to surface them quietly.
|
|
4
|
+
*Don't confuse with:* the AI-default 6-logo box grid; this version refuses card boxes.
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="logo-wall">
|
|
8
|
+
<ul>
|
|
9
|
+
<li><img src="" /></li>
|
|
10
|
+
<li><img src="" /></li>
|
|
11
|
+
<li><img src="" /></li>
|
|
12
|
+
</ul>
|
|
13
|
+
</section>
|
|
14
|
+
```
|
|
15
|
+
```css
|
|
16
|
+
.logo-wall ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0; }
|
|
17
|
+
.logo-wall li { padding: var(--space-md); border-right: 1px solid var(--color-rule); display: grid; place-items: center; }
|
|
18
|
+
.logo-wall img { filter: grayscale(1); opacity: 0.7; }
|
|
19
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
### T3 · Single huge quote
|
|
2
|
+
One quote, set big, centered, taking a whole section. No supporting text, no attribution boxes — attribution is a small caps line beneath.
|
|
3
|
+
*Use when:* one quote is so good it earns the room.
|
|
4
|
+
*Don't confuse with:* T1 Margin pull-quote (which is the *side* mate, not the *room*).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="proof-room">
|
|
8
|
+
<blockquote class="display-italic">"…"</blockquote>
|
|
9
|
+
<p class="attribution"><span class="caps">— Name, Company</span></p>
|
|
10
|
+
</section>
|
|
11
|
+
```
|
package/templates/vite/.howone/skills/hallmark/references/components/t4-numbered-stat-strip.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### T4 · Numbered stat strip
|
|
2
|
+
A horizontal strip of 3–5 stats (count + qualifier) running across one row. Tabular nums.
|
|
3
|
+
*Use when:* you have multiple complementary metrics that work together.
|
|
4
|
+
*Don't confuse with:* H4 Stat-led hero (which is one focal number, not several).
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<section class="stat-strip tnum">
|
|
8
|
+
<div><b>2.4M</b><span>users</span></div>
|
|
9
|
+
<div><b>99.97%</b><span>uptime</span></div>
|
|
10
|
+
<div><b>14</b><span>regions</span></div>
|
|
11
|
+
</section>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Output contract & scope
|
|
2
|
+
|
|
3
|
+
Loaded once per build, at handoff time.
|
|
4
|
+
|
|
5
|
+
## Output contract
|
|
6
|
+
|
|
7
|
+
When producing new work:
|
|
8
|
+
|
|
9
|
+
- Put design tokens in one place at the top of the stylesheet (`:root` custom properties) or in a `tokens.css` / `tokens.ts` file if the project uses one.
|
|
10
|
+
- Name tokens by semantic role, not value. `--color-ink`, not `--color-black`.
|
|
11
|
+
- If the project uses Tailwind, extend the theme; do not inline arbitrary values across components.
|
|
12
|
+
- If the project uses a framework, match the framework's file conventions — don't reinvent them.
|
|
13
|
+
- Include a short comment block at the top of the stylesheet naming the genre, the tone the user picked, the palette's anchor hue, and the structural fingerprint. This is the only comment you need.
|
|
14
|
+
|
|
15
|
+
## Scope and limits
|
|
16
|
+
|
|
17
|
+
Hallmark is a *taste* skill. It will not:
|
|
18
|
+
|
|
19
|
+
- Invent product copy. If the user hasn't given you the words, ask.
|
|
20
|
+
- Pick a brand identity. It will follow one you give it.
|
|
21
|
+
- Enforce a specific style (dark mode, glassmorphism, brutalism). It will execute whichever genre + tone the user committed to.
|
|
22
|
+
- Build logic — state management, data fetching, business rules. It is a visual / interaction layer only.
|
|
23
|
+
|
|
24
|
+
If a request falls outside taste — "build the auth flow", "wire up Stripe" — do the work, but apply Hallmark to the rendered surface.
|