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,72 @@
|
|
|
1
|
+
# `redesign` verb · what changed and why
|
|
2
|
+
|
|
3
|
+
## Input
|
|
4
|
+
|
|
5
|
+
`input.html` — a 60-line landing page for a fictional AI product called "Nexus". The page is the canonical AI-template: centered 100vh hero with a purple-to-blue gradient headline → 3 equal feature cards with icon-above-headline → gradient-flooded CTA → footer. Hits 14 anti-patterns (see [`../audit/audit-report.md`](../audit/audit-report.md)).
|
|
6
|
+
|
|
7
|
+
## What `redesign` does
|
|
8
|
+
|
|
9
|
+
> *"Take the target's content and intent, throw out the structure, and rebuild it from scratch with a deliberately different structural fingerprint. Preserve copy, brand, and information architecture; replace everything else."*
|
|
10
|
+
|
|
11
|
+
The user is **not** happy with the structure — that's why the previous `audit` recommended `redesign` over `refine`. The verb's job is to keep the words and replace the shape.
|
|
12
|
+
|
|
13
|
+
## What was preserved (every word verbatim)
|
|
14
|
+
|
|
15
|
+
- **Headline:** "The AI-powered platform for modern teams"
|
|
16
|
+
- **Sub-copy:** "Nexus helps you ship faster, collaborate smarter, and scale seamlessly with AI-native workflows built for the way teams work today."
|
|
17
|
+
- **Button label:** "Get started free"
|
|
18
|
+
- **Three feature headings:** "Lightning fast" · "Built to scale" · "Built for the modern team"
|
|
19
|
+
- **Three feature bodies (verbatim):** "Get up and running in seconds with our AI-native onboarding flow." · "From startup to enterprise — Nexus grows with you, every step of the way." · "Tools that get out of your way and let your team do their best work."
|
|
20
|
+
- **CTA headline:** "Ready to ship faster?"
|
|
21
|
+
- **CTA sub-copy:** "Join 50,000+ teams already building with Nexus."
|
|
22
|
+
- **Footer copy:** "© 2026 Nexus, Inc. · All rights reserved."
|
|
23
|
+
- **Brand name** + product positioning ("AI-powered platform for modern teams")
|
|
24
|
+
|
|
25
|
+
The redesign **does not** rewrite the cliché copy — that's not the verb's job. (Bad copy in a good shape still reads as bad copy; but the structure is no longer amplifying it.)
|
|
26
|
+
|
|
27
|
+
## What was replaced
|
|
28
|
+
|
|
29
|
+
| Axis | Input | Output | Why |
|
|
30
|
+
| --- | --- | --- | --- |
|
|
31
|
+
| **Macrostructure** | Hero (centered, 100vh) → 3-Card Grid → CTA → Footer | **Workbench** — left-bias hero (1.6 fr copy + 1 fr pull-quote) → sticky-walkthrough (3 steps + pinned terminal) → CTA strip → colophon | The input's structural fingerprint *is* the AI tell; replacing it is the verb's whole point. |
|
|
32
|
+
| **Theme** | Pure white + purple-to-blue gradient + Inter | **Plain** — pure-white paper with cool grey rules + Inter Tight + deep ink-blue accent at < 2 % | Plain is the closest sober theme to "platform / SaaS" without the AI gradient cliché. |
|
|
33
|
+
| **Hero alignment** | centered 100vh | left-bias 70vh | Centered 100vh is the AI default; left-bias with the pull-quote on the right gives the page asymmetry. |
|
|
34
|
+
| **Headline treatment** | 4 rem, 900 weight, gradient-text | clamp(2.5–4.5 rem), 600 weight, italic-accent on "for modern teams" | One typographic moment instead of a gradient flood. |
|
|
35
|
+
| **Three features** | 3-equal-columns grid with gradient-icon cards | numbered sticky-scroll steps with rule on the left | Same three pieces of copy; new rhetorical container. The reader experiences them sequentially, not in parallel. |
|
|
36
|
+
| **CTA section** | Full-bleed gradient block, 6rem padding, centered button | Single-line CTA strip with copy on the left + button on the right | The full-bleed gradient is the loudest tell on the input; the strip is sober. |
|
|
37
|
+
| **Buttons** | Pill `border-radius: 9999px`, gradient bg, bouncy hover | Square 2 px radius, accent-fill / outline pair, named easing, focus-visible ring | Pill + gradient + bouncy is the third stacked cliché; sober + named-easing is the substitute. |
|
|
38
|
+
| **Icons / decoration** | Emoji-icons (`⚡`, `🚀`, `🎯`) inside gradient squares | (none — no icons) | Icon-above-headline is the AI 3-card tell; removing the icons removes the tell. |
|
|
39
|
+
| **Easings / motion** | `transition: all 300ms cubic-bezier(0.34, 1.56, ...)` (bouncy) | `transition: <property> var(--dur-micro) var(--ease-out)` (named, sober) | Bouncy on UI state is the gate-13 fail; reserve overshoots for physical interactions. |
|
|
40
|
+
| **Colour tokens** | inline hex / rgb / gradients | OKLCH custom properties at `:root` with semantic names | Gate 24 + the project's token discipline. |
|
|
41
|
+
| **Pinned demo** | (none — no demo) | A 4-line `nexus init` terminal block in the right column | Adds proof-of-concept (the input gestured at "AI-native workflows" but never showed any); the demo is intentionally tiny — Tier-A pure-CSS, no Lottie, no recording. |
|
|
42
|
+
|
|
43
|
+
## What `redesign` *did not* do
|
|
44
|
+
|
|
45
|
+
- **Did not rewrite the copy.** The cliché phrases stayed. (That's `redesign`'s discipline — the user keeps the words.)
|
|
46
|
+
- **Did not change the brand name** or the product positioning.
|
|
47
|
+
- **Did not add sections that weren't implied** by the original IA. The input had Hero · 3 Features · CTA · Footer; the output has Hero · 3 Steps (≈ 3 Features) · CTA strip · Footer. Same IA, different containers.
|
|
48
|
+
|
|
49
|
+
## Slop test
|
|
50
|
+
|
|
51
|
+
| Before | After |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| 24 / 38 ✓ (failed gates 1–4, 5, 6, 9–18, 24–28) | 38 / 38 ✓ |
|
|
54
|
+
|
|
55
|
+
## Stamp
|
|
56
|
+
|
|
57
|
+
The output's `<style>` opens with:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/* Hallmark · macrostructure: Workbench · F2 sticky-scroll knobs: pinned=right, content=feature-card, steps=3
|
|
61
|
+
* theme: Plain · accent: deep-ink-blue ~2% · enrichment: none (typography only)
|
|
62
|
+
* studied: no · context: redesign — copy & IA preserved, structure & visual rebuilt
|
|
63
|
+
*/
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The `studied: no · context: redesign` flag tells the next Hallmark run that the page's macrostructure was a deliberate redesign choice — `audit` will be lenient on "Specimen-fall-through" and strict on "did the redesign actually use the new fingerprint, or did it drift back".
|
|
67
|
+
|
|
68
|
+
## Why this is the right verb here
|
|
69
|
+
|
|
70
|
+
The audit recommended `redesign` over `refine` because the page's structural fingerprint *was* the slop. `refine` would have left the centered-hero + 3-card + gradient-CTA shape intact — fixing the colour tokens and easings, but the page would still look AI-generated. `redesign` was the right call.
|
|
71
|
+
|
|
72
|
+
If the user had said "I love the shape, just fix the colours" → `refine` (see [`../refine/`](../refine/)). If they say "throw it out, keep my words" → `redesign` (this page). The two verbs have surgical-vs-restructural roles, and the audit decides which.
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Nexus — the AI-powered platform for modern teams</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap" />
|
|
10
|
+
<style>
|
|
11
|
+
/* Hallmark · macrostructure: Workbench · F2 sticky-scroll knobs: pinned=right, content=feature-card, steps=3
|
|
12
|
+
* theme: Plain · accent: deep-ink-blue ~2% · enrichment: none (typography only)
|
|
13
|
+
* studied: no · context: redesign — copy & IA preserved, structure & visual rebuilt
|
|
14
|
+
*/
|
|
15
|
+
:root {
|
|
16
|
+
--color-paper: oklch(100% 0 0);
|
|
17
|
+
--color-paper-2: oklch(98% 0.005 240);
|
|
18
|
+
--color-paper-3: oklch(95% 0.006 240);
|
|
19
|
+
--color-rule: oklch(86% 0.008 240);
|
|
20
|
+
--color-ink: oklch(18% 0.014 245);
|
|
21
|
+
--color-ink-soft: oklch(46% 0.014 245);
|
|
22
|
+
--color-ink-muted: oklch(66% 0.014 245);
|
|
23
|
+
--color-accent: oklch(36% 0.18 248);
|
|
24
|
+
|
|
25
|
+
--font-display: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
26
|
+
--font-body: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
27
|
+
--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
|
|
28
|
+
|
|
29
|
+
--space-2xs: 0.5rem;
|
|
30
|
+
--space-xs: 0.75rem;
|
|
31
|
+
--space-sm: 1rem;
|
|
32
|
+
--space-md: 1.5rem;
|
|
33
|
+
--space-lg: 2rem;
|
|
34
|
+
--space-xl: 3rem;
|
|
35
|
+
--space-2xl: 4.5rem;
|
|
36
|
+
--space-3xl: 6.5rem;
|
|
37
|
+
|
|
38
|
+
--ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
39
|
+
--dur-micro: 120ms;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
43
|
+
html, body { overflow-x: clip; }
|
|
44
|
+
body {
|
|
45
|
+
font-family: var(--font-body);
|
|
46
|
+
background: var(--color-paper);
|
|
47
|
+
color: var(--color-ink);
|
|
48
|
+
line-height: 1.55;
|
|
49
|
+
-webkit-font-smoothing: antialiased;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.page { max-width: 76rem; margin: 0 auto; padding: 0 var(--space-lg); }
|
|
53
|
+
|
|
54
|
+
/* Masthead */
|
|
55
|
+
.masthead {
|
|
56
|
+
display: flex;
|
|
57
|
+
justify-content: space-between;
|
|
58
|
+
align-items: center;
|
|
59
|
+
padding: var(--space-md) 0;
|
|
60
|
+
border-block-end: 1px solid var(--color-rule);
|
|
61
|
+
font-family: var(--font-mono);
|
|
62
|
+
font-size: 0.75rem;
|
|
63
|
+
letter-spacing: 0.06em;
|
|
64
|
+
text-transform: uppercase;
|
|
65
|
+
color: var(--color-ink-soft);
|
|
66
|
+
}
|
|
67
|
+
.masthead__brand { color: var(--color-ink); font-weight: 500; text-transform: none; font-size: 0.9375rem; font-family: var(--font-display); letter-spacing: 0; }
|
|
68
|
+
.masthead__brand .dot { color: var(--color-accent); }
|
|
69
|
+
|
|
70
|
+
/* Hero — left-bias, no centering, no gradient */
|
|
71
|
+
.hero {
|
|
72
|
+
padding: var(--space-3xl) 0 var(--space-2xl);
|
|
73
|
+
display: grid;
|
|
74
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
|
|
75
|
+
gap: var(--space-2xl);
|
|
76
|
+
align-items: end;
|
|
77
|
+
border-block-end: 1px solid var(--color-rule);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.hero__copy { max-width: 32rem; }
|
|
81
|
+
|
|
82
|
+
.hero__eyebrow {
|
|
83
|
+
font-family: var(--font-mono);
|
|
84
|
+
font-size: 0.75rem;
|
|
85
|
+
letter-spacing: 0.12em;
|
|
86
|
+
text-transform: uppercase;
|
|
87
|
+
color: var(--color-accent);
|
|
88
|
+
margin-block-end: var(--space-sm);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.hero__head {
|
|
92
|
+
font-family: var(--font-display);
|
|
93
|
+
font-size: clamp(2.5rem, 5.5vw, 4.5rem);
|
|
94
|
+
font-weight: 600;
|
|
95
|
+
line-height: 1;
|
|
96
|
+
letter-spacing: -0.03em;
|
|
97
|
+
margin-block-end: var(--space-md);
|
|
98
|
+
color: var(--color-ink);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.hero__head em {
|
|
102
|
+
font-style: italic;
|
|
103
|
+
color: var(--color-accent);
|
|
104
|
+
font-weight: 400;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.hero__sub {
|
|
108
|
+
font-size: 1.125rem;
|
|
109
|
+
line-height: 1.55;
|
|
110
|
+
color: var(--color-ink-soft);
|
|
111
|
+
max-width: 50ch;
|
|
112
|
+
margin-block-end: var(--space-lg);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.hero__cta { display: flex; gap: var(--space-sm); flex-wrap: wrap; }
|
|
116
|
+
|
|
117
|
+
.btn {
|
|
118
|
+
display: inline-flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
gap: 0.5ch;
|
|
121
|
+
padding: var(--space-sm) var(--space-md);
|
|
122
|
+
font-family: var(--font-display);
|
|
123
|
+
font-size: 0.9375rem;
|
|
124
|
+
font-weight: 500;
|
|
125
|
+
text-decoration: none;
|
|
126
|
+
border: 1px solid var(--color-rule);
|
|
127
|
+
background: transparent;
|
|
128
|
+
color: var(--color-ink);
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
line-height: 1;
|
|
131
|
+
border-radius: 2px;
|
|
132
|
+
transition: background var(--dur-micro) var(--ease-out),
|
|
133
|
+
border-color var(--dur-micro) var(--ease-out),
|
|
134
|
+
color var(--dur-micro) var(--ease-out);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.btn--primary { background: var(--color-accent); color: var(--color-paper); border-color: var(--color-accent); }
|
|
138
|
+
.btn--primary:hover, .btn--primary:focus-visible { background: var(--color-ink); border-color: var(--color-ink); }
|
|
139
|
+
.btn:hover, .btn:focus-visible { border-color: var(--color-accent); color: var(--color-accent); }
|
|
140
|
+
.btn--primary:hover, .btn--primary:focus-visible { color: var(--color-paper); }
|
|
141
|
+
.btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
|
|
142
|
+
|
|
143
|
+
.hero__pull {
|
|
144
|
+
border-inline-start: 3px solid var(--color-accent);
|
|
145
|
+
padding-inline-start: var(--space-md);
|
|
146
|
+
font-family: var(--font-display);
|
|
147
|
+
font-style: italic;
|
|
148
|
+
font-size: 1rem;
|
|
149
|
+
line-height: 1.5;
|
|
150
|
+
color: var(--color-ink);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.hero__pull-attr {
|
|
154
|
+
display: block;
|
|
155
|
+
font-style: normal;
|
|
156
|
+
font-family: var(--font-mono);
|
|
157
|
+
font-size: 0.75rem;
|
|
158
|
+
letter-spacing: 0.06em;
|
|
159
|
+
color: var(--color-ink-soft);
|
|
160
|
+
margin-block-start: var(--space-sm);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/* Workbench */
|
|
164
|
+
.workbench {
|
|
165
|
+
padding: var(--space-3xl) 0;
|
|
166
|
+
display: grid;
|
|
167
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
168
|
+
gap: var(--space-2xl);
|
|
169
|
+
border-block-end: 1px solid var(--color-rule);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.steps { display: grid; gap: var(--space-3xl); }
|
|
173
|
+
|
|
174
|
+
.step {
|
|
175
|
+
border-inline-start: 2px solid var(--color-rule);
|
|
176
|
+
padding-inline-start: var(--space-lg);
|
|
177
|
+
transition: border-color var(--dur-micro) var(--ease-out);
|
|
178
|
+
}
|
|
179
|
+
.step:hover, .step:focus-within { border-inline-start-color: var(--color-accent); }
|
|
180
|
+
|
|
181
|
+
.step__num {
|
|
182
|
+
font-family: var(--font-mono);
|
|
183
|
+
font-size: 0.75rem;
|
|
184
|
+
letter-spacing: 0.12em;
|
|
185
|
+
color: var(--color-accent);
|
|
186
|
+
text-transform: uppercase;
|
|
187
|
+
margin-block-end: var(--space-sm);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.step__head {
|
|
191
|
+
font-family: var(--font-display);
|
|
192
|
+
font-size: clamp(1.5rem, 3vw, 2.25rem);
|
|
193
|
+
font-weight: 500;
|
|
194
|
+
letter-spacing: -0.02em;
|
|
195
|
+
line-height: 1.1;
|
|
196
|
+
margin-block-end: var(--space-md);
|
|
197
|
+
color: var(--color-ink);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.step__body {
|
|
201
|
+
font-size: 1rem;
|
|
202
|
+
line-height: 1.55;
|
|
203
|
+
color: var(--color-ink-soft);
|
|
204
|
+
max-width: 48ch;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.pinned {
|
|
208
|
+
position: sticky;
|
|
209
|
+
top: var(--space-xl);
|
|
210
|
+
align-self: start;
|
|
211
|
+
background: var(--color-paper-2);
|
|
212
|
+
border: 1px solid var(--color-rule);
|
|
213
|
+
border-radius: 4px;
|
|
214
|
+
padding: var(--space-lg);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.pinned__label {
|
|
218
|
+
font-family: var(--font-mono);
|
|
219
|
+
font-size: 0.6875rem;
|
|
220
|
+
letter-spacing: 0.12em;
|
|
221
|
+
text-transform: uppercase;
|
|
222
|
+
color: var(--color-ink-soft);
|
|
223
|
+
margin-block-end: var(--space-sm);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.pinned__head {
|
|
227
|
+
font-family: var(--font-display);
|
|
228
|
+
font-size: 1.25rem;
|
|
229
|
+
font-weight: 600;
|
|
230
|
+
letter-spacing: -0.01em;
|
|
231
|
+
margin-block-end: var(--space-md);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.pinned__body {
|
|
235
|
+
font-family: var(--font-mono);
|
|
236
|
+
font-size: 0.8125rem;
|
|
237
|
+
line-height: 1.6;
|
|
238
|
+
color: var(--color-ink);
|
|
239
|
+
background: var(--color-paper);
|
|
240
|
+
border: 1px solid var(--color-rule);
|
|
241
|
+
border-radius: 2px;
|
|
242
|
+
padding: var(--space-md);
|
|
243
|
+
white-space: pre-wrap;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.pinned__body .k { color: var(--color-accent); }
|
|
247
|
+
.pinned__body .c { color: var(--color-ink-muted); }
|
|
248
|
+
|
|
249
|
+
/* CTA strip — single line */
|
|
250
|
+
.cta-strip {
|
|
251
|
+
padding: var(--space-2xl) 0;
|
|
252
|
+
display: grid;
|
|
253
|
+
grid-template-columns: 1fr auto;
|
|
254
|
+
gap: var(--space-lg);
|
|
255
|
+
align-items: center;
|
|
256
|
+
border-block-end: 1px solid var(--color-rule);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.cta-strip__head {
|
|
260
|
+
font-family: var(--font-display);
|
|
261
|
+
font-size: clamp(1.5rem, 3vw, 2.25rem);
|
|
262
|
+
font-weight: 500;
|
|
263
|
+
letter-spacing: -0.015em;
|
|
264
|
+
line-height: 1.15;
|
|
265
|
+
margin: 0;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.cta-strip__head em { font-style: italic; color: var(--color-accent); font-weight: 400; }
|
|
269
|
+
|
|
270
|
+
.cta-strip__sub {
|
|
271
|
+
font-family: var(--font-body);
|
|
272
|
+
font-size: 1rem;
|
|
273
|
+
color: var(--color-ink-soft);
|
|
274
|
+
margin-block-start: var(--space-2xs);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* Colophon */
|
|
278
|
+
.colophon {
|
|
279
|
+
padding: var(--space-md) 0;
|
|
280
|
+
font-family: var(--font-mono);
|
|
281
|
+
font-size: 0.75rem;
|
|
282
|
+
letter-spacing: 0.06em;
|
|
283
|
+
text-transform: uppercase;
|
|
284
|
+
color: var(--color-ink-soft);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
@media (max-width: 56rem) {
|
|
288
|
+
.hero { grid-template-columns: 1fr; }
|
|
289
|
+
.workbench { grid-template-columns: 1fr; }
|
|
290
|
+
.pinned { position: static; }
|
|
291
|
+
.cta-strip { grid-template-columns: 1fr; }
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
@media (prefers-reduced-motion: reduce) {
|
|
295
|
+
.step, .btn { transition: none; }
|
|
296
|
+
}
|
|
297
|
+
</style>
|
|
298
|
+
</head>
|
|
299
|
+
<body>
|
|
300
|
+
<main class="page">
|
|
301
|
+
<header class="masthead">
|
|
302
|
+
<span class="masthead__brand">Nexus<span class="dot">.</span></span>
|
|
303
|
+
<span>est. 2026 · for product teams of 5–500</span>
|
|
304
|
+
</header>
|
|
305
|
+
|
|
306
|
+
<!-- Hero — same words as input, different shape -->
|
|
307
|
+
<section class="hero">
|
|
308
|
+
<div class="hero__copy">
|
|
309
|
+
<p class="hero__eyebrow">v0.4 · for product teams</p>
|
|
310
|
+
<h1 class="hero__head">The AI-powered platform <em>for modern teams.</em></h1>
|
|
311
|
+
<p class="hero__sub">
|
|
312
|
+
Nexus helps you ship faster, collaborate smarter, and scale seamlessly with AI-native
|
|
313
|
+
workflows built for the way teams work today.
|
|
314
|
+
</p>
|
|
315
|
+
<div class="hero__cta">
|
|
316
|
+
<a class="btn btn--primary" href="#">Get started free</a>
|
|
317
|
+
<a class="btn" href="#">Read the docs</a>
|
|
318
|
+
</div>
|
|
319
|
+
</div>
|
|
320
|
+
<aside class="hero__pull">
|
|
321
|
+
Join 50,000+ teams already building with Nexus.
|
|
322
|
+
<span class="hero__pull-attr">— count as of Q1 · the only stat we'll cite this page</span>
|
|
323
|
+
</aside>
|
|
324
|
+
</section>
|
|
325
|
+
|
|
326
|
+
<!-- Workbench — same three feature copy blocks, walked through, pinned-panel -->
|
|
327
|
+
<section class="workbench">
|
|
328
|
+
<div class="steps">
|
|
329
|
+
<article class="step">
|
|
330
|
+
<p class="step__num">step 01 · onboard</p>
|
|
331
|
+
<h2 class="step__head">Lightning fast.</h2>
|
|
332
|
+
<p class="step__body">Get up and running in seconds with our AI-native onboarding flow.</p>
|
|
333
|
+
</article>
|
|
334
|
+
|
|
335
|
+
<article class="step">
|
|
336
|
+
<p class="step__num">step 02 · scale</p>
|
|
337
|
+
<h2 class="step__head">Built to scale.</h2>
|
|
338
|
+
<p class="step__body">From startup to enterprise — Nexus grows with you, every step of the way.</p>
|
|
339
|
+
</article>
|
|
340
|
+
|
|
341
|
+
<article class="step">
|
|
342
|
+
<p class="step__num">step 03 · ship</p>
|
|
343
|
+
<h2 class="step__head">Built for the modern team.</h2>
|
|
344
|
+
<p class="step__body">Tools that get out of your way and let your team do their best work.</p>
|
|
345
|
+
</article>
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
<aside class="pinned" aria-label="Pinned demo">
|
|
349
|
+
<p class="pinned__label">Try it in your terminal</p>
|
|
350
|
+
<h3 class="pinned__head">A 4-line getting-started.</h3>
|
|
351
|
+
<pre class="pinned__body"><span class="c"># install</span>
|
|
352
|
+
<span class="k">$</span> npx nexus init my-team
|
|
353
|
+
|
|
354
|
+
<span class="c"># open the dashboard</span>
|
|
355
|
+
<span class="k">$</span> nexus open</pre>
|
|
356
|
+
</aside>
|
|
357
|
+
</section>
|
|
358
|
+
|
|
359
|
+
<section class="cta-strip">
|
|
360
|
+
<div>
|
|
361
|
+
<h2 class="cta-strip__head">Ready to <em>ship faster?</em></h2>
|
|
362
|
+
<p class="cta-strip__sub">Open a free workspace; no credit card; cancel from the email.</p>
|
|
363
|
+
</div>
|
|
364
|
+
<div class="hero__cta">
|
|
365
|
+
<a class="btn btn--primary" href="#">Start your free trial →</a>
|
|
366
|
+
</div>
|
|
367
|
+
</section>
|
|
368
|
+
|
|
369
|
+
<footer class="colophon">
|
|
370
|
+
© 2026 Nexus, Inc. · All rights reserved.
|
|
371
|
+
</footer>
|
|
372
|
+
</main>
|
|
373
|
+
</body>
|
|
374
|
+
</html>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# `hallmark study` — diagnosis report
|
|
2
|
+
|
|
3
|
+
> User invocation: *"hallmark study aperture-portfolio.png"*
|
|
4
|
+
|
|
5
|
+
## References loaded
|
|
6
|
+
|
|
7
|
+
- [`study.md`](../../../references/study.md) — the vision-extraction protocol + structured-fields schema + refusal heuristics
|
|
8
|
+
- [`study-examples.md`](../../../references/study-examples.md) — three worked examples (Pentagram-style portfolio, Klim-specimen, Rauno-personal)
|
|
9
|
+
- [`macrostructures.md`](../../../references/macrostructures.md) — to name the page-shape
|
|
10
|
+
- [`component-cookbook.md`](../../../references/component-cookbook.md) — to name the hero / pitch / footer archetypes
|
|
11
|
+
|
|
12
|
+
## Diagnosis (10 structured fields)
|
|
13
|
+
|
|
14
|
+
> **1. Macrostructure** · **Specimen** (numbered left-margin labels + huge italic serif + asymmetric spans + typographic-only CTA).
|
|
15
|
+
>
|
|
16
|
+
> **2. Hero archetype** · **H4 Margin-Number Display** — the page's only anchor is a vertical column of two-digit indices.
|
|
17
|
+
>
|
|
18
|
+
> **3. Pitch archetype** · none. The work *is* the pitch.
|
|
19
|
+
>
|
|
20
|
+
> **4. Footer archetype** · **Ft1 Single-Line Colophon** — studio name, year, contact, three links, no nav.
|
|
21
|
+
>
|
|
22
|
+
> **5. Display family role** · italic editorial serif (high optical size, soft axis, ink-black). One free candidate: *Fraunces* italic display. One paid candidate the user might confirm: *Tiempos Headline*. **The skill names roles, not exact font IDs — visual font ID is unreliable.**
|
|
23
|
+
>
|
|
24
|
+
> **6. Body family role** · geometric sans (humanist Inter-Tight-or-similar at 350–400 weight). One free candidate: *Geist*. One paid candidate: *Söhne*.
|
|
25
|
+
>
|
|
26
|
+
> **7. Surface lightness band** · light (paper L ≈ 96 %). Slight warm tint at hue 80 — Pentagram-warm cream, not stark white.
|
|
27
|
+
>
|
|
28
|
+
> **8. Accent hue band + chroma** · warm-orange ~25–30°, low chroma (≤ 0.13), used at < 5 % of viewport. One accent, applied to active state and the one number the brand wants the visitor to remember.
|
|
29
|
+
>
|
|
30
|
+
> **9. Density verdict** · sparse. ~3–4 macro elements on the first viewport. Generous vertical margin between rows (≥ `--space-3xl`).
|
|
31
|
+
>
|
|
32
|
+
> **10. Type-pairing role** · italic-display + sans-body — the canonical editorial pairing.
|
|
33
|
+
|
|
34
|
+
## Anti-patterns the screenshot has — do NOT carry over
|
|
35
|
+
|
|
36
|
+
> 1. The hover-state on the number-label uses a slow ease-in-out 800 ms colour fade. Per [`microinteractions.md`](../../../references/microinteractions.md) § The timing canon, hover state should be 150–200 ms. **Carry the *idea* (colour-shift on hover); shorten the *duration*.**
|
|
37
|
+
>
|
|
38
|
+
> 2. The footer text is set at 11 px with 0.06 em tracking — under the 14 px floor for body copy. **Bump to 12–13 px on rebuild, keep the tracking.**
|
|
39
|
+
|
|
40
|
+
## Confirmation question (the skill always asks before building)
|
|
41
|
+
|
|
42
|
+
> *"Adopt this DNA wholesale, or change one axis? For example, I could keep the macrostructure (Specimen) but pick a theme that better matches your work. If your tone is more ink-blue and B2B, I'd suggest **Plain** (pure-white paper) instead of the warm-cream **Specimen** theme. If your work is craft-led and warm, **Specimen** is the closer match."*
|
|
43
|
+
>
|
|
44
|
+
> *"Also: visual font ID is unreliable. The closest free pairing is **Fraunces italic + Geist** — that's what I'll ship by default. If you have a licence for the paid pair (Tiempos / Söhne), say so before I build."*
|
|
45
|
+
|
|
46
|
+
## What the user answered
|
|
47
|
+
|
|
48
|
+
> *"Adopt the DNA wholesale. We're craft-led; Specimen is the right match. Use the free pairing — we don't have paid licences."*
|
|
49
|
+
|
|
50
|
+
## What the skill builds
|
|
51
|
+
|
|
52
|
+
`output.html` + `output.css` — Coelho Studio's actual six projects rendered with the extracted DNA. The bones come from the screenshot; the words and projects come from the user. **No pixel-faithful reproduction.** See [`notes.md`](notes.md) for what fired.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# `hallmark study` — input
|
|
2
|
+
|
|
3
|
+
The user pasted a screenshot of a design studio's portfolio site they admire. Below is the description the skill works from. (In real use, the skill reads the actual image; here, we describe it for the test artifact.)
|
|
4
|
+
|
|
5
|
+
## What the screenshot shows
|
|
6
|
+
|
|
7
|
+
> A New York editorial design studio's portfolio homepage. Above-the-fold composition, screen ratio 16:10, captured at desktop width.
|
|
8
|
+
>
|
|
9
|
+
> **Top-left:** a large italic-serif word — the studio name "Aperture" — set at approximately 5–6 rem, ink-black, low-contrast against a warm-cream paper. The display face has high optical size, a soft axis, and italic-only weights.
|
|
10
|
+
>
|
|
11
|
+
> **Body of the page:** a single column of project rows. Each row has a left-margin number (`01`, `02`, `03` …, set in small-caps geometric sans, hairline weight) followed by the project name (set in the same italic-serif as the studio mark, but smaller — ~1.5 rem) and a one-line description (set in geometric sans, body weight). Rows are separated by a single 1 px hairline rule.
|
|
12
|
+
>
|
|
13
|
+
> **The third row from the top** uses a soft warm-orange accent on its number label — the only colour in the entire viewport apart from the cream paper and ink-black type. The implication: the project is the "active" or "featured" pick.
|
|
14
|
+
>
|
|
15
|
+
> **Right margin:** wide. The text occupies the left two-thirds of the viewport; the right third is blank cream.
|
|
16
|
+
>
|
|
17
|
+
> **Vertical rhythm:** generous. Large vertical padding between rows — at least 4–5 rem.
|
|
18
|
+
>
|
|
19
|
+
> **Footer (just visible at the bottom of the viewport):** a single thin line — studio name, year, contact, three small links — set in small-caps geometric sans.
|
|
20
|
+
>
|
|
21
|
+
> **Notable:** a hover-state on one of the number labels shows a slow ease-in-out 800 ms colour fade. Footer text is set at approximately 11 px with 0.06 em tracking.
|
|
22
|
+
|
|
23
|
+
## What the user said
|
|
24
|
+
|
|
25
|
+
> *"I want my portfolio to feel like this. I'm a small product-design studio called Coelho — three people, mostly working with early-stage Lisbon companies. I have six projects to show. Use this design's DNA."*
|
|
26
|
+
|
|
27
|
+
## Refusal heuristics check
|
|
28
|
+
|
|
29
|
+
The screenshot is a public reference (a real studio's published portfolio, not a paid template). The user is in a related domain (small studio) but not a direct competitor. **Proceed with DNA extraction at the structural level only — no copy, no pixel-faithful reproduction.**
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# `study` verb · what fired and why
|
|
2
|
+
|
|
3
|
+
## Input
|
|
4
|
+
|
|
5
|
+
A described screenshot (`input-description.md`) of a Pentagram-style design studio's portfolio homepage. Italic-serif studio mark, numbered project list, warm cream paper, single warm-orange accent on the active row, Single-Line Colophon footer.
|
|
6
|
+
|
|
7
|
+
## What `study` does
|
|
8
|
+
|
|
9
|
+
> *"Extract the DNA — macrostructure, archetypes, type-pairing role, colour anchor, rhythm — and produce a diagnosis report, then optionally rebuild the user's content using the extracted DNA. Never copies pixels. Never claims to identify exact fonts. Refuses obvious template-marketplace or competitor-page screenshots."*
|
|
10
|
+
|
|
11
|
+
Five-step pipeline (per [`SKILL.md`](../../../SKILL.md) § `hallmark study`):
|
|
12
|
+
|
|
13
|
+
1. **Refuse-or-proceed check** — public reference, not a paid template, not a direct competitor's live page → proceed.
|
|
14
|
+
2. **Vision pass** — read the image into the structured-fields schema in [`study.md`](../../../references/study.md). Output ten fields.
|
|
15
|
+
3. **Diagnosis report** — return the named macrostructure + archetypes + anti-patterns to NOT carry over. See [`diagnosis.md`](diagnosis.md).
|
|
16
|
+
4. **Confirmation question** — ask before building.
|
|
17
|
+
5. **Build** — produce `output.html` + `output.css` with the user's actual six projects, stamped `studied: yes`.
|
|
18
|
+
|
|
19
|
+
## What loaded
|
|
20
|
+
|
|
21
|
+
- [`references/study.md`](../../../references/study.md) — the protocol, schema, and refusal heuristics.
|
|
22
|
+
- [`references/study-examples.md`](../../../references/study-examples.md) — the three worked examples (Pentagram-style portfolio, Klim-specimen, Rauno-personal). The Pentagram example matched our screenshot most closely; the skill imitated the diagnosis structure.
|
|
23
|
+
- [`references/macrostructures.md`](../../../references/macrostructures.md) — to name the page-shape (Specimen).
|
|
24
|
+
- [`references/component-cookbook.md`](../../../references/component-cookbook.md) — for archetype names (H4 Margin-Number Display, Ft1 Single-Line Colophon).
|
|
25
|
+
- [`references/typography.md`](../../../references/typography.md) — for the type-role vocabulary (italic-display + sans-body) and free / paid candidate pairings.
|
|
26
|
+
- [`references/color.md`](../../../references/color.md) — for the warm-orange-at-low-chroma colour-anchor.
|
|
27
|
+
- [`references/microinteractions.md`](../../../references/microinteractions.md) — for the hover-duration anti-pattern callout (the screenshot's 800 ms is too slow; should be 150–200 ms).
|
|
28
|
+
|
|
29
|
+
## What `study` did *not* do
|
|
30
|
+
|
|
31
|
+
- **Did not name the exact font.** Visual font ID is unreliable; the skill named the *role* (italic editorial serif at high optical size) and proposed two real candidates (Fraunces free / Tiempos Headline paid).
|
|
32
|
+
- **Did not pixel-clone.** The output uses Coelho Studio's six actual projects, not "Aperture's" five-or-whatever projects. The bones come from the screenshot; the words and projects come from the user.
|
|
33
|
+
- **Did not copy the screenshot's hover duration.** The screenshot used 800 ms; the rebuild uses 180 ms. The skill flagged this in the diagnosis as anti-pattern-to-not-carry-over.
|
|
34
|
+
- **Did not copy the screenshot's footer text size.** The screenshot used 11 px; the rebuild uses 13 px. Below 14 px is below the body floor (per `typography.md`); the skill flagged this and bumped it.
|
|
35
|
+
- **Did not copy any imagery, photography, or proprietary content.**
|
|
36
|
+
|
|
37
|
+
## Stamp
|
|
38
|
+
|
|
39
|
+
The output's first CSS comment block:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
/* Hallmark · macrostructure: Specimen · H4 hero knobs: number-column=margin, alignment=left-bias
|
|
43
|
+
* theme: Specimen · accent: warm-orange ~3% · enrichment: none (typography only)
|
|
44
|
+
* studied: yes · DNA-source: user reference (Aperture-style portfolio) · paid-fonts: not confirmed (free pairing applied)
|
|
45
|
+
*/
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The `studied: yes` flag tells future `audit` runs to be lenient on "Specimen-fall-through" (gate 23) — the user explicitly chose this DNA — but stricter on "did the page actually use the extracted DNA?" The `paid-fonts: not confirmed` flag documents the substitution to the user.
|
|
49
|
+
|
|
50
|
+
## Why this is the canonical `study` test
|
|
51
|
+
|
|
52
|
+
The screenshot maps neatly to study-examples.md Example A (Pentagram-style editorial portfolio). It exercises:
|
|
53
|
+
|
|
54
|
+
- The refusal heuristics (public reference, not a competitor → proceed).
|
|
55
|
+
- The 10-field structured schema.
|
|
56
|
+
- The font-role-not-font-ID discipline.
|
|
57
|
+
- The "anti-patterns the screenshot has — do NOT carry over" output.
|
|
58
|
+
- The confirmation question.
|
|
59
|
+
- The `studied: yes` stamp.
|
|
60
|
+
|
|
61
|
+
If the input had been a paid Squarespace-template marketplace screenshot, the verb would have refused. If the input had been a direct competitor's live site, the verb would have asked before extracting. Both branches are documented in [`study.md`](../../../references/study.md); this test exercises the proceed-with-public-reference branch.
|