skills/avad-new/SKILL.md
Start a new project the right way. Asks 5 product questions (problem, user, 30-day goal, project type, stack), then generates 16 pre-filled files — not empty skeletons. PRD.md has your problem statement, README.md has your audience, TODOS.md has your milestone broken into tasks. Detects tech stack, creates GitHub repo, and chains into design consultation or CEO review. Use when starting a new project from scratch, scaffolding a project, or "init a project". Do NOT use for adding features to existing projects, creating skills (use /avad-add-skill), or upgrading from gstack (use /avad-gstack-upgrade).
npx skillsauth add agwacom/avadbot avad-newInstall 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.
Start a new project the right way. This skill thinks like a CEO — it forces product clarity before writing a single file. The output is 16 pre-filled project files, not empty skeletons waiting to be filled.
Principle: Every question avad-new asks makes the generated files smarter. If a question doesn't improve the output, don't ask it.
Every time the skill presents options (AskUserQuestion), it must:
avad Recommends: {LETTER} (always English, always first)(avad's pick) matching user's languageNever present options without a recommendation. If genuinely neutral, pick the safer/simpler option.
AGENTS.md so all AI models (Claude, GPT, Gemini, Codex) follow it.When you need to search for files, scan the codebase, or gather context about the project:
subagent_type: "Explore" for codebase exploration.Scan the project broadly — not just the 16 target files but any existing files that provide context about the project (plans, docs, notes, prior scaffolding).
Use an Agent (subagent_type: "Explore") to scan the entire project directory for context:
Target files: Check all 16 target files:
.gitignore, VERSION, PRD.md, CLAUDE.md, DESIGN.md, docs/ARCHITECTURE.md,
docs/adr/001-initial-project-setup.md, docs/GIT_WORKFLOW.md, SECURITY.md,
TODOS.md, README.md, .env.example, AGENTS.md, CHANGELOG.md, LICENSE,
.github/workflows/ci.yml
Context files: Also search for any existing files that tell us about the project:
*plan*, *design*, *spec*, *proposal*, *brief**.md, docs/**/*, doc/**/*package.json, Gemfile, go.mod, Cargo.toml, pyproject.toml, *.config.**notes*, *scratch*, *draft*, *ideas*Read discovered context files (up to 10 most relevant) to extract:
Project Context Discovery
TARGET FILES:
.gitignore — exists
README.md — exists
CLAUDE.md — missing
AGENTS.md — missing
...
Found: 4/16 | Missing: 12/16
CONTEXT DISCOVERED:
docs/plan.md — project plan (read)
notes/ideas.md — feature brainstorm (read)
package.json — Node.js project detected
Pre-filled from context: project name, problem statement, tech stack
avad Recommends: A
A) Create the N missing files (avad's pick)
B) Let me pick one by one
C) Cancel
If context files were discovered, pre-fill Phase 2 answers where possible (project name, problem, user, stack) — the user can confirm or override during Product Discovery.
Before creating any files, create a TODOS.md that tracks every file as a TODO item.
This serves as both a progress tracker and a manifest of what will be created.
Create TODOS.md immediately with all missing files from Phase 0:
# {PROJECT_NAME} — Scaffolding Progress
## File Creation
- [ ] .gitignore
- [ ] VERSION
- [ ] PRD.md
- [ ] CLAUDE.md
- [ ] DESIGN.md
- [ ] docs/ARCHITECTURE.md
- [ ] docs/adr/001-initial-project-setup.md
- [ ] docs/GIT_WORKFLOW.md
- [ ] SECURITY.md
- [ ] README.md
- [ ] .env.example
- [ ] AGENTS.md
- [ ] CHANGELOG.md
- [ ] LICENSE
- [ ] .github/workflows/ci.yml
## Post-Scaffolding
- [ ] Git commit
- [ ] GitHub repo creation
Only list files that are missing (from Phase 0 audit). Already-existing files are omitted.
If TODOS.md already exists, create a temporary scaffolding checklist section at the top
instead of overwriting. Remove it after Phase 5 completes.
Progressive checkoff: After creating each file in Phase 5, immediately update TODOS.md
to mark that file as done (- [x]). Do not wait until the end — check off each file
right after writing it. This gives the user real-time progress visibility.
Check if the current directory is a git repository:
git rev-parse --is-inside-work-tree 2>/dev/null || echo "NOT_GIT"
git init && git branch -m mainThis phase forces the user to articulate their product thinking before any code exists. The answers directly feed into generated file content — nothing is wasted.
Ask each question via AskUserQuestion:
avad Recommends: A
A) Web App (avad's pick)
B) CLI Tool
C) API Service
D) Library
E) Other
Each preset adjusts template detail levels (e.g., CLI Tool → richer README with usage examples,
API Service → ARCHITECTURE.md with endpoint skeleton).License defaults to MIT. Only ask if the user's answers suggest proprietary/commercial context.
Before moving to tech stack, challenge the product thinking — same instinct as /avad-plan-ceo-review.
The goal: catch weak foundations before 16 files get written.
Step 1: Reflect back
Here's what I understand:
- Problem: {problem}
- User: {user}
- 30-day goal: {milestone}
- Type: {preset}
Step 2: Challenge (if needed)
Run these checks silently. Only surface issues that fail:
| Check | Trigger | Challenge | |-------|---------|-----------| | Vague problem | Problem statement has no specific pain point | "Who has this problem today and how do they solve it without your product?" | | No clear user | User is too broad ("everyone", "developers") | "Pick ONE person. What's their job title? What frustrates them?" | | Unrealistic 30-day goal | Goal requires 3+ major systems | "That's ambitious for 30 days. What's the ONE thing that proves the idea works?" | | Solution-first | Problem describes a feature, not a pain | "That's a solution. What's the problem it solves? Who feels that pain?" |
If all checks pass → "Your product thinking is clear. Moving to tech stack." → proceed to Phase 4.
If any check triggers → ask the challenging question via AskUserQuestion. Loop until clear (max 2 rounds). After 2 rounds, proceed anyway — don't block forever.
Step 3: Confirm
avad Recommends: A
A) Yes, continue (avad's pick)
B) Edit something
C) Start over
ls package.json Gemfile go.mod Cargo.toml pyproject.toml requirements.txt composer.json mix.exs 2>/dev/null
.gitignore, docs/ARCHITECTURE.md, and .github/workflows/ci.yml to the stackcontext7 research (if available):
mcp__context7__resolve-library-id to find the detected frameworkmcp__context7__query-docs to fetch current project structure conventions, recommended patterns, and best practicesEach file skeleton is inline below. The skill substitutes user answers into real content — not placeholder comments. Content is adapted based on project type preset and detected tech stack.
Write safety:
created_files) during Phase 5.Progressive checkoff: After writing each file, immediately update TODOS.md to mark
that file as done. Change - [ ] filename to - [x] filename. This gives the user
real-time visibility into progress — they can see which files have been created at any point.
.gitignoreStack-aware template. Examples:
Node.js:
node_modules/
dist/
.env
.env.local
*.log
.DS_Store
.next/
coverage/
Python:
__pycache__/
*.pyc
.env
.venv/
venv/
dist/
*.egg-info/
.coverage
htmlcov/
Go:
/bin/
*.exe
.env
vendor/
coverage.out
Ruby:
/vendor/bundle
/.bundle
.env
log/
tmp/
coverage/
Rust:
/target
.env
Cargo.lock
Universal (fallback):
.env
.env.local
*.log
.DS_Store
VERSION0.1.0
PRD.md# {PROJECT_NAME} — Product Requirements
## Problem
{user's answer to Q2 — verbatim, not a placeholder}
## Users
{user's answer to Q3 — verbatim}
## Success Metric (30-day)
{user's answer to Q4 — verbatim}
## Vision
<!-- TODO: Where does this product go in 6-12 months? What's the big picture? -->
## Features
<!-- TODO: List the key features. For each, note: what it does, who it's for, and priority (P0/P1/P2). -->
## Non-Goals
<!-- TODO: What are you explicitly NOT building? This prevents scope creep. -->
CLAUDE.md# {PROJECT_NAME}
{one-line description from Q1}
## Commands
```bash
# TODO: Add project commands (install, test, build, dev, lint)
{PROJECT_NAME}/
├── CLAUDE.md # This file
├── AGENTS.md # Agent rules (language, do/don't)
├── PRD.md # Product requirements
├── README.md # Documentation
├── docs/
│ ├── ARCHITECTURE.md
│ ├── GIT_WORKFLOW.md
│ └── adr/
│ └── 001-initial-project-setup.md
└── ...
See AGENTS.md for AI agent rules — all models (Claude, GPT, Gemini, Codex) read that file.
### File 5: `DESIGN.md`
```markdown
# {PROJECT_NAME} — Design System
This file is the design source of truth for {PROJECT_NAME}.
To create a complete design system (colors, typography, spacing, layout), run:
/avad-design-consultation
## Status
Not yet created. Run the command above to generate.
docs/ARCHITECTURE.mdResearch phase (before writing):
resolve-library-id + query-docs to fetch current
docs for the detected framework (e.g., Next.js app router patterns, FastAPI project structure)Generated sections:
ASCII Data Flow Diagram — auto-generated from project type preset:
Browser → [Frontend] → [API] → [Services] → [DB]stdin → [Parser] → [Commands] → [Processor] → stdoutClient → [Gateway] → [Auth] → [Routes] → [Services] → [DB]Consumer → [Public API] → [Core] → [Internal Utils]Component Table:
| Component | Responsibility | Risk |
|-----------|---------------|------|
| {component} | {responsibility} | {risk} |
Open Technical Decisions:
| # | Decision | Options | Recommendation |
|---|----------|---------|----------------|
| 1 | {decision} | {options} | {recommendation} |
Failure Modes:
| Component | Failure | User sees | Mitigation |
|-----------|---------|-----------|------------|
| {component} | {failure} | {visible/silent} | {mitigation} |
30-day Scope Gate — checks the component list against the user's 30-day goal and flags anything that seems too ambitious.
docs/adr/001-initial-project-setup.md# ADR-001: Initial Project Setup
## Status
Accepted
## Date
{today's date}
## Context
{problem statement from Q2}. Target user: {user from Q3}.
## Decision
- Project type: {preset from Q5}
- Tech stack: {detected or chosen stack}
- Rationale: {brief rationale based on user's context}
## Consequences
- {consequence 1 based on stack choice}
- {consequence 2 based on preset choice}
docs/GIT_WORKFLOW.mdProduction-grade template with universal + project-adaptive sections.
<!-- NOTE: The main+dev branch structure below is a recommended default. Projects may adjust: solo projects can use main-only, teams may add staging/release branches. The key is that protected branches and merge strategy are documented. -->Universal sections (copied as-is):
main <- dev <- feature branches, protection table)Project-adaptive sections:
ui, api, auth, db, stylescli, config, output, parseauth, routes, models, middleware, dbcore, api, types, docscore, config, docs.github/workflows/ci.yml generated in file #16<!-- TODO: customize --> markerSECURITY.md# Security Policy — {PROJECT_NAME}
## Reporting a Vulnerability
If you discover a security vulnerability, please report it responsibly:
1. **Do NOT** open a public issue
2. Email: <!-- TODO: Add security contact email -->
3. Include: description, reproduction steps, impact assessment
## Security Practices
- Dependencies reviewed before adding
- Secrets stored in environment variables, never committed
- `.env` files are gitignored
- Input validation at system boundaries
TODOS.mdTODOS.md was already created in Phase 0.5 as the scaffolding checklist. In this step,
update it (don't overwrite) — replace the scaffolding content with the permanent
project TODO structure while preserving the checkoff progress:
# {PROJECT_NAME} TODO
## P0 (30-day milestone)
- [ ] {30-day goal from Q4, broken into 3-5 actionable items}
- [ ] ...
## P1
- [ ] Fill out PRD.md — add Vision, Features, and Non-Goals sections
- [ ] Run /avad-design-consultation to create design system
- [ ] Set up development environment and verify CI passes
## P2
- [ ] ...
## Done
- [x] Initial project scaffolding via /avad-new ({N} files created)
Mark - [x] TODOS.md in the scaffolding checklist after this update.
README.md# {PROJECT_NAME}
{problem statement from Q2 — written as the opener, not a placeholder}
## Who is this for?
{user persona from Q3}
{preset-aware sections below}
Preset-aware additions:
## Usage + ## Install sections## Endpoints + ## Auth sections## Getting Started + ## Development sections## Installation + ## API + ## Examples sections.env.exampleStack-aware entries, all commented out:
# {PROJECT_NAME} environment variables
# Copy this file to .env and fill in values
# DATABASE_URL=postgresql://localhost:5432/{project_name}
# API_KEY=
# PORT=3000
AGENTS.md# {PROJECT_NAME} — Agent Rules
{one-line description}. Target user: {user persona from Q3}.
## Language Rule
- **All project files** (code, docs, comments, commit messages, PR descriptions): English only
- **Conversation with user:** User's native language (auto-detected)
- This rule applies to ALL AI models: Claude, GPT, Gemini, Codex, and any future model
## Do
- Read CLAUDE.md before starting any task
- Read this file (AGENTS.md) for project context and rules
- Follow commit message format in docs/GIT_WORKFLOW.md
- Run tests before committing
- Write regression tests when fixing bugs
## Don't
- Don't commit secrets, API keys, or credentials
- Don't force push to main or dev
- Don't skip tests or CI checks
- Don't modify docs/GIT_WORKFLOW.md, AGENTS.md, or PRD.md without explicit user approval
- Don't add dependencies without explaining why
## Project File Map
| File | Status | Source |
|------|--------|--------|
{generated from Phase 0 audit — shows which files were pre-existing vs created by /avad-new}
CHANGELOG.md# Changelog
All notable changes to this project will be documented in this file.
## [0.1.0] - {today's date}
### Added
- Initial project scaffolding via /avad-new
- Project documentation: PRD.md, ARCHITECTURE.md, GIT_WORKFLOW.md
- CI/CD pipeline: .github/workflows/ci.yml
LICENSEFull MIT license text with current year and project name. If user context suggests proprietary/commercial, use a minimal proprietary stub instead.
.github/workflows/ci.ymlStack-aware CI pipeline (lint + test, tailored to detected runtime):
Node.js example:
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
- run: npm run lint
Python example:
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install -r requirements.txt
- run: pytest
Adapt for Go (go test ./...), Ruby (bundle exec rake test), Rust (cargo test), etc.
Mark - [x] Git commit in TODOS.md. Stage only files in the created_files list
plus TODOS.md (never git add -A):
git add {created_files} TODOS.md
git commit -m "chore: initial project scaffolding via /avad-new"
Pre-check: Verify gh CLI is available:
command -v gh >/dev/null 2>&1 || echo "GH_NOT_FOUND"
If GH_NOT_FOUND: skip this phase silently with a note: "GitHub CLI (gh) not found — skipping repo creation. Install from https://cli.github.com/ to enable this."
If gh is available:
avad Recommends: A
A) Yes, private repo (avad's pick)
B) Yes, public repo
C) Skip
If yes:
gh repo create {PROJECT_NAME} --private/--public --source . --push
Mark - [x] GitHub repo creation in TODOS.md after successful creation.
Do not rush to design. First assess whether the product idea is fully formed.
Evaluate the user's answers from Phase 2-3. The idea is incomplete if ANY of these are true:
<!-- TODO --> placeholders than filled contentIf idea is incomplete → AskUserQuestion:
avad Recommends: A
The idea has potential but some areas need more depth before jumping to design.
A) Keep exploring — let's research the market, refine the problem, and flesh out
the PRD together (avad's pick)
B) Run /avad-plan-ceo-review — stress-test the product thinking with a CEO review
C) Move to design anyway — I'll figure it out as I go
If user picks A:
If idea is complete → AskUserQuestion:
avad Recommends: A
Your product thinking is solid. What's next?
A) Run /avad-plan-ceo-review — challenge assumptions before building (avad's pick)
B) Run /avad-design-consultation — create your design system
C) Run /avad-plan-eng-review — validate the architecture
D) Start coding — I have enough direction
Recommend based on context:
Print a concise summary of what was created and why:
{PROJECT_NAME} initialized ({N} files)
Problem: {problem}
User: {user}
30-day goal: {milestone}
Stack: {stack}
Pre-filled: PRD.md, README.md, TODOS.md, ARCHITECTURE.md, ADR-001
Ready to customize: DESIGN.md, SECURITY.md, AGENTS.md
Next: {recommended skill} or start coding
This skill does NOT read from or write to ~/.avadbot/. All output goes directly to the project directory.
Not safe for concurrent runs in the same directory. Serial execution only.
git add -A — stage only created filesavad Recommends: {LETTER}Use your full model name and version as your agent identifier in all GitHub output. Examples: "claude Opus 4.6", "codex o3", "gemini 2.5 Pro"
When creating or commenting on GitHub issues, discussions, or pull requests:
Title prefix: Include the skill role in the title.
Format: [avad-new] {short description}
Example: [avad-new] initial project scaffolding
Labels:
avad-new#1D76DB, description: "Project scaffolding").Both title prefix and label are required.
Prefix all comment, issue, discussion, and PR section headings with your agent identity. Example: "## claude Opus 4.6 Project Scaffolding"
End every GitHub issue, discussion post, PR description, review comment, or review response with a signature line:
---
_Generated by {agent identity} · /avad-new · {YYYY-MM-DD}_
Example: _Generated by claude Opus 4.6 · /avad-new · 2026-03-22_
data-ai
Clear the freeze boundary set by /avad-freeze, allowing edits to all directories again. Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits".
testing
Ship workflow: validate branch state, sync with target branch, run tests, pre-landing review, push, and create PR. Project-aware — reads target branch, test commands, and review checklist from docs/GIT_WORKFLOW.md.
development
Pre-landing code review. Analyzes diff for structural issues using a project-specific checklist. Two modes: local (review current branch) or PR (review and comment on a GitHub PR by number). Proactively suggest when the user is about to merge or land code changes.
development
Weekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware: breaks down per-person contributions with praise and growth areas.