Agent Skills: Using CLI Tools

Enforces CLI tool usage over web dashboards for reproducibility and scriptability. Use when working with Git/GitHub, Supabase, Vercel, Netlify, Cloudflare, AWS, Stripe, Prisma, Docker, or any cloud service. Triggers on deployments, database operations, migrations, PRs, issues, webhooks, or environment management.

UncategorizedID: augmnt/webdev-skills/using-cli-tools

Install this agent skill to your local

pnpm dlx add-skill https://github.com/augmnt/webdev-skills/tree/HEAD/skills/using-cli-tools

Skill Files

Browse the full folder contents for using-cli-tools.

Download Skill

Loading file tree…

skills/using-cli-tools/SKILL.md

Skill Metadata

Name
using-cli-tools
Description
Enforces CLI tool usage over web dashboards for reproducibility and scriptability. Use when working with Git/GitHub, Supabase, Vercel, Netlify, Cloudflare, AWS, Stripe, Prisma, Docker, or any cloud service. Triggers on deployments, database operations, migrations, PRs, issues, webhooks, or environment management.

Using CLI Tools

Prefer CLI tools over web dashboards. CLIs are scriptable, reproducible, and keep developers in flow.

Principle: If a CLI exists for a service, use it. Only fall back to web UI when the CLI genuinely can't do the task.

Quick Reference

| Category | Tools | |----------|-------| | Hosting | vercel, netlify, wrangler, railway, flyctl | | Backend/DB | supabase, prisma, aws | | Payments | stripe | | Dev Tools | gh, docker compose, ngrok, turbo |

Git & GitHub (gh)

gh pr create --title "feat: add auth" --body "..."
gh pr list --state open
gh pr checkout 123
gh pr merge --squash
gh issue create --title "Bug" --label bug
gh run list
gh run view 12345 --log

Supabase (supabase)

supabase link --project-ref <ref>
supabase db push
supabase db pull
supabase migration new <name>
supabase functions deploy <name>
supabase gen types typescript --linked > types/supabase.ts

Vercel (vercel)

vercel                  # preview deploy
vercel --prod           # production deploy
vercel env pull .env.local
vercel logs <url>

Netlify (netlify)

netlify init
netlify dev             # local dev server with functions
netlify deploy          # draft deploy
netlify deploy --prod
netlify env:set KEY value
netlify functions:serve

Cloudflare (wrangler)

wrangler init
wrangler dev            # local dev
wrangler deploy
wrangler pages deploy ./dist
wrangler kv:namespace create <name>
wrangler r2 bucket create <name>
wrangler secret put <name>

Prisma (prisma)

npx prisma init
npx prisma generate     # generate client
npx prisma db push      # sync schema (dev)
npx prisma migrate dev  # create migration
npx prisma migrate deploy
npx prisma studio       # visual editor

Stripe (stripe)

stripe login
stripe listen --forward-to localhost:3000/api/webhooks
stripe trigger payment_intent.succeeded
stripe logs tail
stripe products create --name="Pro Plan"

Docker (docker compose)

docker compose up -d
docker compose logs -f <service>
docker compose exec <service> sh
docker compose down
docker compose build --no-cache

Package Manager Detection

Respect the project's lock file:

  • package-lock.jsonnpm
  • pnpm-lock.yamlpnpm
  • yarn.lockyarn
  • bun.lockbbun

Never mix package managers in the same project.

Additional Tools

For less common but useful CLIs, see ADDITIONAL-TOOLS.md:

  • AWS CLI basics
  • Railway, Fly.io
  • ngrok, Turborepo
  • Database CLIs (Planetscale, Neon)

When CLI Unavailable

If a task requires the web UI (e.g., enabling a Supabase extension), note this explicitly with the exact navigation path.