Onboarding
🏵️ MCP Server with CLI interface ready for distribution
npx -y skills add Miyamura80/MCP-Template --skill onboardingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Interview the user, inspect this template repo, run headless onboarding, and prune unused systems so a new project gets running quickly.
SKILL.md
4.9 KB, as published. Nobody here has run it
Onboarding
Use this skill when the user wants to turn this template into a real project, especially when they invoke /onboarding, ask to run onboarding, or want to remove unused template systems.
init/onboard.py is the source of truth for every choice, default, and prune action. Read it before changing anything. The enums and OnboardingConfig (ServiceSurface, PaymentStack, ExampleApp, OnboardingProfile, expanded()) define what can be selected and how selections imply each other.
Workflow
-
Inspect the repo before changing anything:
AGENTS.md/CLAUDE.md,pyproject.toml,Makefile,README.mdinit/onboard.py- especially the config enums,for_profile,expanded()(dependency implications), and_pruned_path_groups(exactly which files each choice removes)- The surfaces themselves: service registry (
services/), CLI (src/cli/), MCP server (mcp_server/, incl.apps/,enhancers/), API server (api_server/, incl.routes/,auth/,billing/),db/,docs/, and relevant tests - Systems
make onboarddoes NOT manage (handle these manually - see step 7):landing-page/,render.yaml,Dockerfile
-
Interview the user briefly. Prefer grouped multi-select questions:
- Project shape (
--profile):cli-only,local-mcp,remote-mcp,full-saas, orcustom - Service surfaces (
--surfaces):cli,mcp,http_api,mcp_apps - Infra: auth (
--auth, WorkOS AuthKit OAuth 2.1 resource server on/mcp), database (--database), docs (--docs) - Payments (
--payments):stripe_billing,stripe_metering,x402,mpp_stub,acp_stub, or none - Examples (
--examples):gmail_google_oauth,agentic_payment_research_docs, or none
- Project shape (
-
Use
make onboardas the source of truth. It mapsPROFILE=,CONFIG=, andDRY_RUN=1to flags and passes everything else throughARGS=:- Always start with a dry run:
make onboard PROFILE=<profile> DRY_RUN=1. - Override individual axes via
ARGS, e.g.make onboard PROFILE=remote-mcp DRY_RUN=1 ARGS="--surfaces cli,mcp,http_api --payments x402 --no-docs". Boolean axes use paired flags:--auth/--no-auth,--database/--no-database,--docs/--no-docs. - For a custom shape, write a YAML/JSON config and pass
CONFIG=<path>(keys:profile,service_surfaces,payments,examples,auth,database,docs). - Bare
make onboard(no headless flags) launches the interactive wizard (branding, rename, cli-name, deps, env, hooks, mcp, media, jules). - Only run a non-dry pass after the user confirms the resolved plan printed by the dry run.
- Always start with a dry run:
-
Apply dependency implications before pruning (
expanded()enforces these):- Stripe metering implies Stripe billing.
- Stripe billing implies HTTP API, auth, and database.
- x402 implies HTTP API and auth.
- Gmail/Google OAuth example implies HTTP API, MCP, MCP Apps, auth, and DB.
- MCP Apps imply the MCP surface; auth implies database;
full-saasimplies docs.
-
Let onboarding prune deterministically; do not hand-delete. A non-dry run removes files and also rewrites
pyproject.toml(deps, packages, scripts, vulture, MCP Apps force-include),.importlinter,api_server/server.pyroute registrations,mcp_server/_tool_factory.pyscope/quota guards,Makefiletargets, and.env.examplekeys in the same pass. Pruning the API surface also dropsrailway.json; pruning MCP dropsserver.json,smithery.yaml, and the registry-publish workflow. -
Verify the selected shape:
- CLI: run the CLI help and one simple command.
- API/MCP: import the server, check
/health, and confirm/mcpif kept. - MCP behavior: run the fast MCP E2E tier (
make test); reach formake mcp_conformanceonly if the user kept MCP and has Node. - Shared changes: run focused tests first, then
make ciwhen scope is large.
-
Handle the systems onboarding does not touch, after confirming with the user:
landing-page/is a GmailMCP-branded Astro marketing site (privacy/terms, comparison pages, WebMCP, Server Card, llms.txt). For a real project it almost always needs rebranding or removal, whichmake onboardwill not do for you.render.yamlandDockerfileare deploy configs not wired into pruning; update or remove them to match the kept surfaces.
Guardrails
- Do not delete auth, DB, API, MCP, docs, payment code, example apps, the landing page, or deploy configs without explicit user confirmation.
- Do not push to
main, force-push, or run destructive git commands. - Treat MCP behavior as current-spec-sensitive; verify current docs before designing new MCP semantics.
- When editing shared skills or agents, run
make sync-agent-config. - Keep Gmail/Google OAuth, the agentic-payment research docs, and the landing page framed as examples/marketing, not core template infrastructure.