A2A agent protocol interoperability, Agent Cards, and MCP bridging / Protokol agen A2A, Agent Cards, dan integrasi MCP.
中文简介正在准备中。当前显示原文说明。
Expert guide for HTMX 2.0+, Hypermedia-Driven Applications (HDA), server-side rendering with htmx attributes, Alpine.js integration, and modern HTML-over-the-wire patterns / Panduan ahli HTMX 2.0+, Hypermedia-Driven Applications, dan pola HTML-over-the-wire modern.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
<a name="english"></a>
Connects with: modern-web-guidance, modern-css-native-expert, design-system-architect, tailwind-expert, ui-ux-pro-max, visual-ui-auditor, anti-slop, brainstorming, zero-to-prod-orchestrator, js-backend-expert, python-programming-expert, go-programming-expert, rust-programming-expert, authentication-identity-expert, database-orm-expert, session-memory-manager.
Expert guide for building Hypermedia-Driven Applications (HDA) using HTMX 2.0+. Covers htmx core attributes (hx-get, hx-post, hx-swap, hx-trigger), server-side rendering patterns, partial page updates, WebSocket/SSE integration, Alpine.js companion patterns, and transitioning from SPA frameworks to lightweight hypermedia architecture.
hx-ws support for real-time bidirectional communication.hx-ext="sse" for live data streams.hx-swap="transition:true".hx-push-url and hx-replace-url.hx-target-error, hx-target-4xx, hx-target-5xx for error-specific rendering.HTMX has become one of the most starred JavaScript libraries on GitHub, driving a movement back to server-rendered applications with sprinkles of interactivity. Key ecosystem:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTMX App</title>
<!-- HTMX 2.0 -->
<script src="https://unpkg.com/htmx.org@2.0.4"></script>
<!-- Alpine.js for client-side micro-interactions -->
<script defer src="https://unpkg.com/alpinejs@3.14.9/dist/cdn.min.js"></script>
<!-- Tailwind CSS -->
<link href="/styles.css" rel="stylesheet">
</head>
<body>
<!-- Application content -->
</body>
</html>
<!-- Clicking this button fetches HTML from server and swaps into #results -->
<button
hx-get="/api/search?q=flutter"
hx-target="#results"
hx-swap="innerHTML"
hx-indicator="#loading"
>
Search
</button>
<div id="loading" class="htmx-indicator">Loading...</div>
<div id="results">
<!-- Server returns HTML fragment, not JSON -->
</div>
Server response (returns HTML, not JSON):
<!-- /api/search returns this HTML fragment -->
<div class="result-item">
<h3>Flutter Expert Skill</h3>
<p>Cross-platform mobile development guide.</p>
</div>
<div class="result-item">
<h3>Dart Programming</h3>
<p>Type-safe language for Flutter apps.</p>
</div>
<input
type="search"
name="q"
placeholder="Search products..."
hx-get="/api/products/search"
hx-trigger="input changed delay:300ms, search"
hx-target="#search-results"
hx-swap="innerHTML"
hx-indicator="#search-spinner"
/>
<span id="search-spinner" class="htmx-indicator">⏳</span>
<div id="search-results"></div>
<!-- Display mode -->
<div id="user-name-1" hx-get="/users/1/edit" hx-trigger="dblclick" hx-swap="outerHTML">
<span>John Doe</span>
</div>
<!-- Server returns edit form on double-click -->
<form id="user-name-1" hx-put="/users/1/name" hx-swap="outerHTML">
<input type="text" name="name" value="John Doe" autofocus>
<button type="submit">Save</button>
<button hx-get="/users/1/display" hx-swap="outerHTML" hx-target="#user-name-1">Cancel</button>
</form>
<div id="product-list">
<!-- Products rendered server-side -->
<div class="product">Product 1</div>
<div class="product">Product 2</div>
<!-- Sentinel element — triggers load when visible -->
<div
hx-get="/api/products?page=2"
hx-trigger="revealed"
hx-swap="outerHTML"
hx-indicator="#load-more-spinner"
>
<span id="load-more-spinner" class="htmx-indicator">Loading more...</span>
</div>
</div>
<form hx-post="/api/register" hx-target="#form-container" hx-swap="outerHTML">
<div>
<label for="email">Email</label>
<input
type="email"
name="email"
hx-post="/api/validate/email"
hx-trigger="blur changed"
hx-target="next .error"
hx-swap="innerHTML"
/>
<span class="error"></span>
</div>
<div>
<label for="password">Password</label>
<input type="password" name="password" />
</div>
<button type="submit">Register</button>
</form>
<div hx-ext="ws" ws-connect="/ws/notifications">
<div id="notifications">
<!-- Server pushes HTML fragments via WebSocket -->
</div>
</div>
<div hx-ext="sse" sse-connect="/events/stream">
<div sse-swap="message" hx-swap="beforeend">
<!-- Each SSE event appends HTML fragment -->
</div>
</div>
<!-- Alpine.js handles client-side state, HTMX handles server communication -->
<div x-data="{ open: false }">
<button @click="open = !open">Toggle Menu</button>
<nav x-show="open" x-transition>
<a hx-get="/dashboard" hx-target="#main" hx-push-url="true">Dashboard</a>
<a hx-get="/settings" hx-target="#main" hx-push-url="true">Settings</a>
</nav>
</div>
<main id="main">
<!-- Page content swapped by HTMX -->
</main>
Express.js (Node.js):
app.get('/api/products/search', (req, res) => {
const { q } = req.query;
const products = searchProducts(q);
// Return HTML fragment — NOT JSON
res.send(products.map(p => `
<div class="product-card">
<h3>${p.name}</h3>
<p>$${p.price}</p>
</div>
`).join(''));
});
FastAPI (Python):
from fastapi.responses import HTMLResponse
@app.get("/api/products/search", response_class=HTMLResponse)
async def search_products(q: str):
products = await product_repo.search(q)
html = "".join(
f'<div class="product-card"><h3>{p.name}</h3><p>${p.price}</p></div>'
for p in products
)
return HTMLResponse(content=html)
Go (net/http + html/template):
func searchHandler(w http.ResponseWriter, r *http.Request) {
q := r.URL.Query().Get("q")
products := searchProducts(q)
tmpl := template.Must(template.ParseFiles("templates/product-list.html"))
tmpl.Execute(w, products)
}
| Use Case | HTMX | React/Vue SPA |
|---|---|---|
| Content sites with dynamic sections | ✅ Ideal | ⚠️ Overkill |
| Admin dashboards | ✅ Ideal | ✅ Also good |
| E-commerce product listings | ✅ Ideal | ✅ Also good |
| Real-time collaborative editors | ❌ Use SPA | ✅ Ideal |
| Complex client-side state (drag-drop, canvas) | ❌ Use SPA | ✅ Ideal |
| SEO-critical pages with interactivity | ✅ Ideal | ⚠️ Requires SSR |
hx-swap="outerHTML" — Prefer innerHTML to avoid losing event listeners on the target element.hx-indicator — Users need loading feedback. Always show a spinner.hx-push-url — Enable URL updates for browser history and shareable links.<a name="bahasa-indonesia"></a>
Terhubung dengan: modern-web-guidance, modern-css-native-expert, design-system-architect, tailwind-expert, ui-ux-pro-max, visual-ui-auditor, anti-slop, brainstorming, zero-to-prod-orchestrator, js-backend-expert, python-programming-expert, go-programming-expert, rust-programming-expert, authentication-identity-expert, database-orm-expert, session-memory-manager.
Panduan ahli untuk membangun Hypermedia-Driven Applications (HDA) menggunakan HTMX 2.0+. Mencakup atribut inti htmx (hx-get, hx-post, hx-swap, hx-trigger), pola rendering server-side, pembaruan halaman parsial, integrasi WebSocket/SSE, pola pendamping Alpine.js, dan transisi dari framework SPA ke arsitektur hypermedia ringan.
HTMX bekerja dengan mengirim request HTTP dan menerima fragmen HTML (bukan JSON). Server bertanggung jawab merender UI. Browser hanya mengganti (swap) bagian halaman yang berubah.
Atribut inti:
hx-get / hx-post / hx-put / hx-delete: Mengirim request HTTP.hx-target: Element mana yang akan di-update dengan respons.hx-swap: Cara memasukkan respons (innerHTML, outerHTML, beforeend, afterend).hx-trigger: Event yang memicu request (click, input changed delay:300ms, revealed).hx-indicator: Element yang ditampilkan sebagai loading indicator.hx-push-url: Update URL browser untuk navigasi history.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
A2A agent protocol interoperability, Agent Cards, and MCP bridging / Protokol agen A2A, Agent Cards, dan integrasi MCP.
中文简介正在准备中。当前显示原文说明。
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
中文简介正在准备中。当前显示原文说明。
Web accessibility testing with axe-core, Playwright, and WCAG 2.2 / Pengujian aksesibilitas web axe-core, Playwright, dan WCAG 2.2.
中文简介正在准备中。当前显示原文说明。
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
中文简介正在准备中。当前显示原文说明。
Model cascading & complexity-scored routing (Grok, Gemini, Claude) / Routing kaskade model & scoring kompleksitas (Grok, Gemini, Claude).
中文简介正在准备中。当前显示原文说明。
Affective computing, emotion AI, and multimodal sentiment analysis / Komputasi afektif, AI emosional, dan analisis sentimen multimodal.
中文简介正在准备中。当前显示原文说明。