source/skills/status/SKILL.md
Reports the current state of the store — what's set up, what's pending, what the URLs are, and what to do next.
npx skillsauth add mitcheman/bodega statusInstall 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.
One-command health check for the store. Answers "where am I?" without
requiring the user to read .bodega.md themselves.
Read .bodega.md. If absent, say (in neutral voice — we don't know the
user's preference yet):
This project doesn't have Bodega set up yet. Run
{{command_prefix}}bodega:setupto start.
Read .bodega.md. Also verify:
vercel project inspect --json)/studio respondsstate.backup: done)Each remote check can fail for reasons unrelated to the store ("Vercel auth expired", "DNS hiccup", "GitHub rate-limit"). Status is read-only, so a failure here is not an error to bail on — it's a data point to report.
Wrap every remote call. On failure, mark the row [?] and surface a
one-line reason + the exact remediation command. Don't crash and don't
print stack traces. Translation table:
| Symptom | Report (developer voice) | Report (simple voice) |
|---|---|---|
| vercel project inspect non-zero exit, stderr contains "not authenticated" / "credentials" | vercel: auth expired — run \vercel login --github`| "I can't talk to Vercel right now — your login expired. Want me to walk you through signing back in?" | |vercel project inspectnon-zero exit, stderr contains "not linked" |vercel: project unlinked — re-run `{{command_prefix}}bodega:hosting`| "Your project isn't connected to Vercel anymore. Want me to reconnect it?" | |vercel project inspectnon-zero exit, any other reason |vercel: query failed (<short stderr line>)| "Something went wrong checking your hosting. Try again in a minute." | | HEAD request to deploy URL timeouts / connection refused |site: unreachable (will retry once)| "Your site didn't answer. I'll try one more time." | | HEAD request returns 5xx |site: returns <status> | "Your store is responding with an error code (<status>)." | | gh repo view <owner>/<repo>401 |github: auth expired — run `gh auth login --web`| "I can't see GitHub right now — your login expired." | |gh repo view404 |github: repo missing (was it renamed or deleted?)` | "Your backup repo isn't there anymore. Check your GitHub account." |
Surface the failed checks alongside the working ones — never let one broken probe blank out the rest of the status table.
Your store: https://muddmannstudio.com [✓ live]
Studio: https://muddmannstudio.com/studio [✓ working]
Set up:
✓ Hosting
✓ Payments (Stripe live)
✓ Studio (your partner is signed in: last activity 2h ago)
✓ Custom domain (muddmannstudio.com)
✓ Backup (last saved 15 min ago)
Nothing needs your attention right now.
If anything is pending or broken, highlight:
Your store: https://muddmannstudio.com [✓ live]
Studio: https://muddmannstudio.com/studio [✓ working]
⚠️ Payments are in preview mode.
Your partner hasn't finished Stripe yet. Customers can see the site
but checkout is disabled.
→ Run `{{command_prefix}}bodega:payments` when their keys are ready.
Store: https://muddmannstudio.com [200 OK]
Studio: https://muddmannstudio.com/studio [200 OK]
state:
hosting: done vercel.app: mudd-mann-studio
payments: done mode: live webhook: ✓
deploy: done last: 2h ago
admin: done merchant: [email protected] last_seen: 2h ago
domain: done custom: muddmannstudio.com verified: ✓
backup: done repo: github.com/mitchellsmith/mudd-mann-studio last_push: 15m
No action needed.
Based on state:
payments: pending → "Your partner hasn't finished Stripe. Nudge them
or run {{command_prefix}}bodega:payments when ready."domain: skipped and state.deploy: done for 2+ weeks → "Still happy
with the free subdomain? Getting your own domain takes 2 minutes and
~$12/year."backup: skipped → "Consider setting up a backup to protect your work."admin last_seen > 30 days → "Your merchant hasn't logged in recently.
Send them a fresh link with {{command_prefix}}bodega:invite."⚠️ Your store seems to be down. I got an error when I checked it.
Want me to try putting it back online? Run
{{command_prefix}}bodega:deploy.
development
Roll back a Bodega-provisioned project. Walks the user through removing the Vercel project, blob store, GitHub repo, Stripe webhook, and (optionally) `.bodega.md` itself. The merchant's Stripe account stays — that's their data.
testing
First-time Bodega setup. Detects whether the folder has an existing project (adapt) or is empty (greenfield), asks about voice and beneficiary, writes .bodega.md, and orchestrates the full flow through hosting, payments, deploy, and admin.
testing
Re-ask the voice and beneficiary questions and update .bodega.md. Useful when the user's preference changes or the store is being handed off to someone new.
development
Walks the merchant through Stripe onboarding, captures their API keys, and writes them to Vercel env vars. Handles the common case where KYC takes days by supporting a preview-mode deploy path.