warp
Expert guidance for Warp, the modern terminal built for developer productivity. Helps developers create Warp Workflows (shareable command templates), configure Warp Drive for team knowledge sharing, and leverage Warp's AI features and block-based editing for efficient terminal usage.
What this skill does
# Warp โ Modern Terminal & Workflow Automation
## Overview
Warp, the modern terminal built for developer productivity. Helps developers create Warp Workflows (shareable command templates), configure Warp Drive for team knowledge sharing, and leverage Warp's AI features and block-based editing for efficient terminal usage.
## Instructions
### Warp Workflows
Create reusable, parameterized command templates:
```yaml
# ~/.warp/workflows/deploy-service.yaml โ Parameterized deployment workflow
name: Deploy Service
description: Build and deploy a service to production with health checks
author: DevOps Team
tags: [deploy, production, docker]
command: |-
echo "๐ Deploying {{service_name}} to {{environment}}..." &&
docker build -t {{registry}}/{{service_name}}:{{version}} . &&
docker push {{registry}}/{{service_name}}:{{version}} &&
kubectl set image deployment/{{service_name}} \
{{service_name}}={{registry}}/{{service_name}}:{{version}} \
-n {{namespace}} &&
kubectl rollout status deployment/{{service_name}} -n {{namespace}} --timeout=300s &&
echo "โ
Deployment complete. Running health check..." &&
curl -sf https://{{service_name}}.{{domain}}/health || \
(echo "โ Health check failed! Rolling back..." && \
kubectl rollout undo deployment/{{service_name}} -n {{namespace}} && exit 1)
arguments:
- name: service_name
description: Name of the service to deploy
default_value: api-server
- name: environment
description: Target environment
default_value: production
- name: registry
description: Container registry URL
default_value: ghcr.io/myorg
- name: version
description: Image version tag
default_value: latest
- name: namespace
description: Kubernetes namespace
default_value: production
- name: domain
description: Base domain for health check
default_value: api.example.com
```
```yaml
# ~/.warp/workflows/git-cleanup.yaml โ Clean up old git branches
name: Git Branch Cleanup
description: Delete merged branches locally and remotely
tags: [git, cleanup]
command: |-
echo "๐งน Cleaning merged branches..." &&
git fetch --prune &&
echo "Local merged branches:" &&
git branch --merged {{base_branch}} | grep -v "{{base_branch}}" | grep -v "^\*" &&
echo "" &&
read -p "Delete these local branches? (y/n) " confirm &&
if [ "$confirm" = "y" ]; then
git branch --merged {{base_branch}} | grep -v "{{base_branch}}" | grep -v "^\*" | xargs -r git branch -d &&
echo "โ
Local branches cleaned"
fi &&
if [ "{{clean_remote}}" = "true" ]; then
echo "Remote merged branches:" &&
git branch -r --merged {{base_branch}} | grep -v "{{base_branch}}" | grep "origin/" | sed 's/origin\///' &&
read -p "Delete these remote branches? (y/n) " confirm2 &&
if [ "$confirm2" = "y" ]; then
git branch -r --merged {{base_branch}} | grep -v "{{base_branch}}" | grep "origin/" | sed 's/origin\///' | xargs -r -I{} git push origin --delete {} &&
echo "โ
Remote branches cleaned"
fi
fi
arguments:
- name: base_branch
description: Base branch to compare against
default_value: main
- name: clean_remote
description: Also clean remote branches (true/false)
default_value: "false"
```
```yaml
# ~/.warp/workflows/db-ops.yaml โ Database operations workflow
name: Database Operations
description: Common database tasks with safety checks
tags: [database, postgres, backup]
command: |-
{{#if (eq operation "backup")}}
echo "๐ฆ Backing up {{db_name}} on {{host}}..." &&
pg_dump -h {{host}} -U {{user}} -d {{db_name}} \
--format=custom --compress=9 \
-f "backup_{{db_name}}_$(date +%Y%m%d_%H%M%S).dump" &&
echo "โ
Backup complete: backup_{{db_name}}_$(date +%Y%m%d_%H%M%S).dump"
{{else if (eq operation "restore")}}
echo "โ ๏ธ Restoring {{db_name}} from {{backup_file}}..." &&
echo "This will OVERWRITE the current database!" &&
read -p "Continue? (yes/no) " confirm &&
if [ "$confirm" = "yes" ]; then
pg_restore -h {{host}} -U {{user}} -d {{db_name}} \
--clean --if-exists {{backup_file}} &&
echo "โ
Restore complete"
fi
{{else if (eq operation "stats")}}
psql -h {{host}} -U {{user}} -d {{db_name}} -c "
SELECT schemaname, relname, n_tup_ins, n_tup_upd, n_tup_del,
pg_size_pretty(pg_total_relation_size(relid)) as total_size
FROM pg_stat_user_tables ORDER BY pg_total_relation_size(relid) DESC LIMIT 20;"
{{/if}}
arguments:
- name: operation
description: "Operation: backup, restore, or stats"
default_value: backup
- name: db_name
description: Database name
- name: host
description: Database host
default_value: localhost
- name: user
description: Database user
default_value: postgres
- name: backup_file
description: Backup file path (for restore)
default_value: ""
```
### Warp Drive โ Team Knowledge Base
Share workflows and snippets with your team:
```yaml
# Team-shared workflow: New Developer Onboarding
# Stored in Warp Drive, accessible to all team members
name: New Dev Environment Setup
description: Set up local development environment from scratch
tags: [onboarding, setup]
command: |-
echo "๐ง Setting up development environment..." &&
# Clone all required repositories
echo "๐ฅ Cloning repositories..." &&
mkdir -p ~/projects &&
cd ~/projects &&
git clone [email protected]:{{org}}/api.git &&
git clone [email protected]:{{org}}/frontend.git &&
git clone [email protected]:{{org}}/infrastructure.git &&
# Install dependencies
echo "๐ฆ Installing dependencies..." &&
cd api && npm install && cd .. &&
cd frontend && npm install && cd .. &&
# Set up local services
echo "๐ณ Starting Docker services..." &&
cd infrastructure &&
docker compose -f docker-compose.local.yml up -d &&
# Run database migrations
echo "๐๏ธ Running migrations..." &&
cd ../api &&
npm run db:migrate &&
npm run db:seed &&
# Verify everything works
echo "๐งช Running smoke tests..." &&
npm run test:smoke &&
echo "โ
Environment ready! Start the API: cd api && npm run dev"
arguments:
- name: org
description: GitHub organization
default_value: mycompany
```
### Custom Themes
```yaml
# ~/.warp/themes/custom-theme.yaml โ Custom terminal theme
name: Midnight Dev
accent: "#7c3aed"
background: "#0f172a"
foreground: "#e2e8f0"
details: darker
terminal_colors:
normal:
black: "#1e293b"
red: "#ef4444"
green: "#22c55e"
yellow: "#eab308"
blue: "#3b82f6"
magenta: "#a855f7"
cyan: "#06b6d4"
white: "#f1f5f9"
bright:
black: "#475569"
red: "#f87171"
green: "#4ade80"
yellow: "#facc15"
blue: "#60a5fa"
magenta: "#c084fc"
cyan: "#22d3ee"
white: "#f8fafc"
```
### Launch Configurations
Configure how Warp starts and behaves:
```yaml
# ~/.warp/launch_configurations.yaml โ Startup configurations
configurations:
- name: Full Stack Dev
tabs:
- title: API Server
directory: ~/projects/api
command: npm run dev
- title: Frontend
directory: ~/projects/frontend
command: npm run dev
- title: Logs
directory: ~/projects
command: docker compose logs -f
- title: Shell
directory: ~/projects
- name: DevOps
tabs:
- title: Cluster
command: kubectl get pods -w --all-namespaces
- title: Monitoring
command: watch -n 5 'kubectl top pods'
- title: Logs
command: stern -n production "api-*" --tail 100
- title: Shell
directory: ~/infrastructure
```
## Warp Features for Developers
### Block-Based Editing
Warp treats each command and its output as a "block." This means you can:
- Select and copy just the output of a command (not the prompt)
- Share a block with teammates (includes command + output)
- Navigate between blocks with Ctrl+Shift+โ/โ
- Search command output with Cmd+F within a block
### AI Command Search
Type `#` in Warp to search for cRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.