Scaffold new software projects with best practices. Use this skill when users want to create a new project, initialize a codebase, scaffold an application, start a new repo, or set up a project from scratch. Supports frontend (React, Vue, vanilla), CLI tools, REST APIs, and monorepos in TypeScript/JavaScript or Python.
/plugin marketplace add kjgarza/marketplace-claude/plugin install kjgarza-kjgarza-base-plugins-kjgarza-base@kjgarza/marketplace-claudeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/feature-matrix.mdreferences/project-types.mdscripts/validate_name.pytemplates/api/node-js/package.json.tmpltemplates/api/node-js/src/index.js.tmpltemplates/api/node-js/src/middleware/error-handler.js.tmpltemplates/api/node-js/src/routes/health.js.tmpltemplates/api/node-ts/package.json.tmpltemplates/api/node-ts/src/index.ts.tmpltemplates/api/node-ts/src/middleware/error-handler.ts.tmpltemplates/api/node-ts/src/routes/health.ts.tmpltemplates/api/node-ts/tsconfig.json.tmpltemplates/api/python/pyproject.toml.tmpltemplates/api/python/src/__init__.py.tmpltemplates/api/python/src/main.py.tmpltemplates/api/python/src/routes/__init__.py.tmpltemplates/api/python/src/routes/health.py.tmpltemplates/cli/node-js/package.json.tmpltemplates/cli/node-js/src/cli.js.tmpltemplates/cli/node-js/src/index.js.tmplScaffold production-ready projects with modern tooling and configurable features.
Use this skill when the user:
Follow these steps in order. Use the AskUserQuestion tool for each step.
Ask for the project name. Validate that it:
Example prompt:
What would you like to name your project?
(Use lowercase with hyphens, e.g., my-awesome-app)
Ask which type of project to create:
| Type | Description |
|---|---|
| Frontend | Static site or single-page application |
| CLI | Command-line tool |
| API | REST API server |
| Monorepo | Multi-package workspace |
Based on project type, present these options:
Frontend:
CLI:
API:
Monorepo:
Ask which features to include (allow multiple selections):
| Feature | Node.js | Python |
|---|---|---|
| Testing | Vitest / Jest | Pytest |
| Linting | ESLint + Prettier | Ruff |
| CI/CD | GitHub Actions | GitHub Actions |
| Docker | Dockerfile + compose | Dockerfile + compose |
| Documentation | README, CONTRIBUTING, LICENSE | README, CONTRIBUTING, LICENSE |
Summarize all selections and ask for confirmation:
I'll create a [LANGUAGE] [TYPE] project named '[NAME]' with:
- [Feature 1]
- [Feature 2]
- ...
Proceed? (yes to confirm, or specify changes)
After confirmation, generate the project:
Create project directory at the specified path (default: current directory)
Copy base templates from the appropriate templates/[type]/[language]/ directory
Process template variables - Replace these placeholders in all .tmpl files:
{{PROJECT_NAME}} - kebab-case name (e.g., my-app){{PROJECT_NAME_PASCAL}} - PascalCase (e.g., MyApp){{PROJECT_NAME_SNAKE}} - snake_case (e.g., my_app){{AUTHOR}} - From git config user.name or "Your Name"{{YEAR}} - Current yearAdd feature files from templates/features/[feature]/ for each selected feature
Create .gitignore appropriate for the language
Initialize git with git init
Display next steps:
Project created successfully!
Next steps:
cd [project-name]
[install command] # npm install / pip install -e .
[dev command] # npm run dev / python -m [name]
Base project templates:
templates/frontend/react-ts/ - React + TypeScript + Vitetemplates/frontend/react-js/ - React + JavaScript + Vitetemplates/frontend/vue-ts/ - Vue + TypeScript + Vitetemplates/frontend/vue-js/ - Vue + JavaScript + Vitetemplates/frontend/vanilla/ - Vanilla JS + Vitetemplates/cli/node-ts/ - Node.js + TypeScript + Commandertemplates/cli/node-js/ - Node.js + JavaScript + Commandertemplates/cli/python/ - Python + Clicktemplates/api/node-ts/ - Express + TypeScripttemplates/api/node-js/ - Express + JavaScripttemplates/api/python/ - FastAPI + Uvicorntemplates/monorepo/node/ - pnpm + Turborepotemplates/monorepo/python/ - uv workspacesFeature templates:
templates/features/testing/ - Test configs (vitest, jest, pytest)templates/features/linting/ - Lint configs (eslint, prettier, ruff)templates/features/ci-cd/ - GitHub Actions workflowstemplates/features/docker/ - Dockerfile and docker-composetemplates/features/docs/ - README, CONTRIBUTING, LICENSETemplate files use .tmpl extension. When copying:
.tmpl extension (e.g., package.json.tmpl → package.json)All generated projects include:
Implement GDPR-compliant data handling with consent management, data subject rights, and privacy by design. Use when building systems that process EU personal data, implementing privacy controls, or conducting GDPR compliance reviews.
Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation.