Skip to main content
Your team’s knowledge gets lost:
  • ❌ New developers ask: “How do we deploy to staging?”
  • ❌ Different team members follow different patterns
  • ❌ 3 hours lost onboarding each new developer
  • ❌ Tribal knowledge disappears when people leave
  • ❌ AI generates code that doesn’t match your coding standards
  • ❌ Code reviews waste time fixing style inconsistencies
  • ❌ Critical procedures documented in scattered wikis and Slack messages
Customer Success Story:“We created a custom ‘Deploy to Staging’ skill that codified our entire deployment process. The first time a new developer used it, they got it right on try one—no questions, no mistakes. We’ve saved 78% of the time we used to spend on deployment-related troubleshooting.” — Lead DevOps Engineer, SaaS Platform with 15M Users

Why Create Custom Skills?

While ULPI provides 10 production-ready public skills, the real power comes from custom skills—workflows you create specifically for your team’s patterns, tools, and conventions.

Standardize Team Practices

Every team member and AI agent follows the exact same patterns. No more “but I thought we did it this way” confusion.

Document Executable Workflows

Your documentation isn’t just text—it’s working code that AI can execute. Always up-to-date because it’s used every day.

Onboard Instantly

New developers learn by doing. Custom skills guide them through your exact processes from day one.

Preserve Institutional Knowledge

When experienced developers leave, their expertise stays. Capture it once in a skill, use it forever.

Real-World Impact

Custom skills deliver measurable ROI: Time Savings:
  • 78% reduction in deployment troubleshooting (from 3 hours/week to 40 minutes)
  • 2 hours saved per feature by eliminating code review rework
  • 3x faster onboarding for new team members (from 3 days to 1 day for standard procedures)
Quality Improvements:
  • 92% fewer code style inconsistencies in pull requests
  • Zero missed steps in deployment procedures (down from 12 incidents/month)
  • 100% team alignment on coding conventions
All Skills plans include unlimited custom skill creation. Plan limits only affect how many skills can be “active” (ready to use) at once:
  • Starter: 5 active skills
  • Pro: 25 active skills
  • Enterprise: Unlimited active skills

Common Custom Skills

Teams create custom skills for workflows unique to their organization:
Example Skills:
  • Deploy to Staging Environment
  • Deploy to Production with Approval
  • Rollback Production Deployment
  • Deploy Database Migration
  • Create Release Tag and Changelog
Why Custom? Every company has unique deployment processes:
  • Specific approval workflows
  • Custom CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)
  • Environment-specific configuration
  • Company-specific health checks
  • Internal notification systems (Slack, PagerDuty, email)
Time Saved: 78% reduction in deployment errors and troubleshooting time
Example Skills:
  • Run Pre-PR Code Review Checklist
  • Security Audit for Pull Request
  • Performance Review Checklist
  • Accessibility Compliance Check
  • Database Migration Review
Why Custom? Your team’s code review standards are unique:
  • Company-specific security requirements
  • Performance benchmarks for your app
  • Custom linters and formatters
  • Internal compliance rules (GDPR, SOC 2, HIPAA)
  • Team-specific best practices
Time Saved: 2 hours per feature by eliminating back-and-forth on style/process
Example Skills:
  • Implement Feature Following Company Standards
  • Create API Endpoint (Company Style)
  • Write Tests Using Team Framework
  • Add Logging and Error Handling
  • Implement Authentication Flow
Why Custom? Your coding patterns are unique:
  • Specific architecture patterns (layered, clean, hexagonal)
  • Internal libraries and frameworks
  • Custom error handling conventions
  • Logging standards (format, levels, context)
  • Authentication and authorization patterns
Impact: 92% fewer code style inconsistencies in pull requests
Example Skills:
  • Run Security Audit on New Code
  • Check for Secrets in Codebase
  • Validate Input Sanitization
  • Review Authentication Implementation
  • Scan Dependencies for Vulnerabilities
Why Custom? Security requirements vary by industry:
  • Company-specific security tools (Snyk, Checkmarx, internal scanners)
  • Compliance requirements (PCI-DSS, HIPAA, SOC 2)
  • Custom vulnerability detection rules
  • Internal security approval workflows
  • Integration with security ticketing systems
Impact: Zero security incidents from missed security scans (down from 4/year)
Example Skills:
  • Setup Local Development Environment
  • Configure Database and Seed Data
  • Install Team Tools and Extensions
  • Setup Docker Compose Stack
  • Configure IDE Settings
Why Custom? Every team’s setup is different:
  • Specific tool versions (Node 22, PHP 8.2, Python 3.12)
  • Internal package repositories
  • Database connection strings
  • Environment variable templates
  • Team-specific IDE configurations
Time Saved: 3x faster onboarding (from 3 days to 1 day)
Example Skills:
  • Integrate with Internal Payment Service
  • Call Internal Authentication API
  • Fetch Data from Company Data Lake
  • Send Events to Internal Event Bus
  • Generate Client for Internal API
