Skills
Skills are production-ready code patterns you can instantly apply to your project. Instead of writing common functionality from scratch, use battle-tested implementations for authentication, payments, APIs, and more.
How Skills Work#
When you invoke a skill, Bootspring:
- Loads the pattern with full implementation code
- Adapts to your project using context from CLAUDE.md
- Generates ready-to-use code with proper imports and types
Your Request
│
▼
┌─────────────────────────────────────┐
│ Bootspring Skill │
│ ┌─────────────┐ ┌──────────────┐ │
│ │ Pattern │ │ Project │ │
│ │ Code │ +│ Context │ │
│ │ │ │ │ │
│ └─────────────┘ └──────────────┘ │
└─────────────────────────────────────┘
│
▼
Production-Ready Code
Skill Categories#
Authentication (6 patterns)#
| Skill | Description | Stack |
|---|---|---|
auth/clerk | Clerk authentication | Next.js, Clerk |
auth/nextauth | NextAuth.js setup | Next.js, NextAuth |
auth/auth0 | Auth0 integration | Next.js, Auth0 |
auth/supabase | Supabase Auth | Next.js, Supabase |
auth/magic-link | Passwordless login | Any |
auth/social-providers | OAuth providers | Any |
Payments (8 patterns)#
| Skill | Description | Stack |
|---|---|---|
payments/stripe-checkout | Stripe Checkout | Next.js, Stripe |
payments/stripe-subscriptions | Subscription billing | Next.js, Stripe |
payments/stripe-customer-portal | Customer portal | Next.js, Stripe |
payments/stripe-webhooks | Webhook handling | Next.js, Stripe |
payments/usage-billing | Usage-based billing | Next.js, Stripe |
payments/metered-billing | Metered subscriptions | Next.js, Stripe |
payments/invoice-generation | PDF invoices | Next.js |
payments/tax-calculation | Tax handling | Stripe Tax |
Database (7 patterns)#
| Skill | Description | Stack |
|---|---|---|
database/prisma-setup | Prisma configuration | Prisma, PostgreSQL |
database/migrations | Migration patterns | Prisma |
database/soft-deletes | Soft delete pattern | Prisma |
database/multi-tenant | Multi-tenancy | Prisma |
database/row-level-security | RLS patterns | PostgreSQL |
database/connection-pooling | Connection management | Prisma |
database/seeding | Database seeding | Prisma |
API (6 patterns)#
| Skill | Description | Stack |
|---|---|---|
api/rest-crud | RESTful CRUD | Next.js API |
api/graphql | GraphQL setup | Apollo, Nexus |
api/trpc | tRPC integration | Next.js, tRPC |
api/rate-limiting | Rate limiting | Next.js |
api/api-keys | API key auth | Next.js |
api/versioning | API versioning | Next.js |
Email (5 patterns)#
| Skill | Description | Stack |
|---|---|---|
email/resend | Resend integration | React Email |
email/transactional | Transactional emails | Any provider |
email/templates | Email templates | React Email |
email/queuing | Email queues | Any |
email/tracking | Open/click tracking | Any |
Storage (4 patterns)#
| Skill | Description | Stack |
|---|---|---|
storage/s3 | AWS S3 uploads | Next.js, AWS |
storage/cloudflare-r2 | R2 storage | Cloudflare |
storage/uploadthing | UploadThing | Next.js |
storage/presigned-urls | Secure uploads | Any S3-compatible |
Caching (4 patterns)#
| Skill | Description | Stack |
|---|---|---|
caching/redis | Redis caching | Redis, Upstash |
caching/in-memory | In-memory cache | Node.js |
caching/cdn | CDN caching | Vercel, Cloudflare |
caching/incremental | ISR patterns | Next.js |
Real-time (4 patterns)#
| Skill | Description | Stack |
|---|---|---|
realtime/websockets | WebSocket server | Node.js |
realtime/pusher | Pusher integration | Pusher |
realtime/ably | Ably integration | Ably |
realtime/sse | Server-sent events | Next.js |
Search (3 patterns)#
| Skill | Description | Stack |
|---|---|---|
search/algolia | Algolia search | Algolia |
search/typesense | Typesense search | Typesense |
search/postgres-fulltext | PostgreSQL FTS | PostgreSQL |
AI Integration (5 patterns)#
| Skill | Description | Stack |
|---|---|---|
ai/openai-chat | ChatGPT integration | OpenAI |
ai/anthropic | Claude integration | Anthropic |
ai/embeddings | Vector embeddings | OpenAI, Pinecone |
ai/rag | RAG pipeline | LangChain |
ai/streaming | Streaming responses | Vercel AI SDK |
Monitoring (4 patterns)#
| Skill | Description | Stack |
|---|---|---|
monitoring/sentry | Error tracking | Sentry |
monitoring/posthog | Product analytics | PostHog |
monitoring/logging | Structured logging | Pino |
monitoring/health-checks | Health endpoints | Next.js |
Security (5 patterns)#
| Skill | Description | Stack |
|---|---|---|
security/csrf | CSRF protection | Next.js |
security/cors | CORS configuration | Next.js |
security/content-security | CSP headers | Next.js |
security/input-validation | Input sanitization | Zod |
security/encryption | Data encryption | Node.js crypto |
Using Skills#
Natural Language#
Simply ask your AI assistant:
Use the payments/stripe-checkout skill to add checkout to my app.
Apply the auth/clerk skill to set up authentication.
Use the database/multi-tenant skill for organization isolation.
Best Practices for Requests#
Be Specific About Requirements:
# Less effective
Use the payments skill for subscriptions.
# More effective
Use the payments/stripe-subscriptions skill with:
- Monthly and annual plans
- Free trial period of 14 days
- Proration on plan changes
- Cancel at period end
Provide Context:
Use the database/multi-tenant skill with context:
- Users belong to organizations (workspaces)
- Each org has its own data isolation
- Users can be members of multiple orgs
- Need audit logging per tenant
Specify Output Location:
Use the api/rate-limiting skill and add it to the
existing middleware in src/middleware.ts
Skill Output#
When you invoke a skill, you receive:
1. Implementation Code#
Complete, production-ready code files:
1// lib/stripe.ts
2import Stripe from 'stripe';
3
4export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
5 apiVersion: '2023-10-16',
6});
7
8export async function createCheckoutSession(priceId: string, userId: string) {
9 return stripe.checkout.sessions.create({
10 mode: 'subscription',
11 payment_method_types: ['card'],
12 line_items: [{ price: priceId, quantity: 1 }],
13 success_url: `${process.env.NEXT_PUBLIC_URL}/success`,
14 cancel_url: `${process.env.NEXT_PUBLIC_URL}/pricing`,
15 client_reference_id: userId,
16 });
17}2. Configuration Files#
Required environment variables and config:
# .env.local additions
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...3. Database Changes#
Schema updates if needed:
1// prisma/schema.prisma additions
2model Subscription {
3 id String @id @default(cuid())
4 userId String @unique
5 stripeCustomerId String @unique
6 stripeSubscriptionId String @unique
7 stripePriceId String
8 status String
9 currentPeriodEnd DateTime
10 createdAt DateTime @default(now())
11 updatedAt DateTime @updatedAt
12 user User @relation(fields: [userId], references: [id])
13}4. Integration Guide#
Step-by-step instructions:
1## Integration Steps
2
31. Install dependencies: `npm install stripe`
42. Add environment variables to `.env.local`
53. Run database migration: `npx prisma db push`
64. Add webhook endpoint to Stripe dashboard
75. Import and use the checkout functionSkill Chaining#
Combine skills for complete features:
Building a SaaS Payment System#
1. auth/clerk
→ Set up user authentication
2. database/prisma-setup
→ Configure database
3. payments/stripe-checkout
→ Add checkout flow
4. payments/stripe-subscriptions
→ Handle recurring billing
5. payments/stripe-customer-portal
→ Let users manage subscriptions
6. payments/stripe-webhooks
→ Handle Stripe events
7. email/transactional
→ Send receipt emails
Building a Real-time App#
1. database/prisma-setup
→ Configure database
2. auth/clerk
→ User authentication
3. realtime/websockets
→ WebSocket server
4. caching/redis
→ Pub/sub messaging
5. monitoring/logging
→ Request logging
Customizing Skills#
Project-Specific Patterns#
Add custom patterns in bootspring.config.js:
1module.exports = {
2 skills: {
3 customPatterns: {
4 'api/my-rest-pattern': {
5 description: 'Our custom REST pattern with logging',
6 files: [
7 {
8 path: 'lib/api/{{name}}.ts',
9 template: 'templates/api-route.ts.hbs',
10 },
11 ],
12 },
13 },
14 },
15};Skill Preferences#
Set default technologies:
1module.exports = {
2 skills: {
3 preferences: {
4 auth: 'clerk', // Default auth provider
5 payments: 'stripe', // Default payment provider
6 email: 'resend', // Default email provider
7 database: 'prisma', // Default ORM
8 },
9 },
10};Enable/Disable Skills#
Control available skills:
1module.exports = {
2 skills: {
3 // Only enable specific categories
4 enabled: ['auth', 'payments', 'database', 'api'],
5
6 // Or disable specific skills
7 // disabled: ['ai/openai-chat', 'realtime/pusher'],
8 },
9};Tier Access#
| Tier | Skills Available |
|---|---|
| Free | 25 core patterns |
| Pro | Free + 20 advanced patterns |
| Team | Pro + custom patterns |
| Enterprise | All + unlimited custom |
Free Tier Patterns#
- All auth patterns
- Basic payment patterns
- Database fundamentals
- Core API patterns
- Email basics
Pro Tier Additions#
- Advanced payment patterns (usage billing, metered)
- Real-time patterns
- AI integration patterns
- Advanced caching
- Full monitoring suite
Best Practices#
1. Start with Auth + Database#
Always set up authentication and database first:
1. auth/clerk (or your auth choice)
2. database/prisma-setup
3. Then add features
2. Use Related Skills Together#
Some skills work best in combination:
| Primary | Related |
|---|---|
| payments/stripe-checkout | payments/stripe-webhooks |
| auth/clerk | database/prisma-setup |
| api/rest-crud | api/rate-limiting |
| ai/embeddings | search/postgres-fulltext |
3. Review Generated Code#
Always review skill output:
- Check imports match your project
- Verify environment variables
- Test thoroughly before deploying
4. Customize for Your Project#
Modify generated code to match:
- Your naming conventions
- Error handling patterns
- Logging standards
Troubleshooting#
Skill Not Found#
Check the exact skill name:
bootspring skill listWrong Stack Generated#
Override in config:
1module.exports = {
2 stack: {
3 frontend: ['react', 'nextjs'],
4 database: ['postgresql', 'prisma'],
5 },
6};Missing Dependencies#
Skills list required packages:
npm install stripe @stripe/stripe-jsIntegration Issues#
Ensure your context is updated:
bootspring generateRelated#
- Using Skills - Getting started guide
- bootspring_skill - Tool reference
- Custom Patterns - Creating custom skills
- Skills Reference - Full pattern documentation