skills/val-town-cli/SKILL.md
Manage Val Town projects using the vt CLI. Use when working with Vals (Val Town serverless functions), syncing code to Val Town, creating HTTP endpoints, streaming logs, or managing Val Town branches. Triggers on tasks involving Val Town development, val creation/editing, or when user mentions "vt", "val town", or "vals".
npx skillsauth add nbbaier/agent-skills val-town-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The vt CLI manages Val Town projects locally. Key concepts:
index.http.tsx)| Task | Command |
|------|---------|
| Create new val | vt create my-val |
| Clone existing | vt clone username/valName |
| Push changes | vt push |
| Pull updates | vt pull |
| Auto-sync | vt watch |
| View in browser | vt browse |
| Stream logs | vt tail |
| Check status | vt status |
| List your vals | vt list |
vt create my-api
cd my-api
# Edit files...
vt push
vt browse # Open in browser
vt clone username/valName
cd valName
# Edit files...
vt push
cd my-val
vt watch # Syncs on every file save
cd my-val
vt checkout -b my-feature
# Make changes...
vt push
vt checkout main
Val Town detects file types by naming patterns:
| Pattern | Val Type |
|---------|----------|
| *.http.ts, *.http.tsx | HTTP endpoint |
| *.cron.ts | Scheduled cron job |
| *.email.ts | Email handler |
| Other .ts/.tsx files | Script val |
Example: To create an HTTP API, name the file api.http.ts or index.http.tsx.
vt create my-val # New val in ./my-val
vt create my-val ./existing-folder # Upload existing files
vt create my-val --private # Private val
vt create my-val --org-name myorg # Under an organization
vt clone # Interactive selection
vt clone username/valName # By name
vt clone https://www.val.town/x/user/val # By URL
vt clone username/valName . # Into current directory
Fork someone else's val:
vt remix std/reactHonoStarter myWebsite
cd myWebsite
vt watch
vt branch # List branches
vt checkout main # Switch branch
vt checkout -b feature # Create new branch
vt branch -D feature # Delete branch
vt tail # Stream current val's logs
vt tail @user/valName # Stream specific val
vt tail --print-headers # Include HTTP headers
vt tail --reverse-logs # Latest first
vt config options # List options
vt config set dangerousOperations.confirmation false # Disable confirmations
vt config ignore # Edit global .vtignore
After cloning/creating, a val directory contains:
.vt/ - Metadata (like .git).vtignore - Files to exclude from syncdeno.json - Deno LSP configuration.ts, .tsx, etc.)vt push --dry-run to preview changes before pushingvt checkout --dry-run to preview branch switch effectsvt watch command enables live reloading with the browser companion extensiondevelopment
Ideate and critique data visualizations using Edward Tufte's principles from "The Visual Display of Quantitative Information." Use this skill when: (1) Designing new data visualizations or charts (2) Critiquing or improving existing visualizations (3) Reviewing dashboards or reports for graphical integrity (4) Deciding between visualization approaches (5) Reducing chartjunk or improving data-ink ratio (6) Planning small multiples or high-density displays Applies principles: data-ink ratio, chartjunk elimination, graphical integrity, lie factor, small multiples, and data density.
development
Guidelines for proper React useEffect usage and avoiding unnecessary Effects. Use when writing, reviewing, or refactoring React components that use useEffect, useState, or handle side effects. Triggers on tasks involving React Effects, derived state, event handlers, data fetching, or component synchronization.
testing
Audit and harden Node.js projects against npm supply chain attacks — compromised maintainer accounts, malicious package versions, and install-script payloads. Use when reviewing or setting up package.json, lockfiles, .npmrc, Dockerfile, or CI workflows for security; when the user mentions npm security, supply chain attacks, `npm audit`, lockfile policy, install scripts, or min-release-age; also when the user wants to check whether their dependencies are safe, or recover from a suspected compromise.
tools
Use before implementing logs in a medium to large scale production system.