web-development · mindrally — Claude Code skill: Bootstrap, Django, HTMX
A skill that hands the agent web development conventions: Bootstrap grid, Django views and models, HTMX attributes. Useful when templates and backend live in one repo.
npx skills add Mindrally/skills --skill web-development -a claude-codeWhat web-development does
The skill sets conventions across three areas. For Bootstrap: mobile-first layouts, the container/row/col-* grid, ready components like navbars and modals, theming through Sass variables. For Django: a project layout with apps, config and templates, class-based and function views, models with Meta.ordering, forms with custom validation in clean_email. For HTMX: hx-get and hx-post, DOM updates via hx-target and hx-swap, triggers on keyup, page load and intersection, plus loading indicators.
A separate section covers general practice: performance, security, accessibility, SEO. It lists input validation, CSRF protection, output sanitising against XSS, semantic HTML, alt text, keyboard navigation, heading hierarchy and sitemaps. All of it is guidance for the agent, not a linter. The skill checks nothing on its own; it shapes the code the agent writes.
Worth adding when your project already runs on this stack. On React and Tailwind the Bootstrap grid and hx-* rules just eat context. Install with npx skills add; the skill file lands at ~/.claude/skills/web-development/SKILL.md.
What it helps with
- build a responsive grid that collapses on mobile
- scaffold Django models and views without spelling out conventions
- add partial page updates with HTMX
- keep generated forms safe from CSRF and XSS
- set up heading hierarchy and meta tags for search
Example prompts for the agent
- build an article list page with Bootstrap, the grid should collapse on mobile
- create ListView and DetailView for the Article model with pagination of 10
- add a button that loads data with hx-get into the #results block
How to install web-development
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill web-development -a claude-code2Manually: put the files in place
~/.claude/skills/web-development/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/web-development/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill web-development -a codex2Manually: put the files in place
.agents/skills/web-development/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill web-development -a cursor2Manually: put the files in place
.cursor/skills/web-development/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills web-development2Manually: put the files in place
.github/skills/web-development/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill web-development -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path web-developmentManually: put the files in place
.devin/skills/web-development/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill web-development -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 web-development
How do I install web-development in Claude?
Run npx skills add Mindrally/skills --skill web-development -a claude-code. The skill file ends up at ~/.claude/skills/web-development/SKILL.md.
What does the web-development skill do?
It gives the agent rules for Bootstrap, Django and HTMX plus general practice on performance, security, accessibility and SEO. The agent follows them while writing frontend and backend code.
Does it work for a React project?
The rules target Bootstrap, Django and HTMX. On a different stack they add nothing and take up context.
Source text
SKILL.md · Apache-2.0
---
name: web-development
description: Web development guidelines covering Bootstrap, Django, HTMX, and general web best practices
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# Web Development Guidelines
You are an expert in web development with knowledge of various frameworks and best practices.
## Bootstrap Development
### Core Principles
- Use Bootstrap's grid system for responsive layouts
- Leverage utility classes for rapid styling
- Customize through Sass variables
- Follow mobile-first approach
### Grid System
```html
<div class="container">
<div class="row">
<div class="col-12 col-md-6 col-lg-4">Column 1</div>
<div class="col-12 col-md-6 col-lg-4">Column 2</div>
<div class="col-12 col-md-12 col-lg-4">Column 3</div>
</div>
</div>
```
### Components
- Use pre-built components (navbar, cards, modals)
- Customize with utility classes
- Ensure accessibility attributes
- Test responsive behavior
### Customization
```scss
// Custom variables
$primary: #0d6efd;
$font-family-base: 'Inter', sans-serif;
// Import Bootstrap
@import "bootstrap/scss/bootstrap";
```
## Django Development
### Project Structure
```
project/
├── apps/
│ ├── core/
│ ├── users/
│ └── api/
├── config/
│ ├── settings/
│ ├── urls.py
│ └── wsgi.py
├── static/
├── templates/
└── manage.py
```
### Views
```python
from django.views.generic import ListView, DetailView
from django.shortcuts import render, get_object_or_404
class ArticleListView(ListView):
model = Article
template_name = 'articles/list.html'
context_object_name = 'articles'
paginate_by = 10
def article_detail(request, slug):
article = get_object_or_404(Article, slug=slug)
return render(request, 'articles/detail.html', {'article': article})
```
### Models
```python
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(unique=True)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-created_at']
def __str__(self):
return self.title
```
### Forms
```python
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
message = forms.CharField(widget=forms.Textarea)
def clean_email(self):
email = self.cleaned_data['email']
# Custom validation
return email
```
## HTMX Development
### Core Concepts
- Use hx-get, hx-post for AJAX requests
- Update DOM with hx-target and hx-swap
- Trigger events with hx-trigger
- Handle loading states with indicators
### Basic Usage
```html
<!-- Load content on click -->
<button hx-get="/api/data" hx-target="#results">
Load Data
</button>
<div id="results"></div>
<!-- Form submission -->
<form hx-post="/api/submit" hx-target="#response">
<input type="text" name="query">
<button type="submit">Submit</button>
</form>
<div id="response"></div>
```
### Triggers
```html
<!-- Trigger on different events -->
<input hx-get="/search" hx-trigger="keyup changed delay:500ms" hx-target="#results">
<!-- Trigger on page load -->
<div hx-get="/initial-data" hx-trigger="load"></div>
<!-- Trigger on intersection -->
<div hx-get="/more" hx-trigger="intersect once"></div>
```
### Swap Options
```html
<!-- Different swap strategies -->
<div hx-get="/content" hx-swap="innerHTML">Replace inner</div>
<div hx-get="/content" hx-swap="outerHTML">Replace entire element</div>
<div hx-get="/content" hx-swap="beforeend">Append</div>
<div hx-get="/content" hx-swap="afterbegin">Prepend</div>
```
### Loading States
```html
<button hx-get="/data" hx-indicator="#spinner">
Load
<img id="spinner" class="htmx-indicator" src="/spinner.gif">
</button>
```
## General Best Practices
### Performance
- Minimize HTTP requests
- Optimize images and assets
- Use caching strategies
- Implement lazy loading
- Minify CSS and JavaScript
### Security
- Validate all user inputs
- Use CSRF protection
- Implement proper authentication
- Sanitize output to prevent XSS
- Use HTTPS
### Accessibility
- Use semantic HTML
- Provide alt text for images
- Ensure keyboard navigation
- Maintain color contrast
- Test with screen readers
### SEO
- Use proper heading hierarchy
- Add meta descriptions
- Implement structured data
- Create XML sitemaps
- Optimize page speed
© Mindrally · Apache-2.0 · Mindrally/skills
Similar skills
Everything for Frontend and UI →web-development by other authors comes first.