{"version":"2.0.0","total":46,"items":[{"id":"licensed-asset-ingestion","title":"Каталоги открытых ассетов","description":"Select and integrate licensed external 3D assets without confusing an index with locally bundled files.","category":"3d","tags":["CC0","Poly Haven","модели","assets"],"skill":"/skills/licensed-asset-ingestion/SKILL.md","source":"/source/components/asset-catalog.tsx","demo":null},{"id":"gltf-dependency-map","title":"Импорт glTF со всеми зависимостями","description":"Resolve glTF buffers and images from a provider manifest and export a self-contained asset package.","category":"3d","tags":["GLTFLoader","glTF","GLB","include"],"skill":"/skills/gltf-dependency-map/SKILL.md","source":"/source/components/asset-viewer.tsx","demo":null},{"id":"hdri-lighting","title":"Свет и отражения HDRI","description":"Use high-dynamic-range environments to control reflections and illumination consistently.","category":"3d","tags":["HDRI","RGBELoader","PMREM","свет"],"skill":"/skills/hdri-lighting/SKILL.md","source":"/source/components/asset-viewer.tsx","demo":null},{"id":"pbr-map-calibration","title":"Настоящие PBR-карты","description":"Apply a scanned PBR texture set with correct map semantics instead of using one image for every channel.","category":"3d","tags":["PBR","normal","roughness","текстуры"],"skill":"/skills/pbr-map-calibration/SKILL.md","source":"/source/components/asset-viewer.tsx","demo":null},{"id":"svg-type-filters","title":"SVG-фильтры для типографики","description":"Create expressive text with SVG filters and paths while keeping readable semantic content.","category":"motion","tags":["SVG","typography","liquid","морфинг"],"skill":"/skills/svg-type-filters/SKILL.md","source":"/source/components/advanced-type.tsx","demo":null},{"id":"layout-continuity","title":"Непрерывность при перестановке","description":"Animate meaningful layout changes without losing object identity or focus.","category":"motion","tags":["FLIP","WAAPI","layout","перестановка"],"skill":"/skills/layout-continuity/SKILL.md","source":"/source/components/advanced-motion.tsx","demo":null},{"id":"gesture-fallbacks","title":"Жесты и управление без мыши","description":"Implement bounded pointer gestures with cancellation and keyboard alternatives.","category":"motion","tags":["pointer capture","drag","swipe","accessibility"],"skill":"/skills/gesture-fallbacks/SKILL.md","source":"/source/components/advanced-motion.tsx","demo":null},{"id":"direction-contrast","title":"Принципиально разные дизайн-направления","description":"Develop multiple website directions that differ structurally, not merely in palette.","category":"design","tags":["art direction","styles","editorial","brutalism"],"skill":"/skills/direction-contrast/SKILL.md","source":"/source/components/style-world.tsx","demo":null},{"id":"asset-performance-budget","title":"Бюджет тяжёлых 3D-сцен","description":"Integrate detailed downloaded models without loading an entire gallery into GPU memory.","category":"3d","tags":["performance","lazy","WebGL","модели"],"skill":"/skills/asset-performance-budget/SKILL.md","source":"/source/components/asset-viewer.tsx","demo":null},{"id":"portable-asset-export","title":"Переносимая библиотека ассетов","description":"Download selected licensed resources reproducibly with a local source record.","category":"architecture","tags":["manifest","download","CC0","offline"],"skill":"/skills/portable-asset-export/SKILL.md","source":"/source/scripts/fetch-assets.py","demo":null},{"id":"physical-glass","title":"Физическое стекло","description":"Build transmissive glass surfaces with readable shape and a practical render budget.","category":"3d","tags":["glass","стекло","bird","transmission","IOR"],"skill":"/skills/physical-glass/SKILL.md","source":"/source/lib/objects.ts","demo":"/demos/3d"},{"id":"pbr-materials","title":"PBR-материалы","description":"Author physically based material presets and an interactive comparison workflow.","category":"3d","tags":["PBR","metal","металл","wrench","roughness"],"skill":"/skills/pbr-materials/SKILL.md","source":"/source/lib/objects.ts","demo":"/demos/3d"},{"id":"procedural-textures","title":"Процедурные текстуры","description":"Create deterministic, reusable surface textures with documented scale and color spaces.","category":"3d","tags":["textures","текстуры","bump","CanvasTexture"],"skill":"/skills/procedural-textures/SKILL.md","source":"/source/lib/objects.ts","demo":"/demos/3d"},{"id":"gltf-export","title":"Экспорт GLB и ассетов","description":"Export portable 3D assets from a browser scene.","category":"3d","tags":["GLB","glTF","export","assets"],"skill":"/skills/gltf-export/SKILL.md","source":"/source/components/scene.tsx","demo":"/demos/3d"},{"id":"visual-direction","title":"Визуальное направление","description":"Choose a coherent visual direction for a new website or requested redesign.","category":"design","tags":["art direction","styles"],"skill":"/skills/visual-direction/SKILL.md","source":"/source/components/style-preview.tsx","demo":"/demos/typography"},{"id":"fluid-typography","title":"Fluid typography","description":"Build responsive type systems with deliberate contrast and stable line wrapping.","category":"design","tags":["clamp","type scale","fonts"],"skill":"/skills/fluid-typography/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/typography"},{"id":"design-tokens","title":"Дизайн-токены","description":"Create a semantic token system or extract one from an existing interface.","category":"design","tags":["CSS variables","themes","tokens"],"skill":"/skills/design-tokens/SKILL.md","source":"/source/components/style-preview.tsx","demo":"/demos/typography"},{"id":"editorial-layout","title":"Редакционная сетка","description":"Design a publication surface where content hierarchy leads.","category":"design","tags":["editorial","grid","magazine"],"skill":"/skills/editorial-layout/SKILL.md","source":"/source/components/templates.tsx","demo":"/demos/typography"},{"id":"accessible-components","title":"Доступные компоненты","description":"Implement interactive controls with keyboard and assistive-technology support.","category":"design","tags":["a11y","keyboard","focus"],"skill":"/skills/accessible-components/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/accordion"},{"id":"responsive-composition","title":"Адаптивная композиция","description":"Adapt complex pages to small screens, touch and text enlargement.","category":"design","tags":["responsive","container queries","mobile"],"skill":"/skills/responsive-composition/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/comparison"},{"id":"multipage-routing","title":"Многостраничная архитектура","description":"Implement a website with multiple addressable pages.","category":"architecture","tags":["routing","multipage","React"],"skill":"/skills/multipage-routing/SKILL.md","source":"/source/components/templates.tsx","demo":"/demos/transition"},{"id":"content-seo","title":"Контент и SEO","description":"Make public content readable by search engines and text-only clients.","category":"architecture","tags":["metadata","SEO","sitemap"],"skill":"/skills/content-seo/SKILL.md","source":"/source/scripts/build-library.mjs","demo":null},{"id":"agent-readable-library","title":"Библиотека для агентов","description":"Publish skills and code that coding agents can selectively retrieve.","category":"architecture","tags":["llms.txt","SKILL.md","AI"],"skill":"/skills/agent-readable-library/SKILL.md","source":"/source/scripts/build-library.mjs","demo":null},{"id":"forms-validation","title":"Формы и валидация","description":"Build forms that distinguish validation, network and server failures.","category":"architecture","tags":["forms","validation","UX"],"skill":"/skills/forms-validation/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/form"},{"id":"catalog-filters","title":"Каталог и фильтры","description":"Build a catalog with composable filters and reproducible URLs.","category":"commerce","tags":["catalog","search","filters"],"skill":"/skills/catalog-filters/SKILL.md","source":"/source/lib/commerce.ts","demo":"/demos/catalog"},{"id":"cart-state","title":"Корзина","description":"Implement a cart with explicit quantity and money invariants.","category":"commerce","tags":["cart","state","localStorage"],"skill":"/skills/cart-state/SKILL.md","source":"/source/lib/commerce.ts","demo":"/demos/catalog"},{"id":"product-detail","title":"Карточка товара","description":"Build a product page with accurate variant selection.","category":"commerce","tags":["product","variants","gallery"],"skill":"/skills/product-detail/SKILL.md","source":"/source/components/templates.tsx","demo":"/demos/catalog"},{"id":"checkout-flow","title":"Checkout","description":"Build a review flow with an authoritative server quote.","category":"commerce","tags":["checkout","quote","idempotency"],"skill":"/skills/checkout-flow/SKILL.md","source":"/source/starters/commerce/server.py","demo":"/demos/catalog"},{"id":"commerce-integrity","title":"Остатки и заказы","description":"Preserve order and inventory integrity in a transactional backend.","category":"commerce","tags":["inventory","SQLite","transactions"],"skill":"/skills/commerce-integrity/SKILL.md","source":"/source/starters/commerce/server.py","demo":null},{"id":"spring-interactions","title":"Пружинные взаимодействия","description":"Implement direct manipulation that preserves position and velocity.","category":"motion","tags":["spring","drag","physics"],"skill":"/skills/spring-interactions/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/spring"},{"id":"magnetic-hover","title":"Magnetic hover","description":"Add restrained pointer-following motion to a rare promotional action.","category":"motion","tags":["pointer","magnetic","hover"],"skill":"/skills/magnetic-hover/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/magnetic"},{"id":"scroll-parallax","title":"Scroll parallax","description":"Create a layered scroll scene while preserving native scrolling.","category":"motion","tags":["parallax","scroll","depth"],"skill":"/skills/scroll-parallax/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/parallax"},{"id":"scroll-story","title":"Sticky scroll story","description":"Build a native sticky narrative with readable chapters.","category":"motion","tags":["sticky","scroll","storytelling"],"skill":"/skills/scroll-story/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/stack"},{"id":"text-reveal","title":"Text reveal","description":"Reveal a heading once without damaging reading or accessibility.","category":"motion","tags":["typography","reveal","WAAPI"],"skill":"/skills/text-reveal/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/reveal"},{"id":"page-transitions","title":"Переходы между страницами","description":"Add state or route transitions without making navigation depend on them.","category":"motion","tags":["View Transitions","routing"],"skill":"/skills/page-transitions/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/transition"},{"id":"seamless-marquee","title":"Бесшовная строка","description":"Create a seamless decorative track with explicit pause control.","category":"motion","tags":["marquee","CSS","loop"],"skill":"/skills/seamless-marquee/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/marquee"},{"id":"webgl-foundation","title":"WebGL foundation","description":"Integrate a Three.js scene as progressive enhancement.","category":"3d","tags":["Three.js","WebGL","performance"],"skill":"/skills/webgl-foundation/SKILL.md","source":"/source/components/scene.tsx","demo":"/demos/3d"},{"id":"pointer-3d","title":"3D от курсора","description":"Make a hero object respond to pointer movement without blocking navigation.","category":"3d","tags":["mouse","rotation","lerp"],"skill":"/skills/pointer-3d/SKILL.md","source":"/source/components/scene.tsx","demo":"/demos/3d"},{"id":"scroll-3d","title":"3D от скролла","description":"Drive a bounded 3D presentation from local section scroll progress.","category":"3d","tags":["scroll","camera","timeline"],"skill":"/skills/scroll-3d/SKILL.md","source":"/source/components/scene.tsx","demo":"/demos/3d"},{"id":"procedural-objects","title":"Процедурные 3D-объекты","description":"Create lightweight editable 3D objects from geometric primitives.","category":"3d","tags":["geometry","objects","materials"],"skill":"/skills/procedural-objects/SKILL.md","source":"/source/lib/objects.ts","demo":"/demos/3d"},{"id":"3d-performance","title":"Производительность 3D","description":"Keep interactive 3D responsive on constrained devices.","category":"3d","tags":["GPU","DPR","lazy load"],"skill":"/skills/3d-performance/SKILL.md","source":"/source/components/scene.tsx","demo":"/demos/3d"},{"id":"api-contracts","title":"API contracts","description":"Design HTTP APIs with explicit input and response contracts.","category":"backend","tags":["REST","validation","API"],"skill":"/skills/api-contracts/SKILL.md","source":"/source/app/api/quote/route.ts","demo":"/demos/api"},{"id":"sqlite-transactions","title":"SQLite и транзакции","description":"Build a small durable SQLite backend with explicit invariants.","category":"backend","tags":["SQLite","schema","transactions"],"skill":"/skills/sqlite-transactions/SKILL.md","source":"/source/starters/commerce/server.py","demo":null},{"id":"auth-boundaries","title":"Границы авторизации","description":"Add identity and object-level authorization to server applications.","category":"backend","tags":["auth","sessions","authorization"],"skill":"/skills/auth-boundaries/SKILL.md","source":"/source/references/backend-boundaries.md","demo":null},{"id":"resilient-fetch","title":"Устойчивые запросы","description":"Keep network requests correct under latency and failure.","category":"backend","tags":["fetch","AbortController","retry"],"skill":"/skills/resilient-fetch/SKILL.md","source":"/source/components/demos.tsx","demo":"/demos/api"},{"id":"server-security","title":"Валидация и лимиты","description":"Harden concrete API trust boundaries without expanding product scope.","category":"backend","tags":["security","rate limits","validation"],"skill":"/skills/server-security/SKILL.md","source":"/source/app/api/quote/route.ts","demo":null}]}