Skip to main content

Ship Web Service

Ship API+SPA using research, browser, and deploy.

Skill metadata​

SourceBundled (installed by default)
Pathskills/software-development/ship-web-service
Version1.2.0
AuthorVibeOS
LicenseMIT
Platformslinux, macos
Tagsweb, fullstack, deploy, research, browser, language-pack
Related skillsinternet-starter, popular-web-designs, browser-e2e, browser-network-assert, design-to-code-loop, desktop-local-preview, lang-typescript, lang-python, codebase-navigate, deploy-presets

Reference: full SKILL.md​

info

The following is the complete skill definition that VibeOS loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.

Ship Web Service Skill

Glue for fullstack internet projects: scaffold → port check → index → browser smoke → deploy recipe. Uses existing packs/skills — no new core tools.

When to Use​

  • User wants an API + SPA (or landing) that can be deployed
  • After internet-starter scaffold, before production hardening

Prerequisites​

vibeos pack apply project-intelligence --apply
vibeos pack apply lang-typescript --apply # SPA
# and/or
vibeos pack apply lang-python --apply # FastAPI / backend
vibeos pack apply research-pro --apply # optional competitive brief

Browser toolset available for smoke (browser_navigate). Deploy credentials only via .env / hosting docs — never invent secrets.

How to Run​

  1. Scaffold: vibeos project new fullstack ./app (or next / fastapi).
  2. Apply language + project-intelligence packs; vibeos project index build.
  3. Optional brand: design-to-code-loop (extract tokens) + popular-web-designs.
  4. Dev-server awareness: vibeos project servers --free 3000 (and --free 8000 for API). If busy, reuse — do not duplicate.
  5. Start local servers via terminal (background).
  6. Confirm: vibeos project servers --expect 3000 --health (and API port).
  7. Desktop: /preview or markdown [Preview:…](#preview/…) (desktop-local-preview).
  8. Browser smoke: health URL, then one primary page (browser-e2e).
  9. Network assert: browser-network-assert probes for /health (and API).
  10. Deploy: project scripts/deploy*.sh, or deploy-presets / cloudflare-temporary-deploy / optional fly-deploy / docker-vps-ship — do not invent CI.

Quick Reference​

GoalSurface
Scaffoldvibeos project new / internet-starter
Port / healthvibeos project servers [--free|--expect|--health]
Navigatevibeos project index query
Design lookdesign-to-code-loop + popular-web-designs
Desktop preview/preview / desktop-local-preview
Researchvibeos pack apply research-pro
Browser smokebrowser_navigate + snapshot (browser-e2e)
Network assertbrowser-network-assert / assert_network.py
Durable hostoptional fly-deploy or docker-vps-ship
Language doctorvibeos language doctor

Procedure (monorepo)​

  1. Keep roots clear: apps/web (SPA) and apps/api (API); one language pack per root.
  2. Cite index path:line when changing handlers/routes.
  3. Health check (--expect + --health) before any deploy; staging first when a staging URL exists.
  4. Never enable billing/prod payment as part of this skill.

Verify checklist​

[ ] scaffold created with /health (or /api/health)
[ ] vibeos project servers --free <port> passed (or reused existing)
[ ] vibeos project servers --expect <port> --health → ok
[ ] browser: health + primary page
[ ] assert_network.py probes → ok
[ ] vibeos language doctor (when packs applied)
[ ] deploy only after health green; no .env committed

Pitfalls​

  • Do not add core tools for “deploy” or “browser verify”.
  • Do not commit .env; use host secrets and example files only.
  • Do not start a second Next/uvicorn when the port is already listening.

Verification​

vibeos project servers --health
vibeos language doctor
vibeos doctor --project
# curl or browser: /health returns ok