templ-components
Create reusable templ UI components with props, children, and composition patterns. Use when building UI components, creating component libraries, mentions 'button component', 'card component', or 'reusable templ components'.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Templ Components
Use progressive disclosure: solve with Level 1 first, then pull deeper guidance only if complexity requires it.
Level 1: Component Checklist
Use this skill for reusable templ UI components.
- Define a small, single-purpose component.
- Prefer typed props (structs for complex APIs).
- Support composition with
{ children... }. - Keep variants explicit and predictable.
- Extract shared layout wrappers instead of duplicating markup.
type ButtonProps struct {
Label string
Variant string
Disabled bool
}
templ Button(props ButtonProps) {
<button class={ "btn btn-" + props.Variant } disabled?={ props.Disabled }>
{ props.Label }
</button>
}
Level 2: API Design Rules
- Small surface area: avoid giant prop lists.
- Typed options: enums/constants beat free-form strings for critical variants.
-
Composition first: prefer wrappers (
Card,Modal,Layout) over monolith components. - No hidden side effects: components render; handlers/loaders do data work.
- Stable contracts: avoid breaking prop shape without migration.
Level 3: Reusable Patterns
templ Card(title string) {
<article class="card">
<header><h3>{ title }</h3></header>
<div class="card-body">{ children... }</div>
</article>
}
templ WithError(err error) {
if err != nil {
<p class="error">{ err.Error() }</p>
} else {
{ children... }
}
}
Escalate to Other Skills
- Need syntax details: use
templ-syntax. - Need HTTP routing/rendering: use
templ-http. - Need partial updates/interactions: use
templ-htmx.
References
- Foundations:
resources/foundations.md - Patterns:
resources/patterns.md - Testing and API notes:
resources/testing-and-api.md - templ component guide: https://templ.guide/component-composition/
- templ API docs: https://pkg.go.dev/github.com/a-h/templ
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!