Why Custom? Internal APIs are unique to your organization:
  • Custom authentication schemes
  • Internal API conventions
  • Company-specific error handling
  • Internal rate limiting patterns
  • Documentation links to internal wikis
Impact: 100% correct API integration patterns (down from 40% rework rate)
Example Skills:
  • Backup Production Database
  • Create Database Migration
  • Run Data Transformation Script
  • Optimize Query Performance
  • Setup Database Replication
Why Custom? Database workflows vary by company:
  • Specific backup procedures and retention policies
  • Company-specific migration conventions
  • Custom database tools and utilities
  • Environment-specific connection management
  • Data privacy and masking requirements
Impact: Zero missed backup steps (down from 12 incidents/year)
Example Skills:
  • Send Deployment Notification to Slack
  • Create Incident Report in Jira
  • Email Release Notes to Stakeholders
  • Post Update to Internal Status Page
  • Notify On-Call Engineer
Why Custom? Notification patterns are company-specific:
  • Internal Slack channels and webhooks
  • Company ticketing systems (Jira, Linear, Asana)
  • Email templates and distribution lists
  • Status page integrations (StatusPage, internal tools)
  • PagerDuty/on-call systems
Time Saved: Automated notifications save 30 minutes per deployment

Creating Your First Custom Skill

Let’s walk through creating a “Deploy to Staging Environment” skill—one of the most common and valuable custom skills.

Step 1: Plan Your Skill

Before writing anything, document your current manual process.
1

Define the Goal

What does this skill accomplish?Deploy the application to the staging environment with proper verification and team notification.
2

Identify Prerequisites

What must be true before this skill can run?
  • Docker installed and authenticated to registry
  • kubectl configured for staging cluster
  • Staging namespace exists in Kubernetes
  • Slack webhook URL configured in environment
  • All tests passing locally
3

Document Current Manual Steps

What do you do manually today?
  1. Developer runs npm test
  2. Developer runs npm run build
  3. Developer runs docker build
  4. Developer pushes to registry
  5. Developer runs kubectl apply
  6. Developer checks logs
  7. Developer posts in #deployments Slack channel
4

Define Testing Criteria

How do you verify it worked?
  • Deployment shows READY 3/3
  • All pods in Running state
  • Health endpoint returns 200 OK
  • Smoke tests pass
  • Slack notification posted
5

Identify Next Steps

What happens after this skill completes?
  • Monitor error tracking for 10-15 minutes
  • Verify staging functionality with QA team
  • Create production deployment PR if stable
  • Use “Deploy to Production” skill when approved

Step 2: Create Skill in ULPI Dashboard

1

Navigate to Skills Section

Go to app.ulpi.io/skills → Click Create Skill
2

Fill Basic Information

Name: Deploy to Staging EnvironmentSlug: deploy-to-staging (auto-generated, URL-friendly)Description: Deploy application to staging environment with health checks and team notificationTech Stack Filters: Select technologies this skill applies to
  • docker
  • kubernetes
  • nodejs (or your primary language)
  • Add more as needed
Tags: Categorize for organization
  • deployment
  • devops
  • staging
Status: ✅ Active (makes skill available to AI immediately)
3

Write Skill Content

Write your skill content in the ULPI dashboard editor using Markdown format.Skill Structure:
  1. Title and description
  2. Prerequisites section (required tools, knowledge, environment)
  3. Steps section (numbered, actionable steps with code examples)
  4. Testing section (verification commands and expected results)
  5. Next Steps section (follow-up actions)
Example: Deploy to Staging Environment
  • Prerequisites: Docker, kubectl, Slack webhook, tests passing
  • Steps: Run tests → Build assets → Build Docker image → Push to registry → Deploy to Kubernetes → Run health checks → Notify team (8 steps total)
  • Testing: Check deployment status, pod status, health endpoint, smoke tests
  • Next Steps: Monitor 10-15 minutes, verify with QA, create prod PR if stable
See the “Skill Template Structure” section below for detailed formatting guidelines.
4

Save and Activate

Click Save to create the skill.Toggle Active status to make it available to your AI assistant immediately.

Step 3: Use Your Custom Skill

In your AI coding assistant:
Your AI will:
  1. ✅ Fetch the skill from ULPI via MCP
  2. ✅ Follow all 8 steps sequentially
  3. ✅ Execute commands (with your permission if configured)
  4. ✅ Run health checks and verify deployment
  5. ✅ Notify your team in Slack
  6. ✅ Report completion with next steps
Time to first deployment with skill: ~2 minutes (vs 30-45 minutes manually with potential errors)

Skill Anatomy & Best Practices

Every great skill follows a consistent structure. Here’s what makes a skill effective:

Skill Template Structure

Component Breakdown

Best Practices:
  • Use clear, action-oriented title (starts with verb)
  • Keep description to 1-2 sentences
  • Focus on outcome, not process
