CLI skills
The four Claude Code skills that ship with Valcraven — what each does and when to use it.
Valcraven ships with four Claude Code skills in .claude/skills/. They automate the repetitive, error-prone lifecycle tasks around the template: scaffolding a new project, pulling upstream improvements into a downstream, migrating an old project to the monorepo layout, and wiring up OAuth. Each is a /-invoked skill inside Claude Code.
Install them once
Copy them into your global skills directory so they're available in any session:
cp -r .claude/skills/valcraven-create ~/.claude/skills/
cp -r .claude/skills/valcraven-sync ~/.claude/skills/
cp -r .claude/skills/valcraven-mobilize ~/.claude/skills/
cp -r .claude/skills/configure-sso ~/.claude/skills//valcraven-create — bootstrap a new project
Use this to start a brand-new app from the template. It interviews you for a handful of details — project name, one-line description, target directory, dev/prod ports, deploy target (Cloudflare or Railway), and whether to include the native mobile app — then does the rest:
- copies the template into your target directory,
- customizes all branding, landing-page copy, ports, and Docker config,
- generates env vars, runs migrations, and verifies the build.
The scaffold is web-only by default; opt into apps/mobile (Expo) during the interview if you want a phone client from day one. See Getting Started → Create a project.
/valcraven-sync — pull upstream improvements
Use this from an existing downstream project to bring in Valcraven template improvements you don't have yet. Because each project carries its own copy of the template code (there's no shared published dependency), sync is how a downstream stays current.
It reads the template's changelogs/ and your project's .valcraven-sync-cursor to find what's new since you last synced, scopes each change to the right workspace (apps/web/, packages/core/, apps/mobile/), presents a checklist of features to port, and creates a GitHub issue and branch for the selected work. If the changelog fast path isn't available it falls back to a full parallel exploration of both repos.
/valcraven-mobilize — migrate a flat project to the monorepo
Use this on a downstream project that was created before the monorepo layout and now wants the apps/web + packages/core workspace structure — either to adopt the mobile app or to keep syncing with an upstream that assumes the monorepo.
It's a one-shot structural migration: it git mvs the flat Next.js app into apps/web/, scaffolds the workspace root and packages/core (@valcraven/core), applies the Cloudflare Workers fixes, and repoints Docker/CI/deploy config. It's idempotent — a safe no-op if the project is already migrated. It does not add apps/mobile itself; it makes mobile adoption possible. It pairs with /valcraven-sync, which deliberately doesn't handle the structural flip.
/configure-sso — wire up OAuth providers
Use this when setting up OAuth SSO on a deployment. It configures providers and writes credentials to .env.local (dev) with as little copy-paste as possible — using Chrome DevTools browser automation when available, and a guided per-provider mode otherwise. Microsoft is fully automated via the az CLI; Google, GitHub, Facebook, and Apple are walked through step by step.
It also encodes the hard-won OAuth gotchas: dev and prod are separate registrations (GitHub needs one app per environment), BETTER_AUTH_URL is host-scoped and must be pinned to the host you test on, and production credentials belong in Worker secrets, not .env.local. See Getting Started → OAuth setup.
Which one do I want?
| Situation | Skill |
|---|---|
| Starting a brand-new app | /valcraven-create |
| An existing project needs the latest template features | /valcraven-sync |
| An old flat project needs the monorepo layout (e.g. to add mobile) | /valcraven-mobilize |
| Setting up Google/GitHub/Apple/Facebook/Microsoft login | /configure-sso |