Onboarding Guide Builder
Create onboarding documentation that gets a new developer productive in days, not weeks. Good onboarding docs are the highest-leverage documentation a team can write — they pay dividends on every hire for years.
Onboarding Workflow
Step 1: Prerequisites
Verify the new developer has the following installed and configured:
Required Tools
- Git: Version 2.30+ with SSH key configured for the repository host.
- Runtime: The project's language runtime at the version specified in
.tool-versions, .nvmrc, runtime.txt, or equivalent.
- Package manager: npm/yarn/pnpm (Node.js), pip/poetry (Python), bundler (Ruby), etc.
- Docker: Docker Desktop or Docker Engine with Compose for local service dependencies.
- IDE/Editor: Recommended IDE with project-specific extensions/plugins installed.
- Database client: CLI or GUI tool for the project's database.
Accounts and Access
Step 2: Repository Setup
# Clone the repository
git clone {repository-url}
cd {project-name}
# Install dependencies
{install-command}
# Copy environment configuration
cp .env.example .env
# Edit .env with local values (database URL, API keys for dev, etc.)
# Start local services (database, cache, message queue)
docker-compose up -d
# Run database migrations
{migration-command}
# Seed development data (if available)
{seed-command}
# Verify setup — run the test suite
{test-command}
# Start the development server
{dev-command}
After setup, verify:
Step 3: Architecture Walkthrough
Present the high-level architecture to the new developer:
System Overview
- Draw or show the system architecture diagram.
- Explain each service/component and its responsibility.
- Identify the boundaries: what this service owns vs. what it depends on.
- Explain the data flow for a typical user request.
Project Structure
Walk through the directory structure:
src/
api/ # HTTP handlers, routes, middleware
services/ # Business logic layer
models/ # Data models and database entities
repositories/ # Data access layer
utils/ # Shared utilities
config/ # Application configuration
tests/
unit/ # Unit tests
integration/ # Integration tests
e2e/ # End-to-end tests
fixtures/ # Test data factories
docs/ # Project documentation
scripts/ # Development and deployment scripts
Explain the conventions:
- Where new features should be added.
- How layers communicate (controllers call services, services call repositories).
- How configuration is loaded and used.
- Where tests go and how they are organized.
Key Design Patterns
Walk through the 3-5 most important patterns used in the project:
- Authentication and authorization flow.
- Error handling pattern.
- Data validation approach.
- Async job processing (if applicable).
- Event-driven communication (if applicable).
Step 4: Development Workflow
Daily Workflow
- Pull latest changes from the main branch.
- Create a feature branch from main:
git checkout -b feature/{ticket-id}-{description}.
- Make changes, write tests, verify locally.
- Commit with descriptive messages (see commit conventions below).
- Push the branch and create a pull request.
- Address review feedback.
- Merge after approval.
Commit Message Convention
{type}({scope}): {description}
{optional body}
{optional footer}
Types: feat, fix, refactor, test, docs, chore, perf, ci
Examples:
feat(auth): add password reset flow
fix(orders): correct tax calculation for international orders
refactor(users): extract validation into middleware
Branch Naming
- Feature:
feature/{ticket-id}-{short-description}
- Bug fix:
fix/{ticket-id}-{short-description}
- Hotfix:
hotfix/{ticket-id}-{short-description}
Pull Request Process
- Fill out the PR template completely.
- Link the related ticket/issue.
- Add screenshots or recordings for UI changes.
- Request review from at least one team member.
- Address all review comments or discuss disagreements.
- Squash and merge after approval (or per team convention).
Step 5: Code Review Process
As a Reviewer
- Review within
{review-sla} of being requested. Fill this in from the team's actual
agreement — do not invent it. This plugin does not set your SLA, and neither CLAUDE.md nor
the std-git-workflow skill pins one; a number that appears only in an onboarding doc is a
number nobody agreed to, and a new developer has no way to tell the difference.
- Check for correctness, readability, test coverage, and adherence to conventions.
- Use the code-reviewer skill for systematic reviews.
- Be constructive — suggest alternatives, not just criticize.
- Approve when the code is good enough, not when it is perfect.
As an Author
- Keep PRs small and focused (under 400 lines of changes).
- Write a clear PR description explaining what and why.
- Self-review your PR before requesting review.
- Respond to all comments, even if just acknowledging.
Step 6: Testing Expectations
- Write tests for all new code.
- Run the full test suite before pushing.
- Tests must pass in CI before merge.
- Use the test-generator skill for guidance on test structure.
- Coverage target: 80% line coverage for new code.
Step 7: Deployment Process
- Staging deploys happen automatically on merge to main (or manually triggered).
- Production deploys are scheduled and coordinated with the team.
- Use the deploy skill for deployment procedures.
- Never deploy directly to production without the deployment checklist.
Step 8: Getting Help
- Code questions: Search the codebase, read tests for examples, ask on the team channel.
- Architecture questions: Check documentation in
docs/, ask the tech lead.
- Process questions: Refer to this onboarding guide and the dev-handbook.
- Blocked on access/tools: Contact the team lead immediately.
Step 9: Web Frontend Setup
Vite SPA Setup
# Navigate to web directory
cd web/
# Install dependencies
npm install
# Start development server (default port 5173)
npm run dev
# App available at http://localhost:5173
# Run tests
npm run test
# Build for production
npm run build
Next.js Setup
# Navigate to next directory
cd next/
# Install dependencies
npm install
# Start development server (port 3001 to avoid conflict with Vite)
npm run dev -- -p 3001
# App available at http://localhost:3001
# Run tests
npm run test
# Build for production
npm run build
Web Project Structure Walkthrough
web/ # Vite SPA (React + React Router)
├── src/
│ ├── pages/ # One page per route (lazy-loaded)
│ ├── components/ # Shared UI components
│ ├── hooks/ # Custom hooks (business logic)
│ ├── api/ # TanStack Query hooks + axios client
│ ├── stores/ # Zustand stores (client-only state)
│ ├── domain/ # TypeScript domain types
│ ├── router/ # React Router configuration
│ └── i18n/ # Internationalization
next/ # Next.js App Router (SSR/SSG)
├── app/ # App Router pages and layouts
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page (Server Component)
│ └── (dashboard)/ # Route group
├── src/
│ ├── actions/ # Server actions (mutations)
│ ├── components/ # Shared components
│ ├── hooks/ # Client-side hooks
│ └── api/ # Rails API client
├── middleware.ts # Auth, locale detection
Key Conventions for Web
- All frontends share the same Rails API — React Native, Vite SPA, and Next.js.
- TanStack Query for server data, Zustand for client-only state (same pattern across all frontends).
- Tailwind CSS for web styling (not used in React Native).
- Vitest for web testing (not Jest).
Step 10: Agent Teams
Agent teams let multiple Claude Code instances work in parallel on complex tasks. They are useful for full-stack feature development, comprehensive code reviews, and incident response.
Using Team Templates
Ask Claude to use a pre-defined team template:
"Use the Feature Team to build a user profile feature" — spawns architecture-advisor (lead), rails-architect, reactjs-dev, test-generator, security-auditor
"Use the Review Team to review this PR" — spawns code-reviewer (lead), security-auditor, clean-architecture, test-generator
"Use the Incident Team" — spawns incident-responder (lead), devops-engineer, rails-architect
"Use the Refactor Team to extract the payment module" — spawns architecture-advisor (lead), refactor-specialist, test-generator, code-reviewer
"Use the Infrastructure Team for the Terraform migration" — spawns devops-engineer (lead), security-auditor, architecture-advisor
Working with Teammates
- Each teammate works on a distinct set of files — no two teammates edit the same file
- Communicate via messages (the system handles delivery automatically)
- Check the task list (
TaskList) to see available work and progress
- Mark tasks completed when done — quality gate hooks will validate your work
Quality Gates
Two hooks enforce team quality automatically:
- TeammateIdle — checks that you produced actual deliverables (not just research)
- TaskCompleted — validates your work matches the task description and passes basic linting
When Teams Are Suggested
Claude will suggest a team when:
- The task spans 3+ layers (backend, frontend, tests, infrastructure)
- You ask to review or audit across multiple dimensions
- The work contains multiple independent deliverables
First Week Plan
| Day |
Focus |
Goal |
| Day 1 |
Setup |
Environment running, tests passing, architecture overview |
| Day 2 |
Exploration |
Read key modules, trace a request end-to-end, review recent PRs |
| Day 3 |
First task |
Pick a small bug fix or documentation improvement |
| Day 4 |
First PR |
Submit PR, go through the review process |
| Day 5 |
Review |
Review a teammate's PR, deeper dive into a module |
Deep guides (read on demand, do not preload)
- Tech-stack deep dive, code review process, testing strategy, environment variables, incident response, getting help →
references/dev-handbook.md
1---2name: onboarding3description: Create developer onboarding guides, setup documentation, and knowledge base articles for software teams. Use this skill whenever someone asks to create onboarding docs, setup instructions, a getting started guide, team documentation, runbooks, or says things like "help new devs get started", "document our setup process", "write the onboarding guide", "create a runbook for X", or "how should we document this for the team". Also trigger when someone asks about reducing onboarding time, knowledge transfer, or team documentation strategy.4---56# Onboarding Guide Builder78Create onboarding documentation that gets a new developer productive in days, not weeks. Good onboarding docs are the highest-leverage documentation a team can write — they pay dividends on every hire for years.910## Onboarding Workflow1112### Step 1: Prerequisites1314Verify the new developer has the following installed and configured:1516#### Required Tools17- **Git**: Version 2.30+ with SSH key configured for the repository host.18- **Runtime**: The project's language runtime at the version specified in `.tool-versions`, `.nvmrc`, `runtime.txt`, or equivalent.19- **Package manager**: npm/yarn/pnpm (Node.js), pip/poetry (Python), bundler (Ruby), etc.20- **Docker**: Docker Desktop or Docker Engine with Compose for local service dependencies.21- **IDE/Editor**: Recommended IDE with project-specific extensions/plugins installed.22- **Database client**: CLI or GUI tool for the project's database.2324#### Accounts and Access25- [ ] Repository access (GitHub/GitLab/Bitbucket).26- [ ] CI/CD pipeline access (read at minimum).27- [ ] Cloud provider console access (staging environment).28- [ ] Monitoring and logging platform access.29- [ ] Project management tool (Jira, Linear, etc.).30- [ ] Communication channels (Slack, Teams, etc.).31- [ ] Secrets/credentials for local development (via team lead).3233### Step 2: Repository Setup3435```bash36# Clone the repository37git clone {repository-url}38cd {project-name}3940# Install dependencies41{install-command}4243# Copy environment configuration44cp .env.example .env45# Edit .env with local values (database URL, API keys for dev, etc.)4647# Start local services (database, cache, message queue)48docker-compose up -d4950# Run database migrations51{migration-command}5253# Seed development data (if available)54{seed-command}5556# Verify setup — run the test suite57{test-command}5859# Start the development server60{dev-command}61```6263After setup, verify:64- [ ] Application starts without errors.65- [ ] Tests pass.66- [ ] Can access the application in browser or via API client.67- [ ] Database is populated with seed data.6869### Step 3: Architecture Walkthrough7071Present the high-level architecture to the new developer:7273#### System Overview741. Draw or show the system architecture diagram.752. Explain each service/component and its responsibility.763. Identify the boundaries: what this service owns vs. what it depends on.774. Explain the data flow for a typical user request.7879#### Project Structure80Walk through the directory structure:8182```83src/84 api/ # HTTP handlers, routes, middleware85 services/ # Business logic layer86 models/ # Data models and database entities87 repositories/ # Data access layer88 utils/ # Shared utilities89 config/ # Application configuration90tests/91 unit/ # Unit tests92 integration/ # Integration tests93 e2e/ # End-to-end tests94 fixtures/ # Test data factories95docs/ # Project documentation96scripts/ # Development and deployment scripts97```9899Explain the conventions:100- Where new features should be added.101- How layers communicate (controllers call services, services call repositories).102- How configuration is loaded and used.103- Where tests go and how they are organized.104105#### Key Design Patterns106Walk through the 3-5 most important patterns used in the project:107- Authentication and authorization flow.108- Error handling pattern.109- Data validation approach.110- Async job processing (if applicable).111- Event-driven communication (if applicable).112113### Step 4: Development Workflow114115#### Daily Workflow1161. Pull latest changes from the main branch.1172. Create a feature branch from main: `git checkout -b feature/{ticket-id}-{description}`.1183. Make changes, write tests, verify locally.1194. Commit with descriptive messages (see commit conventions below).1205. Push the branch and create a pull request.1216. Address review feedback.1227. Merge after approval.123124#### Commit Message Convention125```126{type}({scope}): {description}127128{optional body}129130{optional footer}131```132133Types: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `perf`, `ci`134135Examples:136- `feat(auth): add password reset flow`137- `fix(orders): correct tax calculation for international orders`138- `refactor(users): extract validation into middleware`139140#### Branch Naming141- Feature: `feature/{ticket-id}-{short-description}`142- Bug fix: `fix/{ticket-id}-{short-description}`143- Hotfix: `hotfix/{ticket-id}-{short-description}`144145#### Pull Request Process1461. Fill out the PR template completely.1472. Link the related ticket/issue.1483. Add screenshots or recordings for UI changes.1494. Request review from at least one team member.1505. Address all review comments or discuss disagreements.1516. Squash and merge after approval (or per team convention).152153### Step 5: Code Review Process154155#### As a Reviewer156- Review within `{review-sla}` of being requested. **Fill this in from the team's actual157 agreement — do not invent it.** This plugin does not set your SLA, and neither CLAUDE.md nor158 the `std-git-workflow` skill pins one; a number that appears only in an onboarding doc is a159 number nobody agreed to, and a new developer has no way to tell the difference.160- Check for correctness, readability, test coverage, and adherence to conventions.161- Use the code-reviewer skill for systematic reviews.162- Be constructive — suggest alternatives, not just criticize.163- Approve when the code is good enough, not when it is perfect.164165#### As an Author166- Keep PRs small and focused (under 400 lines of changes).167- Write a clear PR description explaining what and why.168- Self-review your PR before requesting review.169- Respond to all comments, even if just acknowledging.170171### Step 6: Testing Expectations172173- Write tests for all new code.174- Run the full test suite before pushing.175- Tests must pass in CI before merge.176- Use the test-generator skill for guidance on test structure.177- Coverage target: 80% line coverage for new code.178179### Step 7: Deployment Process180181- Staging deploys happen automatically on merge to main (or manually triggered).182- Production deploys are scheduled and coordinated with the team.183- Use the deploy skill for deployment procedures.184- Never deploy directly to production without the deployment checklist.185186### Step 8: Getting Help187188- **Code questions**: Search the codebase, read tests for examples, ask on the team channel.189- **Architecture questions**: Check documentation in `docs/`, ask the tech lead.190- **Process questions**: Refer to this onboarding guide and the dev-handbook.191- **Blocked on access/tools**: Contact the team lead immediately.192193### Step 9: Web Frontend Setup194195#### Vite SPA Setup196```bash197# Navigate to web directory198cd web/199200# Install dependencies201npm install202203# Start development server (default port 5173)204npm run dev205# App available at http://localhost:5173206207# Run tests208npm run test209210# Build for production211npm run build212```213214#### Next.js Setup215```bash216# Navigate to next directory217cd next/218219# Install dependencies220npm install221222# Start development server (port 3001 to avoid conflict with Vite)223npm run dev -- -p 3001224# App available at http://localhost:3001225226# Run tests227npm run test228229# Build for production230npm run build231```232233#### Web Project Structure Walkthrough234```235web/ # Vite SPA (React + React Router)236├── src/237│ ├── pages/ # One page per route (lazy-loaded)238│ ├── components/ # Shared UI components239│ ├── hooks/ # Custom hooks (business logic)240│ ├── api/ # TanStack Query hooks + axios client241│ ├── stores/ # Zustand stores (client-only state)242│ ├── domain/ # TypeScript domain types243│ ├── router/ # React Router configuration244│ └── i18n/ # Internationalization245246next/ # Next.js App Router (SSR/SSG)247├── app/ # App Router pages and layouts248│ ├── layout.tsx # Root layout249│ ├── page.tsx # Home page (Server Component)250│ └── (dashboard)/ # Route group251├── src/252│ ├── actions/ # Server actions (mutations)253│ ├── components/ # Shared components254│ ├── hooks/ # Client-side hooks255│ └── api/ # Rails API client256├── middleware.ts # Auth, locale detection257```258259#### Key Conventions for Web260- **All frontends share the same Rails API** — React Native, Vite SPA, and Next.js.261- **TanStack Query** for server data, **Zustand** for client-only state (same pattern across all frontends).262- **Tailwind CSS** for web styling (not used in React Native).263- **Vitest** for web testing (not Jest).264265### Step 10: Agent Teams266267Agent teams let multiple Claude Code instances work in parallel on complex tasks. They are useful for full-stack feature development, comprehensive code reviews, and incident response.268269#### Using Team Templates270Ask Claude to use a pre-defined team template:271- `"Use the Feature Team to build a user profile feature"` — spawns architecture-advisor (lead), rails-architect, reactjs-dev, test-generator, security-auditor272- `"Use the Review Team to review this PR"` — spawns code-reviewer (lead), security-auditor, clean-architecture, test-generator273- `"Use the Incident Team"` — spawns incident-responder (lead), devops-engineer, rails-architect274- `"Use the Refactor Team to extract the payment module"` — spawns architecture-advisor (lead), refactor-specialist, test-generator, code-reviewer275- `"Use the Infrastructure Team for the Terraform migration"` — spawns devops-engineer (lead), security-auditor, architecture-advisor276277#### Working with Teammates278- Each teammate works on a distinct set of files — no two teammates edit the same file279- Communicate via messages (the system handles delivery automatically)280- Check the task list (`TaskList`) to see available work and progress281- Mark tasks completed when done — quality gate hooks will validate your work282283#### Quality Gates284Two hooks enforce team quality automatically:285- **TeammateIdle** — checks that you produced actual deliverables (not just research)286- **TaskCompleted** — validates your work matches the task description and passes basic linting287288#### When Teams Are Suggested289Claude will suggest a team when:290- The task spans 3+ layers (backend, frontend, tests, infrastructure)291- You ask to review or audit across multiple dimensions292- The work contains multiple independent deliverables293294## First Week Plan295296| Day | Focus | Goal |297|---|---|---|298| Day 1 | Setup | Environment running, tests passing, architecture overview |299| Day 2 | Exploration | Read key modules, trace a request end-to-end, review recent PRs |300| Day 3 | First task | Pick a small bug fix or documentation improvement |301| Day 4 | First PR | Submit PR, go through the review process |302| Day 5 | Review | Review a teammate's PR, deeper dive into a module |303304## Deep guides (read on demand, do not preload)305306- Tech-stack deep dive, code review process, testing strategy, environment variables, incident response, getting help → `references/dev-handbook.md`