ui-template

Create reusable UI templates with slot and prop contracts for page layouts.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/grvpanchal/elegant-opencode --skill ui-template
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ui-template
Source: https://github.com/grvpanchal/elegant-opencode/tree/main/skills/ui-template
Command: npx skills add https://github.com/grvpanchal/elegant-opencode --skill ui-template

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Templates are page-level wireframe structures that define layout without real content—blueprints showing "hero goes here, nav goes here, grid goes here." They're reusable across many pages with different data.

Core Features & Use Cases

  • Structure Over Content: Templates define WHERE things go, not WHAT they contain. Use placeholder props or slots—actual data comes from pages.
  • Layout Orchestration: Templates handle page-level layout, responsive grid systems, and spatial relationships between organisms.
  • Content Agnostic: A ProductTemplate works for any product by accepting different data. Same structure, different content.
  • Use Case: Design large-scale pages that share skeletons across routes by varying only the data.

Quick Start

Instantiate a ProductTemplate with slot components (hero, productInfo, specifications, reviews, relatedProducts) and supply product data via props.

Frequently Asked Questions about ui-template

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create reusable page templates that separate layout structure from content?

Reusable page templates define spatial layouts using placeholder props and slots, ensuring content remains decoupled. Pages supply actual data at render time, allowing the same layout skeleton to be reused across different routes with varying content.

What is a layout-only approach for frontend component libraries?

A layout-only approach for frontend component libraries provides wireframe structures that dictate where organisms render without fetching data. It enforces clear slot and prop contracts to handle page-level layout orchestration and responsive grid systems independently of content.

How do I share consistent page skeletons across multiple frontend routes?

You can share consistent page skeletons across multiple frontend routes by defining content-agnostic templates. A single template accepts different data via props to render varying content while maintaining identical spatial relationships and responsive breakpoints.

Can I use a single template structure for different product pages with varying data?

Yes, a content-agnostic template structure works for different product pages by accepting varying data via props. You instantiate a template with slot components like hero and product info, then supply the specific product data to render the final page.

Does a layout-only template handle data fetching and content rendering?

No, a layout-only template does not handle data fetching. It strictly enforces a separation where the template manages page-level layout, responsive grids, and spatial relationships, while the actual page supplies and fetches the real data at render time.

Why should I use layout-only templates instead of coupling layout with content?

Using layout-only templates solves the problem of coupling layout with content by making page wireframes reusable. This approach ensures consistent rendering across routes, enforces clear prop contracts, and allows pages to manage data fetching independently.