Examples:
  • ✅ Good: “Deploy to Production” / “Deploy application to production with zero-downtime rollout”
  • ❌ Bad: “Production Deployment Thing” / “This skill handles various deployment scenarios”
Best Practices:
  • List tools that must be installed
  • Specify knowledge developer should have
  • Note environment configuration needed
  • AI checks these before executing
Examples:
  • ✅ Good: “Docker 20+ installed and authenticated to registry”
  • ❌ Bad: “Docker setup”
Best Practices:
  • Number steps sequentially (AI follows in order)
  • Each step has a clear, actionable title
  • Include code examples for every step
  • Explain the “why,” not just the “what”
  • Make steps atomic (one clear action per step)
Examples:
  • ✅ Good: “Run test suite — Ensure all tests pass before deploying. This prevents deploying broken code to staging.”
  • ❌ Bad: “Step 3 — Do the tests”
Best Practices:
  • Provide commands to verify it worked
  • Specify expected output
  • Include what to do if tests fail
  • AI can execute tests automatically
Examples:
  • ✅ Good: “Run curl https://staging.myapp.com/health. Expected: HTTP 200 with {\"status\": \"ok\"}. If fails: Check pod logs.”
  • ❌ Bad: “Make sure it works”
Best Practices:
  • Suggest follow-up actions
  • Link to related skills
  • Provide documentation references
  • Help AI continue the workflow
Examples:
  • ✅ Good: “Monitor error tracking for 10 minutes. If stable, use ‘Deploy to Production’ skill.”
  • ❌ Bad: “You’re done”

Writing Best Practices

Write Clear Step Titles

❌ Bad: “Do deployment stuff” ✅ Good: “Deploy to Kubernetes staging namespace”❌ Bad: “Step 3” ✅ Good: “Build Docker image with commit SHA tag”

Include Why, Not Just What

❌ Bad:
All tests must pass. If any fail, stop and fix them first.
Expected: Returns PDO object If fails: Check .env database credentials
✅ Good (atomic steps):

Include Error Handling

Tell AI what to do when things go wrong:
If migrations fail:
  • Check for syntax errors
  • Verify database connectivity
  • Ensure migrations haven’t run yet
  • Check user has ALTER permission
  • Roll back if needed

Add Verification Steps

Always include testing/verification:Check health endpoint:
Test critical endpoints:
Check error logs:
Run smoke tests:

Common Custom Skill Templates

1. Deployment Skill Template

Use this template structure for deployment skills: Skill Structure:
  • Title: # Deploy to [Environment]
  • Description: Deploy application to [environment] environment
  • Prerequisites: List required tools and credentials
  • Steps: Numbered deployment steps with bash commands
  • Testing: Health checks and verification steps
  • Next Steps: Post-deployment actions
Example Template:

2. Code Review Checklist Skill

  1. Review test coverage Ensure new code is tested.
    Coverage should be greater than 80% for new files.
  2. Check for security issues Run security scanners.
  3. Verify documentation
    • Are public methods documented?
    • Is README updated if needed?
    • Are breaking changes noted?
  4. Review database changes
    • Do migrations have down() methods?
    • Are indexes added for foreign keys?
    • Is data migration tested?
  5. Check performance
    • Are there N+1 queries?
    • Are expensive operations queued?
    • Are large datasets chunked?
  6. Leave review comment Summarize findings in PR comment.

Testing

  • All checks passed
  • No security vulnerabilities
  • Adequate test coverage

Next Steps

  • Approve PR if all checks pass
  • Request changes if issues found
  • Tag relevant team members for additional review
  1. Install required tools
  2. Clone repository
  3. Copy environment file
    Edit .env with your local database credentials.
  4. Install dependencies
  5. Generate application key
  6. Start services
  7. Run migrations
  8. Start development server

Testing

Next Steps

  • Read team documentation in docs/
  • Ask for code walkthrough from mentor
  • Complete “Hello World” task to verify setup

Sharing Skills

Within Your Team:
  • All team members see custom skills automatically
  • Changes propagate to all AI assistants (1 hour cache)
  • Collaborative skill improvement
With Other Teams (same organization):
  • Custom skills visible across entire organization
  • Use tags to organize by team if needed
With Public (future feature):
  • Submit custom skills to ULPI for review
  • If approved, becomes public skill available to all users
  • Your team gets credit and recognition

Advanced Techniques

Skill Composition

Reference other skills within a skill:
AI will fetch and execute referenced skills automatically.

Conditional Logic

Guide AI through conditional paths:
If migrations changed:
  • Review each migration carefully
  • Test migrations on staging first
  • Prepare rollback plan
  • Continue to step 2
If no migrations:
  • Skip to step 3 (no database changes needed)
Replace with: staging, production, development
Verify: docker images | grep myapp Should show image created just now.
  1. Push to registry
    Verify: docker pull myapp:latest Should download without errors.
  2. Deploy to Kubernetes
    Verify: kubectl get deployment myapp Should show READY 3/3.