SolidJS is a library designed for building user interfaces with optimal performance. It provides a reactive programming model that updates the DOM efficiently without using a virtual DOM.
$ npx skills add https://github.com/suryavirkapur/skills --skill solidjsThis SolidJS skill provides comprehensive support for building performant user interfaces using SolidJS's reactive programming model. It covers core framework concepts including component creation, reactive stores, routing configuration, and SolidStart full-stack development. The skill helps developers implement efficient DOM updates without virtual DOM overhead, making it ideal for building fast, responsive web applications. Teams adopting SolidJS for performance-critical projects can use this skill to accelerate development with pre-configured patterns and best practices.
Install with the command: `$ npx skills add https://github.com/suryavirkapur/skills --skill solidjs`
Creating responsive user interfaces
Building reusable UI components
Implementing state management in web applications
$ npx skills add https://github.com/suryavirkapur/skills --skill solidjsgit clone https://github.com/suryavirkapur/skillsCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
Act as a SolidJS expert and help me [TASK] in [PROJECT_NAME]. Use [COMPANY]'s [INDUSTRY] best practices and [DATA] to create a [SOLUTION_TYPE]. Explain your reasoning step by step.
# SolidJS Component Implementation Guide
## Task: Create a High-Performance Product Card Component
Here's a complete implementation for your e-commerce dashboard:
```jsx
import { createSignal, onCleanup } from 'solid-js';
const ProductCard = ({ product }) => {
const [isHovered, setIsHovered] = createSignal(false);
const [timeLeft, setTimeLeft] = createSignal(
Math.max(0, Math.floor((new Date(product.expiryDate) - Date.now()) / 1000))
);
// Countdown timer effect
const timer = setInterval(() => {
const newTime = timeLeft() - 1;
setTimeLeft(newTime > 0 ? newTime : 0);
}, 1000);
onCleanup(() => clearInterval(timer));
return (
<div
class="product-card"
onMouseEnter={() => setIsHovered(true)}
onMouseLeave={() => setIsHovered(false)}
>
<div class="product-image-container">
<img src={product.image} alt={product.name} loading="lazy" />
{timeLeft() > 0 && (
<div class="flash-sale-badge">
{Math.floor(timeLeft() / 3600)}h {Math.floor((timeLeft() % 3600) / 60)}m left
</div>
)}
</div>
<h3>{product.name}</h3>
<div class="price-container">
<span class="original-price">${product.originalPrice}</span>
<span class="discounted-price">${product.discountPrice}</span>
<span class="savings">-{Math.round(100 * (1 - product.discountPrice/product.originalPrice))}%</span>
</div>
<button class="add-to-cart" use:ripple>
{isHovered() ? 'Quick Add' : 'Add to Cart'}
</button>
</div>
);
};
```
## Key Optimizations Implemented:
- **Reactive Countdown**: Uses Solid's fine-grained reactivity for the timer
- **Lazy Loading**: Image loads only when component renders
- **Hover State Management**: Efficiently tracks hover without re-renders
- **Cleanup**: Properly removes interval on unmount
- **CSS-in-JS Ready**: Can be styled with any Solid-compatible solutionTake a free 3-minute scan and get personalized AI skill recommendations.
Take free scan