Fullstack development skill with project scaffolding and code quality analysis tools.
Use this skill when you hear:
Deterministic profile picker. Given four assumptions (team-size, cadence, user-facing, budget) plus optional traffic/sensitivity inputs, ranks the four built-in profiles and returns the matched profile with SLO floor and named approver chain. Refuses to recommend a profile without the four required inputs.
Usage:
# See all options
python scripts/fullstack_decision_engine.py --help
# Run against a sample input
python scripts/fullstack_decision_engine.py --sample
# Pick a profile from real inputs
python scripts/fullstack_decision_engine.py \
--team-size-12mo 8 --cadence daily --user-facing true --budget 5000 \
--traffic-p99-rps 50 --data-sensitivity pii-only
# JSON output for downstream tools
python scripts/fullstack_decision_engine.py --sample --output json
Returns: matched profile name, score, matched/violated constraints, stack recommendation, anti-recommendations, SLO floor, named-approver chain, and canon references.
The engine encodes the same matrix the conversational grill walks through — use it directly when inputs are already known, or via the cs-fullstack-engineer agent for the question-by-question grill.
Generates fullstack project structures with boilerplate code.
Supported Templates:
nextjs - Next.js 14+ with App Router, TypeScript, Tailwind CSSfastapi-react - FastAPI backend + React frontend + PostgreSQLmern - MongoDB, Express, React, Node.js with TypeScriptdjango-react - Django REST Framework + React frontendUsage:
# List available templates
python scripts/project_scaffolder.py --list-templates
# Create Next.js project
python scripts/project_scaffolder.py nextjs my-app
# Create FastAPI + React project
python scripts/project_scaffolder.py fastapi-react my-api
# Create MERN stack project
python scripts/project_scaffolder.py mern my-project
# Create Django + React project
python scripts/project_scaffolder.py django-react my-app
# Specify output directory
python scripts/project_scaffolder.py nextjs my-app --output ./projects
# JSON output
python scripts/project_scaffolder.py nextjs my-app --json
Parameters:
| Parameter | Description |
|---|---|
template |
Template name (nextjs, fastapi-react, mern, django-react) |
project_name |
Name for the new project directory |
--output, -o |
Output directory (default: current directory) |
--list-templates, -l |
List all available templates |
--json |
Output in JSON format |
Output includes:
Analyzes fullstack codebases for quality issues.
Analysis Categories:
Usage:
# Analyze current directory
python scripts/code_quality_analyzer.py .
# Analyze specific project
python scripts/code_quality_analyzer.py /path/to/project
# Verbose output with detailed findings
python scripts/code_quality_analyzer.py . --verbose
# JSON output
python scripts/code_quality_analyzer.py . --json
# Save report to file
python scripts/code_quality_analyzer.py . --output report.json
Parameters:
| Parameter | Description |
|---|---|
project_path |
Path to project directory (default: current directory) |
--verbose, -v |
Show detailed findings |
--json |
Output in JSON format |
--output, -o |
Write report to file |
Output includes:
Sample Output:
============================================================
CODE QUALITY ANALYSIS REPORT
============================================================
Overall Score: 75/100 (Grade: C)
Files Analyzed: 45
Total Lines: 12,500
--- SECURITY ---
Critical: 1
High: 2
Medium: 5
--- COMPLEXITY ---
Average Complexity: 8.5
High Complexity Files: 3
--- RECOMMENDATIONS ---
1. [P0] SECURITY
Issue: Potential hardcoded secret detected
Action: Remove or secure sensitive data at line 42
package.json (or requirements.txt) exists# 1. Scaffold project
python scripts/project_scaffolder.py nextjs my-saas-app
# 2. Verify scaffold succeeded
ls my-saas-app/package.json
# 3. Navigate and install
cd my-saas-app
npm install
# 4. Configure environment
cp .env.example .env.local
# 5. Run quality check
python scripts/code_quality_analyzer.py .
# 6. Start development
npm run dev
# 1. Full analysis
python scripts/code_quality_analyzer.py /path/to/project --verbose
# 2. Generate detailed report
python scripts/code_quality_analyzer.py /path/to/project --json --output audit.json
# 3. After fixing P0 issues, re-run to verify
python scripts/code_quality_analyzer.py /path/to/project --verbose
Use the tech stack guide to evaluate options:
See references/tech_stack_guide.md for detailed comparison.
references/architecture_patterns.md)references/development_workflows.md)references/tech_stack_guide.md)| Requirement | Recommendation |
|---|---|
| SEO-critical site | Next.js with SSR |
| Internal dashboard | React + Vite |
| API-first backend | FastAPI or Fastify |
| Enterprise scale | NestJS + PostgreSQL |
| Rapid prototype | Next.js API routes |
| Document-heavy data | MongoDB |
| Complex queries | PostgreSQL |
| Issue | Solution |
|---|---|
| N+1 queries | Use DataLoader or eager loading |
| Slow builds | Check bundle size, lazy load |
| Auth complexity | Use Auth.js or Clerk |
| Type errors | Enable strict mode in tsconfig |
| CORS issues | Configure middleware properly |
Before this skill scaffolds, recommends, or modifies any code, the following four assumptions MUST be surfaced. If any are unknown, the skill stops and walks the Forcing-question library instead.
Verifiable success criteria (Karpathy #4) — every recommendation this skill emits must include three machine-checkable numbers:
If any of those three is not stated, the recommendation is incomplete — go back to Q7 of the forcing-question library.
The scripts/fullstack_decision_engine.py tool encodes these checks: it refuses to recommend a profile without all four assumption inputs and prints the verifiable thresholds for the matched profile.
Four built-in profiles in profiles/ calibrate every recommendation:
| Profile | When to pick | Cloud ceiling | Pattern |
|---|---|---|---|
saas-startup |
< 10 eng, customer-facing, daily+ cadence | $8K/mo | Modular monolith on Next.js + Postgres |
enterprise-scale |
50+ eng, regulated, per-PR with gates | $250K/mo | Domain-bounded services + platform team |
internal-tool |
≤ 5 eng, auth-walled, < 100 DAU | $500/mo | Retool-first; thin custom stack if forced |
marketing-site |
SEO-dependent, near-zero write | $200/mo | Static-first (Astro / 11ty / Next-static) |
Pick a profile via:
python scripts/fullstack_decision_engine.py \
--team-size 6 --team-size-12mo 12 \
--cadence daily --user-facing true --budget 5000 \
--traffic-p99-rps 45 --data-sensitivity pii-only
The tool returns the best-fit profile, the tradeoff against the runner-up (if within 15%), the stack recommendation, the anti-patterns to avoid on that profile, and the named-approver chain. This tool never auto-approves.
To add a custom profile: copy profiles/saas-startup.json to profiles/<your-org>.json, adjust the constraints and stack_recommendations blocks, and rerun. The JSON is the customization surface — no code changes needed.
This skill does NOT reimplement scope owned by the POWERFUL-tier specialists. It forks into them. See references/composition_map.md for the full routing table. Key forks:
| Concern | Fork into |
|---|---|
| API contract review | engineering/skills/api-design-reviewer/ |
| Database schema design | engineering/skills/database-designer/ |
| Reliability / SLO design | engineering/slo-architect/ |
| CI/CD pipeline | engineering/skills/ci-cd-pipeline-builder/ |
| Performance profiling | engineering/skills/performance-profiler/ |
| Pre-commit Karpathy review | engineering/karpathy-coder/ |
| Pre-flight architecture grill | engineering/grill-me/ |
The cs-fullstack-engineer agent (in agents/engineering/cs-fullstack-engineer.md) orchestrates these forks via context: fork. Invoke it from another agent with Agent({subagent_type: "cs-fullstack-engineer", prompt: "..."}) or via the slash command /cs:fullstack-review <your problem>.
Before locking any architecture or stack decision, walk the seven forcing questions in references/forcing_questions.md. Each has a recommended answer, canon citation, and kill criterion. The discipline:
/tmp/fullstack-grill-<date>.md).fullstack_decision_engine.py with the seven answers as inputs.Summary of the seven questions (full content in the reference):
This skill is invokable by any other agent or skill via three surfaces:
/cs:fullstack-review <prompt> — runs the full grill + decision engine + composition routing.Agent({subagent_type: "cs-fullstack-engineer", prompt: "..."}) — forks context, returns ≤ 200-word digest.python scripts/fullstack_decision_engine.py ... — deterministic profile match without the conversational grill (use when inputs are already known).See agents/engineering/cs-fullstack-engineer.md for the full invocation contract.