Agent skill

tilt

Manages Tilt development environments via CLI and Tiltfile authoring. Must use when working with Tilt or Tiltfiles.

Stars 232
Forks 15

Install this agent skill to your Project

npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/0xbigboss/tilt

SKILL.md

Tilt Development Environment

Automatic Reload Behaviors

Tilt live-reloads aggressively. Never suggest restarting tilt up or manually refreshing resources—Tilt handles this automatically in nearly all cases.

What Reloads Automatically

Change Type What Happens Your Action
Tiltfile edits Tilt re-evaluates the entire Tiltfile on save Just save the file
Source code with live_update Files sync to container without rebuild Just save the file
Source code without live_update Full image rebuild triggers automatically Just save the file
Kubernetes manifests Resources re-apply automatically Just save the file
Frontend with HMR Browser updates via Hot Module Replacement Just save the file
Backend with watch tools Process restarts via nodemon/air/watchexec Just save the file

When Restart IS Actually Needed

Restarting tilt up is required only for:

  • Tilt version upgrades
  • Changing Tilt's port or host settings
  • Recovering from Tilt crashes
  • Kubernetes context changes (switching clusters)

Verifying Updates Applied

Instead of restarting, verify updates propagated:

bash
# Check resource status after saving
tilt get uiresource/<name> -o json | jq '.status.updateStatus'

# Watch for update completion
tilt wait --for=condition=Ready uiresource/<name> --timeout=60s

# Check recent logs for reload confirmation
tilt logs <resource> --since 1m
tilt logs <resource> --since 5m | rg -i "reload|restart|updated|synced"

Running tilt up

Always run tilt up in a tmux session using send-keys. This ensures:

  • Tilt survives Claude Code session reloads
  • Shell initialization runs (PATH, direnv, etc.)
bash
SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD)

# Start tilt in tmux (idempotent, send-keys for proper shell init)
if ! tmux has-session -t "$SESSION" 2>/dev/null; then
  tmux new-session -d -s "$SESSION" -n tilt
  tmux send-keys -t "$SESSION:tilt" 'tilt up' Enter
  echo "Started tilt in tmux session: $SESSION"
elif ! tmux list-windows -t "$SESSION" -F '#{window_name}' | grep -q "^tilt$"; then
  tmux new-window -t "$SESSION" -n tilt
  tmux send-keys -t "$SESSION:tilt" 'tilt up' Enter
  echo "Added tilt window to session: $SESSION"
else
  echo "Tilt already running in session: $SESSION"
fi

To check tilt output:

bash
SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD)
tmux capture-pane -p -t "$SESSION:tilt" -S -50

To stop tilt:

bash
SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD)
tmux send-keys -t "$SESSION:tilt" C-c

Never run tilt up directly in foreground or with run_in_background. Always use tmux.

Instructions

  • Use tilt get uiresources -o json to query resource status programmatically
  • Use tilt get uiresource/<name> -o json for detailed single resource state
  • Use tilt logs with --since, --tail, --json flags for log retrieval
  • Use tilt trigger <resource> to force updates when auto-reload didn't trigger
  • Use tilt wait to block until resources reach ready state
  • For Tiltfile authoring, see @TILTFILE_API.md
  • For complete CLI reference with JSON parsing patterns, see @CLI_REFERENCE.md

Quick Reference

Check Resource Status

bash
tilt get uiresources -o json | jq '.items[] | {name: .metadata.name, runtime: .status.runtimeStatus, update: .status.updateStatus}'

Wait for Resource Ready

bash
tilt wait --for=condition=Ready uiresource/<name> --timeout=120s

Get Resource Logs

bash
tilt logs <resource>              # Current logs
tilt logs <resource> --since 5m   # Logs from last 5 minutes
tilt logs <resource> --tail 100   # Last 100 lines
tilt logs --json                  # JSON Lines output

Trigger Update

bash
tilt trigger <resource>

Lifecycle Commands

bash
tilt up        # Start Tilt
tilt down      # Stop and clean up
tilt ci        # CI/batch mode

Resource Status Values

  • RuntimeStatus: unknown, none, pending, ok, error, not_applicable
  • UpdateStatus: none, pending, in_progress, ok, error, not_applicable

References

Expand your agent's capabilities with these related and highly-rated skills.

aiskillstore/marketplace

perigon-backend

Perigon ASP.NET Core + EF Core + Aspire conventions

232 15
Explore
aiskillstore/marketplace

perigon-agent

Pointers for Copilot/agents to apply Perigon conventions

232 15
Explore
aiskillstore/marketplace

perigon-angular

Angular 21+ standalone/Material/signal conventions for Perigon WebApp

232 15
Explore
aiskillstore/marketplace

fastapi-mastery

Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.

232 15
Explore
aiskillstore/marketplace

context7-efficient

Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.

232 15
Explore
aiskillstore/marketplace

browser-use

Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.

232 15
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results