AI/skills/scaffold/SKILL.md
Set up new projects with frameworks or languages in the current working directory. Use when the user explicitly requests to scaffold, set up, initialize, or create a new project. Supports any language setup or framework. Proactively searches for latest versions and best practices, surfaces choices to the user when multiple options exist.
npx skillsauth add thesimonho/dotfiles scaffoldInstall 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.
Automate the setup of new framework or language projects with current best practices, dependency installation, and git initialization.
Follow this sequence for every scaffolding request:
Check the current working directory for existing configuration files that inform setup decisions:
.mise.toml, .tool-versions, .nvmrc, .python-version, rust-toolchain.toml, etc.package.json, pyproject.toml, go.mod, Cargo.toml, etc.git status works (already initialized)Use this context to inform tool choices and avoid conflicts.
CRITICAL: Always search the web for current official information. Tools and frameworks evolve rapidly, and documentation becomes outdated quickly. Use the official documentation as a reference.
Search queries should include the current year. Examples:
"Next.js setup 2026 official"
"Python project structure 2026"
"FastAPI project setup best practices"
Focus on:
Determine what choices need user input. Common decision points:
Frameworks (typically have CLI tools with options):
Language projects (more tooling choices):
Additional choices:
When multiple valid approaches exist, ask the user for their preference. Use AskUserQuestion tool with:
Example:
"I found that Next.js 15.2 (latest) uses the App Router by default. Which would you prefer?"
- App Router (Recommended for new projects) - Modern routing with Server Components
- Pages Router - Traditional routing, more examples available
Run the appropriate commands based on user choices:
Framework CLI tools:
# Next.js
npx create-next-app@latest
# Vite
npm create vite@latest
# FastAPI (no official CLI, create structure)
mkdir -p app tests
Language initialization:
# Python with uv
uv init
# Go
go mod init
# Rust
cargo init
Follow the framework's recommended setup flow. Pay attention to prompts from CLI tools.
Generate a project-specific README with:
Keep it concise and immediately useful.
Create an appropriate .gitignore for the language/framework
Alternatively:
git init
Skip if git is already initialized (detected in step 1).
Run the appropriate dependency installation command:
# Node.js
npm install # or pnpm install, yarn, bun install
# Python
uv sync # or poetry install, pip install -e .
# Go
go mod tidy
# Rust
cargo build
Monitor output for errors. If installation fails, troubleshoot before proceeding.
Run a quick verification that the setup works:
Web frameworks:
# Start dev server briefly, then stop it
npm run dev # or equivalent
# Check that it starts without errors, then Ctrl+C
CLI tools/libraries:
# Run tests if any
npm test # or pytest, go test, cargo test
# Or verify build
npm run build # or cargo build
Confirm no errors before proceeding.
git add .
git commit -m "Initial commit: scaffold <framework/language> project
Set up <framework/language> project with <key tools/features>.
Give the user clear, actionable next steps:
✅ Project scaffolded successfully!
Next steps:
1. Start development: npm run dev
2. Open http://localhost:3000 in your browser
3. Edit app/page.tsx to start building
4. Run tests: npm test
Tech stack:
- Next.js 15.2 (App Router)
- TypeScript
- Tailwind CSS
- ESLint
create-next-app with latest versiondjango-admin startprojectgo mod init <module-path>cargo init (binary) or cargo init --lib (library)Stay Current: Search for latest versions and practices every time. Don't rely on cached knowledge.
Respect Existing Setup: If the directory already has configuration files, integrate with them rather than overwriting.
Minimal by Default: Don't over-engineer. Set up what's requested, not every possible feature.
User Preferences: Always surface meaningful choices rather than making assumptions.
Verification: Always verify the setup works before committing. Catch errors early.
Clear Communication: Keep the user informed at each step. Show what's being installed, what choices were made, and what the next steps are.
development
Review recently changed code with three separate read-only agents for reuse, quality, and efficiency, then return prioritized issue lists. Use after implementing changes, before verification or commit, or when the user asks to simplify, clean up, reduce duplication, or review recent changes.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
A checklist of post-work verification steps. Use proactively after completing a feature or significant code change; before creating a PR; when you want to ensure quality gates pass or after refactoring
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.