htmx — Claude Code skill: dynamic pages with HTML attributes
Development guidelines for HTMX: the agent writes markup with hx attributes and returns only the HTML fragments the page needs.
npx skills add Mindrally/skills --skill htmx -a claude-codeWhat htmx does
The skill gives the agent a working frame for HTMX. Requests go through hx-get, hx-post, hx-put, hx-patch and hx-delete; hx-target, hx-swap, hx-trigger and hx-select control where the response lands. URL updates without a reload use hx-push-url and hx-replace-url.
What you get is a set of conventions, not runnable code. One block covers error handling: validate on the server, return proper 4xx and 5xx codes, keep messages readable for the user. There are examples for hx-confirm on destructive actions and for forms submitted over AJAX.
On performance the skill points to small server responses and caching of frequently hit endpoints, plus hx-boost for progressive enhancement of links. If your project already leans on JavaScript event handlers, expect the agent to push markup toward declarative attributes instead — worth settling which approach wins before you install it.
What it helps with
- submit a form without a full page reload
- inject a server response into a specific element with
hx-target - update the browser URL after a partial refresh
- ask the user to confirm before deleting a record
- split templates into reusable fragments
Example prompts for the agent
- build a user list that loads on click with hx-get
- rewrite this form to use hx-post with hx-target and hx-swap
- add hx-confirm to the delete button and return 4xx on failure
How to install htmx
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill htmx -a claude-code2Manually: put the files in place
~/.claude/skills/htmx/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/htmx/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill htmx -a codex2Manually: put the files in place
.agents/skills/htmx/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill htmx -a cursor2Manually: put the files in place
.cursor/skills/htmx/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills htmx2Manually: put the files in place
.github/skills/htmx/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill htmx -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path htmxManually: put the files in place
.devin/skills/htmx/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill htmx -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about htmx
How do I install htmx in Claude?
Run npx skills add Mindrally/skills --skill htmx -a claude-code. The skill file lands at ~/.claude/skills/htmx/SKILL.md.
What does the htmx skill do?
It gives the agent rules for building HTMX pages: which attributes handle requests, response insertion and URLs, how to deal with errors, and how to send only the HTML fragments a page needs.
Does the skill require JavaScript?
It is built around minimal JavaScript: interactivity lives in HTML attributes and the logic stays on the server. For links it suggests hx-boost as progressive enhancement.
Source text
SKILL.md · Apache-2.0
---
name: htmx
description: HTMX development guidelines for building dynamic web applications with minimal JavaScript using HTML attributes.
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# HTMX Development
You are an expert in HTMX for building dynamic web applications with minimal JavaScript.
## Core Principles
- Write concise, clear, and technical responses with precise HTMX examples
- Leverage HTMX's interactivity capabilities without heavy JavaScript dependencies
- Prioritize maintainability and readable code structure
- Return only necessary HTML snippets from the server
## HTMX Usage Guidelines
### Request Attributes
- `hx-get` - Make GET request to URL
- `hx-post` - Make POST request to URL
- `hx-put` - Make PUT request to URL
- `hx-patch` - Make PATCH request to URL
- `hx-delete` - Make DELETE request to URL
### DOM Manipulation
- `hx-target` - Specify where response content gets injected
- `hx-swap` - Customize DOM insertion method (innerHTML, outerHTML, beforeend, etc.)
- `hx-trigger` - Customize event handling and control request timing
- `hx-select` - Select specific content from response
### URL Management
- `hx-push-url` - Update browser URL without full page refresh
- `hx-replace-url` - Replace current URL in history
## Best Practices
### Request Handling
```html
<!-- Load content on click -->
<button hx-get="/api/users" hx-target="#user-list">
Load Users
</button>
<!-- Submit form via AJAX -->
<form hx-post="/api/submit" hx-target="#result" hx-swap="innerHTML">
<input name="email" type="email">
<button type="submit">Submit</button>
</form>
```
### Error Handling
- Implement server-side validation before processing requests
- Return appropriate HTTP status codes (4xx for client errors, 5xx for server errors)
- Provide user-friendly error messages
- Use `hx-swap` for customizing error feedback presentation
### User Confirmation
```html
<button hx-delete="/api/item/1"
hx-confirm="Are you sure you want to delete this?">
Delete
</button>
```
## Performance Optimization
- Minimize server response sizes by sending only essential HTML
- Implement server-side caching for frequently requested endpoints
- Precompile reusable component fragments
- Use `hx-boost` for progressive enhancement of links
## Integration Patterns
### With CSS Frameworks
- Combine HTMX with Bootstrap or Tailwind without script conflicts
- Use loading indicators for better UX
- Handle transitions smoothly
### Template Organization
- Organize templates as efficient, reusable HTMX fragments
- Maintain clear separation of concerns
- Use partial templates for common components
## Key Conventions
- Maintain consistent naming for HTMX attributes
- Ensure fast and intuitive interactions
- Structure templates with clear separation of concerns
- Favor declarative attributes over JavaScript event handlers
© Mindrally · Apache-2.0 · Mindrally/skills