Claude-skill-registry generic-static-feature-developer
Guide feature development for static HTML/CSS/JS sites. Covers patterns, automation workflows, and content validation. Use when adding features, modifying automation, or planning changes.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/generic-static-feature-developer" ~/.claude/skills/majiayu000-claude-skill-registry-generic-static-feature-developer && rm -rf "$T"
manifest:
skills/data/generic-static-feature-developer/SKILL.mdsource content
Static Site Feature Developer
Guide feature development for minimalist static sites.
Extends: Generic Feature Developer - Read base skill for development workflow, scope assessment, and build vs integrate decisions.
Static Site Architecture
Typical Structure
project/ ├── index.html # Main page ├── style.css # All styles ├── script.js # All interactions ├── assets/ # Images, icons ├── .github/workflows/ # Automation (optional) └── docs/ # Documentation
No Build Tools Philosophy
Edit → Save → Deploy (that's it)
- Pure HTML (no templating engines)
- Pure CSS (no Sass/Less/PostCSS)
- Pure JS (no bundling, no transpilation)
- No
in productionnode_modules
Development Workflow
Local Testing
# Start local server (cross-platform options) python -m http.server 8000 # Windows python3 -m http.server 8000 # macOS/Linux npx serve . # Node.js (recommended - all platforms) # Visit http://localhost:8000
Before Committing
- Test in Chrome, Firefox, Safari
- Test at 375px, 768px, 1024px
- Run Lighthouse audit
- Screenshot current state (for comparison)
Progressive Enhancement
Philosophy
- Content first - Works without CSS/JS
- Enhance with CSS - Better styling for capable browsers
- Enhance with JS - Interactivity for JS-enabled browsers
Example Pattern
<!-- Works without JS --> <details> <summary>Menu</summary> <nav> <a href="#about">About</a> <a href="#contact">Contact</a> </nav> </details>
// Enhancement: Custom animation when JS available if ("IntersectionObserver" in window) { // Progressive enhancement }
Vanilla JavaScript Patterns
Event Delegation
// One listener for many elements document.body.addEventListener("click", (e) => { if (e.target.matches(".menu-toggle")) { toggleMenu(); } if (e.target.matches(".close-btn")) { closeModal(); } });
DOM Ready
// Modern approach document.addEventListener("DOMContentLoaded", () => { initApp(); }); // Or: script at end of body (no event needed)
Class Toggling
// Toggle visibility element.classList.toggle("visible"); // Add/remove element.classList.add("active"); element.classList.remove("active");
Automation (GitHub Actions)
Simple Deploy Workflow
# .github/workflows/deploy.yml name: Deploy on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./
Image Optimization
# Optimize before committing # PNG pngquant --quality=65-80 image.png # JPEG jpegoptim --max=80 image.jpg # WebP conversion cwebp -q 80 image.png -o image.webp
Feature Checklist
Before Starting:
- Read CLAUDE.md for project constraints
- Check existing patterns to reuse
- Understand performance budget
During Development:
- One change at a time
- Test in multiple browsers
- Test responsiveness
- Keep page weight in budget
Before Completion:
- Lighthouse 95+ Performance
- All breakpoints tested
- Screenshots for comparison
- Documentation updated
Performance Targets
| Metric | Target |
|---|---|
| Total weight | < 50KB |
| First Contentful Paint | < 1s |
| Lighthouse Performance | 95+ |
See Also
- Generic Feature Developer - Workflow, decisions
- Code Review Standards - Quality requirements
- Design Patterns - UI patterns