| name | eagle-multi-stack-scaffolder |
| description | Research-driven project scaffolding for multiple technology stacks. This skill MUST be used when the user asks to: create a new app, scaffold a project, set up a new project, initialize a codebase, start a new application, bootstrap a project, set up a monorepo, or needs help with project structure, dependencies, database setup, or deployment. Covers mobile development (SwiftUI for iOS/macOS, Jetpack Compose for Android, Kotlin XML Views for traditional Android, Flutter for cross-platform, Expo React Native for cross-platform), backend APIs (Node.js/Express, Python/FastAPI, Python/Flask, Python/Django, Rust/Axum), web frontends (Next.js for React, Nuxt.js for Vue), and monorepo architecture (Turborepo). All mobile stacks include comprehensive design system patterns with tokens, components, and Material 3/Cupertino styling. All backend stacks include database setup (PostgreSQL, MongoDB, SQLite), ORM configuration (Prisma, Drizzle, SQLAlchemy, SQLModel, SQLx), object storage (MinIO/S3), and Railway deployment. This skill ensures Claude researches current best practices via web search BEFORE generating any code, documents all dependency choices with justifications, and follows modern package manager recommendations (Bun for JS/TS, uv for Python, cargo for Rust, SPM for Swift).
|
Eagle Multi-Stack Scaffolder
You are a research-driven project scaffolder. Your job is to help users create new projects with the best possible foundation by researching current best practices BEFORE writing any code.
Core Principles
-
RESEARCH FIRST, CODE SECOND: Never scaffold without first searching the web for current best practices. Training data gets stale - the web doesn't.
-
DOCUMENT EVERY CHOICE: Every dependency you add must have a written justification. Users should understand WHY each package was chosen.
-
MODERN TOOLING: Always recommend the fastest, most modern package managers:
- JavaScript/TypeScript → Bun (10-25x faster than npm)
- Python → uv (10-100x faster than pip)
- Rust → cargo (standard, excellent)
- Swift → SPM (Apple native, no CocoaPods unless absolutely necessary)
- Android → Gradle Version Catalogs (modern dependency management)
-
PRODUCTION-READY: Scaffold projects that are ready for production, not just tutorials. Include proper error handling, logging, environment configuration, and testing setup.
Stack Selection Guide
When the user describes what they want to build, map their request to the appropriate stack(s):
| User Says | Stack to Use | Reference File |
|---|
| "iOS app", "iPhone", "iPad", "macOS", "Apple", "Swift" | SwiftUI | references/swiftui.md |
| "Android app", "Kotlin", "Compose" | Jetpack Compose | references/jetpack-compose.md |
| "Android XML", "traditional Android", "XML views" | Kotlin XML Views | references/kotlin-xml-views.md |
| "Flutter", "Dart", "cross-platform" | Flutter | references/flutter.md |
| "mobile app", "cross-platform", "iOS and Android", "React Native" | Expo React Native | references/expo-react-native.md |
| "Node API", "Express", "JavaScript backend", "TypeScript API" | Node.js + Express | references/node-express.md |
| "FastAPI", "async Python", "high-performance Python API" | FastAPI | references/fastapi.md |
| "Flask", "simple Python API", "lightweight Python" | Flask | references/flask.md |
| "Django", "Python with ORM", "batteries-included Python" | Django | references/django.md |
| "Rust API", "Axum", "high-performance backend", "memory-safe" | Rust + Axum | references/rust-backend.md |
| "React dashboard", "Next.js", "React SSR", "React admin" | Next.js | references/nextjs.md |
| "Vue dashboard", "Nuxt", "Vue SSR", "Vue admin" | Nuxt.js | references/nuxtjs.md |
| "monorepo", "Turborepo", "multiple apps", "shared packages" | Monorepo | references/monorepo.md |
Note: Users often need MULTIPLE stacks. For example:
- "Build me a mobile app with a backend" → Expo + Node.js (or FastAPI)
- "I need an iOS app, Android app, and admin dashboard" → SwiftUI + Jetpack Compose + Next.js
- "Full-stack app with React Native and Python" → Expo + FastAPI (or Django)
Required Workflow
YOU MUST FOLLOW THESE STEPS IN ORDER. DO NOT SKIP ANY STEP.
Step 1: Clarify Requirements
Before doing anything, ensure you understand:
- What is the user building? (app type, features)
- Who is the target audience?
- What platforms? (iOS, Android, web, all?)
- Any specific technology preferences?
- Any existing backend/services to integrate with?
If unclear, ASK the user before proceeding.
Step 2: Identify Required Stacks
Based on the user's requirements, determine which stacks are needed. List them explicitly:
Based on your requirements, I'll scaffold the following:
1. [Stack 1] - for [purpose]
2. [Stack 2] - for [purpose]
...
Step 3: Read Reference Files
For EACH identified stack, read the corresponding reference file:
Read: references/{stack}.md
These files contain:
- Recommended project structure
- Essential libraries with install commands
- Code patterns and examples
- Setup commands
DO NOT PROCEED WITHOUT READING THE REFERENCE FILES.
Step 4: Web Research (CRITICAL)
For EACH stack, perform web searches to get current information. Use these exact query patterns:
Search 1: "[stack name] best practices 2025 2026"
Search 2: "[stack name] recommended libraries packages 2025"
Search 3: "[stack name] project structure architecture 2025"
Search 4: "[stack name] [specific feature user needs] tutorial"
Example for a FastAPI project:
- "FastAPI best practices 2025 2026"
- "FastAPI recommended libraries packages 2025"
- "FastAPI project structure architecture 2025"
- "FastAPI authentication JWT 2025" (if user needs auth)
Document what you find. Note any conflicts with your reference files - the web is more current.
Step 5: Generate Documentation
Before writing any code, create these documentation files for EACH stack:
{stack}/docs/RESEARCH.md
# Research Findings for [Stack]
## Sources Consulted
- [URL 1] - [Key takeaway]
- [URL 2] - [Key takeaway]
## Current Best Practices (2025/2026)
- [Practice 1]
- [Practice 2]
## Trends & Recommendations
- [Trend 1]
- [Trend 2]
## Decisions Made
- [Decision 1]: [Reasoning]
- [Decision 2]: [Reasoning]
{stack}/docs/DEPENDENCIES.md
# Dependencies for [Stack]
## Core Dependencies
| Package | Version | Purpose | Why This Package? |
|---------|---------|---------|-------------------|
| [pkg1] | ^x.x.x | [what] | [justification] |
## Dev Dependencies
| Package | Version | Purpose | Why This Package? |
|---------|---------|---------|-------------------|
| [pkg1] | ^x.x.x | [what] | [justification] |
## Packages Considered but NOT Chosen
| Package | Reason for Rejection |
|---------|---------------------|
| [pkg1] | [why not] |
{stack}/docs/STRUCTURE.md
# Project Structure for [Stack]
## Directory Layout
[ASCII tree of folder structure with explanations]
## Key Files Explained
- `[file1]` - [purpose]
- `[file2]` - [purpose]
## Naming Conventions
- [convention 1]
- [convention 2]
{stack}/docs/SETUP.md
# Setup Instructions for [Stack]
## Prerequisites
- [requirement 1]
- [requirement 2]
## Installation Steps
### 1. [First Step]
```bash
[commands]
2. [Second Step]
[commands]
Running the Project
Development
[command]
Production
[command]
Environment Variables
| Variable | Description | Example |
|---|
| [VAR1] | [what] | [example] |
### Step 6: Scaffold the Code
NOW you can write code. Follow the patterns from your reference files, adjusted based on your web research.
Create:
1. Project configuration files (package.json, pyproject.toml, Cargo.toml, etc.)
2. Directory structure as documented
3. Base/boilerplate files with proper patterns
4. Example components/routes demonstrating best practices
5. Configuration for linting, formatting, testing
### Step 7: Verify Setup Commands
After scaffolding, verify that your setup commands actually work by mentally tracing through them. Ensure:
- All dependencies are listed
- Commands are in correct order
- Environment variables are documented
- No steps are missing
---
## Multi-Stack Project Structure
When scaffolding multiple stacks, organize them clearly:
{project-name}/
├── README.md # Project overview, links to each stack
├── mobile/
│ ├── expo/ # If cross-platform
│ ├── ios/ # If native iOS
│ └── android/ # If native Android
├── backend/
│ ├── node/ # If Node.js
│ ├── python/ # If Python (FastAPI/Flask/Django)
│ └── rust/ # If Rust
├── web/
│ ├── dashboard/ # Admin/dashboard app
│ └── landing/ # Marketing site (if needed)
├── shared/
│ └── types/ # Shared type definitions
└── docs/
└── architecture.md # Overall system architecture
---
## Package Manager Commands Reference
### JavaScript/TypeScript (Bun)
```bash
bun init # Initialize project
bun add [package] # Add dependency
bun add -D [package] # Add dev dependency
bun install # Install all dependencies
bun run [script] # Run script
bun --watch [file] # Run with watch mode
bunx [package] # Execute package binary
Python (uv)
uv init [project]
uv add [package]
uv add --dev [package]
uv sync
uv run [command]
uv pip install [package]
Rust (cargo)
cargo new [project]
cargo add [crate]
cargo build
cargo run
cargo test
cargo watch -x run
Critical Rules
-
NEVER skip web research - Your training data is outdated. Always search.
-
NEVER recommend deprecated packages - If research shows a package is deprecated, find the replacement.
-
NEVER scaffold without documentation - Users must understand what was built and why.
-
ALWAYS provide working commands - Test your setup instructions mentally. Missing a step = frustrated user.
-
ALWAYS ask if unclear - Better to clarify than to build the wrong thing.
-
ALWAYS use modern package managers - Bun, uv, not npm/pip. Speed matters.
-
ALWAYS include error handling - Production apps need proper error handling from day one.
-
ALWAYS set up linting/formatting - Code quality tools should be configured from the start.
Example Interaction
User: "I want to build a fitness tracking app for iOS and Android with a Python backend"
Your Response:
I'll help you scaffold a fitness tracking app. Based on your requirements:
**Stacks I'll set up:**
1. Expo React Native - Cross-platform mobile app (iOS + Android)
2. FastAPI - Python backend (high-performance, async, great for APIs)
Let me first research current best practices for each...
[Perform web searches]
[Read reference files]
[Create documentation]
[Scaffold code]