| name | new-project |
| description | This skill should be used when the user asks to "create a new project", "set up a project", "scaffold an app", "init a project", "start a new app", or mentions wanting to begin a new web, mobile, or desktop application. Routes to the appropriate template skill based on the project type. |
New Project Router
Pick the right niskan516 template for the user's project and hand off to the specific template skill.
Decision Table
| Use Case | Template Skill |
|---|
| SSR web app, SEO-focused site, full-stack web | new-nextjs |
| Client-only SPA, dashboard, admin panel | new-tanstack-spa |
| Backend API, REST service, server | new-elysiajs |
| Desktop application, cross-platform native | new-tauri |
| Mobile app (iOS/Android) | new-expo (coming soon) |
| Full-stack: API + web frontend | new-elysiajs + new-nextjs or new-tanstack-spa |
Routing Procedure
- Ask the user what kind of project they want to build if not already clear from context
- Match to a template using the decision table above
- Ask for:
- Project name — kebab-case (e.g.,
my-cool-app)
- Target directory — where to create the project (default:
./<project-name>)
- Invoke the matched template skill (e.g.,
niskan-web-skills:new-nextjs)
- Pass along the project name and target directory as context
What Every Template Does
All template skills follow the same lifecycle:
- Clone — Pull the template from GitHub
- Extract — For web-template subfolders, copy the relevant subfolder to the target directory
- Ask — Collect template-specific inputs (app description, bundle ID, etc.)
- Customize — Find/replace all placeholder values
- Clean — Remove template-only files
- Init — Reset git history:
rm -rf .git && git init
- Install — Run
bun install
- Commit —
git add -A && git commit -m "Initial commit from <template> template"
- Verify — Run
bun run check:all or equivalent
Template Sources
| Template | Repository | Strategy |
|---|
| Next.js | niskan516/web-template | Clone repo → extract nextjs/ subfolder |
| TanStack SPA | niskan516/web-template | Clone repo → extract tanstack-spa/ subfolder |
| ElysiaJS | niskan516/web-template | Clone repo → extract elysiajs/ subfolder |
| Tauri | niskan516/tauri-template | Full repo clone |
| Expo | niskan516/expo-template | Full repo clone (not yet published) |
Handling Ambiguity
If the user's request is ambiguous:
- "I want a web app" → Ask: server-rendered (Next.js) or client-only SPA (TanStack)?
- "I need a full-stack app" → Suggest ElysiaJS for backend + Next.js or TanStack SPA for frontend, set up as two separate projects
- "I want a mobile app" → Note that Expo template is coming soon; offer to proceed when available