avinyc:warp-bootstrap
Bootstrap Warp terminal configuration for Rails projects. Creates launch configurations with colored tabs for dev server, Claude, shell, and more. This skill should be used when setting up Warp for a Rails project. Triggers on "setup warp", "configure warp", "warp rails", "warp bootstrap", "terminal setup for rails", "warp-rails".
What this skill does
# Warp Rails Bootstrap
Configure Warp terminal for optimal Rails development with colored tabs.
## Critical Rules
**READ THESE FIRST. VIOLATIONS WILL BREAK THE CONFIG.**
1. **MUST use AskUserQuestion** - Do NOT generate the config until user selects their tabs
2. **MUST use `bin/dev`** - If `bin/dev` exists, use it. Do NOT parse Procfile.dev for individual commands
3. **MUST use lowercase color names** - Only valid: `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`
4. **MUST use `exec:` for commands** - Format: `- exec: bin/dev` NOT `- "bin/dev"`
5. **MUST use absolute paths** - Never use `~` or relative paths in `cwd` field
6. **MUST start YAML with `---`** - The document separator is required
7. **MUST read reference docs** - Before generating YAML, read @./references/launch-config-schema.md
## Workflow
Execute these steps IN ORDER. Do not skip steps.
### Step 1: Verify Rails Project
Run this command:
```bash
test -f config/application.rb && echo "RAILS PROJECT" || echo "NOT RAILS"
```
If NOT RAILS, stop and tell user to run from a Rails directory.
### Step 2: Gather Project Context
Run these commands and store the results:
```bash
# Get absolute path (REQUIRED for cwd)
pwd
# Get project name from directory
basename "$(pwd)"
# Check for bin/dev
test -f bin/dev && echo "HAS_BIN_DEV=true" || echo "HAS_BIN_DEV=false"
# Check for background job processor
grep -l "sidekiq\|good_job\|solid_queue" Gemfile 2>/dev/null && echo "HAS_JOBS=true" || echo "HAS_JOBS=false"
```
**IMPORTANT:**
- If `HAS_BIN_DEV=true`, the dev command is `bin/dev`. Period. Do NOT look inside Procfile.dev.
- If `HAS_BIN_DEV=false`, the dev command is `bin/rails server`.
### Step 3: STOP - Ask Tab Configuration
**You MUST use AskUserQuestion here. Do NOT proceed until user responds.**
Ask: "Which tabs do you want in your Warp launch configuration?"
Use multi-select with these options:
| Label | Description |
|-------|-------------|
| Server (green) | Run dev server (bin/dev or rails server) |
| Claude (blue) | Start Claude Code session |
| Shell (yellow) | Empty terminal for commands |
| Console (magenta) | Rails console |
| Logs (cyan) | Tail log/development.log |
If HAS_JOBS=true, also include:
| Jobs (red) | Background job processor |
**WAIT FOR USER RESPONSE BEFORE CONTINUING.**
### Step 4: Read Reference Documentation
**Before writing ANY YAML, read the schema reference:**
Read @./references/launch-config-schema.md
This ensures you use the correct format.
### Step 5: Generate Launch Configuration
Create the launch configuration file.
**File location:** `~/.warp/launch_configurations/{project-name}.yaml`
**EXACT FORMAT TO USE:**
```yaml
---
name: {project-name}
windows:
- tabs:
- title: Server
color: green
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
commands:
- exec: bin/dev
- title: Claude
color: blue
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
commands:
- exec: claude
- title: Shell
color: yellow
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
```
**FORMAT RULES:**
- File MUST start with `---` (YAML document separator)
- `color` MUST be lowercase: `green`, `blue`, `yellow`, `magenta`, `cyan`, `red`
- `color` MUST NOT be capitalized or an object with r/g/b values
- `commands` MUST use `exec:` prefix: `- exec: bin/dev`
- `commands` MUST NOT be plain strings like `- "bin/dev"`
- `cwd` MUST be the absolute path from `pwd` command (no quotes needed)
- `cwd` MUST NOT use `~` or relative paths
### Step 6: Display Summary
Show the user what was created:
```
Warp launch configuration created for {project-name}!
Location: ~/.warp/launch_configurations/{project-name}.yaml
How to use:
Keyboard: Ctrl-Cmd-L → select "{project-name}"
Direct URL: warp://launch/{project-name}.yaml
Tabs configured:
{list each tab with color and command}
```
## Common Mistakes to Avoid
| Wrong | Right |
|-------|-------|
| `color: Green` | `color: green` |
| `color: { r: 34, g: 197, b: 94 }` | `color: green` |
| `commands: ["bin/dev"]` | `commands: [- exec: bin/dev]` |
| `cwd: ~/project` | `cwd: /Users/avi/project` |
| `cwd: .` | `cwd: /Users/avi/project` |
| Missing `---` at start | Start file with `---` |
| Parsing Procfile.dev for commands | Just use `bin/dev` |
| Skipping AskUserQuestion | MUST ask and wait for response |
## Reference Files
- @./references/launch-config-schema.md - Launch configuration YAML format
Related 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.