Generate onboarding documentation for new team members. Analyzes project and creates a "new developer guide" covering setup, architecture, key concepts, and gotchas.
Create the guide you wish you had on day one.
This skill produces documentation for new team members:
For external/public documentation (users, API consumers, contributors), use /docs instead.
| Use /onboard for | Use /docs for |
|---|---|
| ONBOARDING.md | README.md |
| Team workflows | Public contribution guide |
| Internal gotchas | API reference |
| "Who to ask" | Public setup instructions |
| Role-specific paths | General usage docs |
If --role is specified, customize the guide:
Focus areas:
Key files to highlight:
find . -name "*.tsx" -o -name "*.css" -o -name "*.scss" | head -20
grep -r "useState\|useEffect\|createContext" --include="*.tsx" -l | head -10
Focus areas:
Key files to highlight:
find . -name "routes*" -o -name "controller*" -o -name "service*" | head -20
grep -r "router\|app\.get\|app\.post" --include="*.ts" -l | head -10
Include both paths above, plus:
# Project basics
tree -L 2 -I 'node_modules|__pycache__|.git|dist|build|.venv' .
# Tech stack
cat package.json 2>/dev/null | head -30
cat Cargo.toml 2>/dev/null | head -30
cat requirements.txt 2>/dev/null
# Recent activity
git log --oneline -20
git shortlog -sn --since="6 months ago" | head -10
┌─────────────────────────────────────────────────────────────┐
│ PROJECT: [Name] │
├─────────────────────────────────────────────────────────────┤
│ What it does: [one sentence] │
│ Tech stack: [languages/frameworks] │
│ Repo age: [X months/years] │
│ Active contributors: [count] │
│ Size: [~lines of code] │
│ Complexity: [Low/Medium/High] │
└─────────────────────────────────────────────────────────────┘
# Onboarding Guide: [Project Name]
> Welcome! This guide will get you productive in [project] as fast as possible.
## What This Project Does
[2-3 paragraphs explaining:]
- What problem does this solve?
- Who uses it?
- Why does it exist?
## The 10-Minute Setup
### Prerequisites
Before you start, make sure you have:
- [ ] [Tool 1] version X+ (`tool --version` to check)
- [ ] [Tool 2] version X+
- [ ] Access to [service/resource]
- [ ] [Account/credentials] from [person/place]
### Step-by-Step Setup
\`\`\`bash
# 1. Clone and enter
git clone [repo-url]
cd [project-name]
# 2. Install dependencies
[install command]
# 3. Set up environment
cp .env.example .env
# Edit .env with values from [source]
# 4. Initialize database (if applicable)
[db setup command]
# 5. Verify it works
[test/run command]
\`\`\`
### "It's Not Working" Troubleshooting
**Problem**: [Common issue 1]
**Solution**: [How to fix]
**Problem**: [Common issue 2]
**Solution**: [How to fix]
---
## Understanding the Codebase
### Project Structure
\`\`\`
[project]/
├── src/ # [What's in here]
│ ├── components/ # [What's in here]
│ ├── services/ # [What's in here]
│ └── utils/ # [What's in here]
├── tests/ # [What's in here]
├── config/ # [What's in here]
└── docs/ # [What's in here]
\`\`\`
### Key Files to Know
| File | Purpose | When You'll Touch It |
|------|---------|---------------------|
| `src/main.ts` | Application entry point | Rarely |
| `src/config.ts` | All configuration | When adding config |
| `src/routes/` | API endpoints | Adding new APIs |
| `.env` | Local secrets | Setup only |
### Architecture Overview
[Diagram showing main components and how they connect]
\`\`\`
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Frontend│────►│ API │────►│Database │
└─────────┘ └─────────┘ └─────────┘
\`\`\`
[Brief explanation of data flow]
---
## How We Work
### Development Workflow
\`\`\`
1. Create branch from main: git checkout -b feat/your-feature
2. Make changes
3. Run tests: [test command]
4. Commit with conventional commits: git commit -m "feat: add thing"
5. Push and create PR: gh pr create
6. Get review, address feedback
7. Merge after approval
\`\`\`
### Branch Naming
- `feat/description` - New features
- `fix/description` - Bug fixes
- `refactor/description` - Code refactoring
- `docs/description` - Documentation
### Commit Messages
We use [conventional commits / your format]:
\`\`\`